久しぶりの振り返り。 毎週やっていたけど、やらなくなると途端に面倒になるので継続するには習慣化が大切だなと思いました。
仕事
外部APIから情報取得していた処理を保存しているキャッシュから読むように修正
PoCを行うため、とある外部サーバーに登録してある情報をリクエストして返すような簡単なAPIが既に実装されていました。 ただ問題があって、この外部サーバーの秒間リクエスト数の制限がかなり厳しいので、それらの情報はキャッシュして使う必要がありました。
外部サーバーに登録済みの情報をRedisにキャッシュとして保存するLambdaは先々週のスプリントで実装したので、先週のスプリントでは既存のコードを書き換えてキャッシュ(Redis)からデータを読むように処理を修正するというタスクを行いました。
キャッシュを読む処理自体はもともとすぐに既存のコードに置き換えやすいように実装していたのでサクッとタスクを完了にはできました。 また、今のプロジェクトはマルチプロジェクト構成になっており、依存関係が複雑になりつつあったのでそこの整理もできたのでなかなか楽しかったです。
Datadogエージェントのアップデート
現在開発しているアプリケーションはEC2上で動いているのですが、ミドルウェア等のアップデートの際はゴールデンAMIを作成して検証環境にデプロイし、アプリケーションの動作に問題ないか確認する必要があります。
Datadogのエージェントは結構早くバージョンが上がるので2,3ヶ月に一回バージョンを上げては動作確認しています。
動作確認等は地味に時間食うのでここらへんは自動化したいところです。
他の会社さんとかは、ミドルウェア等をアップデートした際にアプリケーションに影響ないかの確認はどのようにしているんだろうか。。。
参考にできそうなものがあればどんどん取り入れてプロジェクトを良くしていきたい。
プライベート
やったこと
AWS MLSの試験を受けた
本当は7月30日に受ける予定だったんですが、試験勉強が全く足りないなという判断で8月6日に受けてきました。
合格はできたんですが、継続的な勉強は必要そうです。
AtCoder Boot camp for Beginners
最近、毎日1問ずつ解くようにしています。
アルゴリズムを今までちゃんと勉強してこなかったので、もっと学び必要があるなと感じてやっています。
少し前までC++で書いていたんですが、Scalaで書きたいなと思い最近はずっとScalaで書いています。
https://kenkoooo.com/atcoder/#/training/Boot%20camp%20for%20Beginners
「Akka Essentials with Scala | Rock the JVM」 コースを修了した
仕事でPlayframeworkやScalaを使用して仕事をしていますが、Akkaをちゃんと学んだことがなかったのでもっと知りたいなと思って始めました。
解説されているAkkaのバージョンが2.5と最新ではないのですが、実際にコードを書きながらAkkaについて学べるのは大変おもしろかったです。
次は、「Akka Persistence with Scala」というコースをやってみようと思います。