ごんれのラボ

iOS、Android、Adobe系ソフトの自動化スクリプトのことを書き連ねています。

2021 年の振り返り

はじめに

2021 年の振り返り記事です。

本業

Android アプリチームに異動

2 月から 11 月まで Android チームに異動して、Android エンジニアに転向していました。
Android アプリ開発自体は浅く関わってきていたんですが、今年は本腰いれて開発してみたいと思って、チームを異動しました。
担当したタスクで思い入れがあるものを、いくつか具体例として挙げます。

とある画面のボトムシート化と付随する新機能開発

ドラッグで画面を閉じれないようにするという仕様があったのですが、ライブラリのバージョンの関係で isDraggable が使えない(バージョンをあげると他の影響が大きすぎて断念)ので、state を細かく制御して強引に実現しました。
だいぶ時間をかけてしまったけど、満足のいく機能になったかと思います。
isDraggable を使ったボトムシート制御もそのうち実装してみたいですね。

ListAdapter を導入

新画面で RecycleView を追加する必要があったので、プロジェクトに初めて ListAdapter を導入してみました。
iOS の CompositionalLayout と同じように差分更新を OS がいい感じにやってくれるのと、コードの記述量が少なく読みやすくもなるので、以降私が RecycleView + ListAdapter で実装するようになりました。
クリックイベントを ViewModel でハンドリングするように試みたりもして、RecycleView + ListAdapter + DataBinding の組み合わせはめっちゃ好きですね。

Java から Kotlin への置き換え

新機能の開発時に Java から Kotlin に置き換え、ついでにモダンな構造に置き換えました。
2 つの言語の違いがわかる作業で、好きな作業でした。

MVP から MVVM に置き換え

MVP の構造がコードを追いづらいよねっていう話がチーム内で定期的にあがるので、シンプルな画面を MVVM に置き換え、ついでに Coroutine を使ったり、LiveData に置き換えました。
Flow を使ってみたいなと思ったのですが、怒涛のタスクラッシュに見舞われて調査時間が取れず、誰でも理解できる LiveData で妥協しました。
この作業も楽しかったです。

Bitrise のワークフローの見直し

長年理由がわからず動いていなかった Bitrise 上の UITest を動くように直しました。
やったことは単純で、公式ドキュメントの Device testing for Android を参考にして、ワークフローを作り直しただけです。
iOS チームにいたときにも Bitrise のお守りをしていたので、CI/CD のお守りも結構好きな作業かもしれないです。

Arctic Fox にしたらビルドできなくなった UnitTest の見直し

Arctic Fox にしたらなぜか UnitTest のビルドができなくなってしまった問題が発生したので、直しました。
stackoverflow を参考に対応しただけ。

未経験で入社した方との 1on1 やメンター的なこと

実装ではないですが、未経験で入社した方との 1on1 やメンター的なことをやりました。

実装タスクだけじゃなくて、地ならしやチームマネジメントみたいなことまで、いろいろやりましたね。
なかなか満足のいく成果がだせたと思っています。

Kotlin の書き心地がいいのと、JetPack Compose が気になっているので、Android のキャッチアップは来年も続けていきたいです。

iOS エンジニアに戻った

12 月に転職して、iOS エンジニアに戻りました。
今後も Android エンジニアとしてキャリアを積んでいく道も考えたけど、やっぱ iOS の世界観が好きだなーって気づいて iOS エンジニアに戻ることにしました。
関係ないけど、Findy、Lapras のオファー的なのは Android のほうが多かった印象がありますね。
まだまだ Android エンジニア不足は続くのかしら。
そのうち転職エントリ的なものを書くかもしれないし、書かないかもしれない。

副業

DTP スクリプト開発の技術顧問

DTP スクリプト開発の技術顧問的なお仕事をしています。
大阪 DTP の勉強部屋で登壇したときの 資料 がきっかけで声をかけていただきました。
業務内容は、クライアントが実装したスクリプトのレビュー、ワークフローやスクリプトの困りごとの相談、スクリプトの実装です。
実装だけでなく、クライアントのコードレビューやワークフローの相談を受けることで、私も勉強になっています。
来年も引き続きお力添えしていきたいです。

