次郎の貝塚

技術ブログのような何か | RSS

2020 年振り返り

2020 年も終わるので、今年 1 年を振り返る。

2019年振り返りの時よりコミット数は減ってしまった。 けれどなんだかんだ継続してコミットは続いている。

コミット履歴

記録

Toggl

去年から始めた時間記録、一応1年間継続できた。 1,300時間記録したのか。 なんだかんだ開発やってるんだな。

生活、読書、漫画は記録するの忘れることのほうが多いから消しても良いかもしれないな。 ゲーム250時間くらいやってるけれどこの内の200時間以上はLibrary of Ruina。

イベント

今年の自分の中の一大イベントとか。

コロナ

3月ごろから[コロナウイルス]が流行っている。 今も流行っている。

4月に緊急事態宣言が出された。 収まる気配が無いまま年をこすことになった。 このまま収まらないんだろうか。

リモートワーク

上のコロナに関連してリモートワークが始まった。

リモートワークが始まってから会社に出社したのが3回くらいしかない。 今までは職場まで片道30分~45分くらいで通勤がしんどかった。 それが無くなったのでだいぶ助かった。

ただし運動しなくなったからか体重が減った。 頬もこけた感じがする。

引っ越し

コロナが収まったら引っ越ししようと考えていた。 収まりそうになかったので諦めて引っ越した。

去年転職した関係で収入が増えたので、少し前より良い住まいに引っ越した。 以前は姉と二人暮らしだったけれど、引っ越して一人暮らしになった。

引っ越したかった契機は1人になりたかったから。 僕と姉の会話がリモートワークだと丸聞こえなのが気になる。 四六時中誰かと同じ空間にいるのがつらくなってきた。 それが家族でも。

絵描いたりゲームを友人とやったりするときも姉に気を使う必要があるのでしんどい。 1人になってからだいぶ気楽になった。

NimConf 2020

オンラインで開かれたカンファレンスを見るだけした。 仕事では関わりが無いけれどなんだかんだNimは今も個人で触っている。 新しい高速なGCの話、ゲームの話、チュートリアルの話などいろいろ聞けて面白かった。 英語だったか。

仕事

クソ忙しい。 けれど前職に比べればはるかにマシ。

Go

いろいろ実装した。 バッチとか。 ライブラリとか。

僕のキャリアの方向の関係もあり、あんまりGoを最近は書かない方向になってきている。

インフラ

ローカル環境の整備とか。 CI環境整備してコードをリファクタリングしたり高速化したりしてる。

新規サービス用のCIやローカル環境を組んだりしてる。 TerraformでAWSインフラを構築したりしてる。

その他運用系の作業を自動化したりして改善活動をしてる。 将来的にはSREを目指してるのでそちらに近い業務を任せてもらえたのは感謝してます。

ヘルプ対応

この辺をSlackのワークフローを使ってフローに落とし込んだりするのをやった。 ワークフローが使い勝手良くて便利。

ドキュメントまわり

性格なのか、ドキュメント書きがち。

この辺をよく書く。

なんらかの既存の資料にリンクをつけて動線を残すということを続けている。

Scrapbox使ってると「1記事はシンプルに」「他の記事に導線を貼って使い回す」ようになったのでそれが影響してそう。 PlantUMLでUML図を何回書いたかわからないくらい書いた。 設計書に限らず、情報を整理するのにとにかくUML図は便利。

有識者がいなくて困ってる人の手が止まることはしたくない。 何らか資料を残して導線をはって、周知するをやって、誰かがたどり着けるようにしとけば良くなると信じて。

個人開発

個人開発自体が減った。 去年に比べると開発熱が冷めてしまった感がある。 基本CLIツールばかり書いてる。 ネタが尽きた感。

Nim

最近はあんまり書いていない。

Nimのコード自体は書いていないけれど、コミュニティへのコミットはやってる。 主にCIやテスト、自動化、ドキュメント周り。

PRだしたものは以下。

本当はもっとたくさんあるけれど多すぎて忘れた。

Nim Forum に記事を投稿したり、Wiki に反映したりした。

CI (GitHub Actions)やテストとかにちょいちょい関わってるんでたまにメンションが飛んできて相談を受けるようになってしまった。

ちょいちょいフォーラム眺めたり、新規ライブラリを眺めたりはずっと続けてる。 アドベントカレンダーにもいくつか投稿した。

Go

作ったものとしては「GitHub Releasesでインストールしたコマンドを管理するコマンドrelma」とかくらいかなぁ。 Nim以上に書いていない。 一応Qiitaアドベントカレンダーに書いた。

