いままでLLしか書いたことないし、話題の関数型言語が気になるなぁという想いからScalaを勉強しようと思いました。
とりあえずAmazonでScalaの本を買いつつ、Macにインストール。
Scalaスケーラブルプログラミング[コンセプト&コーディング]
コップ本って呼ばれているみたいです。
I fill the days improving in the craft of software development, and life enrichment.
いままでLLしか書いたことないし、話題の関数型言語が気になるなぁという想いからScalaを勉強しようと思いました。
とりあえずAmazonでScalaの本を買いつつ、Macにインストール。
Scalaスケーラブルプログラミング[コンセプト&コーディング]
コップ本って呼ばれているみたいです。
アルゴリズムに多態性を持たせたい場合の、委譲ベースのアプローチ。
コンテキストとストラテジオブジェクト間のインターフェースに注意して設計する。
Template Methodパターンは、アルゴリズムに多態性を持たせたい場合に有効。
Rubyは抽象メソッドをサポートしていないので、Reportクラスのoutput_lineメソッドでは例外を投げるようにしている。
Rubyは抽象クラス/メソッドをサポートしていない。
これらは、Rubyの手軽で動的な考え方にそぐわないから。
php5.4の目玉機能の1つ、trait。
RubyのMix-in的なことができると噂は聞いていたのですが、今までなんとなくスルーしてました・・・。
そんな中、phpカンファレンス2012に行ってモチベーションアップしてきたので勉強!
使い方はphpマニュアルにとても詳しく書いてあったので助かりました。感謝。
http://php.net/manual/ja/language.oop5.traits.php
そんな学びたてホヤホヤのtraitを使ってObserverパターンを書いてみました。
最近はブログ記事とかをMarkdown記法で書いてる人も多いのではないでしょうか。
ブログのネタをEvernoteにメモしてる人も多いのではないでしょうか。
最近PHPネタばかりだったので、頑張ってRailsについて書いてみます。
RailsではデフォルトでWEBrickが起動しますが、低速なので本番運用には向かないとされています。
WEB+DB PRESS Vol.70
WEB+DB PRESS vol.70でRails高速化としてUnicornが紹介されています。
普段Railsで開発するときはherokuを使っているので
herokuでUnicornを使ってみたいと思います。
usersとfavoritesが1対多になるようにして、
indexの設定あり・なしの2つのDBを用意して比較しました。
予め、
usersは 100,000件
favoritesに300,000件のレコードを用意しました。
以前書いた、PHP5.4でメソッドチェーンが便利になったようです。 の配列版みたいなものです。
もう知ってるよ!という方は、光よりも速く読み飛ばしてください。
インスタンス生成から直接メソッドチェーンを実行するために、Creation Methodを定義する必要がありました。
面倒ですよね(;´∀`)
先日githubで、Anote(アノート)というPHPフレームワークを公開しました。
一応テストコードっぽいのも書いたので、CIをやってみようと思っていたところ辿り着いたのがTravisCIです。
Travis CI
http://travis-ci.org/
クラウド版Jenkinsみたいな感じでしょうか??
Anote(アノート)という名前にしました。
https://github.com/ackintosh/Anote
アノテーションを使って何かやりたいと思ったのと、フレームワークの習作を兼ねて作りはじめました。
まだまだお粗末な実装なので(;´∀`)ガンガンforkしてください(・∀・)