【新人君物語】第1話 初めての開発編

『新人君』は某情報大学を卒業した新卒の男の子。研修が終わりプロジェクトにアサインされました。優しい『先輩さん』に教わりながら今日からプログラマーとしての人生のスタートです。


先輩さん「環境構築も終わったし、さっそく新人君には開発をやってもらうよ。まずはこの画面を作ってね」

先輩さんから説明を受け早速開発に入ります。任されたのはとあるECサイト(ショッピングサイト)の管理ページです。この画面にテキストボックスとラジオボタンを増やし、登録ボタンを押すと入力値をデータベースに登録するというものでした。

新人君はさっそく画面にテキストボックスとラジオボタンを増やしました。似たような機能がある画面のソースを教えて貰ったので真似をすればすぐに画面は完成しました。問題はその後です。登録ボタンを押したらどのような経路でデータベースに登録されるのかさっぱりわかりません。参考ページを見ても色々なクラスが呼ばれているのはなんとなくわかりますがじゃあどうすればいいのか。

新人君は途方にくれてしまいました…。

 

解説


新人が配属された時、web業界ではわりと任される開発内容ではないでしょうか?管理ページというのは直接お客さんが触れるサイトを「管理」するページなので例えばショッピングサイトのページにバグがある場合より管理ページにバグがあったほうが被害は少なくすみます(運用でカバーできたりもするので)。

今回新人君はデータベースの接続方法がわからず途方に暮れていますね。データベースに接続といっても言語やフレームワークによっても違いますし、そのプロジェクト独自のルールもあるのでまずは聞いてみるのが一番でしょう。

ただし「データベース」に何かするということはどのシステムも必ず「SQL」を使っているというのは変わりません。またヒントとして「MVC」モデルの考え方があると理解しやすいと思います。

SQL


私も新人の頃先輩に「データベースに何かしているということはこのソースのどこかにSQLが書かれている場所があるからそれを探すのだ」と言われなるほどなと思ったものです。

新人の頃は「げ、SQL書かないとだめなのか」と身構えてしまうかもしれませんが、こればかりは避けて通れません。フレームワークによっては直接SQLを書かなくてもフレームワーク独自の機能を使ってデータベースにアクセスしたりもできますが、SQLの基本は変わりません。基本はなるべく早く覚えた方がのちのち楽を出来ると思います。

近道としては使用しているフレームワークのデータベースアクセスの仕方を調べてみることです。場合によっては色々なクラスを経由した上でようやくSQLが現れるということも珍しくありません。なんでこんなあっちこっちクラスを呼ぶんだ?と思ってもそういう思想があると思って納得しましょう(余裕がある時にでも調べましょう)。その過程でゲッターセッターの存在やクエリビルダの存在、DBマッパーの存在を知ると思います。…頑張りましょう。

 

MVC


MVCとはモデル・ビュー・コントローラーの頭文字をとったものです。今回の開発を例にすごく乱暴にいうと

モデル=データベースに接続する流れ

ビュー=画面

コントローラー=ビューとモデルを繋ぐもの

という感じです。まずビューで入力されたものはコントローラーで受け取り、受け取った値をモデルへという流れになります。

MVCを元に作られたシステムであればこの辺の役割がしっかり分かれているので全体像が理解しやすいのではないでしょうか?ちなみにモデルはサービスと呼ばれることもあるのでなんちゃらサービスクラスというものがあったらモデルと思っておいてよいかと思います(フレームワークやシステムによっては違うこともありますが)。そんなこと言われたってDAOとかDTOとかあるって?まぁそういうこともありますよね!コントローラーとモデルが曖昧になってたりすることもあるのでその辺は空気を読みましょう!(白目)

 


先輩さんに教えて貰いながらなんとか実装できました。先輩さんがやれば1日で終わるものに5日もかかってしまいました。

先輩さん「まぁ最初はそんなものだよ。これから覚えていってね」

なんと優しい先輩なのでしょう。残念ながらこんな優しい先輩ばかりではなかったりするのが悲しいところです。ちなみに新人というものはプロジェクト内で工数に入っていなかったり0.5人としてカウントされいたりするのでこれくらいの遅れは織り込み済みだったりします。これで気を落とさず頑張りましょう!

続く…

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です