mizdra's poem

雑なこと (日記/技術ポエム/メモ/…) を書くブログです.

2020年を振り返って

年の瀬なので1年の振り返りをします.

※年内投稿チャレンジ失敗したので, 各自「今年」を2020年, 「来年」を2021年に読み替えてください.

技術

まずは今年作った技術的成果物一覧のコーナー。

  • RNGeek/rocketimer
    • 乱数調整用のカウントダウンタイマー
    • 3年前にもemtimerというカウントダウンタイマー を作ったのだけど、設計がかなり素朴だったため、シンプルな要件しか実現できていなかった
      • タイミングを合わせやすいようちょっとした補助機能が付いているくらいで、基本的には100均のキッチンタイマーに毛が生えた程度の機能しかなかった
    • 一方でユーザからは「多段式のタイマーを実装して欲しい」「他のプログラムからカウントダウンの秒数を制御できるようにしてほしい」といった要望が寄せられていた
      • しかしこうした要望を実現できるほど、emtimerの設計が柔軟ではなかった
    • そこで一から設計を見直し、複雑な要件にも答えられるタイマーを作ろう、という動機で作り始めたのがこのrocketimerだった
      • 今年の4月くらいからちまちま作っているけど、まだ完成していない…
    • 自由研究と称して最高のDXを追求するべくライブラリの選定を拘ったり (React + recoil)、60fpsを出そうとメモリリークを解消したりパフォーマンス・チューニングをしているのが原因だと思う
      • 盆栽を愛でている状態に近い
      • とはいえrecoilの良さとかメモリリークの解決方法とか、パフォーマンス・チューニングテクとか色々学んで持ち帰って、他の所で役立てられている*1ので、全く後悔していないし、めちゃめちゃ良い取り組みだったなと思っている
    • けどそろそろ完成させないとモチベーションが切れてしまいそうなので、来年は完成させたい
  • mizdra/eslint-plugin-layout-shift
    • ガタツキを発生させそうなimgタグがあったら警告するeslintプラグイン
    • 静的解析を使ったアプローチで、false positiveも結構出てしまうけどCIに組み込んで自動化しやすい、というのがウリだった
    • 画像による Layout Shift が無くなる Web がやって来る の副産物
  • mizdra/img-layout-shift-detector
    • ガタツキを発生させそうなimgタグがあったら警告するブラウザ拡張
    • mizdra/eslint-plugin-layout-shiftが静的解析だったのに対し、こっちは動的解析で、実行時の様々な情報を使い判定するおかげで正解率 (Accuracy) が高い、というのがウリ
    • 力作でちゃんと動くのだけど、紹介記事を書く直前で力尽きてしまった
    • あと最近lighthouseに似たような機能が実装されていたのを見かけていて、拡張機能自体の需要が薄れてしまっていそうなのが気になっている
    • 暇な時にちゃんと調べたい
  • mizdra/eslint-config-mizdra
    • 毎回 .eslintrc.js 手書きするの面倒になったので、Shareable Configs作った
    • config の分け方や extends のスタイルは teppeis/eslint-config-teppeis を真似た
    • teppeis/eslint-config-teppeis は ES のバージョンごとに config が分かれていたりと凄くキッチリしているけど、あまりに細分化するとメンテナンスが面倒なので、 @mizdra/mizdra / @mizdra/mizdra/+typescript / @mizdra/mizdra/+react / @mizdra/mizdra/+prettier の4つだけ用意することにした
      • とにかくメンテナンスコストが高い状態が嫌なので、牧歌的にやっている
  • mizdra/prettier-config-mizdra
    • prettier の Shareable Configs
    • .prettierrc なんてデカくてもたかだか10行程度で、別に Shareable Configs に切り出す必要もなかったのだけど、prettier の公式ドキュメント眺めてたらたまたま Shareable Configs が利用できる、という説明を見かけたので、試しに作ってみた、というもの
    • コピペだとどうしてもリポジトリごとに .prettierrc がバラつきがちで、そういうのを統一できる、というのは結構良いかも、と思っている
  • mizdra/strictly-typed-event-target
    • 詳しくは紹介記事読んで下さい
    • めっちゃ面白いもの出来たので見てくれ!!!という気持ちで記事を書いたけど、あんまりウケなかった。残念。
    • まあ Universal を自称しているけど実際には IE11 や Safari、Node.js では一部の API が未実装で、別途 polyfill をインストールする必要があったりと、現時点で使うにはイマイチなライブラリではある
      • IE11 が滅び、Safari や Node.js で polyfill 無しで動くようになれば日の目を見るであろう、という予想をしている
  • mizdra/eslint-interactive
    • ESLint でエラーの状況を見ながらルールごとに fix できる奴
      • .eslintrc.js を大幅に書き換えた時とか沢山エラーが出てきて、その修正作業をする時に欲しかったので作った
    • 似たようなものに IanVS/eslint-nibble があるのだけど、微妙に使い勝手が悪かったので自前で作り直している
    • 詳しくは動画見て下さい
    • 2週間前から作り始めていて、今もちまちま作っている -多分三が日が終わる頃には完成しているはず

