🔄

2025 年上半期を振り返って

/
に公開

2025 年上半期を振り返ってみると、技術的な成長と個人的な体験の両方で充実した時間を過ごすことができました!
特に、React やブラウザ拡張の開発に重点を置きながら、磁石祭の参加やさまざまなツール開発に取り組めたことが印象的でした

技術的な活動とプロジェクト

Discord Email Auth の開発

2 月に、学園の同好会で発生したセキュリティ問題を解決するため、Discord Email Auth というアプリを開発しました
Discord サーバーの招待リンクが学園外に漏れてしまい、第三者が不正に参加する事態が発生したため、特定のメールアドレスを持つユーザーのみがサーバーに参加できるロール認証システムを実装しました

Cloudflare Workers と Hono を使用して、Discord OAuth2 と Google OAuth2 による認証機能を構築しました
セキュリティ面では JWT によるセッション管理や CSRF 対策を施し、安全性を重視した設計にしました
このプロジェクトは実際の問題解決に役立ち、セキュリティプログラミングの良い学習機会となりました

Canvas アプリの開発と視聴者特別賞受賞

同じく 2 月には Canvas というアプリを開発し、学園のコンテストで「視聴者特別賞」を受賞することができました!
このアプリの開発を通じて、フロントエンド技術の理解が深まり、ユーザーインターフェースの設計についても多くの学びを得ることができました
受賞できたことは本当に嬉しく、今後の開発活動へのモチベーションにもつながりました

画像生成プロンプトツールの開発

3 月に AI 画像生成用のプロンプトを簡単に生成できる Image Prompt Generator というツールを開発しました
React と TypeScript、Vite、Tailwind CSS を使用して、直感的に使えるユーザーインターフェースを構築しました
UI デザインには特にこだわって作成したので、ぜひ一度アクセスしてみてほしいです!
あまり大々的に告知はしていませんが、AI 画像生成の効率化に役立つツールだと思います

顔を絵文字で隠すツール

同じく 3 月に Preact と face-api.js を利用して、写真や動画の顔を絵文字で隠すツールを開発しました
プライバシー保護のニーズに応えるツールとして、顔認識技術を活用して顔の部分を絵文字に置き換える機能を実装しました
Preact の軽量さと face-api.js の高精度な顔認識技術を組み合わせることで、スムーズな動作を実現できました

Google Calendar 自動化ツール

4 月に Google Calendar で「トントン」のスケジュールを自動化する拡張機能を開発しました
これは普段の作業効率を向上させるために作ったもので、実際に使ってみると相当時短できていると思います

Preline UI React コンポーネント

6 月には Preline UI の React コンポーネントを開発し、GitHub や npm パッケージ、Storybook で公開しました
オープンソースへの貢献として、開発者コミュニティに価値を提供できたことが嬉しかったです

NotebookLM を利用したポッドキャスト機能の実装

5 月には NotebookLM を利用して、本ブログサイトにポッドキャスト機能を実装しました
記事の内容を音声で聞けるようにすることで、より多くの人に記事を楽しんでもらえるようにしました
AI 技術を活用したコンテンツ配信の新しい形を試すことができた興味深いプロジェクトでした

Nostro プロジェクトの挑戦

同じく 5 月に、Nostr のウェブクライアント Nostro を作成しようと取り組みました
Next.js と TypeScript を使用して開発を開始しましたが、プロトコルの複雑さや仕様の理解に時間がかかり、結果的に諦めることになりました
完成には至りませんでしたが、分散型プロトコルについて学ぶ良い機会となりました

URL 変換拡張機能

6 月に、x.com を fixupx.com に自動変換する拡張機能を開発しました
GitHub と Chrome Web Store で公開し、URL コピー時の利便性を向上させるツールとして仕上げました
ブラウザ拡張の開発に関してもさらなる知見を得ることができました

個人的な出来事と思い出

磁石祭 ZERO への参加

4 月 25 日から 27 日にかけて開催された N 高グループの文化祭「磁石祭 ZERO」に参加しました
リハーサルから本番まで、多くの仲間や友達と一緒に取り組めたことが本当に楽しかったです
特にリハーサル後の打ち上げでは、普段なかなか会えない人たちと交流できて充実した時間を過ごしました
帰る時には友達とカラオケに行き、学校の校歌「夢で描けば」を歌ったことも良い思い出となりました

筑波本校スクーリングへの参加

5 月には筑波本校でのスクーリングに参加しました!
色々な人がいて本当に面白く、普段なかなか出会えない仲間たちと交流できて本当に楽しかったです
旅館では友達とふざけてフリスクジュースを飲むなど、馬鹿なことをして過ごしましたが、実は自分はあの味が結構好きだったりします w
学校生活の中でも特に印象深い体験となりました

オープンソースカンファレンス 2025 Nagoya への参加

同じく 5 月には名古屋で開催された「オープンソースカンファレンス 2025 Nagoya」に参加しました!
様々なオープンソースプロジェクトの展示やセッションを通じて、最新の技術動向や開発者コミュニティの活気を肌で感じることができました

Nintendo Switch 2 の当選

4 月 24 日に Nintendo Switch 2 のマリオカートワールドセットが当選しました!
まさか当選するとは思っていなかったので、本当に驚きました
最近は、「マリオカート ワールド」でずーっと遊んでます

パスワードマネージャーの比較検討

上半期を通じて、1Password と Dashlane の比較検討を行いました
4 月頃から本格的に比較し始め、5 月には Dashlane が Mac のネイティブアプリでのパスキー対応で 1Password より優れていることを発見しました
セキュリティツールの選択は重要な判断だったので、じっくり比較検討できて良かったです

学びと成長

技術面での成長

React やブラウザ拡張の開発を通じて、フロントエンド技術に関する理解が深まりました
特に、オープンソースプロジェクトへの貢献を通じて、コミュニティとの関わり方についても学べました
GitHub でのプロジェクト管理や npm パッケージの公開なども経験できたことは貴重でした

社会的な関わり

磁石祭への参加を通じて、イベントの企画・運営に関わる経験ができました
学生としての社会的な活動に積極的に参加できたことで、新しい視点を得られました

下半期に向けて

上半期の経験を活かして、下半期はさらに技術的な挑戦を続けていきたいと思います
特に、今回開発したプロジェクトのさらなる発展や、新しい技術分野への挑戦も考えています

また、オープンソースへの貢献も継続して、開発者コミュニティにより多くの価値を提供していきたいです
個人的な活動も大切にしながら、技術者としての成長を続けていく予定です

2025 年上半期は、技術的な成長と個人的な体験の両方で充実した時間を過ごすことができました
これらの経験を糧に、下半期もさらに充実した時間を過ごしていきたいと思います

コメントを表示する