ポートフォリオサイトのロゴ
手を動かして理解するクリーンアーキテクチャ

手を動かして理解するクリーンアーキテクチャ

クリーンアーキテクチャの概要をざっくり理解し、実際に手を動かして実装することで腹落ちを目指します。関心ごとの分離と依存関係の方向性について解説します。

TypeScript
クリーンアーキテクチャ
SOLID原則
+1 more
手を動かして理解するBranded Type

手を動かして理解するBranded Type

Branded Typeの概要と実装方法を手を動かして理解します。プリミティブ型に目印を付与して型安全性を高めるテクニックを、既存リポジトリへの適用を通じて学びます。

TypeScript
初めての実行計画と「ANALYZE」で統計情報の再計算を行う

初めての実行計画と「ANALYZE」で統計情報の再計算を行う

開発環境で正常に動作していたSQLが検証環境でタイムアウトする問題に対して、EXPLAIN ANALYZEを用いた実行計画の改善と統計情報のリセット方法を解説します。

PostgreSQL
データベース
アニメ情報を取得するWebAPIを実際にリクエストして、比較してみる

アニメ情報を取得するWebAPIを実際にリクエストして、比較してみる

アニメ情報を取得するWebAPI(ShangriLa Anime API、Annict API、MyAnimeList API)を実際にリクエストして比較検証しました。各APIの特徴と違いを解説します。

API
WebAPI
アニメ
住んでいる地域の人口増減を一目でわかるWebサイトをつくった

住んでいる地域の人口増減を一目でわかるWebサイトをつくった

都道府県と市区町村を選択するだけで、その地域の人口動態を可視化できるWebサイトを作成しました。Next.js、Recharts、shadcn/uiを使用した実装を紹介します。

Next.js
個人開発
Recharts
+1 more
Wikipediaの全記事を学習させて、日本語で遊んでみる

Wikipediaの全記事を学習させて、日本語で遊んでみる

Wikipediaの全記事をWord2Vecに学習させて、単語同士の足し算や引き算を行うことができるWebサイトを作成しました。FastAPIの復習も兼ねた実装を紹介します。

Python
個人開発
Word2Vec
+1 more
Tailwind CSS マーカーとテキストの重なりを防ぐ方法

Tailwind CSS マーカーとテキストの重なりを防ぐ方法

Tailwind CSSでリストアイテムが長くなった場合に、テキストがマーカーと重なってしまう問題の解決方法を解説します。

CSS
TailwindCSS
Playwrightでクエリパラメータが付与されているページのURLを取得する

Playwrightでクエリパラメータが付与されているページのURLを取得する

Playwrightでクエリパラメータが付与されているページのURLを取得する方法を解説します。page.on()メソッドでネットワークを監視する方法を紹介します。

テスト
Playwright
E2E
Next.js AppRouterで動的OGP画像を作成する

Next.js AppRouterで動的OGP画像を作成する

Next.js AppRouterでImageResponse()を使用して動的OGP画像を作成する方法を解説します。エンドポイント作成から画像レイアウトの実装までを紹介します。

Next.js
OGP
AppRouter
GitHub Actionsでビルドしたファイルをリリースノートに格納する

GitHub Actionsでビルドしたファイルをリリースノートに格納する

GitHub Actionsでビルドしたファイルをリリースノートに格納する方法を解説します。非エンジニアの友人でも簡単に拡張機能をアップデートできる仕組みを実装します。

GitHubActions