🔍

2021年の振り返り

2022/12/30に公開

はじめに

ページの slag が間違ってたから直したら、別記事として投稿されてしまったので、過去記事を消しました。内容に変更はありません。

自身の 2021 年の活動を振り返って、その活動履歴等を記録するための備忘録に近い何かです。昨年も振り返りしてますので、ご興味あれば御覧ください。

自己紹介

  • 仕事は Kotlin/PHP/Go でのサーバーサイドエンジニア
  • 趣味はサービス開発大好きマン
  • SocialMedia (SNS) 大好きマン

去年の自己紹介からサーバーサイドで記述する言語が増えました。仕事で Kotlin でサーバーサイドエンジニアしてましたって自己紹介したら、サーバーサイドのお仕事を貰えるようになりました。プログラミング言語は違うけど、普通に人間やればなんとかなる。

SocialHub

今年は、適度に SocialHub の更新を行いました。SocialHub については 昨年も振り返り を見てください。見てくれない方に簡単に説明すると、様々な SNS を一括で閲覧・投稿が可能な SNS クライアントアプリ(for iOS) です。

https://twitter.com/SocialHub_JP/status/1460240069881896961

今年の中での最も大きな更新の一つに、PixelFedPleroma の対応があります。各々は Mastodon と同じ分散 SNS に該当するもので、PixelFed は Instagram の分散版というと、なんとなくイメージが分かるかなと思います。これら SNS は Mastodon と API 互換があると公称していますが全くのデタラメで、実装自体はそこまで時間がかからなかったのですが、そこからのテストが地獄の連続でした。時刻のフォーマットが違ってパースできないし、ID のフォーマットが異なっており取り扱いに難があったり、煮え湯を飲まされました。互換という言葉を簡単に使ってはいけません。

カクダケ!

https://kakudake.net/

エンジニアによるラノベ執筆におけるデプロイ に記事を書いたので、そちらを参照してほしいのですが、このサイトはライトノベルの執筆に関連する面倒を解消するために作成したウェブサービスです。今の機能としては『小説家になろう』『カクヨム』等の小説投稿サイトに、小説を転記する機能があります。作家は一つのサイトに投稿するだけで、他のサイトにも投稿が可能になり、また誤字脱字といった修正も、定期的に同期することで一つのサイトの修正だけで済むようになります。

このプロジェクトは、昨年の振り返りにおいて、フロントエンドの知識を学びたいという目標の元に作成したプロジェクトでもあり、Next.js を採用しフロントエンドを構成しました。この知識はこのプロジェクトだけではなく、自分の本業の仕事の幅を広げるきっかけにもなり、非常に有意義だったと感じています。

UIPiPView

https://twitter.com/uakihir0/status/1475502337280311296

iOS アプリを出しておきながら、今まで iOS ライブラリを作っていなかったので、簡単なライブラリではあるのですが、このライブラリ作成の経験は非常に良い体験でした。Mirrativ さんによる 配信コメントバー 〜 iOS15 で実現する新しい PiP 体験 に触発されて、任意の UIView をピクチャーインピクチャーすることができる UIPiPView を作成しました。このライブラリは SocialHub で自動更新で取得したコメントを表示するために使用しようと考えています。

https://github.com/uakihir0/UIPiPView

2022 年の目標

個人開発

SocialHub

現状でも SocialHub はまだ発展途上でやりたいことが全然できていない状態です。今年はレイアウト関連を強化して、自分好みにカスタマイズできる SNS クライアントを目指して実装を進めていく予定です。また、UIPiPView などを用いて、より便利にしていこうと考えています。

カクダケ!

しばらく更新を放置してしまっていたのですが、こちらもしっかり更新を進めたいと考えています。『アルファポリス』の対応は完了したので、他の『ノベルアップ+』等の他サイトの対応や、PV の集計やレビューの一括表示、及び返信機能の実装などを考えています。あと、ちゃんと自分でもライトノベルを書いて、しっかりと自分のサービスのユーザーになろうと思います。

サーバーサイド

自分は本業では Kotlin サーバーサイドエンジニアなんですが、来年はサーバーサイドに選択肢を用意したいと考えています。Kotlin のサーバーサイドにおいてネックになるのはスタートアップの時間であり、サーバーレスなどに載せるのにはややネックになります。GCP を愛用している自分ですが、Google App EngineCloud Run などの実行環境とはやや噛み合わない部分を感じています。現在丁度勉強中ではあるのですが GoRust の技術を触って、ケースバイケースで技術を使い分けられるようにするのが目標です。

おわりに

今年も様々なエンジニアさんのアウトプットに支えられてエンジニア活動が出来たと感じています。本当にありがとうございます。来年はもっと発信を強く意識して、知識を還元していく方針で活動していこうと思います。みなさん改めてよろしくおねがいします。

Discussion