見出し画像

RUNTEQ3ヶ月目を振り返ってみたよ!

RUNTEQ3ヶ月目の振り返り記事を書いていきます。

結構いろいろやった気がするんで思い出せる範囲でつらつら書いていきます

■やったこと

まずはやったことから

※注意点
RUNTEQのカリキュラムについては詳しく触れることができませんので、ご了承を。

①バックエンド

  • RUNTEQカリキュラム基礎編途中まで(Rails)

バックエンド側の学習に関しては、RUNTEQのカリキュラムをこなすので手一杯でした(汗)

月初はチェリー本もやりたいな〜と思ってたのですが、そこまで手が回らず。

ただ先月と比べて一番成長を感じたのは、このバックエンドの学習でした。

というのも、先月のカリキュラムの進捗具合がまぁひどく「このままじゃ卒業までにワンチャン終わらないんじゃないか?」くらいのスピード感だったんですが、今月はそこがだいぶ改善されたからです。

少し具体的に話すと、先月まではひとつの課題に対してわからないところがあったら、自分の中で理解できるまで徹底的に深掘りを行うというスタイルで学習をしていました。

そのためひとつの課題に対して3~4日間くらい時間をかけるみたいなこともざらにありました。

ただ今月は「深追いしたらヤバそうだなぁ」と思う部分は割り切れるようになり、後回しにできるようになりました。

このおかげで平均して約1日に1課題くらいのペースで進めれるようになり、カリキュラムの進捗が劇的に改善して、結果目標にしていた「スクールで提示されている理想目標」をなんとか達成することができました。

こうして今振り返ると「あの時は本当に効率悪い勉強してたなぁ〜」とか思うのですが、「あ、ここは深追いしたらやばいな」みたいな嗅覚が働くようになったり「ここらへんはあの時調べまくったけどよくわからなかった箇所だしもう覚えちゃお」みたいな割り切りができるようになったのは、間違いなくこの時の「非効率な」時間があったおかげだと思ってる部分もあるので仕方ないなと思ったりもします。

②フロントエンド

フロントエンドの学習に関しては、Reactに全振りしました。
今月はここが1番ボトルネックだったような気がします。

とにかく「Reactむずい!!」というのをめちゃくちゃ思った記憶があります。

最初らへんは「コンポーネントごとに分けてJSXで記述していく…」みたいなのがVanillaJSしか触ったことのない自分には違和感しかなかったですし、またJSXに慣れてきたと思ったら次はpropsやstateという概念が出てきて「何がなんやら」という状態にもなりました。

ただとにかくわからないなりにでも手を動かすことを意識して、簡単なTodoアプリやタイマーアプリを作ってくと徐々に分かるようになりました。

またReactの理解が深まったポイントとしては個人的には「関数型プログラミング」と呼ばれるReact Hooks導入以降のReactの根幹を支える考え方について学んだことが大きかったです。

関数型プログラミングがどういうことを目的にして生まれたプログラミング手法なのか?ということを何となく理解してからは、「状態管理」や「propsの受け渡し」で悩むことは少なくなりました。

他にもReactやってると面白い考え方が結構たくさん登場するので、難しいけどやりがいがある分野だなぁと今は思ってます。

③インフラ

インフラは主にAWSの勉強がメインでした。

9/30にクラウドプラクティショナーを受けるため、以前受けたUdemyの講座を復習しつつ、認定教科書を読み模擬問題を解く…といった感じで進めていました。

※追記
無事に試験も合格してました〜〜普通に危なかったですね😅

Udemyの講座については、基本的なインフラの話からAWSの主要サービス(VPC・EC2・RDS・Route53など)まで網羅されてるので初めてAWS触る人には1番いいんじゃないかと個人的には思いました。

あとはDockerやdocker-composeに慣れる意味も込めて、今後使用するであろう構成でいろいろなコンテナを作ってみました。

特にNginx周りの設定は結構ややこしかったです。
pumaやUnicornのようなRack関連の話からマルチスレッド・マルチプロセス・非同期I/O・ノンブロッキングI/Oなど学ぶことは多かったです。

④開発環境

一応毎月開発に便利なツールや拡張機能を導入することを目標にしてるので、今回はその辺りも話していきます。

まずは普段使ってるfishを少しカスタマイズしました。
具体的にはこんな風にGitのブランチが表示されるようにしたり、pecoと連携させてコマンドを履歴から検索できるようにしました。

これによって開発効率が劇的に上がったので、fishをお使いの方はぜひ参考にしてみてください!

あとはこれは少し前なのですが、作業ログをつける際に良さげなテンプレートを見つけたのでターミナル上で動かせるようにし(GitHub CLI使用)ローカルでコマンドひとつ打つだけでブログを投稿できるようにしました。

こうすることで自動的にGitHub上でissueが立ち上がり、投稿内容が追加される仕組みになりました。
(詳しくは自分もわからない…ただめちゃくちゃ便利。草も生えますし)

またRUNTEQのtimes等でよく見かけるGitクライアントツールのtigを使用してみることにしました。
tigは結構便利でコミット履歴を遡れるようなったり、簡単にステージングできたりと今もかなり重宝してます。

⑤その他

  1. LT会登壇

    • 資料はこちら

    • 以前から気になっていたRackとAPサーバーについて主に話しました

  2. 原体験ドリブンのペアワーク

    • 仲の良いRUNTEQ生とオフラインで会い、「原体験ドリブン」と呼ばれる書籍で紹介されているペアワークをしました

    • 詳しくはこちらの記事を参考にしてください

まずは毎月恒例のLT会に参加させていただきました。

以前フレームワークの自作に挑戦した際に勉強したRackについてアウトプットしておきたい…と思ったのでざっくりと話させていただきました。

ただ残念なことにスクール内で公式に行われているLT会に参加できるのはこれで最後だったため、今後は自分で企画したり外部のLT会に参加するなどして発表していくことになりそうです。
せっかくいい具合に習慣化されてきたので、何とか続けていきたいですね😅

また個人的に今月で1、2を争うくらいに大きかったイベントが原体験ドリブンのペアワークでした。
詳しくは一緒にペアワークを行った方のこちらの記事を参考にして欲しいのですが、本当に貴重な経験ができたなぁと思います。

自分の考えや経験してきたことを誰かにさらけ出して、それに対してド直球で意見をもらえるというのはこの年になってなかなかできるものじゃありませんし、また逆にそれを誰かにするというのもあまりやってこなかったことなので非常に勉強になりました。

そしてこのペアワークを機に自分がエンジニアを目指し始めた頃の気持ちを再確認でき、改めて「エンジニアになりたい」と強く思うようになりました🔥

ペアワークをしてくれたお二方、本当にありがとうございました!

■まとめ

以上今月やったことの簡単な振り返りでした。

こうしてみるとちょっとインプット中心になってるなぁと感じたので(特にバックエンドとフロントエンドの学習)、来月は今月の反省を生かして少し規模の大きなアプリを作っていきたいですね。

またインフラに関してはDockerを使ってもう少し色々な環境を構築しつつ、AWSはかねてから目標にしていたSAA(ソリューションアーキテクトアソシエイト)の資格を取れるように学習を進めていきたいです。


今回の記事がみなさんの参考になれば幸いです。

最後までご覧いただき、ありがとうございました🙇‍♂️

この記事が気に入ったらサポートをしてみませんか?