こんにちは。Almontaです!
この記事では、Webエンジニアへの転職を決めた、私のプログラミングスクールDIVE INTO CODE入校から卒業までの4ヶ月間(123日)、更には就職までの軌跡を記していきます。
10週目に入りました!
日記ブログとなり、読者に配慮のない記事となっていますが、プログラミングスクールではどのような過程で、どんな内容を学んでいくのか、これからプログラミングスクールを考えている方には参考になるかと思います。
必要に応じて、本日記ブログを整理し、別でまとめ記事を作成しようと思います。
スクールの4ヶ月間の全体スケジュールがこちら
59日目 2021年6月28日(月)
今日やったこと
- 課題タスク作成アプリstep5
- アソシエーションについて ペアワーク
課題タスク作成アプリstep5
タスクアプリにラベル機能を追加した。多対多のアソシエーション。
この2つの記事がまんま参考になった。
また、追加したラベル機能のテスト(Rspec)を行った。
Rspecでも、モデルのアソシエーション同様、FactoryBotの関連付けをしてあげないといけない。
アソシエーションについて ペアワーク
ブログアプリに、お気に入り機能を追加するアプリを実装した。
60日目 2021年6月29日(火)
今日やったこと
- マインドセット
- 課題タスク作成アプリstep5
マインドセット
Connecting the dots
Steve jobs
今日は、Appleの創業者Steve jobsの言葉
プログラミング学習では、学ぶことが大量にあり、どこに重点を置くべきか分からず不安になることもあるが、それらの学習はいつか線になると信じて学び続けようと思った。たとえその点のちらばりが大きくてもそれはより太い線になるということなので。意味あることであると信じて。
課題タスク作成アプリstep5
今日やった要件は2点
- シードデータの作成
- herokuへのデプロイ
61日目 2021年6月30日(水)
今日やったこと
- Ajax
- 1対1のメッセージ機能
- モデルバリデーション
Ajax
Ajaxとは、ブラウザ上で処理を実行できるもので、画面を移動せず、画面の一部分だけを更新できる。
1対1のメッセージ機能
テーブルを3つ(users, conversations, messages)作り、ルーティングはconversations内にmessagesをネストする。これまで学習してきたお気に入り機能などのアソシエーションは中間テーブルの両側にあるテーブルが別物だったが、メッセージ機能では、1つのテーブルを別の2つのテーブルに見立てる。
そのため、理解が難しかった。
モデルバリデーション
バリデーションはDBでもモデルでもかけることができるが、テストや、保守の面から、モデルにバリデーションをかけるのが良いとされている。
62日目 2021年7月1日(木)
今日やったこと
- クエリの使い方
- Active Job
- gemのdevise実装
クエリの使い方
クエリとはコンピュータへの問い合わせのことで、SQLの発行回数のこと。
この発行回数を減らすことで、応答時間を短くすることができる。
モデルファイルに、絞り込みのメソッドロジックを記述し、そのメソッドを別ファイルから呼び出すという使い方をする。
Active Job
バックグラウンドで非同期処理を行うActive Jobについてと、
Wheneverというgemの利用により、あるタイミングでまとめて実施するバッチ処理を設定できることを学んだ。
gemのdevise実装
ログインシステムのgem、deviseについて。
これまで、何度かログインシステムを一から作ることを経験してきた。便利なgemがあることを知っていながら、やっと学ぶことが出来てよかった。
でも思っていたよりも導入は簡単ではなかった。
63日目 2021年7月2日(金)
今日やったこと
- Nginx
- ワーク チーム開発を経験する
Nginx
Railsのwebサーバは、デフォルトではpumaというものが使用されている。
これをNginxに変更する方法について学んだ。
なぜ変える必要があるのか?Nginxは、処理速度が速く、高負荷に比較的強いといった特徴があるため。
ワーク チーム開発を経験する
チーム開発を想定して、4人でgithubでのconflict等を経験してみるといった内容だった。
しかしそれ以前に、RubyやRailsの使用バージョンが異なることにより、共通ファイルの読み込みが出来ないため、バージョンをあわせるのに一苦労だった。
64日目 2021年7月3日(土)
今日やったこと
- GraphQL
- OAuth
GraphQL
リソースの呼び出し方式を、resourcesからGraphQLというものに変更する方法について学んだ。
なぜ変えるのか?余計なリクエストを減らすことができるから。
OAuth
OAuthとは、認可に基づいた認証のことで、facebookのログインをgoogleアカウントとかでできるあれの機能のこと。
アクセストークン、認証サーバーの存在があることで、情報の漏洩が無い様になっている。
実際に、自分のgoogleアカウントを使ってログインをする実装を行った。
65日目 2021年7月4日(日)
今日やったこと
- 書籍Ruby入門 第7章:クラスの作成を理解する
書籍Ruby入門 第7章:クラスの作成を理解する
書籍にてクラスについて学習した。
また、ワークで部分的に担当が割り振られ、発表をしないといけないため、資料作成もしていたら、第7章だけで一日かかった。
主な内容は、オブジェクト指向、クラスの定義・継承、selfの使い方について
まとめ
3週間に渡って続いたRailsの大きな課題が終わった!課題が終わってからは、付随したその他の技術について学習を始め、本当に知らないこと、まだまだ勉強することはいっぱいあると痛感する日々。しかし、カリキュラムも、来週いっぱいでもう終わりそう!!
コメント