POCで使える仕組みをサクッと作ろう!

こんにちは、デジタルイノベーターのTakum!です。

現在従事中のプロジェクトで、POC環境をリリースしました。
POCの内容については後ほどご紹介することにして、POCの環境と生産性について言及してみたいと思います。




サーバー環境

私の勤めている企業がサービス提供している、クラウドサーバーにWebサーバーとDBサーバーを置いています。両者とも、CentOSです。お客様にはRHELを提案しますが、サポート使うこともほぼありませんし、CentOSで十分だと思っています。特に今回は予算が…なので、これ一択です。
無論DBサーバーはWebサーバーとDBアクセスしかできません。
サーバーには証明書を使って、OpenVPNにて接続します。


データベース

MySQLです。以前はOracleだ、SQLServerだ、と有償製品を提案することが多かったですが、今や当然のごとくMySQL使いますね。特に今回は予算の(以下略)


Webサーバー

Apache+PHP7.2です。以前のプログラム(Javaやってた)の名残でTomcatも入っていますが、PHP一本になりました。


フレームワーク

CakePHPと悩みましたが、Laravel 5.6での構築です。PHPのフレームワークは、私自身、初めてです。ゼロベースで始めて、チュートリアルに従ってサンプルを作ってみて、それに色々と着色していく作業を2~3日もすれば、大体のことは理解できると思います。学習コストは、十分低いと思います。

開発環境

XAMPPでWebサーバー、DBをやらせて、コーディングはVS Codeに、多少のプラグインを入れたWindows 8.1のマシンです。


生産性はどうだったか

作成したアプリケーションは、エンティティ14個、36画面、ルーティング80個でした。(今思い返すと、こんなでかい仕組みになってしまったかと、驚くものですね)トータル8Kstep程度のソースコード(画面系のBladeが5K、Controller, Modelが3K)になっています。
Laravelに着手したのが5月中旬でしたので、実質3か月で上記の仕組みが構築できました。
なお、画面レイアウトも試行錯誤でHTMLコーディングしてくれるデザイナーさんなど居りませんでしたので、画面設計も含めた工数として考えると、1か月12画面というのはやはり相当の生産性なのではないでしょうか。
2~3画面の簡単なものであれば、2週間くらいのあれば検証する環境まで作れそうな気がします。


とは言え、ひっかかるところもある

これから、そういう引っ掛かりどころと、その解などを情報提供できればいいかなぁと思っています。
それでは、今回はこの辺で。




このブログの人気の投稿

MS Azure Information Protection を入れたら右クリックの「分類して保護する」がうざい

Zwiftがいきなり楽になってしまった件(顛末)