michimani.net

2022 年を雑に振り返る

2022-12-31

何も書かないのはあれなので、雑に 2022 年の振り返りをしておきます。

去年の振り返りの最後に書いていたこと

来年こそは SAP 合格します。それではまた来年👋

具体的な目標はこれだけでした。

AWS 認定まわり

2019 年の 7 月に SAA、 2019 年の 12 月に SOA と DVA を取得していたので、それらの有効期限が 2022 に切れることになっていました。
認定を継続するためにはそれぞれ再取得するか、上位資格となる SAP と DOP を取得する必要がありました。

結論、 2022 年 6 月に SAP、 11 月に DOP を無事に取得できたので下位資格となる SAA/SOA/DVA も延命することができました。なので、去年の終わりに掲げた目標は達成です。

こんにちは。私がギリギリを生きるソリューションアーキテクトのプロフェッショナルです。
今月末で失効する予定だった SAA も延命できたのでヨシ。 pic.twitter.com/DFNyRQpMNm

— michimani Lv.870 (@michimani210) June 13, 2022

こんにちは。私がギリギリを生きる DevOps Engineer のプロフェッショナルです。
来月失効する予定だった DVA と SOA も延命できたのでヨシ。 pic.twitter.com/fOb7pWKFes

— michimani Lv.870 (@michimani210) November 29, 2022

それぞれスコアはギリギリでしたが、合格できたのでヨシ。

これで AWS 認定は 5 つになったわけです。
全部取ろうとかは思ってないですが、来年は Specialty の認定一つくらいは挑戦してみたいです。

開発まわり (ざっくり)

去年の振り返り記事で、ふんわりと 「Go も勉強します」みたいなことを書いてました。
去年作った Twitter API v2 用ライブラリもスター数が 66 まで増えて、 「盆栽を育てるように細々とメンテしていこうと思います。」 というのは達成かなと。利用者から issue 報告や PR が飛んできたりもして、あー使われてんなー感を感じることができました。

今年は、 Go 以外だと Rust を触り始めてみたり、 AWS リソースを定義するのに Terraform と仲良くなったり、というのが新しい領域だったと思います。この辺については、今年新たに GitHub に作ったリポジトリを見ていって振り返ろうと思います。

今年 GitHub に作ったリポジトリ

対象リポジトリの取得には、 gh コマンドで取得しました。

gh repo list \
--json name,createdAt,url \
-q '.[] | select(.createdAt | test("2022-"))' \
--visibility public \
--source \
| jq --slurp '. | sort_by(.createdAt)'

programming-Rust-2nd

michimani/programming-Rust-2nd

これは Rust の勉強を始めるにあたって O’Reilly の 「 プログラミング言語 Rust 第2版 」 を読みながら基本構文の使い方とかを実際にコードで書いていたやつです。

とりあえず一周して、その後は Project Euler の問題を Rust でやったりしてました。が、まだまだ Rust なにもわからない。

michimani/Project-Euler-Solutions: My solutions for Project Euler. (Python, Go, Rust)

go-esa

michimani/go-esa: Unofficial esa SDK for the Go programming language.

Twitter API v2 用ライブラリを作った勢いとその反省を活かそうとして作った、Go 製の esa API 用ライブラリです。
esa は無料期間が 3ヶ月あるので、その間に作りきりました。無料期間終了後は、個人では使っていません。

text-detector

michimani/text-detector: This is a library for the Go language to detect text from images. It uses Amazon Rekognition or Google Cloud Vision for text detection.

画像に含まれているテキストを抽出するためのパッケージです。抽出処理には Amazon Rekognition もしくは Google Cloud Vision のどちらかを選べるようになっています。

README が TBD になっていることからも、突発的に作って放置していることがわかります。

elasticsearch-get-started, get-started-opensearch

Elasticsearch と OpenSearch に入門しようと思って触ってみたやつです。

OpenSearch については完全に理解した気でいましたがもう完全に忘れてしまったので、やはり継続は大事。

amazon-aws

