すべての記事
11件の記事
状態管理
2026/5/18 · 36 min read
今回の記事では、状態管理(State Management)について考えてみたい。ライブラリの比較記事ではない。どのツールが優れているかを決めるよりも、状態というものをどう捉え、どこに境界を引くべきかという感覚を整理するための記事だ。 今ではAIツール(Claude、ChatGPT、Cursor、Gemini、Copilot)が、私たちの仕事に深く入り込んでいる。開発速度は飛躍的に上がった一方で、...
ドメインモデル
2026/4/18 · 50 min read
今回の記事では、ドメイン(Domain) について考えてみたい。 筆者は開発を続けるなかで、「ドメイン(Domain)」 という言葉をかなり頻繁に耳にしてきた。しかし、いざ「ドメインとは正確には何か?」と聞かれると、明快に答えるのは簡単ではない。(正直なところ、開発を始めたばかりの頃は、ドメインとはwwwのことだと思っていた。) ドメインについて調べると、自然と ドメインモデル、ドメインオブジェク...
Toss Frontend Fundamentals 模擬試験 第2回のリファクタリングを終えて
2026/3/28 · 24 min read
今回の記事では、Toss Frontend Fundamentals 模擬試験の第2回に参加し、取り組んだリファクタリングについて振り返ってみたい。 以前からコードレビューやリファクタリングに関心があった筆者は、Tossが公開した「Frontend Fundamentals 模擬試験」という興味深い形式の課題に取り組むことになった。課題は、与えられた会議室予約アプリをリファクタリングするというもの...
AIフロントエンドエンジニア
2026/3/2 · 45 min read
今回の記事では、AI時代にエンジニアがどのように成長し、生き残れるのかについて、個人的な視点から考えてみたい。 筆者がジュニアだった頃、特に印象深く読んだ記事の一つに、ペ・フィドンさんの「フロントエンドエンジニアのキャリアロードマップ、ジュニアのための3つの専門性トラック」がある。フロントエンドエンジニアのキャリアを、Web特化(Software Engineer)/プロダクト特化(Product...
抽象化
2026/2/1 · 49 min read
今回の記事では、プログラミングにおける抽象化と、抽象化の観点から良いコードを書く方法について考えてみたい。 筆者はフロントエンド開発をする中で、「このロジックはどこまで分離すべきだろう?」「このコンポーネントはどの単位で分割すべきだろう?」と数え切れないほど悩んできた。最初は、単に共通部分を取り出すことが抽象化だと思っていた。繰り返されるコードを関数にし、似たコンポーネントの共通点を抽出して一つに...
queryKey
2026/1/4 · 43 min read
今回は、TanStack Query の queryKeyについて掘り下げてみたい。 筆者は実務で TanStack Query を使う中で、queryKey の管理方法を何度も作り直してきた。最初はコンポーネント内に ['user', userId] のような配列を直接書いていたが、無効化のたびに同じキーを複数箇所へ記述するうちにタイプミスが増え、QUERYKEYS のような定数オブジェクトへ移...
エラーハンドリング
2025/11/17 · 44 min read
今回は、フロントエンドでエラーをどう捉えるかについて考えてみたい。 筆者は実務でエラーハンドリングを書くたび、どこか釈然としない感覚を抱くことが多かった。あるエラーは try/catch で捉え、別のエラーは ErrorBoundary が捉え、さらに別のエラーは TanStack Query の onError が捉える。それぞれの守備範囲は微妙に重なったり、ずれたりする。その結果、エラーが漏れ...
React Fiber完全攻略
2025/5/20 · 48 min read
今回は、Reactの心臓部ともいえるFiberアーキテクチャについて話したい。 筆者が初めてReactに触れた頃、「Fiber」という言葉は、面接の定番質問くらいにしか認識していなかった。「Reactのレンダリング処理を作業単位に分割して実行する」という一行の定義を覚え、それがすべてだと思っていた。しかし実際にReactのソースコードを読み始めると、Fiberは単なる概念ではなく、Reactレンダ...
BiomeはESLintとPrettierを置き換えられるのか?
2024/12/1 · 15 min read
今回は、Biomeというツールについて紹介したい。 筆者のチームでは、WebStormやVSCodeなど異なるIDEを使う環境で、一貫したコードスタイルを維持することにかなり苦労していた。IDEごとに設定ファイルを個別管理する手間もあり、フォーマットの違いによって、コードレビューでロジックとは無関係な指摘が飛び交うことも多かった。 そうした状況でESLintのフォーマット関連ルールがDepreca...
Zustand、お前は何者で、なぜProviderLessなんだ?
2024/8/18 · 34 min read
今回の記事では、ZustandがどのようにProviderなしで状態管理を実現しているのかを取り上げる。 筆者はZustandを使いながら、Providerなしで状態を管理することをずっと当たり前に感じていた。ところが、ふと疑問が浮かんだ。Reactエコシステムの大半のライブラリでは、Providerでアプリをラップすることが、ほとんど儀式のように定着している。TanStack React Que...
圧縮アルゴリズムを理解する
2024/7/6 · 30 min read
今回は、ソフトウェアの圧縮アルゴリズムについて話してみたい。 社内プロジェクトのデプロイプロセスを改善する仕事を担当した。大容量のビルド成果物をS3へアップロードする構成だったため、ビルドフォルダーのサイズがアップロード時間とストレージコストに直結することを実感した。そこから自然に「どうすれば効率よく圧縮してアップロードできるだろうか」という疑問が生まれた。 いざ圧縮について調べると、zip、gz...
状態管理
2026/5/18 · 36 min read
今回の記事では、状態管理(State Management)について考えてみたい。ライブラリの比較記事ではない。どのツールが優れているかを決めるよりも、状態というものをどう捉え、どこに境界を引くべきかという感覚を整理するための記事だ。 今ではAIツール(Claude、ChatGPT、Cursor、Gemini、Copilot)が、私たちの仕事に深く入り込んでいる。開発速度は飛躍的に上がった一方で、...
ドメインモデル
2026/4/18 · 50 min read
今回の記事では、ドメイン(Domain) について考えてみたい。 筆者は開発を続けるなかで、「ドメイン(Domain)」 という言葉をかなり頻繁に耳にしてきた。しかし、いざ「ドメインとは正確には何か?」と聞かれると、明快に答えるのは簡単ではない。(正直なところ、開発を始めたばかりの頃は、ドメインとはwwwのことだと思っていた。) ドメインについて調べると、自然と ドメインモデル、ドメインオブジェク...
Toss Frontend Fundamentals 模擬試験 第2回のリファクタリングを終えて
2026/3/28 · 24 min read
今回の記事では、Toss Frontend Fundamentals 模擬試験の第2回に参加し、取り組んだリファクタリングについて振り返ってみたい。 以前からコードレビューやリファクタリングに関心があった筆者は、Tossが公開した「Frontend Fundamentals 模擬試験」という興味深い形式の課題に取り組むことになった。課題は、与えられた会議室予約アプリをリファクタリングするというもの...
AIフロントエンドエンジニア
2026/3/2 · 45 min read
今回の記事では、AI時代にエンジニアがどのように成長し、生き残れるのかについて、個人的な視点から考えてみたい。 筆者がジュニアだった頃、特に印象深く読んだ記事の一つに、ペ・フィドンさんの「フロントエンドエンジニアのキャリアロードマップ、ジュニアのための3つの専門性トラック」がある。フロントエンドエンジニアのキャリアを、Web特化(Software Engineer)/プロダクト特化(Product...
抽象化
2026/2/1 · 49 min read
今回の記事では、プログラミングにおける抽象化と、抽象化の観点から良いコードを書く方法について考えてみたい。 筆者はフロントエンド開発をする中で、「このロジックはどこまで分離すべきだろう?」「このコンポーネントはどの単位で分割すべきだろう?」と数え切れないほど悩んできた。最初は、単に共通部分を取り出すことが抽象化だと思っていた。繰り返されるコードを関数にし、似たコンポーネントの共通点を抽出して一つに...
queryKey
2026/1/4 · 43 min read
今回は、TanStack Query の queryKeyについて掘り下げてみたい。 筆者は実務で TanStack Query を使う中で、queryKey の管理方法を何度も作り直してきた。最初はコンポーネント内に ['user', userId] のような配列を直接書いていたが、無効化のたびに同じキーを複数箇所へ記述するうちにタイプミスが増え、QUERYKEYS のような定数オブジェクトへ移...
エラーハンドリング
2025/11/17 · 44 min read
今回は、フロントエンドでエラーをどう捉えるかについて考えてみたい。 筆者は実務でエラーハンドリングを書くたび、どこか釈然としない感覚を抱くことが多かった。あるエラーは try/catch で捉え、別のエラーは ErrorBoundary が捉え、さらに別のエラーは TanStack Query の onError が捉える。それぞれの守備範囲は微妙に重なったり、ずれたりする。その結果、エラーが漏れ...
React Fiber完全攻略
2025/5/20 · 48 min read
今回は、Reactの心臓部ともいえるFiberアーキテクチャについて話したい。 筆者が初めてReactに触れた頃、「Fiber」という言葉は、面接の定番質問くらいにしか認識していなかった。「Reactのレンダリング処理を作業単位に分割して実行する」という一行の定義を覚え、それがすべてだと思っていた。しかし実際にReactのソースコードを読み始めると、Fiberは単なる概念ではなく、Reactレンダ...
BiomeはESLintとPrettierを置き換えられるのか?
2024/12/1 · 15 min read
今回は、Biomeというツールについて紹介したい。 筆者のチームでは、WebStormやVSCodeなど異なるIDEを使う環境で、一貫したコードスタイルを維持することにかなり苦労していた。IDEごとに設定ファイルを個別管理する手間もあり、フォーマットの違いによって、コードレビューでロジックとは無関係な指摘が飛び交うことも多かった。 そうした状況でESLintのフォーマット関連ルールがDepreca...
Zustand、お前は何者で、なぜProviderLessなんだ?
2024/8/18 · 34 min read
今回の記事では、ZustandがどのようにProviderなしで状態管理を実現しているのかを取り上げる。 筆者はZustandを使いながら、Providerなしで状態を管理することをずっと当たり前に感じていた。ところが、ふと疑問が浮かんだ。Reactエコシステムの大半のライブラリでは、Providerでアプリをラップすることが、ほとんど儀式のように定着している。TanStack React Que...
圧縮アルゴリズムを理解する
2024/7/6 · 30 min read
今回は、ソフトウェアの圧縮アルゴリズムについて話してみたい。 社内プロジェクトのデプロイプロセスを改善する仕事を担当した。大容量のビルド成果物をS3へアップロードする構成だったため、ビルドフォルダーのサイズがアップロード時間とストレージコストに直結することを実感した。そこから自然に「どうすれば効率よく圧縮してアップロードできるだろうか」という疑問が生まれた。 いざ圧縮について調べると、zip、gz...