コラム
カテゴリ:システム開発最速でプログラマーを育てるアクセライトメソッド ~Lesson6 Webフレームワーク編~
第6回目はWebフレームワークです。
その昔、ホームページが流行り、何が目的だかよくわからない自己満足的なWebサイトが散見された時代。HTMLは静的で、ただ情報を表示・閲覧するためのものでした。
ほどなくしてステートレスなHTTPというプロトコルの上に、クッキーという技術が組み込まれることで、ユーザがあたかもそのサイトにログインをしたかのような機能を実現できるようになりました。
そのためにはJavaScritptを用いたクライアントサイドでの動的な処理に加え、サーバサイドで動的にページ生成をする技術が大きな役割を担っています。
そうした中で、URLの扱いにも進化が生じました。かつてファイルが本当にそこに置かれていたことを示すものであったはずのURLが、現在ではサーバ内のファイルパスを示すものではなく、サイトやシステムに動作を命ずるためのコントローラ・メソッド・引数としてのURLとして利用されるようになりました。
というURLで表現されていても、実際には reading というディレクトリもなければ blog というディレクトリもありません。あるいはもしかしたら実際にディレクトリがあるかもしれませんが、それは開発者が自由に設計できるようになっています。
内部的にどのようなファイルが存在しているかを分からなくすることで、セキュリティの向上も見込めます。.phpや.cgi のような内部のファイル拡張子も、昨今のサイトでは表示されないことがほとんどです。
こうした設計を自由に行うために、フレームワークを利用するのが便利です。
フレームワークにはそれ以外にも多くの便利な機能が存在します。
- URLマッピング
- SQLの生成用メソッド群(O/Rマッパー)
- MVCモデル
- 各種セキュリティ対策
フレームワークを利用せずにプレーンなWebで開発をしたことがある人にとって、フレームワークを初めて知ったときの感動というのはなかなかに大きいものです。
スマートフォンを持っている小学生に違和感を持つかのように、プログラミングの初学者がフレームワークから手を出すことには違和感を感じます。
不足している状態を知っているからこそ、文明の利器のありがたみをより理解し、使いこなすことができるものです。
ただし、あまりに不便な状態を強いるのは辛いですし、昨今では何らかのハラスメントに該当する恐れもありますから、Lesson5の後はスムーズにフレームワークを学ぶこととしましょう。
今回の課題は以下です。
フレームワークは自由に選定してください。
これから使うであろう言語とフレームワークを学習するのが一番効率が良いでしょう。
スキルアップを目指して勉強するということであれば、一番やる気がでるものをご自身で選定するのが良いでしょう。
この記事では特におすすめはしません。何かをすすめればどこかから石が飛んでくるかもしれないからです。
考慮ポイントとしては
- 学習コスト
- シェア
- 今後の展望
- 開発チームへの信頼性(自身でOSSに参加せよという突っ込みは一旦無しで)
あたりになろうかと思います。
さあ、このあたりまでできれば、あとは実戦あるのみです。
あなたはすでに、シアトル系カフェでノートパソコンを開いてコンソールで開発してても十分に恰好がつくレベルのプログラマーです。
※オープンスペースで開発する時はプロジェクトの機密レベルについては重々ご配慮ください。
全6回の締めくくり
これで全6回のLessonは終了です。
OJTで開発を始めるのにはまあまあ十分な知識が得られました。そろそろ新しい世界へ一歩踏み出しましょう。いわゆる実務経験というやつです。
そこには深淵で広大な、畏れ多くも楽しく興味深い世界が広がっています。
人々は今後ますますITでつながっていきます。それを作るのは私たちプログラマーです。クラッカーになるのではなく、ハッカーになって、世界をどんどん素敵な場所にしていきましょう。幸いにも、やることはいっぱいあります。
さて、最後になりますが、アクセライトでは医療研究・調査研究のフィールドを中心に、システム開発を行っています。人の健康に影響を与えるために、要件が厳しく、それだけに難易度が高く、そして人のためになるやりがいのある仕事です。
世界一の調査システムがここにあります。そして同時にまだ卵の状態です。あなたが素晴らしい開発者に成長し、一緒に私たちのソフトウェアを開発する日が来たら嬉しい限りです。
『未来がうまく行くと思うも、うまく行かないと思うも、いずれも正しい。未来は自分の思った通りになるのだから。』