最近とくに感じてることは「Goは書いていて楽しくないけれど、必要なライブラリとかは探せば見つかるので目的のものは作れる」。 言語仕様がシンプルで実装に悩まない代わり、コードがすごい単純で味気ないものになる。 仕事だとこれは非常に助かる。

ライブラリも豊富だし、ビルドも早いので特に開発で困ることはない。 バグを踏み抜くことも特になかった。

codecovとかにも対応してるのでコードカバレッジも可視化できる。 真面目にしっかりしたものを作りたい時にはやはり候補に上がる。 ただし個人開発で使う分には飽きた。

依然Nimを触ってるのは、言語仕様的にはNimのほうが好みだから。 ただNimはライブラリがまだまだ不足してる。

目的を達成するためにライブラリがないのを自分で書かないといけなくなるかもしれないリスク。 このあたりで、新しくなにか実装するときに Go と Nim どちらを選択するか悩んでいる。

NimがGoと同じくらいライブラリが豊富なら間違いなくNimを選択するんだがなあ。

Java

昔書いたJavaアプリをリファクタリングしてまわった。

パッケージ構造を見直してMVCスタイルに変更してテストコードを完備までやったのはTKoolFacetileMaker2のみ。 他のヤツはJavaのバージョンを上げて、gradleでビルドできるようにして、CIでビルドのテストをして、自動リリースできるようにしたところまで。 本当はテストコード完備までやりたかったけれど、体力がなかった。 まぁgradleでちゃんとビルドできるようになって、最低限CIでビルドが通ることを保証するようになっただけでも精神衛生が良くなった。

リファクタリングする前はビルドできない、ソースが一部存在しないとかいうありえない状況だったので。 CIで自動テストするようになってるのはやはり健全で良い。 開発環境がローカルに閉じてたりすると、見えない何かに依存していたりして「このPCじゃないとビルドできない」みたいな現象になりがち。 CIでビルドするようになっていれば、ビルドに必要な条件がすべてコード化されるので、環境依存がおきない。

正直「2016年にJavaFXで作成したツール(TKoolFacetileMaker2)のリファクタリングをした」は、 僕が今までやってきた個人開発の中で2番目に苦戦した一大プロジェクトだった。

一番に苦戦したのはwebsh。 こっちは規模が大きいのと、インフラまで面倒みてるので手間がかかってる。 そのうちkotlinで書き直したり、テストコードが入ってないやつにテストコード入れたりしたい。

clojure

どういうわけか熱が再燃してたまに触ってる。 morsedなるものを作ったり。

思想は好きなんだけれど、ちょいちょい実行時に型不一致でエラーになるんで苦手。 やっぱり静的型付け言語のほうが好き。

Webアプリ作るときのホットリロードやREPLで関数を随時テストできるのは便利だと思う。

Rust

teipというツールに以下のPRを出したいがためだけにRustの勉強をした。

シェル芸

依然としてシェル芸勉強会に参加している。 1 年以上参加しているので、今後も参加し続けると思う。 毎回なにか学びがある。

GitHub Actions

去年setup-nim-actionを作った。 Nimのリポジトリにちょいちょいこのあたり導入するのをやってる。 全部のリポジトリじゃなくて、開発が続いてる奴で興味を引いたやつにだけPRをだしてる。

大体CIでテストされる前提になってなくてテストがコケる。

こういうことやってたらCI周りで相談を受けるようになった。

開発者がみんなCI使うようになってコード品質が上がって高速に開発が回るようになることを願う。

websh

なんだかんだ1年運用している。 多大な労力を経てコンテナ化も終わった。 最近はほとんど開発していない。 たまにissuesが上がって機能追加したりしてる。

WSL2

開発環境をVagrant+Virtualbox環境からWSL2についに移行した。

移行する前でも不便なかったんだけれど、 色々あってVagrantとVirtualboxを1回アンインストールしたときに、 せっかくなのでWSL2を試してみることにしたのが契機。

移行した感触は良かった。

Windows Terminalとも相性が良いので、もうこの環境で十分だなって気持ちになった。

デスク周り

PC

ゲーミングPCとしてRyzen7を新しく買った。 前のノートPCがちょいちょい死ぬようになったため。 グラボを積んだPCが欲しくなったため。 もっとスペック高くすればよかった気がする。

増設すれば強化できるが、現状のスペックで開発に困っていないので増設する意味が無い。 開発環境がメモリ2GBのVirtualbox環境で足りていたんでほとんどスペックがいらない。