技術ブログ

mizdra's blog のほうに書いたのでそちらを御覧ください。

www.mizdra.net

GitHub

f:id:mizdra:20201231205554p:plain

4月から社会人となって働き始めたので、仕事しているな〜という感じの図になっている。趣味の時間の commits だけで比較すると今年が約 1200 commits、去年が約 900 commits で、300 commits くらいは増えているようでした。社会人になってから自由な時間減ったと思っていたんですが、コードを書く量は増えているようでした。めでたい。

アニメ

animetickを見ながら良かったアニメを列挙するコーナー. 良い (最後まで楽しく見る程度には面白かった) << 最高 (人にオススメですと言える程度には面白かった) << 優勝 (放送日を毎週楽しみに待つくらい気に入っていた) の順でランク付けしていきます.

  • 2020冬
    • へやキャン△: 優勝
    • 痛いのは嫌なので防御力に極振りしたいと思います。: 優勝
    • 映像研には手を出すな!: 優勝
  • 2020春
    • 乙女ゲームの破滅フラグしかない悪役令嬢に転生してしまった…: 優勝
    • BNA ビー・エヌ・エー: 最高
  • 2020夏
    • Re:ゼロから始める異世界生活 2nd season: 優勝
  • 2020秋
    • ひぐらしのなく頃に業: 優勝
    • 魔女の旅々: 優勝
    • 魔王城でおやすみ: 優勝
    • 神達に拾われた男: 優勝

ほぼ優勝です。毎シーズン優勝レベルの作品があってコンテンツには困らない1年でした。「ひぐらしのなく頃に業」「魔女の旅々」あたりが特に良かった。「ひぐらしのなく頃に業」は1月からまた2クール目が始まるので楽しみですね。一旦どうなってしまうんだ…

アニソン

今年ハマったアニソンの中でイチオシの曲を紹介するコーナーです.

ヒカリイロの歌 / 鈴木愛奈」「リテラチュア / 上田麗奈」がダントツで最高でした。

アニソン以外の音楽

Google Play Music / Youtube Music の I'm Feeling Lucky / マイミックス経由で色々な音楽が流れてくるおかげで、今年はアニソン以外の音楽にもハマっていた。

なんというジャンルなのか知らないんですけど、ピコピコブーブーなる音楽が結構好きなんだな、ということが分かりました。ジャンル名知っている人が居たら教えて下さい。

漫画

今年読んで良かった漫画を紹介します。

うさぎドロップ

今なら1巻無料で読めます。

シャドーハウス

2021年にアニメ化します!!!


TVアニメ「シャドーハウス」ティザーPV

六畳一間の魔女ライフ

チェンソーマン

チェンソーマン 1 (ジャンプコミックスDIGITAL)

チェンソーマン 1 (ジャンプコミックスDIGITAL)

『シャドーハウス』が今年のベスト・オブ・漫画です。『シャドーハウス』の著者である「ソウマトウ」さんの作品は実は以前から読んでいて、『黒-kuro-』の頃からお気に入りでした。その後連載が開始された『ギリギリアウト』もちゃんと読んでました。『黒-kuro-』を読んでいた人からすると『ギリギリアウト』は全くジャンルが違うので、最初は「これが『黒-kuro-』の人が描いているの!?」とめちゃめちゃ驚いていていた思い出があります。どちらも楽しく最後まで読ませてもらってました。『ギリギリアウト』完結以降何しているのかな〜と気になっていたのですが、

