.zshrcに
alias ruby-install='RUBY_CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline) --with-openssl-dir=$(brew --prefix openssl)" rbenv install'
っていうの書いてて ruby-install 2.3.0
みたいにすると一瞬で入って便利
.zshrcに
alias ruby-install='RUBY_CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline) --with-openssl-dir=$(brew --prefix openssl)" rbenv install'
っていうの書いてて ruby-install 2.3.0
みたいにすると一瞬で入って便利
npmには上がってないので
$ npm i -g masawada/tweet-nowplaying
とするとGitHubからインストールできる.
ホームディレクトリに設定用のJSON置いて
$ tweet-nowplaying
とするとツイートできる.
Now Playing: "silky heart" from "HONEY JET!!" (堀江由衣)
— Masayoshi Wada (@masawada) 2016年1月16日
$HOME
に.tweet-nowplaying.json
という名前で
{ "keys": { "consumer_key": "CONSUMER_KEY", "consumer_secret": "CONSUMER_SECRET", "access_token_key": "ACCESS_TOKEN_KEY", "access_token_secret": "ACCESS_TOKEN_SECRET" }, "format": "Now Playing: \"{name}\" from \"{album}\" ({artist})" }
という感じのJSONを置いて,キー類を詰める.
playbackのおかげで高速に実装できた
playback,去年の夏にid:Pasta-Kくんが不具合見つけて直してたんだけど,それがmergeされてなかった.本体を使うようにしてたら特定の曲でundefinedとなる不具合がやはり出たので,pastak/playbackを使うように修正しました.1.0.0が入ってる人は npm update -g masawada/tweet-nowplaying
して1.0.1にあげてください.
$ git show branch_name:/path/to/file
すると別のブランチのファイルを標準出力にだすことができる(知らなかった).
$ git show branch_name:/path/to/file | vim -
するとVimで開けて便利.lessとかに出すのも良さそう.branch_name
はコミットのハッシュでもOK.
消したファイルとかいちいちGitHubに見に行かなくて済むようになった.
卒論でUMLのシーケンス図をTeXに貼る必要が生まれた.Illustratorとかでちまちま描いても良いのだけど,面倒なのでテキストでなんとかしたい.
便利なツールあって,これ使うとテキストでシーケンス図を描くことができる.
SVGでダウンロードできるのだけど,このままだと使い勝手が悪いのでpdfに変換する.pdfにしてしまえばあとはpngみたいにxbb作ったりするだけでTeXに貼れる.
pdfに変換するにはInkscapeを使えば良い.Macならhomebrew caskで入れられる.最近cask新しくなったらしくてよくわからないけど,古いやつならbrew cask install inkscape
とかで入って便利.
/Applications/Inkscape.app/Contents/Resources/bin/inkscape -f /path/to/source.svg -A /path/to/dst.pdf -w 1000
このコマンドでsvgをpdfに変換できる.アプリケーションのパスは適宜変更のこと.svgとpdfのパスは絶対パスにしないとうまくいかないかもしれない.$HOME/Downloads/diagram.svg
みたいな感じで指定するとよさそう.
シーケンス図に日本語入ってると中華フォントになって困る.テキストエディタでダウンロードしたsvgを開いてfont-familyのAndale Mono
ってところをHiragino Kaku Gothic ProN W3
とかに変えてからInkscapeで変換するとうまくいく.
ヒラギノ入ってない環境なら雑にメイリオとか指定するとなんとかなりそう.
これでちまちま図を描かなくて良くなって最高.
Rails(ActiveRecord)にはSTI(単一継承テーブル)があって,テーブルは1つだけどtype
というカラムでモデルを出し分けることができる.例えば,アンケートの項目には単一/複数選択があり,これらを保存する先のテーブルは1つにまとめたいがプログラム上では別のモデルとして扱いたい場合にSTIを使うと良い.
継承したモデルと別のテーブルとの間にリレーションを作成するとkeyが見つからないと怒られることがある.
has_many
にforeign_key
を指定すれば良い.以下のように書ける.はず.
class Answer < ActiveRecord::Base has_many :item_answer_relation has_many :checks, through: :item_answer_relation has_many :radios, through: :item_answer_relation end class Item < ActiveRecord::Base end class Check < Item has_many :item_answer_relation, foreign_key: 'item_id' has_many :answers, through: :item_answer_relation end class Radio < Item has_many :item_answer_relation, foreign_key: 'item_id' has_many :answers, through: :item_answer_relation end
参考: - ruby on rails - Single-table inheritance with relationships? - Stack Overflow
サンプルコード書いてて若干自信なくなってきたので間違ってたら教えてください