はじめに
今年も終わりそうです。
2020年ってどんな技術使ったけな〜〜〜ってメモです。
フロントエンド
FW
相変わらず Nuxt.js + TypeScript です。
今のお仕事では Composition API も導入され、次バージョンへの追従もされています。
CSSライブラリ
今のお仕事では TailwindCSS を使っています。
要素にtailwindが提供するclassをいっぱい当てていく感じで、まじでCSSを書く量が減ります。
tailwindが提供しているclassを使って、独自のclassを作ることもできるのですぎょいなぁって思います。
UIライブラリ
Vuetify か ElementUI を使うことが多かったです。
どちらも使いやすいのですが、1つ残念なのはElementUIはレスポンシブ対応ではないので、そこだけちょっと悲しいです。
バックエンド
今年の夏くらいまでPyramid + SQLAlchemy (Python)
を使用していましたが、今のお仕事からは Nest.js を使用しています。
アノテーションつけるとSwaggerが作られたり、Swaggerのjsonからフロントエンドの型とAPIコール用の関数を生成する openapi2aspida と一緒に使うと、フロントエンドで書く型が激減して幸せになれました。
インフラ
お仕事ではほぼAWS
しか使ってないです。
管理はほぼ全部 Terraform です。
もともとALB -> EC2 + Nginx + Docker
で動かしてた構成を、今年はTerraformでALB -> ECS for EC2
な環境を作り出す事ができました。
cronを使っていた定期バッチは CloudWatch Event + スケジューリングされたタスク
で 実行環境に依存しないcron
を作ることもできました。
構成変更のおかげで、1からECSで運用するまでのmoduleを作ったり、ECSで運用する用のCloudFrontのmoduleを作ったりして、AWS・Terraformの知識が上がりました。
CircleCIとかだと、公式で自動デプロイ用のプラグインがあるのですが、お仕事ではGitLabを使用しているので、自動デプロイのフローやスクリプトはAWSCLI
を使って自前で書きました。
おかげでCIのフロー分けの知見が溜まったり、シェルスクリプトもすこし書けるようになりました。
また個人的にはTerraform RegistryにSESを簡単に作成できるmoduleを公開するって事もしてみました (小声)
おわり
来年は今年作ったECSの環境をk8s
に置き換えられるようにしたいです。
もう社内では取り組まれていますが、自分の知識がまだ追いついていないので、時間を見つけて勉強したいと思っています。