『ギリギリアウト』完結以降は特にソウマトウさんの作品は追っていなかったのですが、たまたま『シャドーハウス』という作品を発見して、それにハマって、暫くした後にそれがソウマトウさんの作品だということに気づきました。「これめっちゃ『黒-kuro-』じゃんと思ってたけどそういうことだったのか!!!」とめちゃめちゃ驚いていました。これも良い思い出ですね。

そんなこんなで『シャドーハウス』は特に思い入れがある作品なので、来年のアニメ化が楽しみです。めちゃめちゃ期待しつつ、期待しすぎてハードルを上げすぎていないか心配でもある。難しい!!!ここまで思い入れのある作品がアニメ化されるのは初めてなので、どう接すれば良いのかよく分からない状態です。まあ祈って待ちます!

研究

1〜3月は学部の卒業研究をしていました。とにかく大変でした… 研究成果を用意するところまでは順調だったのですが、論文を書いたり発表資料 (スライド) を用意するのが本当に大変でした。特にスライドの作成が大変of大変で、限られた時間で研究内容が聴者に伝わるようにしようと、四苦八苦してました。「これ以上分かりやすくするのは無理です!」といった出来のスライドを指導教員に見せて「まだいける」というコメントを頂いて直す、というのをやってました。それを3回分。最初は酷い出来だったスライドも、最後には見違えるほどシンプルで分かりやすくなってました。存外に自分の思っている限界は限界ではないのだな、ということがよく分かりました。

3月に学外の学会にも参加する予定だったのですが、コロナ禍により中止になってしまい、結局一度も学会に参加することなく卒業することになってしまいました。人生で一度くらいは学会に出てみたいと思って楽しみにしていたので、結構残念でしたね。発表者ではなくただの聴者としてでも良いので、いつか行けると良いなと思っています。

生活

4月から入社するのに合わせて、会社の近くに引っ越すか〜ということで、生まれてからずっと住んでいた埼玉の実家を離れて、年始は東京で一人暮らしをする準備をしてました。しかし皆さんご存知の通り年明けとともにCOVID-19が流行し、3月には緊急事態宣言になってしまいました。この時点で賃貸は既に契約状態にあったのですが、流石にこの状況で動くのは控えよう、ということで暫くは実家に残ってました。人は住んでいないけど家賃は引かれる、という非常に悲しい状態でした *2

その後感染の状況が落ち着いたタイミングでスキを見て引っ越しました。しかし仕事は基本的にリモートワークで、オフィスに出社することで享受できる様々な福利厚生は享受できなくなり、そもそも都内にいる意味が無くなってしまいました。このまま都内で暮らすか、実家に戻るか、というのは凄く悩んでいたのですが、2年間はリモートワークが維持されるという会社の方針が出たのを契機に実家に戻ることにしました。そして今、実家からこの記事を書いています。

初めての一人暮らしは新鮮でした。生活力には全くもって自信がなかったのですが、いざやってみると意外と何とかなりましたね。最初は暮らしていくだけでやっとなのではと思ってましたが、土日は遊びに出かけたりと、ある程度余裕のある生活が出来ていたと思います。いざとなれば一人でもやっていけるのだなというのが分かったのは良い発見でしたね。楽しい思い出も多かったのですが、色々不幸が重なって *3 結果的には悪い思い出のほうが多かったです。とはいえ嘆いても仕方がないので、まあそういうこともあるだろう、とあまり気にせず過ごしています。

事情を知っている同僚の方や知人からは色々気にかけて下さっていて、色々相談に乗って頂いたりしていました。本当に助かりました。ありがとうございました。

また誕生日に合わせて頂いた引越し祝いの品々は実家に持ち帰って使わせてもらってます。送って下さった方々ありがとうございました。

おわりに

最後はちょっと悲しい話題になってしまいましたが、俯瞰してみると色々なことをして、色々な経験ができた年だったと思います。色々学べて面白かった。

2021年もよろしくお願いします。

*1:https://speakerdeck.com/mizdra/webhurontoendofalsezhi-xu-wowei-chi-suruti-zhi-wozuo-ru?slide=25

*2:周りの人からは高級物置と呼ばれていた。

*3:主にコロナ禍関連