tool-bar-mode と menu-bar-mode をオフにしておくやつ
(tool-bar-mode -1)
みたいにしてオフにするのが定番ですが、ツールバーが消えるときにウィンドウがガチャガチャしてかっこ悪いし、消すだけでも 100ms くらいはかかるわけで、最初の最初からオフにできないかなーと思っていた。
以下の設定は Mac 版限定ですが、X環境だと ~/.Xresources で設定できるとか。
$ defaults write org.gnu.Emacs ToolBar -string no $ defaults write org.gnu.Emacs MenuBar -string no
ScrollBar
はうまくいかなかったので、とりあえず (run-at-time 0.5 nil 'scroll-bar-mode -1)
しておいた。
グループごとにランダムで1件
例によって MySQL 限定です。
PostgreSQL でも LIST_AGG
とか使えばいけそう?
team_players
team | player |
---|---|
red | taro |
red | takeshi |
red | maro |
white | daikichi |
white | tsubasa |
white | ninja |
white | takamori |
上の red, white 各チームから、ひとり誰でもいいから出てきてほしい、 という要件で、下のようなクエリを実行する。
SELECT team , SUBSTRING_INDEX(GROUP_CONCAT(player ORDER BY rand() SEPARATOR ","), ",", 1) AS random_selected FROM team_players GROUP BY team;
実行するたびに、red, white から選出される player が変わる。
当然スカラ値しか取れないが、得られた値をキーにして JOIN することはできる。
Emacs の起動高速化の試み(2)
el-get
をやめて、標準の package.el
に切り替えた
だいたい 300ms ほど削れた。
そもそも自分の場合 el-get
である必要がなかった……。
exec-path
をキャッシュするようにした
毎回 exec-path-from-shell-initialize
を実行していて、これも 300ms ほどかかっていた。
終了時に exec-path
を書き出しておいて、起動時に読み込むようにした。
PATH を変更するということはほぼないので、困ることもない。
これで 0.7 秒ほどで起動できるようになった。