· 6分で読了

2020 振り返り / 2020 Year in Review — 技術編

この記事は中国語から自動翻訳されたものです。翻訳によりニュアンスが失われている場合があります。

2020年は色々とアレな1年だったが、家にいる時間が増えたことで技術面でも多くの挑戦や模索ができた。ここでまとめておこうと思う。

YouTube チャンネル

自身のYouTubeチャンネルを開設し、2〜5月にかけて興味のあるテーマやプロジェクトの動画をいくつかアップして様子を見てみた。ただ、効率的な動画制作のスタイルが定まらなかったため、一旦休止している。

松本行弘 — 言語のしくみ

日本でまだ感染拡大が本格化していなかった1〜2月頃、通勤時間を使い2〜3週間ほどかけてこの本を読んだ。まつもとゆきひろ氏がプログラミング言語を実装するための要素を紹介し、yacc/lex を使ってプログラミング言語 — streem を実装していく内容だ。

Svelte への注目

Svelteに注目し始め、ブログでも紹介記事を書いた。台湾ではSvelteに関するリソースがまだ非常に少ないため、台湾でも知名度を高めていければと思っている。4月中旬頃にはPRを1つコントリビュートした。その後のIT鐵人賽(IT Iron Manコンテスト)でもSvelteをテーマにした。

どうぶつの森図鑑

ほかの「どうぶつの森」図鑑サイトは全面広告が出たり、パフォーマンスが壊滅的だったりすることが多かった。そのため、離島ツアーなどで手軽に調べられるよう、シンプルな「どうぶつの森図鑑」を自作した。

自己紹介

自己紹介をする人間には大抵2つのタイプがある。1つは臨場感たっぷりに話して場を盛り上げられるタイプ、もう1つは話し終わると場が凍りつき、印象にも残らず、ボケも誰にも伝わらないタイプだ。僕はまさに後者だった。仕方がないので、Webサイトを作ることにした。

テックリードへの昇格

詳細は以下の記事を参照してほしい — テックリードになって感じたこと

今年はプロジェクトの変動や規模の拡大に伴い、開発そのものだけでなく、人と人とのコミュニケーションや調整作業が格段に増えた。プロダクトに関わるチームや組織が増えたことで、何かを進めるにしてもサイクルが長期化しがちになった。さらにフロントエンドチーム内で日本語を話せるのがほぼ僕だけだったため、他部門との窓口になることが多く、頻繁にコンテキストスイッチが発生した。長期化するにつれて「自分はいったい何に追われているんだろう」と感じることもあった。タイムマネジメントは来年の課題の一つかもしれない。

技術面ではそこまで大きな成長があったわけではなく、せいぜい複雑なロジック部分の処理を担当したくらいで、新しい技術もキャッチアップ程度にとどまった。だが、大きな変更や新機能開発の際には、事前にドキュメントを書き、状態遷移図を用意する習慣が身についた。これによりPMとのコミュニケーションがスムーズになるだけでなく、ほかの開発者も状態遷移図から即座に正しいロジックを把握できるようになった。マインド面でも「技術はあくまで問題を解決するためのツールに過ぎない」という認識がより深まった。

コミュニケーション面ではまだまだ至らない点が多いと感じている。例えばチームメンバーを簡単に信頼できなかったり、問題があると分かっていながら最後の帳尻合わせで手一杯になったり、権限移譲(デリゲーション)がうまくできなかったりした。とはいえ、これは表裏一体の課題でもあると考えている。業務で成果を出さない、返信が極端に遅い、進捗を報告しないといった状況では、僕としても責任を委ねようがないからだ。

Sonic Pi で遊ぶ

Sonic Pi は、コードを書いて音楽を制作できるソフトウェアで、用意されているAPIの多くは音楽制作そのもののために設計されている。YouTubeにチュートリアル動画を投稿しているので、参考にしてほしい:https://www.youtube.com/watch?v=aTA5wWhvKAQ

Arduino で遊ぶ

今年の初めに Arduino UNO、Arduino nano、Arduino Mega を購入した。そんなに買ってどうするんだという気もするが…。

センサー類もLCDディスプレイや温度センサーなどを一通り触ってみた。その際、極力ライブラリには頼らず、データシートを直接読んでデバイス同士がどう通信しているのかを理解するようにした。例えばDHT11のデータシートを見ると、実装自体はそれほど複雑ではない。実装コードも参照できるし、さらに深掘りすることも可能だ。

年中には空気品質モニタリングアプリを作成した。これもライブラリを極力使わなかったおかげで(MQTTとWi-Fiは実装が複雑なため最終的にライブラリを使ったが)、UARTインターフェースやSoftwareSerialについて理解を深めることができた。

その後、EEPROMプログラマとATMEGA328p(Arduino UNOに使われているMCU。1個100台湾ドル未満)を購入し、自分でC言語を書いて書き込んでみた。もっと深く研究してみたいところだが、残念ながら家のスペースが狭く、ハードウェアをこれ以上置ききれないのが難点だ。

データ可視化 — 台湾性暴力統計データブック

興味があれば直接Webサイトを見てほしい。断続的に2週間ほどかけて完成させたもので、主にデータの収集とクリーニングに時間を取られた。Svelteを使ったデータ可視化はかなり扱いやすかった。

Build Your Own X

https://build-your-own-x.now.sh/

build-your-own-x のリポジトリをWeb版にして、閲覧しやすくした。

Kotlin

Kotlinは僕がかなり気に入っているプログラミング言語で、個人開発の小さなプロジェクトのバックエンドはKotlinで直接書くこともある。簡潔でありながら表現力豊かな文法が好きで、Kotlin DSLに関する記事も書いた — Kotlinから学んだこと:Kotlin DSLとアノテーション

日本で小さな勉強会を開催 — React HAKATA

以前から日本のエンジニアコミュニティと交流したいと思っていた。今年はコロナ禍の影響でオフラインイベントが完全に開催できなくなったため、オンラインでの開催に挑戦してみた。日本人の前でこれほど長く日本語を話すのは初めてだったので、緊張して言葉に詰まる場面もあったが、今後も日本語をさらに上のレベルへと磨いていきたい。意外にも好評を博し(Twitter)、同時接続者数は50〜60人ほどに達した。今後は台湾と日本の架け橋となり、互いにさまざまな視点を共有し合える場を作っていきたい。

関連記事

他のトピックを探索