2020年を振り返るよ。
買ってよかったもののまとめはこちら

目次

仕事

今年はAndroidアプリエンジニアというよりはWebフロントエンドエンジニアとしての仕事が多かった。
AndroidとWebフロントと掛け持ちしてるとタスク溢れが深刻なのでどうにかしたい。

2018年の後半から作っていたアプリがようやくリリースされた

長かった。実装に時間がかかったというよりはビジネス的なアレコレでのびのびになっていた感じ。
Kotlin Multiplatform Projectで、Android/iOS向けに作ってます。 プレゼンテーション層(ViewModel)より下はすべて共通コード。

内訳はおおよそこんな感じで、まあまあ頑張ったんではなかろうか

ちょっと詳しい解説はこちらにまとめている。
どうでもいいけど、↑この記事は勉強会で話した内容をベースに書いた。発表するにあたって構成はちゃんとまとめてあるので、記事自体は結構な速度で書くことができ、よい感じだった。
来年はもうちょっと発表の機会を増やして、発表ベースでブログ書いていってもいいかもしれない。

Nuxt.jsで記事メディアの立ち上げ

4-5月にかけてシュッと作った。
Nuxt.jsの静的サイト生成モードで出力して、S3にデプロイする感じ。

AndroidDagashiとほぼ同じ実装でやってるのでそこまで悩むことはなかったけど、仕事としてWebフロントエンドやるのは6年ぶりなのでまあ緊張した。

デプロイの最適化とかまだまだできることはあるので引き続きやっていく。

Nuxt.jsで既存サービスのリニューアル(進行中)

古いSpring Bootで書かれた8年もののサービスを今風な技術スタックで書き直そうぜ! というプロジェクト。
ざっくり言うと既存のサーバサイドはGraphQL APIに書き直して、フロントエンドはNuxt.jsでSSRしよう、という感じ。

昨今のWebフロントエンドは本当に求められるものが多いなあ、AWS完全に理解した、とか言いながらいろいろやっている。

趣味で始めたことを仕事に転用して、更にそこからステップアップして、といい感じで趣味と実益を兼ねられていて大変良い流れになっている気がしている。

個人(プロジェクト)

やっぱ本業のほうがある程度忙しいと個人開発まで頭がまわらないなー、と改めて感じた一年だった。
コロナ禍で外に出る機会が減って体力が落ちてるのもあるとは思うけど。

MonotweetyがTwitter APIのアクセス制限された

お前のクライアントからスパムっぽいツイート多いんだが、と神は仰せです。

Twitterの対応には若干うんざりしつつもいい機会なので、1から書き直してみた。 RxJavaからKotlin Coroutinesにしてみたり、プレゼンテーション層をMVIにしてみたり。
開発開始が2016年だから、今となっては古い思想で作っているコードも多くて自分のコードながらなかなか新鮮だった。

TwitterKit for Androidからも移行しなきゃだと思ってたので、この機会に依存を削除。
Twitter4Jを使うのもアレなので後述するTwitter APIクライアントライブラリを自作してみた。

スパム的なメンションを行えないようにフッターに@を入れられないようにしてみたけど、API開放したよって返信メールで「ツイートに含むメンションは一つまでにしろ」とか「自発メンションをするな」とか言われたのでbot運用で使ってるAPIキーと思われている可能性が微レ存。
たしかにツイート作成以外のエンドポイントはほとんど使ってないから、スパムbotと思われても仕方ない見え方をしているかも。

そもそも@マークをツイートできないようにするか、あるいは定期的にタイムライン取得して普通のクライアントアプリに見えるようにしてみるとか、再公開にはもうちょい作業が必要そう。

Monotweetyは自分が使いたくて作っているものなので、公開した結果スパム認定されて自分も使えなくなってしまっては意味がない。そもそも公開停止して完全個人利用にしてしまうのもありかもしれない。

Twitter4kt

https://github.com/yshrsmz/twitter4kt

Monotweetyの件と関連して作り始めた自家製のTwitter APIクライアントライブラリ。
OAuth周りとかリクエストの署名周りとか、仕様を調べながら実装してなかなかおもしろかった。

現状JVMしかないけど一応Kotlin Multiplatform Projectな構成で作っている。

とりあえず自分のニーズが満たせればいいのでサポートしてるエンドポイントは限られているけど、継続的にメンテして育てていけたらいいなあ、とは思っている。

個人(生活)

新型コロナウィルス

幸い身近なところで感染している人は今のところいなそう。

