新卒で自社開発企業にエンジニア就職

【4週目】テックキャンプ (エンジニア転職)の記録 【ワクワク】

ノロ

どうも、テックキャンプ (エンジニア転職)卒業生のノロ(@noronoro_yurupoです。
記事の内容
・【4週目】テックキャンプ (エンジニア転職)の記録 【ワクワク】
今回は4週目の振り返りをしてみたいと思います。
前提
・❶:コースは「エンジニア転職」。
・❷:フリーランスコースとエンジニア転職コースのカリキュラム内容は同じ。チーム開発のメンバーになることもある。
これからテックキャンプ (エンジニア転職)にいくか迷っている人はもちろん、テックキャンプ (エンジニア転職)に参加している人にも参考になると思います。

※ちなみに1週目の記事は以下になります。気になっている方はぜひ。
【1周目】テックキャンプ(エンジニア転職)記録 【スパルタ】
では実際に見ていきましょう。




テックキャンプ (エンジニア転職)4週目のスケジュールを公開

まずはざっくりとしたスケジュールをご覧ください。

22日目 休憩
23日目 ミニアプリ発表会
24日目 休憩
25日目 個人アプリにいいね機能実装
26日目 個人アプリのガバを発見し、修正
27日目 個人アプリのコメント機能を非同期通信化
28日目 個人アプリのユーザーにトプ画実装

テックキャンプ (エンジニア転職)でプログラミングを勉強し始めてから、毎日朝6時から夜の1時までプログラミングをしていたので、結構体と脳に疲労が溜まっていました。

なので2日間丸々休憩しましたね。ブログを書くなり、友人と話すなりして羽を伸ばしました。

結果的にその後の作業効率を上げることができたので、この時の選択は正しかったなあと。

無理をしすぎると本当に体を壊しかねないので、これからスクールにで頑張る人は休憩も大事にしてくださいね。

・23日目:ミニアプリ発表会

テックキャンプ (エンジニア転職)にはChat-Spaceと平行して「ミニアプリ」を作成する必要があります。

しかも、Chat-Space作成開始から1週間後にミニアプリ発表会があるんですね。

ただ、僕はミニアプリ発表会には参加しませんでした。
というのも、僕自身ミニアプリ作成の目的である「基礎構築」は済んでいたからです。

わざわざ基礎を振り返るための「ミニアプリ」を作成する必要がないと思ったんですよね。

それならもっと先を見据えて自分の武器となる「ポートフォリオ」を作るべきだと判断しました。

ノロ

テックキャンプのカリキュラムに反していることですが、わざわざ非効率なことをする必要はないと思います。
しかし、Chat-Spaceをやっていて基礎に不足を感じる人はミニアプリをやるべきだなあと。

ミニアプリは基礎構築に適しているので、Chat-Spaceの進行を止めてでもやる価値はあると思います。

「MVCやDBの仕組みがよくわかんないや」という人はミニアプリを一通り作ってみるべきですね。

MEMO
23日目はミニアプリ発表会でしたが、僕は参加しませんでした。

・25日目:個人アプリにいいね機能実装

24日目は休憩し、25日目からまたガリガリコードを書き始めました。

基本的な機能は一通り実装できていたので、ここからはつけたことのない機能をつけようという意図があります。

まずはいいね機能あたりから取り組んでみました。

結構苦戦しました。上記のコントローラーはすんなりいけたのですが、以下のビューをいじるところでつまずきました。

ここのcurrent_userのロジックを組むのに2時間程度かかってしまい、精神が折れそうでしたね。

しかし、ビューを確認しつつコードをいじっていると段々流れを理解することができ、結果的に4時間程度で実装完了しました。

ちゃんと非同期で実装することができたので、Twitterのいいねのようにスムーズな流れを実現することができてよかったです。

ノロ

初めて1から自分のつけたい機能をつけることができて感動しましたね。
ちなみに、以下は僕がいいね機能を実装する際参考にした記事です。気になる方は見てみてくださいね。
お世話になった「いいね機能」実装記事
MEMO
25日目は個人アプリにいいね機能を実装。

・26日目:個人アプリのガバを発見し、修正

この日は体調が優れなかったので、新たな機能を実装するのはやめてガバ探しをしました。

例えば

・N+1問題の見落とし
・自分以外の投稿を編集できてしまう問題
・ログアウトするとエラーが出てしまう
・エラーメッセージが英語表記
こういうところですかね。

こういうところでエラーが出ているということは、機能を完璧に実装できていないということなので反省しました。

新しい機能を実装すると技術力が高まりますが、こういう些細なバグ修正、不完全なところを改善することも大事なんですよね。

ノロ

今まで何気なく書いていたコードの大切さを理解できるようになってきますよ。
この日はアプリとしての完成度はそこまで上がらなかったですが、自分の技術力は結構上がったなあと。

これから色んな機能を実装していく上でのヒントをたくさん得られましたね。

MEMO
26日目は色んなバグを修正。

・27日目:個人アプリのコメント機能を非同期通信化

27日目はコメント機能を非同期化しました。

非同期化はカリキュラムでがっつりやったところなのでそこまで苦戦はしませんでした。

とはいえど、コメントに非同期を実装することに問題があることを発見。どういうことか?

それは

・コメントを連投できてしまうので、迷惑行為をするユーザーが増える説。
例えばなんですが、YouTubeとかのコメントって非同期じゃないですよね。

YouTubeはコメントをするとリロードされるので、ユーザーにとってもコメントするのが結構手間なわけです。

ただ、この手間がコメントの連投を防いでいるとも言えると思うんですよね(あくまで説ですが)。

ノロ

YouTubeはあえてコメントを非同期化してないと思う(断言したい)。
なので、僕はコメントのところを非同期化することをやめ、別のところで非同期化しようと決めました。

ユーザー目線に立ってアプリを作ることは大事で、使うのは自分以外の第三者ですからね。いい気づきだったなあと。

MEMO
27日目はコメント機能を非同期化。ただ、ユーザー第一に考え非同期を外しました。

・28日目:個人アプリのユーザーにトプ画実装

28日目はユーザーにトプ画をつけれる機能を実装しました。

これまではユーザーの名前だけしか表示されておらず、かなり質素な感じだったんですよ。

例えばなんですが、Twitterにトプ画機能がなくて名前だけだったら悲しいですよね。

ノロ

画像があるからこそ差別化に繋がるし、他の人に認知もしてもらえるますしね。
「画像登録は必須だろ」ということで、CarrierWaveというgemを使って実装しました。

こんな感じでおしゃれに実装することができました。

ただ、トプ画を変更する機能がいくらたっても実装することができなかったので、これは今後の課題です。

今の自分の技術力ではすんなり解決できる問題ではないので、この問題を解決できたらまた1歩進めるのかなあと。

MEMO
28日目はCarrierWaveを用いてトプ画機能を実装。

・テックキャンプ(エンジニア転職) 4週目の感想は「ワクワク」。

4週目は本格的に個人アプリ開発に入ったので、かなりワクワクした気持ちで進めれました。

機能をつける楽しみ、自分で1からコードを書いてロジックを構築することにも快感を覚えることもできましたね。

まだまだ技術力は低いのですが、自分の思うような機能をつけることができると脳汁が出ます。

この快感は現状プログラミングからしか得ることはできないので、プログラミングから離れることは当分できなさそうです。。

ノロ

引き続き頑張りたいと思います。

5周目の記事はこちら(10周あります)

【5週目】テックキャンプ (エンジニア転職)の記録 【試行錯誤】

追記:テックキャンプ (エンジニア転職)の口コミを羅列し、卒業生の僕が意見した記事です

テックエキスパートの口コミを羅列してみた【卒業生の記事です】

コメントを残す

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

CAPTCHA