ログ日記

作業ログと日記とメモ

2019-01-01から1年間の記事一覧

DBでSQLのテーブル名に別名を付けるときのルールと複数形

SQL

データベースのテーブル名を複数形にするかどうか、作るたびに悩む。 Qiita の記事 https://qiita.com/siinai/items/d4274c95fcdde3fd7295 のコメント欄に良いリンクがあった。 SELECT id, name, description FROM products product WHERE product.name = ‘f…

検索エンジンとSNSが合体した全文検索エンジンが欲しい

ブックマークしたページから数回層だけリンクをたどって後で検索できるようなものはないだろうか。スコア計算はGoogle以前のものでもいい。 キーワードの回数、割合、単語の近さとか。 URL スコア 巡回リンク階層 https://news.yahoo.co.jp/ 2 5 https://b.h…

サーバーで使っている Debian を buster にアップグレードしたログ

ひとまずPHP、PostgreSQL、MySQL、Rails(Redmine)、Apache が入っているstretchのサーバーをアップグレードする。第4章 Debian 9 (stretch) からのアップグレード まずPHP7とPostgreSQLのために使っていたリポジトリをコメントアウト。Dockerも # php7.1 #…

Google Closure Library の UI と調べもの

What UI rendering systems are used by Google with closure library, and why are these not open source? goog.ui.* は古いまま更新されていない。 最近のGoogleのサービスのUIはオープンソース化されていない。 Touch support for goog.ui.menu? goog.ui…

Redmineのガントチャートを画面いっぱいに表示する

RedmineのガントチャートはPDFとpngでダウンロードできるけど、結局Webをスクリーンショットするのが一番綺麗なので。 $('#wrapper').css({'overflow': 'visible'}); $('#sidebar').hide(); $('#content').css({'width': 'auto'}); $('#gantt_area').css({'o…

タスク管理ツールRepsonaに登録してみた感想メモ

これを読んだ。 note.muタスク管理ツールって理想のものが全然なくて自作しがちだよね…と思いながら。 度々調べるけど良いものがなくて、たぶん欲しい機能があるものはMS Projectになる。でも大規模用すぎるので他を探すことになる。repsona.com使ってみた(…

GHCJS + Template Haskell でハングアップ

GHC

hangs when linking Template Haskell 8.0/8.2 · Issue #668 · ghcjs/ghcjs · GitHub このissueは見てたはずなんだけど、流し読みしていて頭に入ってなかった。実際にTemplate Haskellを使ってみると問題が起きた。なので再インストールする。 その前に、 ht…

GitHub Pull Request ではなく git request-pull

Git

Linus が Git comes with a nice pull-request generation module, but github instead decided to replace it with their own totally inferior version. https://github.com/torvalds/linux/pull/17#issuecomment-5654674 Gitにはniceな pull-requestモジ…

GHCJS + Jsaddle

GHC

Jsaddleを動くようにした。 昨日書いた https://n314.hatenablog.com/entry/2019/06/06/210731 スタブはあまり意味はなかった。 理解は進んだけども。 webkit.idl などのWebIDLにDOMの定義があるから、そこから自動生成しているっぽい。 ということは、基本…

GHC8.4とGHCJS

GHC

github.com ここのコメントにDockerを置いてくれている人が居る。 tarをダウンロードして、stack.yamlを書いて、stack setupしてみる。 .stack-work/dist/x86_64-linux/Cabal-2.2.0.1/build/Parser.hs:1445:48: error Parser.hs" "Not in scope: type variab…

GHCJSのスタブを使うのは大変っぽい

GHC

昨日のghc-base-stubを使う方式だと上手くいかなかった。 GHCJSに再度トライ - ログ日記 例えばghcjs-domを使いたい場合、GHCJSだと ghcjs-dom, ghcjs-dom-jsffi を使うところが GHC版だと ghcjs-base-stub, ghcjs-dom, ghcjs-dom-jsaddle, jsaddle-dom, jsa…

PostgreSQLでビューを使う時の最適化

ちょっと簡単なサンプルが思い付かないけど。 joinが大量にある巨大なビューから少ない件数のデータを取得する場合。ビュー単体でselectしたら全てインデックススキャンになるようにしていて select * from large_large_view where large_large_view.post_id…

GHCJSに再度トライ

stack new myghcjs cd myghcjs myghcjs.cabal の 各build-depends に追加 if impl(ghcjs) build-depends: ghcjs-base if !impl(ghcjs) build-depends: ghcjs-base-stubjs.yaml resolver: lts-8.11 compiler: ghcjs-0.2.1.9008011_ghc-8.0.2 compiler-check: …

Hasteを試したログ

GHCJSの重さが気になっていたところで、こんな記事を見かけた。 qiita.com Hasteが良さそうなので試してみる。 Hasteのプロジェクトの作り方は stack new した後に stackoverflow.com 該当箇所をここの設定に書き換える。 % stack exec haste-boot ... Insta…

GHCJSを使えるようにしたログ

github.comソースからのインストールは出来たんだけど、それをstackで使う方法が分からなかった。 エラーがややこしいので元々入っているcabalを消したりhaskell-platformを消したりしてstackだけ動いている状態にして試した。 コンパイルが1時間近くかかる…

emacs-purpose(window-purpose)でバッファを開くウィンドウを目的(モード、ディレクトリ)ごとに固定する

昨日の続き。 Emacsの使い方を変えようとして無理だった - ログ日記 似たような質問を発見した。 stackoverflow.com この人は .c と .h でウィンドウを固定したかったみたい。ここでは buffer-stack が挙げられている。 これも少し使ってみたけれど、まあそ…

Emacsの使い方を変えようとして無理だった

Emacsのウィンドウまたはフレームごとにバッファリストを分けたい。 色々調べたけれど無理そう。 stackoverflow.com ここの3番目の答えにあるように、自分の使い方としては昔から emacs &で別々のEmacsを立ち上げていた。 例えばユーザーのマイページを作る…

Closure Compiler の出力するJavaScriptを ES5(旧)とES6(新)で比べる

ふと、ES6よりES5で書いた方が軽くなるかと思ったので疑問を解消するために確かめる。 ※ ES5、ES6と書きつつ、単に書き方の違いの調査になってきたので新・旧とする。 Closure Compiler と Closure Libraryをダウンロードする。 wget https://dl.google.com/…

Kensington Expert Mouse を分解して断線を修理した

ExpertMouseが切れたりついたりして、仮想マシンの「どちらに接続しますなか?」が何度も出るようになったので直すことにする。 断線?というか接触不良的なやつ。 どうもコードがマウスに収納されていく部分が怪しくて、そこを持ってぐねぐね動かすとランプ…

フラッシュセッションにハマる

PHP

前にも同じ問題でハマったのに忘れていて再びハマったメモ。 リダイレクト前にセッションに値を保存して、リダイレクト後のページで取り出して、削除するような一度だけ使うセッション変数にはフラッシュセッションを使う。 セッション系ライブラリには大抵 …