独学で2度目のWebサービスリリースまでにやったこと

先日Webサービスをリリースしました。
http://bnqa.jp

今回、2度目のWebサービス公開までにやったことや考えたことについて書いていきたいと思います。



【再掲】やってみた「WebデザイナーやノンプログラマーにおすすめしたいPHPの勉強法」
このエントリを書いたのが2012年の5月なので、1年半前くらいそこからさらに独学で勉強を続けてました。エントリの時点で半年やったと書いてあったので、2年間独学で続けてきたことになります。


ここまでよく続いたな、というのが自分の感想ですが、自分の置かれた状況を考えればやらないわけにはいかなかった、といったとこです。そのあたりは別の機会に書こうと思います。


やったことリスト

PHP, MySQL

一番大きな理由としてはこちらのエントリPHPに関する記事であった、というのがあります。とっつきやすさもあってよかった。とりあえず動くものはすぐ作れるので、やりながら学ぶタイプの人でWebアプリ作りたい人は、PHPって選択肢は悪くないと思います。
おすすめの書籍はパーフェクトPHPです。
MySQLについては書籍やネット上の情報が多いことが選んだ理由です。

パーフェクトPHP (PERFECT SERIES 3)

パーフェクトPHP (PERFECT SERIES 3)


http://bnqa.jp/item/4774144371


Symfony2

今回作ったアプリはSymfony2で作られています。Symfony2を選択した理由としては、PHPでいくつかあるフレームワークを比較検討したうえの選択、、、とかではなく、こちらの本がSymfony2に関する本だったからです。

効率的なWebアプリケーションの作り方 ~PHPによるモダン開発入門

効率的なWebアプリケーションの作り方 ~PHPによるモダン開発入門


http://bnqa.jp/item/4774150827


とてもいい本です。こちらの本を選んだ理由としては、パーフェクトPHPを執筆された方の本だったからです。執筆されたのは小川 雄大さんという方。

この本の良い所は、「モダンなPHP開発の流れ」を体験できるところです。個人的にはGitとテストに触れることができた点が良かった。モダンな感じで。ただ、本の中でも言及されているとおり、全体の大まかな流れについては本通りに進めていけば体験できるチュートリアル形式の構成になっているのですが、個別の詳細な解説は大きく省かれています。これらは紙面の都合で、しかたのないことだと思いますし、中途半端に詳しくやってコンセプトがブレてもしょうがないですし。本以上のことは、自力でやりました。あとこの本はSymfony2.0で書かれていますので、バージョン2.1位上で本を進めていこうとすると結構大変ですよ、というのは経験者の言葉です。ただ2.3が長期サポートなので、2.3で勉強することをおすすめします。

Symfony2は日本語情報が少ないです。さらにSymfonyユーザー会のみなさんが公開されている公式ドキュメントの翻訳はバージョンが2.0のものです。そのため、バージョン2.3位上を勉強する場合、本家サイトで情報を探すことになります。なので英語をよく読みました。それとStackOverflowにもおせわになりました。「エラーでググル→情報はStackOverflowだけ」とか結構あります。ある程度、英語は読めたほうがいいと思います。

Linux

勉強を進めてくとXAMPP、MAMPではダメなことに気が付きます。いろんな設定を試したいとか、特定のバージョンを使いたいとか。個人的にはVMwareFusionなんかの仮想環境でLinuxつかって、スナップショットを使いつつ、何度も環境ぶっ壊しながら勉強したほうがいいと思います。自分はUbuntu使ってました。
サーバはさくらのVPSの2Gプランを利用してます。当初、AWSの使用を検討し、microインスタンスで実験を繰り返していたのですが、やはり個人プロジェクトとしてはコストが大きすぎると判断して、今回は見送りました。でも本当は使いたいですね。

jQuery

Javascript勉強中です。。はやくWebサービスを完成させたかったので、開発優先でちょっと勉強不十分です。よく読んだのは以下の本。


http://bnqa.jp/item/4774148563


TwitterBootstrap3

スマートフォン対応はとても悩んでいたので、よいタイミングで公開してもらえました。レスポンシブデザインについては、ちょっと思うところがありますが、スマートフォン対応が小さな手間でできたことは良かった。TwitterBootstrapの学習はドットインストールを利用するのがおすすめです。

その他

当初、AmazonのAPIとの通信がボトルネックになっていたので、Memcachedを導入しデータを一定期間保存するようにしました。データの保存期間はAPIの利用規約を順守するように設定し、そのタイミングで更新するようにしています。デザインについては、友人に見せたら「Twitterじゃん」と言われましたが、参考にしたのはYoutubeです。

ノンデザイナーズ・デザインブック [フルカラー新装増補版]

ノンデザイナーズ・デザインブック [フルカラー新装増補版]


http://bnqa.jp/item/4839928401



大変でしたが、多くの学びがあり、また作ってる最中はとても楽しかった。まあ大変でしたが、とても。