タグ

ブックマーク / tkawachi.github.io (3)

  • Sbt Build Definition - tkawachi Blog

    始める sbt を以前読んだときは .sbt ビルド定義 のところでぐっと難しくなってよくわからなくなった。 今日復習したのでメモ。 最初にまとめ。 key := value は新しい設定項目を追加する関数のようなもの(Setting[T])を定義する。 Setting[T] の入力は変更されない。 .sbt を読み込むと Setting[T] のリストができる。Setting[T] のリストは、依存関係を考慮してソートされた後に適用される。 .sbt の空行で区切られた塊は Scala の式。文ではないので val, object, class などは書けない。 key := value は key.:=(value) といったメソッド呼び出しを別の書き方にしたもの。 sbtデフォルトの設定項目は sbt.Keys に定義されている。 TaskKey[T] は毎回計算されるキー。 sbt

  • Akka Memo - tkawachi Blog

    Scala 2.10 から付いてくる Akka の Actor についてのお勉強メモ。 全然まとまっていないが晒しておく。 概念 Actor akka.actor.Actor。 メッセージを受けて処理をする人。 Mailbox Actorへのメッセージが溜まるところ。 Supervision Actor間の依存関係のこと。 Actorインスタンスはツリー構造になっている。 親が supervisor となる。 Actor が失敗したらどうするかは supervisor の actor が制御する。 親 actor が shutdown したら、その子どもは全て shutdown する。 タスクのまとまり毎にサブツリーを形成するようにすると良いらしい。 Actor Path Actorインスタンスにはツリー構造上の位置を表す文字列がついており、これを actor path と呼ぶ。 /, /

  • ActiveRecord のモデルを整理する7つのパターン - tkawachi Blog

    7 Patterns to Refactor Fat ActiveRecord Models という記事があり、読もう読もうと思いつつ1年くらい経ってしまった。 ようやく読んだので理解した内容を書いておく。 コード例は元記事のもの。 Rails で thin controller, fat model を心がけていると、model がマジで激太りしてヤバくなる。 実際に自分が仕事で書いている rails アプリも激太りしててヤバい。 この blog の筆者が作っている CodeClimate で C 判定をもらう程度には肥満体型になっている。 Mixinに抜き出さない! Model が太ってきた時に考えるのは ActiveSupport::Concern を使って感心事を抜き出して、Mixin にすることだと思う。 実際に手元のアプリでも models/concerns/ なんていうディレ

  • 1