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

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

ノロ

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

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



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

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

29日目 基本的な機能の見直し
30日目 サイドバーの追加
31日目 週間ランキングの追加
32日目 フォロー機能の実装
33日目 休養
34日目 新規登録をトップページにも追加
35日目 小さな機能&ビュー修正

5週目はフォロー機能実装が少し手こずったくらいで、他はそこまでハードモードではありませんでした。

しかし連日の疲労のせいか、体の調子が良くない日があったので、ペースは少し落として簡単なことだけやるよう心がけました。

あまり無理してもよくないですからね。バテすぎない程度にやりました。

・29日目:基本的な機能の見直し

29日目は基本的な機能の見直しをしました。

具体的なところで言うと

・textが空でも投稿できてしまう
→validatesを追加
・いいね関連でバグが起きる
→modelでdependent: destroyを追加
・謎にビューが崩れる
→クラス名を地道に変更
・コメントに削除機能がついていない
→destroyアクションを追加し、form_forで削除機能を実装
railsをかなり触っている人ならわかると思いますが、本当に基本的なことばかりですよね。

ただ、僕はまだまだ基礎が身についてないからか、機能実装に大きなガバがあることが結構ありました。

基礎機能の見落としは反省点ですが、自分で気づいて手直ししていくことで、技術力は確実に上がったので、充実した時間ではありましたね。

ノロ

個人アプリはメンターさんに質問できないです。ゆえに、自走力はバリバリ身についていくんですよ。

・30日目:サイドバーの追加

31日目はサイドバーの追加をしました。下の画像が実際に追加したサイドバーです。

こうすることで寂しさが少し軽減されました。

しかし、途中でサイドバーを追加するのは思っている以上に大変でしたね。

HTMLの箱は作らないといけないですし、その分メインコンテンツをずらしたりしないとダメでしたから。

アプリを作り始める前の「設計」の重要性を本質的に理解できた気がします。
余計な作業を結構したので、次のアプリではこのようなことがないように注意します。

効率よく作業するためには、最初の設計が大事すぎるなと改めて感じた瞬間だったなあと。

MEMO
30日目はサイドバーを追加し、Ajaxの復習をしました。

・31日目:週間ランキングの追加

この日は週間ランキングを追加しました。


こんな感じで、コントローラーで月間のデータを引っ張ってきてビューに表示する感じです。

ただ問題が発生したんですよ。「.group(“MONTH(created_at)”)」の記述だとHerokuによるデプロイでエラーが出てしまったんですよね。

なので工程はかなり増えますが、AWSでデプロイをしてDBを統一させたほうがいい説が出てきました。

ノロ

Heroku環境でしか適応できない記述がこれ以上増えても困りますからね。
週間ランキングの実装自体は簡単なのですが、デプロイ等を考慮すると結構大変でした。インフラも後々勉強していかないとダメですね。
MEMO
31日目は週間ランキングを実装したのですが、デプロイ時に苦しみました。。

・32日目:フォロー機能の実装

この日は骨が折れました。

なんどやってもフォロー機能を実装することができず、精神的にしんどかったですね。

ただ、4時間以上悩みまくって以下のようなフォロー機能を実装することに成功。


こういう風にフォローボタンがあって、ボタンを押すと


ツイッターのようにフォロー削除ボタンが出る仕組みです。もちろんフォローもちゃんとできています。

さらに、きちんと非同期で実装することができたので、いちいちビューをリロードしなくてもOK。

ただ問題点はいくつかあります。

・フォローしたときにフラッシュメッセージが出ない(フォローしました等)
・フォロー、フォロワー数が表示されるところは非同期化失敗
主にこの2点ですかね。

とはいえど、他にも実装したい機能はあるので、この問題点はやるべきことが終わってから片付けていきたいと思います。

MEMO
32日目はフォロー機能をなんとか実装しました。

・34日目:新規登録をトップページにも追加

33日目はリフレッシュのため休養し、34日目からまたガリガリコードを書きました。

この日は新規登録をトップページに表示させましたね。以下のような感じで。


これをみて「Qlitaじゃん」と思った人は正解です(というかこの個人アプリはQlitaを強く意識してます。)。

こうすることでオシャレ感が増し、ユーザーにとっても新規登録しやすいのかなあと。

ただ、エラーメッセージが変な風に表示されるバグが発生しているので、そこらへんは修正が必要ですね。

ノロ

devise周りは修正がややこしいけどやるしかないですね。
そして、ここらへんにきてテックキャンプのカリキュラムで培った基礎力が活きてきたんですよ。徐々に成長を感じれるようになりました。

「本当にカリキュラム内容が身についているのか?」という疑問が払拭されるのを実感できて一安心でしたね。

MEMO
34日目は新規登録をトップページに追加しました。

・35日目:小さな機能&ビュー修正

この日は今まで実装してきた機能に不備がないか確認し、大きく崩れているビューを修正しました。

特に目立つエラーもなかったので個人アプリを中断し、他の言語の勉強なんかをしてましたね。具体的に以下。

・PHP
・Python
まだまだ他の言語を勉強するタイミングではないのですが、好奇心でやりました。。

それに、railsはある程度触れるようになったので、他の言語もそれなりに理解できるだろうという思惑の元です。

ただ、結構難しかったですね。テックキャンプ がrailsとrubyを主言語に選んでいる理由がわかりました。

ノロ

まずはRubyに注力することをおすすめします。
言語の難易度は人によって違うと思いますが、個人的にRubyよりもPythonの方が厄介ですね。取っ掛かりにくいです。

とはいえど、他の言語をやることでRubyに対する理解度は深まるなあと。いい気づきでした。

MEMO
35日目はバグ発見とビュー修正の時間を割きました。

・テックキャンプ (エンジニア転職)5週目は試行錯誤の週でした。

5週目はかなり試行錯誤しました。

・この機能は必要か?
・フォロー機能でエラーが出るのはなぜか?
・curreny_userを使うべきでないとするならば、どうやって変数を持ってくるべきか?
・ユーザーにとって利用しやすい配置はどんなものか?
他にもたくさんあるんですが、ざっくりするとこんな感じです。

手を動かすというよりかは、頭を使って考える時間の方が多かったです。

しかし、手を動かしていた週よりも成長できた気がしますね。おそらくプログラミングに対する理解が深まったからだと思います。

ノロ

この調子で引き続きコードを書いていこうと思います。

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

【6週目】テックキャンプ (エンジニア転職)の記録 【発表会】

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

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

コメントを残す

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

CAPTCHA