August 16, 2015
「Rails3レシピブック」を読んでいて、「カウンタキャッシュ」の設定方法が出てきた。 このように、モデルの関連において参照元で belongs_to に :counter_cache => true というパラメータを与えると、そのモデルのコールバックで参照先のカウンター用カラム (entries_count) が自動的に増加/減少するというもの。 「Rails3レシピブック」では、上記の...
READ MORE >>
August 5, 2015
簡単な API サーバーを作る必要があったので、Elixir の WAF である Phoenix を使ってみました。API バージョンでスコープを分けた RESTful API 構成にしようとしたのですが、なんだか結構ハマってしまったので簡単な手順を残します。 title と completed という2つのフィールドを持つ todo という単純なリソースを例とします。 アプリケーションの作成...
READ MORE >>
August 3, 2015
これからも Volt 推しでいきます。 「Volt を試してみたいけど、例やチュートリアルが少ない」という意見をしばしば聞きます。確かに、公式ドキュメントのチュートリアルはホントに触りだけで、モデルすらほとんど出てこない内容です。 そこで、モデル側の実装やユーザー機構にも少し触れることができる「Volt...
READ MORE >>
February 6, 2015
Rails の scaffold やらで作ってくれるビューに「Destroy」リンクありますよね。あれ、削除の確認のために JavaScript で Confirm のモーダルダイアログまで出してくれてなかなか親切なヤツなんですけど、せっかくだから見映えももうちょっといい感じにしたい。 ついでに、Github...
READ MORE >>
February 5, 2015
作っている Rails エンジンの設定を外からやりたくて、どうやるのがいいのかな?と調べてみました。要は、エンジンの挙動をコントロールするための変数なりをエンジンに用意しておいて、マウントする側の親アプリケーションから値を設定したいということですね。 RailsGuides に書いてある方法 RailsGuides のエンジンチュートリアルで紹介されているのは、エンジンのモジュールに...
READ MORE >>
January 28, 2015
Mac のシスログを読もうとしたら gzip で圧縮されてて、その内容を読みたかったときの話です。 最近の Linux だったら less とか zcat とかでそのまま *.gz を余裕で読めちゃうし、そもそも Mac で圧縮されたログファイルを読みたかったことが今まで一度もなかったようで困ってしまいました。 結論 zless、gzcat を使う。以上。...
READ MORE >>
January 27, 2015
Heroku の推奨する Ruby Web サーバーが Puma に変更になったとのアナウンスがありました。 Puma is Now the Recommended Ruby Webserver もともと、何となく「1 Dyno で動かすなら Unicorn より Puma の方がいいんじゃないのかな?」とか思って Puma を好んでいました...
READ MORE >>
January 25, 2015
ブログのようなアプリケーションを作ろうとしていて、フォームのテキストエリアをリッチテキストエディタ化するために tinymce-rails を使おうとしています。当然そこで入力した内容は HTML になるので、表示するときには html_safe などでエスケープされないようにしないといけません。 が、やっぱり raw html をそのまま出すのは怖いので SanitizeHelper の...
READ MORE >>
January 21, 2015
Ruby 2.2 の新機能にシンボル GC というものがあります。 正直、「え、シンボルって GC されないから速いんじゃないの?なのにシンボル GC で Rails が速くなるとか話聞くけど、いったいどういうことなの?」という感じでサッパリ理解できてなかったのですが、その辺りの疑問に対してまとめられている記事がありました。 Symbol GC in Ruby 2.2...
READ MORE >>
January 18, 2015
Rails 4.2 を PostgreSQL を使って Elastic Beanstalk にセットアップする (1) の続きです。 今回は DB の設定をしていきます。が、その前に SECRET_KEY_BASE 環境変数をセットします。 SECRET_KEY_BASE Rails はデフォルトでセッションの情報を「すべて」クライアントの Cookie...
READ MORE >>
January 17, 2015
これまで Rails アプリケーションの公開は Heroku への楽ちんデプロイしかしたことがなかったので、AWS を使ってみることにしました。でもやっぱりサービスを自分で組み合わせて構築するのは大変そうだったので、結局、PaaS として使える Elastic Beanstalk を利用することにしました。 最終的には、ELB のロードバランシングと RDS...
READ MORE >>
January 8, 2015
Objective-C の Category にあたる機能は Swift では Extension として提供されています。 Objective-C の Category には、 のように、拡張したいクラス名+Category名 とつけるのが一般的でした。では、Swift の Extension の場合はどんなファイル名にするのがいいんだろう? 結論...
READ MORE >>