スイーツ(笑)プログラマ
年末にSAStrutsとS2JDBCを触った時に思ったのだが、
色んなAPIが規約やフレームワークによって隠蔽され、特定のAPIに依存しないような形でWEBアプリを作れるようになっているんだけど、前提知識が色々必要で多面的な基礎知識が無いと振り回されてしまいそうだなーと思った。jdbcmanagerって各Actionにpublicで書いていいのだろうかとか、これってスレッドセーフとかその辺気にしたほうがいいのではないかとか、なんか色んなことが中途半端に知識として残っていて、うーんうーんと悶絶。
何よりも1年半近くまともな開発をやっていないので、「今時これは最低限必要だね」っていうラインから相当遠ざかっている。ゴリゴリなやり方しか知らない僕。4年ぐらい前はJDBCで生コンをちゅぱちゅぱしてたんだぜ・・・?やっぱり生は危険だ!良い子のみんなは真似しちゃいけない!
いろんなことが重なって今年はとにかくコードを書くと決めたので、ホントこんな感じ。
コレではダメだ。今時のみんなに追いつかねばならない。中途半端な知識を棚卸したい。
最近の流行はRails的なフレームワークなのだろう。何かしら意識されているというか、影響を与えているのは間違いない。少なくともRailsが示した方向性から逆行するようなことは無いだろう、と。
となると、個人的な好みで
この3つが残った。
どうせやるなら、今まで仕事で使ったことがない言語を学ぼうと思ったので、
この2つになった。
で、僕の友人・知人の顔を思い浮かべると、単純に数の問題でお悩みを共有できそうなのはCakePHPだろうという結論に至り、
今日からオレは・・・PHPerになる!
という決意を固めた。
2月頭というのも切りが良いし。要はやる気を出した。www.daiteryu47.netの件も頑張りたい。
最も知識が無いのが、O/Rマッパーのアソシーエーション。使ったことが全く無い。こちらのページが参考になる。
- http://d.hatena.ne.jp/takuya15/20071120/1195537015
- http://cakephp.jp/doc/ch06s04.html
- http://www.blueocean.bz/blog/cakephp/articles/web_sys_on_cakephp/db_fundamental/%E3%83%AA%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3/#post-84
見ただけで複数テーブルへのINSERTをキメたい時ってどうやるんだろって思った。注文→注文明細、みたいなヤツ。モデル2個作るだけだろJKとか言われそうだけど。
とはいっても2年ぐらい前にHibernateを触った時に感じた「設定ファイルがうざすぎてやる気がおきない」ってのは感じない。SQL投げろハゲとか思ってた。それに比べるとすごいなぁ。奇しくもO/R mapperが出た時に、僕はナイストークとナイスパワポとファックエクセルを書くお仕事にスイッチした。
っていうか、DB設計がアウトだったらアソシーエーションもアウトってことになるんじゃね?コントローラーとかViewはどーとでもなるけど、モデルがアウトならシステムで扱う情報そのものがアウトじゃん。こういう高い生産性を可能にするフレームワークを使うことで、DBの論理・物理設計がボトルネックになると再認識。ロジックの修正ならなんとかなっても、DBレイアウトの変更はツライ。
これは不変の課題な気がするなー。設計そのものは自動化できない。「やってはいけない」tipsはあるけれど。でも逆に言えば色んな知識が総合的に求められてこそのフレームワークになっている気もするので、僕のリハビリにはちょうど良い。
そんなSunday evening.