ゲーミングPC買ったけれどやってるゲームはLibrary of Ruinaや夜廻みたいなのだけ。 グラのキレイなゲームだとPhasmophobiaくらいか。

USB Type C対応のやつを買うべきだった。

モニター

アームで吊るすモニター買った。 机の上のスペースをフルに使えるようになったので快適。 USB Type C対応のやつを買うべきだった。

資格勉強

今更だけれどLPIC-1を取った。 「TODOリストを使わずにカレンダーを使うようにしたら快適だった」で勉強の時間を毎日取るようにしたら普通に1回で通った。

リモートワークになって通勤時間が空いたので勉強に使える時間が増えた。 資格がすべてとは思っていないけれど、勉強になる。 職務経歴書にもかけるから取ることにした。

今はAWSソリューションアーキテクトアソシエイト資格を取ろうと思って勉強している。 勉強してる感じだと実務経験があれば普通に取れそうな気がする。

その後は基本情報と応用情報とろうかなと。 年に2回しか受けられないのがなんとも。

ゲーム

Library of Ruina

これをひたすら遊んでいる。 毎週金曜日にだいたい更新されるので、更新のつどストーリーを消化して次を待つようなサイクル。 音楽、イラスト、ストーリーのどれも良き。 Lobotomy Corporationもクリアせんと。

デレステ

デイリーだけやってる。 たまに遊ぶ。 夢見りあむと佐城雪美P。 THE IDOLM@STER CINDERELLA GIRLS LIVE Broadcast 24magicをリアルタイムで見た。

ミリシタ

デイリーだけやってる。 如月千早と真壁瑞希P。

Lobotomy Corporation

まだクリアしてないけれどそのうちクリアする。

魔界戦記ディスガイア4

そのうちクリアする。

夜廻

クリアした。 イラストの感じが良い。 あんまり怖くなかった。 ホラーゲームや作品見すぎて僕に耐性ができてしまった気がする。

深夜廻

クリアした。

Phasmophobia

ホラーゲーム。 ゲームシステム理解したら怖くなくなってやめた。 作業ゲー。

GTFO

Co-op系FPS。 マゾくて一瞬で飽きた。

漫画

以下を読んだ。

チェーンソーマンがとにかく面白い。 もうすぐ完結するので先が気になる。

映画

これらを見た。

とりあえず呪怨 呪いの家の続きのドラマが配信されるのを待っている。

イラスト

毎日ちょっとずつ書くようになった。 とにかく継続することが大事。

Library of Ruinaの影響をもろに受けているのでまた絵柄が変わりそう。 というより変えたい。

私生活

keepassでパスワードや機密情報の一元管理を始めた

いろんなところに散らばっていたパスワードを集約管理してから楽になった。 あと安心感が増えた。 これを契機にちゃんと2要素認証も設定するようにした。 アプリに2要素認証が増えまくって見づらい。

現状不満は無いけれど、なんとなくマネージドなパスワードマネージャに変更したい気持ちもある。 有料でもいいから。 セキュリティソフトのnortonにパスワードマネージャが付属してるんでこれを使っても良いんだが。 linuxだと使えないような気もしつつ。

TODOリストを使わずにカレンダーを使うようにしたら快適だった

一応続けてる。 予定を全部カレンダーに登録する習慣ができたので、予定のブッキングが起きなくなった。 今後も続ける。

COMP

リモートワークが始まってから食事が雑になったので始めた。 美味しくはないけれど栄養補給と思って継続している。 準備するのは楽。 これの関係で痩せたんでは、という気持ちもある。

ふりかえって

ひっこしたり、コロナがあったりといろいろあった激動の一年だった。 去年より個人のコミット頻度は下がったけれど継続してコミットはしている。 開発意欲は減ってしまった。

なんか作りたいけれど作りたいものがない。 アプリよりインフラ領域への興味がさらに増してきた。 もともとインフラ側に興味があったが。

AWSつかったランニングコストの安いWebアプリを作りたい気持ちが増えてきた。 インフラの勉強もかねて。 webshの開発もほぼ落ち着いたし。 サーバーレスのなんかを作って運用したい。

意識してたわけじゃないけれど去年の反省はすべて達成した。 AWSソリューションアーキテクトアソシエイトの勉強始めてる。 webshのセキュリティ対策やった。 イラスト描いてる。

来年の目標

前の記事 rpm パッケージを作成する GitHub Actions を作った | 次の記事 2021 年振り返り