カタログ系の自動化ツール開発

今年もカタログ系の自動化ツール開発を受注しました。
データの作りがしっかりしているのと、過去に受注したスクリプトでいろんなパターンをスクリプトに落とし込めているので、短期間で満足いただけるものを納品できてよかったです。
来年も受注できたらいいな。

もくもく会

DTPerのスクリプトもくもく会 を主催して、来年の 5 月で 5 周年になります。
今年もオンライン開催しかできなかったですが、6 回開催できました。
ご参加いただいた方、またいつも準備に余念がないメイン主催 id:uske_S 、ありがとうございました。

DTPerのスクリプトもくもく会 #21 - オンライン
DTPerのスクリプトもくもく会 #22 - オンライン
DTPerのスクリプトもくもく会 #23 - オンライン
DTPerのスクリプトもくもく会 #24 - オンライン
DTPerのスクリプトもくもく会 #25 - オンライン
DTPerのスクリプトもくもく会 #26 - オンライン

来年も引き続き開催していきたいので、ご参加お待ちしています。

作って公開したもの

作りかけのものはここに挙げたもの以外にもいくつかあるのですが、公開に至ったものだけ挙げています。
4 リポジトリしか公開に至らなかったので、来年は作りかけのものを完成させたり、別になにかを作ってもっと公開していきたいです。

レノ

体重が一時期8キロを超えてしまい、獣医と相談してダイエットフードに切り替えました。
原因は日々隙をみて虎次郎のご飯を盗み食いしているからです…。
切り替えたご飯は 猫用 pHコントロール+満腹感サポート ドライ です。
レノくんはストルバイトが原因で下部尿路疾患になったことがあるので、pH コントロールのご飯を食べる必要があって、ちょうどロイヤルカナンから新しいご飯が発売されたので、それに切り替えました。
最初はあんまり食べてくれなかったけど、最近は諦めたのか食べてくれるようになりました。
獣医に相談して、猫用鰹節をふりかけているからかもしれない。

虎次郎

幼少期からたまに発生していた発作が特発性てんかんと診断されました。
二ヶ月ぐらい各種検査(血液検査とか)をするために週末に通院する日々が続き、MRI もうけました。
毎日薬を飲ませる必要があって、日々試行錯誤の日々です。
医療用ちゅーるに乗せてみたり、ちゅーるに乗せてみたり、投薬用のおやつにくるんでみたり。
結果的にすべて見破られてしまい、結局保定して口の中に薬をいれてごっくんさせるという昔ながらの方法で落ち着きました。
薬を飲んだあとはちゅーるを袋半分だけあげるルールが定着しているので、最近は虎次郎も前ほど暴れずに受け入れてくれるようになりました。
焼きがつおちゅーるが約束されたおいしいものと認定されているので、もう我が家は焼きがつおちゅーるを欠かせなくなりました。

そのほか

正月に PUBLIC TOKYO で買った緑色のコートがお気に入りなので、来年はいろんなところに着ていけたらいいなと思っています。
また、M1 Mac が発売されてしばらく経ち、そろそろ手元にほしいなと思っていたところに、M1 Max MacBook Pro が発表されたので、二週間くらい悩んで買いました。
M1 Proで十分だった可能性が高いですが、まぁ大は小を兼ねると思って。
謎のスリープ中のバッテリー消費問題があるものの、大満足です。
Intel Mac は Adobe アプリのスクリプト開発で使うことがありそうなので、手元に残しています。
それ以外の開発環境を削除して容量をあけて、妻にレンタルする予定。

最後に

オフライン、オンラインでお会いした方々、また SNS で遊んでくれた方々、今年もお世話になりました。
来年はリアルで飲み会とかしたいですねぇ。
おいしい日本酒やウィスキーを好きな人とただただ飲む時間をすごしたい…。

また、個人開発でなにか作りたい欲もあるので、それもがんばりたい。
SwiftUI か Flutter かなやんでいるけど、どっちにしようかな。

せっかく M1 Max にしたので、Blender や Houdini などの 3DCG もやってみたい。

来年もいろいろやりたいことがありますね!
それではみなさん、よいお年を!