2021年の振り返りと2022年の目標

気付いたら2021の終わりが来ました。 というわけで今年の振り返りと来年の目標をしていきます。

2021年の目標

2021年の振り返りと2022年の目標では次の目標を定めていました。

目標補足
TOIEC700点を取る将来英語圏で働くのが目標なので英語力をアップする
Go力アップOSSを作る、Goの仕様を読んでブログにまとめる

これの結果ですが、TOIECは勉強せず試験を受けて440点でした。 その後も英語の勉強はほぼしていなかったので、結局未達成でした。

英語を継続して勉強することの難しさはあらためて感じたので、 2022年は英語を日常に取り入れて、継続できるようにしていきます。

Go力アップに関しては、これまで通りOSSを作ったり記事を書いたりして継続できていますが、あまり伸びた感じはしませんでした。 Goの知識が足りない、というよりもっと低レイヤの部分の知識が足りないかなと思っています。 たとえばI/O関連のパフォーマンス・チューニングをするのであれば、ファイルシステムやSSDについて勉強したりする必要がある、といった感じかなと思っています。

2021年にやったこと

筋トレ

今年は筋トレを本格的に始めました。 もともと腰痛が原因で、整体を通ってもだめだったので運動で筋肉を動かせば痛みも直るかなと思って始めたのがきっかけでした。

せっかくやるなら、とことんやりたいなと思ったので、来年はフィジーク競技に挑戦します(大会出ます)。 それに向けて今はコツコツと減量をしています。

OSS

相変わらずVimとGoのOSSばっかり作っています。 主に作ったものを羅列していきます(ちょっと長い)。

Vimプラグイン

inqfix.vim - /?の検索結果をquickfixに流すプラグイン

christmas.vim - メリークリスマス

denops-delve.vim - Goをデバッグするプラグイン

qfopen.vim - quickfixやlocation listのファイルを任意の方法で開くプラグイン

denops-mysql.vim - VimからSQLを実行するプラグイン

denops-translate.vim - 翻訳プラグイン

denops-gh.vim - VimでGitHubを扱うプラグイン

仕事でGitHubを使っていて、issueを作成したり検索したりすることが多いので作りました。 実は前身のgh.vimですでに自分のユースケースをほぼ満たせていたが、 設計がイケていないので、作り直しました。

合わせて、補完機能も実装したのでかなり便利になりました。

denops-docker.vim - Vimからdockerを操作するプラグイン

docker.vimを書き直したものです。

denops-germanium.vim - コード片を画像化するプラグイン

command.vim - シェルコマンドを実行するプラグイン

シェルの履歴を補完しつつ、実行できるプラグインです。

Goツール

ei - ターミナルでの入力を拡張するツール

ターミナルで<C-h>といったシーケンスをサポートしていないCLIをサポートするツールです。

remonade - nature remoのTUIツール

家電をnature remoで操作するようになったので、それ用のツールを作りました。

slack-translate – slackの翻訳bot

現場Slackで導入した翻訳コマンド、deno deployにそのままデプロイして動かせるので便利です。

slack-reminder - slack reminderの書式を生成するCLI

reminderの書式を覚えられないので…

rtty - ブラウザでターミナルを使うCLI

yd - yamlをインタラクティブに絞り込めるCLI

k8sのような長いyaml定義を絞り込んでみたいので作りました。

swagger-preview - swaggerをプレビューするCLI

Deno

今年はプライベートでDenoを使うことが多く(ほぼVimプラグイン関連)、ちょっとしたライブラリを作りました。

deno-jsonrpc - denops-delve.vimのために作ったjsonrpc client

deno-clipboard-image - denoで画像をクリップボードで扱うライブラリ

今年の統括

個人的に今年の一番の収穫はGo言語で作るインタプリタとその続編であるコンパイラを完走したことです。

monkey

コンパイラはインタプリタを拡張して、評価器の部分をスタックベースのコンパイラに置き換えていくというもので、 実際に独自のopcodeを定義してVMを作っていくのを写経しながら理解できたのは大きかったです。

今年も結局Vimばっかりいじってしまったので、来年はちゃんとコンパイラ周りの勉強をしていきます。

ちなみに、インタプリタで得た知識を使っておもちゃのJSONパーサをスクラッチで書きました。

toy-json-parser

来年の目標

欲張らず、しっかり地に足をつけて頑張っていきたいので、次の目標を来年こそは達成します。

  1. 自作言語をスクラッチから作る
  2. 日常会話ができるくらい英語を話せるようになる
  3. フィジーク大会に出る