タグ

ブックマーク / tototoshi.hatenablog.com (2)

  • sbt 0.12.x から導入された binary version について - tototoshi の日記

    Play 2.1-RC1 を使おうとしたらいろいろハマったのでまとめました。 scala 2.9系, sbt 0.11系 までの依存管理 scala の異なるバージョンのScala用にビルドされたライブラリは使えないことがあります。 例えば、Scala2.8と2.9ではバイナリ互換性がないので、2.8向けにコンパイルされたライブラリは、2.9のプロダクトで使用することはできません。 使用すると、クラスが見つかりません、メソッドが見つかりません、など、まあなんらかのエラーで死にます。 この問題があるため、ScalaではライブラリのバージョンをScalaのバージョン込みで管理する必要があります。 artifactID の後ろに Scala のバージョンをくっつけるのがスタンダードです。 libraryDependencies += "com.example" % "utility_2.9.1"

    sbt 0.12.x から導入された binary version について - tototoshi の日記
    J138
    J138 2015/03/23
  • PHP のトレイトに気をつける - tototoshi の日記

    普段 Scala でトレイトを使いまくってるけれども PHP にも 5.4 からトレイトが入った。 trait の良いところは多重継承のできない言語で多重継承っぽいことができることだ。 use, use とつけていけば、いくらでも追加できる。DRY に書けてよいことだ。 対して悪いところはいとも簡単に複雑で暗黙的な依存関係が生まれることだ。 例えばこんなの <?php trait Greeting { public function say() { if ($this->location == 'ja') { echo 'こんにちは' . PHP_EOL; } else { echo 'Hello' . PHP_EOL; } } } class Location { } class US extends Location { use Greeting; private $location

    PHP のトレイトに気をつける - tototoshi の日記
    J138
    J138 2015/02/13
  • 1