丸山先生レクチャーシリーズ行ってきた
会社にレポートを提出しなきゃ行けないので、簡単に内容のポイントまとめ。コンポーネントスクエアにプレゼン資料置いてあるので、行けなかった人も資料だけは見られるので、興味があれば。
システム開発パラダイムの変化 - 萩本順三氏
- ビジネスオーナー・システム開発者・実務担当者と3者でそれぞれ思いが違う
- 実務担当者の要求が、ビジネスとして価値あるものとは限らない
- ビジネス課題ありきのシステム設計→ゴールの見える化が必要
- ビジネス価値の高いものから先にリリース→縦ではなく横に割ってリスクヘッジ
- TFPモデルからアーキテクチャモデルへ落とし込む
Java とスクリプトの微妙な関係 - 櫻庭裕一氏
- Apache BSF → JSR223
- JSR223でできること
- スクリプトエンジンの生成
- スクリプトの実行
- スクリプトからJavaへのアクセス
- 要はアプリとスクリプトのI/Fが決まっているだけ
- パフォーマンスはスクリプトエンジンのパフォーマンス次第。Rhinoは速いが、Groovyはまだ遅い
- JSR223 → JSR292
- Hotswappingでメソッドの中身だけではなく、シグネチャの変更やフィールドの変更やメソッド自体の追加削除もできるように!!
- とは言っても出来るかどうかはまだわからない
混ぜるな危険!? SOAとWeb2.0をマッシュアップせよ! - 鈴木雄介氏
- LL → 思考と直結したコードが書きやすい → 試行錯誤に向いている
- だがエンタープライズシステムの場合、LLは使えない → でも使えるところはあるはず
- アウターゼリー
- インナーゼリー
- Sarugau JS → HTMLとスクリプトを完全に分離分業できる
- スーパーグルー
- LLが必要とされていることの本質は「試行錯誤」
- 試行錯誤をエンタープライズシステムにどう取り入れるか → たとえばアジャイルが1つの答え
JavaへのClosureの導入 - 丸山不二夫氏
- Closureとは
- 値ではなく機能をやりとり
- クラス定義、メソッド定義からは自立したコードブロック
- 遅延評価
- 定義時点のlexicial scopeを参照
- curry化
- プログラミング言語Haskellの名前の由来はHaskell Curry
- 複数の引数をとる関数を、引数が「もとの関数の最初の引数」で戻り値が「もとの関数の残りの引数を取り結果を返す関数」であるような関数にすること
- GroovyでのClosure
- Builder
- メタ構造をClosureで記述することでXMLなどのMarkupが簡単に
- Builder
- JavaにとってのClosure
- 不格好な抽象表現をスマートに
- アルゴリズムを抽象化してリファクタリング
comments powered by Disqus