1週間の個人アプリ開発で得たこと
61日目です。
1週間(8/16~8/23午前中)で「プログラミング学習記録アプリ」を作りました。
メンターのサポートは一切なし、カリキュラム以外の技術も使って好きなものを作る課題です。
まずは発表スライドと成果物をご覧下さい。
発表スライド
※スクリーンショットで失礼します。
成果物
当初つけたいと思っていた機能の60~70%ほどが実装できました。
※デプロイできていないので、GIFで失礼します。
未ログイン
ログイン後
得たこと
- 一日かかっても解決しなかったことでも、日が経つと不思議と実装方法が見えてきて解決できることがあると知った。
- やはり1つの言語を早い段階で満足に使えるようになるべきだと実感した。
- 音楽を聞いていると、解決困難な壁に当たった時に途端に集中力が落ちてくるので、ノイズキャンセル的なイヤホンで無音状態を保つと集中力が落ちない
- RailsはちょっとしたコマンドでSQLに変えてくれて便利。DBを用いて何か機能を実装したい時に真価を発揮するように思える。(逆にDB関係ない時はHTML&CSS、JavaScriptで作った方が軽量で良いと思った。)
- 最初は全然ロジックが思いつかなかったことがだんだんと実装できたので、課題が解決する毎に「快感」を味わえた!!!
特に2の「1つの言語を早い段階で満足に使えるようになるべき」ということを強く実感したことがありました。
データベースからの情報の取得、マイページのuser情報との紐付けで行き詰まり、データ解析の「SAS」を専門とする弟を頼った時のことです。弟はRubyなど触ったことすらありませんが、ささっと携帯で調べてRubyの公式ページから「これ使えるんじゃない?」とアドバイスをくれました。このように、違う言語でも自身の経験に照らし合わせて解決策を導き出せるというのは本当に大事なことだと思います。
その後2人で試行錯誤しながら解決の糸口を見つけましたが、SASとSQLだったら10分で解決できると言ってました笑
また、個人アプリ開発を通して「カリキュラムで理解できていたと思っていただけだった」というのがありました。違う言語などで個人アプリを作ってたら理解できずに進んでいたかと思うとゾッとします。
これらのことから「1つの言語を早い段階で満足に使えるようになり、他への応用を効かせられるようになる」ことが大切だと思いました。
56期(一個上の先輩)の発表会で感じたことを活かせたか(8/3の投稿)
80点くらいです。
・自分自身が使いたいと思えるものを開発したいです。
・何故そのアプリは必要だったのかをしっかり答えられるように、「何故」を深掘りしてから取り掛かります。
・自分の技術力不足で、開発途中で方針転換を余儀無くされることもあるかもしれないが、 最後は「どういうところを見て欲しいか」 「誰のために(何を解決するために)作ったのか」は しっかりアピールしようと考えています。
自分が使いたいと思えたか
→使いたいと思える。まだ機能が不十分なところもあるが、学習記録アプリの機能は最低限実装できた。
何故アプリが必要だったか
→プログラミング専用の学習記録アプリは見受けられず、初学者はツイッターやブログなどバラバラなところにアウトプットすることが多い
→初学者がモチベーションを保ちつつアウトプットができ、学習時間を記録できるアプリが欲しい
→マイページを作り、学習時間で検索できる機能をつければ、未経験採用を進める企業の方からもコンタクトできるのでは?
しっかりアピールできたか
→できた。JavaScriptでもっと動的なサイトにしたり、検索機能やランキング機能をつけたかったが、それよりも4分という短い時間で魅力を簡潔に伝えるよう意識して発表した。
他の人の発表を見て
時間が1週間以上取れていた人はRails+α(JavaScriptやjQuery、CSSフレームワーク)で作っている人が多く見受けられ、あまり時間が取れなかった人はLINE botを作っているという印象でしたが、どれも「こんなことができるんだ」とワクワクしました。自分が使ってない技術で実装しているのを見ると、「この実装は簡単でした」と言われてもとても難しそうに見えるので、どんどんチャレンジして「経験していないものに対する恐怖」を無くして行くようにします!
昨日から、朝4時まで実装や発表資料の作成、7時から起きてバグの解決に当たっていました。
実装が思うように行き出すと本当に楽しくて、体が元気ならずっとやっていたいという気分になってきます。
なんとか発表会30分前にずっと直せていなかったバグを直し、気持ちよく発表に望むことができました。
この感覚、病みつきになりそうですね笑
明日からチーム開発に入るので、気持ちを切り替えて取り組みます。