michimani/amazon-aws: The quiz “Amazon” or “AWS” or neither?

なんとなく React.js に入門するかーと思って作った簡単なクイズアプリです。
こちらから遊べます。

Quiz Amazon or AWS

aws-cdk-go-examples

michimani/aws-cdk-go-examples: This is a repository of example implementations of using AWS CDK with Go language.

AWS CDK v2 の Go 言語サポートが GA されたので、実装例を集めてみるか、と思って作ったものです。
GA されたもののまだまだ情報が少ないので、自分が困ったときの参考になれば十分で、もし他の人の参考になればとても嬉しいです。

get-started-cdk-terraform

michimani/get-started-cdk-terraform

CDK for Terraform 入門用に作ったやつです。
触ってみた結果、管理するリソースが AWS リソースに限られるのであれば AWS CDK のほうが良いな、と思いました。

jsc

michimani/jsc: Joins multiple slack channels to display posts in chronological order.

Slack で複数チャンネルの TL をマージして見たいな、と思って作ったツールです。

sqs-lambda-example

michimani/sqs-lambda-example: Example of AWS Lambda functions that invoked by message from Amazon SQS.

SQS をトリガーとする Lambda 関数について、あまりわかっていなかったで実際に簡単な構成を作ってみたやつです。リソースは Terraform で定義、 Event Source Mapping の Filter Pattern を使ってメッセージごとに異なる Lambda 関数を実行するような構成になっています。

container-lambda-cicd

michimani/container-lambda-cicd: コンテナイメージを利用する Lambda 関数の CI/CD のサンプル。

コンテナイメージを使用する Lambda 関数について、 GitHub Actions を使った CI/CD を整備してみたサンプルです。

lambda-parameters-extension

michimani/lambda-parameters-extension: Sample code of using Parameter and Secret Lambda Extension.

Parameter Store および Secret Manager へのリクエスト/レスポンスをキャッシュする Lambda Extension が AWS 公式からリリースされたので、それを試すために作ったやつです。

generative-art

michimani/generative-art: 『数学から創るジェネラティブアート - Processing で学ぶ かたちのデザイン』で紹介されているコードを Rust で書いたもの。

リポジトリの description にも書いてますが 「 数学から創るジェネラティブアート - Processing で学ぶ かたちのデザイン 」という本を興味本位で買ったので、底に書かれている実装を Rust でやってみようと思って作ったものです。とりあえずひとつは実装してみましたが、それ以降は進捗がありません。

aws-lambda-api-go

michimani/aws-lambda-api-go: This is a client library for Go language to use AWS Lambda’s Runtime API, Extension API, Telemetry API, and Logs API.

Lambda の Runtime API, Extension API, Telemetry API 用 Go 製ライブラリです。Go で Lambda Extension を作るときに便利になる想定のライブラリです。

http-client-mock

michimani/http-client-mock: This is a package to generate a mock of http.Client in Go language. You can easily generate a http.

Go で API 用のライブラリを書いていると http.Client をモック化したテストをたくさん書く機会があり、その部分をいい感じに書きやすくするためのパッケージを作りました。

lambda-api-example

michimani/lambda-api-example

michimani/aws-lambda-api-go を使った実装例です。大した内容ではないので、作った理由がわかりません。

invocation-history-extension

michimani/invocation-history-extension: This is a Extension for AWS Lambda Function that records history of invocation at the same runtime environment.

Lamdba の Telemetry API を使う Lambda Extension です。
詳しくはアドベントカレンダーの記事で書いています。

Telemetry API を使う Lambda Extension を作ってみた - michimani.net

その他

まとめ

雑に振り返り、と言いつつ GitHub のリポジトリをベースに振り返っただけになってしまいました。
去年よりは学びはあった気はしつつも、結果 (収入) には結びついていないので、 2023 年は結果 (収入) にも拘っていけたらいいなと思います。

具体的な目標も書いておかないと振り返るときに不便なのでいくつか。

2023 年もがんばりましょう 👋


comments powered by Disqus