こんにちは、カリスマエンジニアになりたい、ちびくじらです。今日は、プログラミングスクールを利用して、グラビアアイドルの画像取得アプリを作った体験談をしていきたいと思う。
いちおう、このページでは、
▶ プログラミングスクールを検討している人
に向けて、
▶ プログラミングスクールを使うとこういうアプリが作れるよ
という話をしていきたいと思う。
プログラミングスクールでグラビアアイドル画像取得Webアプリを作った体験談
プログラミングスクールを利用した経緯
まず、ちびくじらですが、大手システム会社で社内SEをしていたわけですが、Web系の勉強もしてみようと思ったわけ。いわゆるキャリアアップというか、そんなかんじ。
当時の自分は、とりあえず、”はてブでホッテントリ入りした技術系はとりあえず、ブックマークするんだけど、別に自分で何か作ったりもしないで、いいな〜、おいらも何か作りたいな〜”なんて思っていたわけ。
そこで、オススメのプログラミングスクールを見ていたら、作りたいサービスをサポートするというサービスがあったから登録してみた。もう、そのサービスはないけど、1ヶ月で15,000円/月くらいだったと思う。
当時はいくつかサービスがあったけど、無料体験があったからやってみることにした。いまだと、このサイトを見るとプログラミングスクールの選び方が大体わかると思う。
プログラミングスクールの無料体験
そうして、プログラミングスクールを無料で体験することになった。そのとき、メンターがいて、そこで、今困っていることだったり、今後どうしていきたいのかの説明をしてもらった。
そうして、今後のことを活かしていくために、InstagramのAPIと連動したWEBアプリをPHP(CakePHP)で作りたいと伝えた。ただ、実績というかこういうアプリを作ったら、自分が役立つかなと思うものを1つ考えてみた。
将来、面接でも使えそうかなと思ったときに以下の仕様が思い浮かんだ。
【仕様】
▶ InstagramのAPIを叩いてデータ取得するWEBアプリ
▶ Facebook、Twitterと連携したログイン機能
▶ 画像保存機能
▶ 閲覧履歴機能
そうして、この企画を立てて作っていくことになった。
【アプリのイメージ】
イメージとしては、WEBブラウザ一覧にアイドルの画像が表示されて、それをクリックするとユーザーに紐付いたアプリを取得していくイメージ。
*Instagramより
作るところで迷ったところ
画像の保存について
このWEBアプリの保存方法について考えていたが、やろうと思えばクラウド上に画像をバイナリで保存することもでき、仮にInstagram側で写真を消すことがあっても、見れる状態ということ。
仕様としては、画像を数値にバイナリ化して、そのデータをMySQLに保存しておく。ブラウザ上に表示するときは、MySQLにバイナリ化したデータを復元して表示するというよくあるパターン。
実際にリリースはしていないし、そうすることもできるという話だが、実際にクラウド上にバイナリのデータを保存するのは、リソースからお金もかかるので、そういう場合は、画像のURLだけ保存しておくというのが良いやり方っぽいので、メンターと色々相談してそうすることにした。こういうときに、Webサービスを出すという前提で相談できたのは良かった。
CakePHPを使ったログイン処理について
もう、車輪の再開発というか、もうすでにある方法がWEBを探すと載っているので、それを参考に作っていくことになった。 MVC(Model、View、Controller)の概念も、社内SEでJava + Strutsをやっていたので、取り組みやすかった。ちょこちょこ詰まる部分があったが、メンターに教えてもらって、うまく行った感じで良かった。
特に、こちらでパスワードをMD5で暗号化してDBに保存しなくても、フレームワークの機能で自動的にパスワードが保存されるのが楽なんだよね。
閲覧履歴機能
これは、割りとすんなり実装できた。クリックした画像のURLを保存しておいて、最新の時刻で使用したものをWEBアプリの画面上に降順で表示していく形。これは、すんなりできた。
エラー時の対応
例えば、画像を削除して、URLの読み込みができないときは動的に表示しないこともしていた。これはなかなかカッコよかったと思う。これはメンターさんのおかげですね。
アプリの公開について
一応、独自ドメイン(.xyz)をとって、レンタルサーバー上で動かしていたんだけど、結局、IPアドレスでアクセスを制限して使っていた。
今後作っていきたいもの
当時の知識を使って、今後作っていきたいとしたら、動画をクラウドに保存するWEBアプリ(サービス)があると便利だなと。絶対、そういうのはもうすでにしている人がいるし、それがどれだけの費用になるのかは調べないといけないなと。来年の”できたら目標“ということにしておくかなと。
プログラミングスクールについて
そのプログラミングスクールなんだけど、ちょうど、WEBアプリができそうなときに、会社都合で終わってしまったので、それ以降は自分で他に色々作っていったりしてました。個人的には、開発で詰まる時間の短縮と、実際にサービスを出すという視点でのアドバイスをもらえて、スキルがドンッと上がるのでオススメですね〜。