勤務先的には今のところ週二回リモートワークが全体の方針だけど、相談して週一回くらいの出社にしている。

一番の懸念は運動量なのでなんとかしたいところ。

リングフィットアドベンチャーは続かないし、夜散歩は運動負荷的に足りるのか足りないのか…

妻も同じような働き方してるので四六時中一緒だけど、今のところ仲良くやっている。
同じAndroidアプリエンジニアだったりするので、お互いの仕事が何となくわかってかつ共通の話題が多いのもプラスに働いてるのかも。

フェレットが死んだ

ちょうど(と言っていいのかはアレだけど)コロナ禍でほぼリモートワークだったのが幸いして看病できたし、看取ることもできた。
例年通りに通勤していたら彼はもっと早くに死んでいただろうし、死の過程を見届けることもできなかっただろう。

8月9日(日)、およそ7年半。インスリノーマだった。
8月8日の朝から意識はあるけどご飯は全然食べない、という状態だった。夜妻が様子を見に行ったらベッドの外でまばたきもせずぐったりしていた。口元にウェットフードを持っていっても、いつもなら目の色を変えてがっついていたペーストを持っていっても反応しない。

ああ、その時が来たんだな、と思った。

それからは妻と交代で見守って、8月9日の17時くらいに亡くなった。
言い方は悪いけど面白いもので、私がちょっとポテチ食べたいなーと思ってリビングに行って15〜30分くらい目を離している隙に逝ってしまった。ポテチ食べながら妻と「結構体力あったんだねー」なんて離していたというのに。

ケージの前に戻ったら明らかにお腹が動いてなくて、触っても鼓動もなくて息もしてなくて。
抱き上げて妻を呼んで、「がんばったねえ」とか言いながらちょっと泣いてしまった。

すぐにからだを拭いて、発泡スチロールの箱に保冷剤と一緒に入れた。本当に偶然なんだけど、ちょうどその日にまとめ買いしていた冷凍ラムチョップが届いていたので程よい大きさの発泡スチロールの箱が手元にあったのだ。 そしてその日のうちに火葬の予約を入れて、次の日に火葬。翌週の動物病院の予約をキャンセルしたりもした。

火葬は専用のトラックに来てもらって、近所の道路上でやってもらう感じだった。一時間もかからないで真っ白い骨になって、小さな骨壷に収まってしまった。

ちょうど三連休の中日に逝き、翌日葬儀の都合もついて、しかも都合のいいことに保冷用の発泡スチロール箱まであって、と本当に最後の段取りがうまいフェレットだった。こんな偶然、なかなかない。

いろいろ不出来な飼い主だったけど、彼と過ごした七年半はとてもよいものだった。ありがとう。

後日談

フェレットの死後一瞬間くらいの間に、夜の散歩中にハクビシンとアライグマを、日中にたぬきを見かけた。
コロナ禍に入ってから夜散歩をするのが趣味で、ハクビシンは今年に入って一度見かけたことがあるけど、アライグマとたぬきは初めてだった。
特に信仰のない私でも霊的なものの存在を信じてしまいそうになるようなタイミングだった。
「寂しくないように送ってくれたのかねえ」、なんて妻と言い合ったりした。

猫が増えた

増えたと言うか増やした。 フェレット死んだあとシャム猫?をひろう夢を見たのがきっかけ(今思うと”シャム猫”というよりはシルバーミットだったんだと思う)。

しばらく散歩がてら探してたけどその子とは巡り会えず(かわりにハクビシンやらアライグマやらたぬきには遭遇したけど)、そうこうしているうちにあれやこれやで保護猫カフェから引き取ることになった。

キジトラ中毛ボブテイルな女の子で、うちにはいなかったタイプで大変かわいい。

子猫はマジでエンタメだしいろんなことやらかす天然のデバッガーだしで日々楽しいと同時に忙しい。

先住には色々な面でストレスになってそうなのでうまいことフォローしていってあげたい。

アボカド育て始めた

初夏くらいからアボカドを育てている。
スターバックスのフラペチーノ用容器で水耕栽培からはじめ、つい最近ベラボン+ガラス鉢に植え替えた。
作業机の近くの窓辺に置いて毎日見守っていると、不思議と情が湧いてくる。

発芽までは1ヶ月から2ヶ月くらいかかるけど、一度芽が出るとわりとすくすく育つ。

ただ分別のない子猫と共生させるのはむずかしい。


そんなこんなな2020年でした。

来年もやっていきましょう。