転職してこの1年何をやってきたかを自分の中で整理するためにこのmdを書きました
僕は大体、ソフトウェアエンジニアとして以下のようなことをやってきました。
-
半年以上、東京で出社したり、家でリモートワークしたり
-
そこから現在にかけて、四国でフルリモートワーク
-
主にAWS上で動くアプリケーションの開発
-
KinesisをConsumeしてElasticsearchに連携する内製ミドルウェアの作成
- 元々Lambdaで書いてたものをJavaでリライト
-
Spring BootやSpring、Javaに関する深い知識の習得と活用
- 習得と活用、と書いてるんですが
- ほぼソースとドキュメント読んだだけです
- 本は読んでない
-
モジュールのバージョンアップとそれに伴うリファクタリング・改修
- --> これは自動化したほうが良いと思っているけど、割とプラグインの動作が重いので悩んでいます。
- https://github.com/ben-manes/gradle-versions-plugin
- この活動の中で、Spring BootのマイナーバージョンアップのアップデートやSpring Bootのアップデートを検討したりしています。
- その際に発生した予期せぬ非互換によってエラーになったものはPRを送っています。
- アップデートしていた対象
- spring boot
- gradle
- 新しいバージョンがリリースされた際に勢いでアップデートしたらparentのpomのバージョン解決にバグがあり issue reportした
- findbugsからspotbugsへの移行
- PMDのバージョンアップ
- checkstyleのバージョンアップ
- Dockerで使っているJavaのベースイメージ変更
-
見つけた範囲でのセキュリティissueの修正
- --> これも自動化したほうが良いと思っていて owasp-dependency-check プラグインとかの適用をしたほうが良いかなとか思っています。
- https://github.com/jeremylong/dependency-check-gradle
- http://blog.64p.org/entry/2018/06/08/052847
-
もちろん、Javaのバージョンアップも検討したりしました
- まだ本番では上げてませんが。
- Project JigswaのOpenJDKのページを和訳してみたり https://gist.github.com/wreulicke/2b144e032866f7e21c5e4660d0fb4700
- Mark Reinholdの動画を見たり https://www.youtube.com/watch?v=p7jCvbzqnS0
- Oracleが出しているマイグレーションガイドについても読みました https://gist.github.com/wreulicke/7bbe4fbf9a4def2ff195e6e00b970d4b
-
ちょっとした性能試験もやりました
-
これは全然うまくワークしていないものでした。
-
そのため、よく分からず負荷試験するのもダメかなと思ったので Twitterのタイムラインで話題になっていたAWS負荷試験入門本を読みました。 https://www.amazon.co.jp/dp/B075SV3VN3/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1
- これはめっちゃいい本で、「何のために負荷試験をするのか」が分かる本です。
-
それとは別に 「Javaパフォーマンス」も読みました。 https://www.oreilly.co.jp/books/9784873117188/
- スレッドスタックの取得やjcmdでVMの状態を取得するようなツールの使い方が非常に助かりました。
-
読んでも分からんこともあったので、ちょうどいいタイミングでアナウンスされた無料のOracleの講座を受けたりしました https://apexapps.oracle.com/pls/apex/f?p=44785:149:3193584964390::NO:RP,149:P149_EVENT_ID:5552 最後の方ダレてしまったが、一応クリアした 理由としては英語を理解しなくてもなんとなく質問に答えて回答できた。 --> これは一応Javaパフォーマンスを一読してたからだとは思うが
-
-
ディスコミュニケーションに疲弊したので本を読みました
- カイゼンジャーニー https://www.amazon.co.jp/dp/B078HZKLMB/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1
- つらい気持ちになった反面、やっていきたい気持ちになった
-
その他
- AWSで使うツールの勉強やコンテナ周りの勉強をちょこちょこやってきました。
- golangの勉強とかその辺。
- golangで言語処理系(簡単なもの)