Railsで動くモノシリックなサービスからマイクロサービスの会社へ
Rails + AWS EC2
Rails + GCP CloudRun
このようなシンプルな構成なサービスを運営していた会社から
マイクロサービスな会社に転職して学ぶことは非常に多い
基本的なことがまずわかっていない点が多いので
そこのキャッチアップから行う必要がある。
今まで利用していた技術
- AWS EC2
- GCP CloudRun
- Rails
今利用する技術
- AWS k8s
- Rails API
- Next React Typescript
慣れが必要な点
【マルチリポジトリ】
今までシングルリポジトリで開発するのがメインだったため
そもそも複数のリポジトリを見ながら開発するのは頭の使い方が異なる。
このリポジトリの責務は何かを意識しつつコードを追う必要がある。
全文検索で該当コードを探そうと思っても探せる範囲にないことが多い。
【APIベース】
Railsを元々触っていたとはいえ、APIベースになると全く異なる設計になる
RESTな設計は元からしていたが、Railsが標準で CRUDへのリクエスト方法などを用意しているのであまり意識していなかったことを実感する
【テストコード】
今までは最低限のGETリクエストでもあればいい方
今は考えられるテストケースの網羅を必須としている
テストの書き方からケースの洗い出しまでキャッチアップが必要
キャッチアップ記事と書籍
キャッチアップを進める上で読んだ本や資料を以下にまとめる。
Next
公式チュートリアルが非常に優秀
page router で書かれているチュートリアルを完了後、 app router へ書き換えを実施すると理解が深まる
さらに Typescript で書き直すことを推奨したい。
React
【公式チュートリアル】
非常に優秀で基礎が理解できる
【りあくと!】
Reactのチュートリアルとして非常にわかりやすくまとめられている
歴史的背景も含めて解説があるため 非常に参考になる。
Redux
Reduxの基礎としてこちらを一通り行いカスタマイズ。
API
実際に設計しつつ、複数記事を読みつつ
新規に情報が必要になった際、どのエンドポイントが返すべき情報なのか
APIエンドポイントとしてどうあるべきなのか。
参考
古いけれども、URI~ROAについての理解に良い
Typescript
Nextチュートリアル、Reactチュートリアル、Reduxチュートリアルの完了後、それぞれ Typescript で書き直した
コード自体の理解はできているため理解度高く Typescript の要素だけを学ぶことができるのでおすすめ