2023
- 開発したもの振り返るとずっとGoの1年だった。
- go routine、goでの自動テストのパターンは結構勉強した
- 設計書(design doc) をmermaid使ってmarkdownで全部書き始めた
1-4月
常駐プロセス作成
- Redisからデータ取得、整形、ファイルに書き出し
- go routine(worker起動してずっとグルグルするだけだが)
5-7月
goでcliで運用ツール
9-11月
goで日時バッチ
- RDSからデータ取得、CSV形式でS3にアップ
12-1月
- API
- RabbitMQでのメッセージング
2024
設計力、DB周り強化
自分のソフトウェアの作り方の方針は基本的にこの方と同じつもり
https://ymmt.hatenablog.com/entry/2024/01/05/165100
品質は一切妥協しない。ドキュメントに書かれている挙動はすべて自動テストでカバーする
その他としては、設計や仕様について各種のドキュメントをしっかり作っておくと、他の人にあとをお任せしやすいです。
1. 設計
(エンタープライズ)ソフトウェア設計力をつける
- 「Patterns of Enterprise Application Architecture(通称:PofEAA)」読む
- 設計書(design doc)のテンプレと書き方を確立する
アウトプット
Goでサンプルコードつけてまとめる
Introduction - mdBook Documentation
2. DB
postgressを題材にして勉強する。別にMySQLじゃなくてもいいかと思ったので。
https://soudai.hatenablog.com/entry/2024/01/18/150718
アウトプット
OSS-DB Silver/Gold取る?(可能であれば日本帰った際に取れるといい)
3. テスト
テストコード書きまくるマンとして、テスト技法ももう少し極めたいと思った。
https://dev.classmethod.jp/articles/book-software-test-techniques/
https://www.veriserve.co.jp/helloqualityworld/media/search/?tag=テスト技法解説
アウトプット
JSTQBの資格取る?別に英語ならカナダでも取れる?
https://jstqb.jp/attribute.html
4. Docker
パターン集を作る。あると便利
アウトプット
- Nginx+go(app)
- RabbitMQ+go(app Producer)+go(app Consumer)
- Redis+go
- DynamoDB+go
- MySQL+go
https://zenn.dev/robes/articles/cf728a5d161727
習慣
サーバー、DB周りで手ぐせをつける the-art-of-command-line/README-ja.md at master · jlevy/the-art-of-command-line · GitHub
Linuxサーバー
- disable autocommit
SET AUTOCOMMIT=0