タグ

ブックマーク / katzchang.hatenadiary.org (5)

  • Play!の黒魔術を読み解こうとしてみる(未完 - @katzchang.contexts

    この記事は、Play! framework Advent Calendar 2011 jp #play_ja : ATNDの11日目の記事です。 さて、軽めに行きましょう!(ということにさせてください… 僕とPlay! とあるWEBサービスの受託開発案件があり、自分を含めてメンバー的にJavaプログラマが多かったので、Javaが必然。で、環境面も含めてモロモロがフルスタックでサポートされてるフレームワークはないかなーということで、Play! Frameworkを使うことになりました。 2ヶ月ばかり携わったあとで私はその仕事を離れることになったのですが、無事サービスは開始されたようです。めでたしめでたし。 初めのPlayの印象は「黒魔術」の印象でしたが、それはControllerとviewの結合部分が黒いくらいだけで、それ以外の部分は案外素直な作りではあるので、学習にかかるコストは恐ろしく低

    Play!の黒魔術を読み解こうとしてみる(未完 - @katzchang.contexts
  • 長めの夏休みに入ります - @katzchang.contexts

    さて、振り返るか。 良かったこと 客先対応からプログラミングまで、チームリードからオフショア開発依頼まで、ひと通りの経験ができた 部署として組織の規模はそれほど大きくなく、経営層まで気軽に話せた 仕事によっては、フレームワーク選定レベルから判断できた 何が必要か等、相談できる上司はいた 就業時間の管理がキッチリされていて、残業は多くなく、サービス残業はなかった 有給休暇が取りやすかった、というか普通に取ってた サーバなど(大枠で一旦稟議を通してしまえば)あとは自由に使っていた 良くなかったこと 開発標準などの社内ルールの是非についての議論する場がなかった WEBアクセスフィルタが導入され、ネットワークが遅く、情報収集が制限されていた (特に中途採用された)上司とのギャップが大きかった 受託開発業は、開発予算は案件単位で、ライブラリやパッケージなどを開発しにくかった 上記状況なのでどうしても

    長めの夏休みに入ります - @katzchang.contexts
  • アラン・ケイが考えるオブジェクト指向プログラミング - @katzchang.contexts

    OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I'm not aware of them. Dr. Alan Kay on the Meaning of "Object-Oriented Programming" 私が考えるOOPはメッセージング、状態処理のローカルでの保有・保護・隠蔽、そして全ての物に対する強力な遅延束縛、これだけだ。これはSmalltalkとLISP

    アラン・ケイが考えるオブジェクト指向プログラミング - @katzchang.contexts
  • 現在の課題 - @katzchang.contexts

    日時型のマッピング model.MappedDatetimeのformat/parseは、object LiftRulesのdateConverter(うろ覚え)を経由して、JavaSimpleDateFormatで処理してるわけだが、date.toStringのような「日人的には馴染みのない」形式なので、切り替えたい。 が、それが難しい。 dateConverterは値(val)であり、初期値はファクトリから受け取っているが、そのファクトリはそこでnewされている。調べる前はbootstrap.scalaの中で指定すりゃ大丈夫かなとも思ったが、ちょっと想像できない。なんかやり方はあるのかも知れないが…。 ということで、model.MappedStringをベースに、validate/format/parceを追加して自作してしまおうと計画中。簡単なものはtraitを使ってプラグイン的

    現在の課題 - @katzchang.contexts
  • 初めてのscalaで戸惑ったことをつらつらと書く - @katzchang.contexts

    "=>"ってなんやの パターンマッチングとか、関数リテラルのパラメータを渡す的な場面でつかう。 "->"ってなんやの つまるところ、2要素のタプルを作っているようだ。 ↓みたいなコードってなんやの db.use(param) { con => hogehoge(con) } openOr false つまるところ、コネクションを確保して、{}で記述した関数リテラルで定義した関数にそいつを渡して処理させて、コネクション開放までやっちゃうよということらしい。で、そいつのooenOrメソッドを引数falseを渡して呼んでいる。db.use(param)は関数を受け取る関数を返す定義になっている。こんな感じ: def use(param : String)(f : (Connection) => T) カリー化とスペースによる単一引数渡しな記法を組み合わせて、結果的に構文ブロック的な見た目にしつつ

    初めてのscalaで戸惑ったことをつらつらと書く - @katzchang.contexts
  • 1