Dev Note
Web開発の「なぜ」を、
実例で。
フロントエンド、TypeScript、CSS、パフォーマンス、開発ツールについて、実際に手を動かして得た知見を、コード付きで丁寧にまとめています。
カテゴリから探す
ピックアップ記事
CSS設計
コンテナクエリで親要素の幅に合わせてレイアウトを変える
カードを置く場所によって縦並び・横並びを変えたい。でもメディアクエリは画面幅しか見てくれません。親要素の幅を基準にできるコンテナクエリで、コンポーネント単位のレスポンシブを整理します。
読了 7分
TypeScript
satisfies演算子で型チェックと推論を両立する
型注釈を付けると推論が広がり、as で縛ると型チェックが効かなくなる。この板挟みを解くのが satisfies です。違いを動くコードで整理します。
読了 7分
パフォーマンス
next/dynamicで重いコンポーネントを遅延読み込みする
初期表示には不要なのに、最初のバンドルに混ざって重くなっている。そんなコンポーネントは next/dynamic で必要になるまで読み込みを遅らせられます。実例で整理します。
読了 7分
最新記事
フロントエンド
useEffectで依存配列とクリーンアップを整理する
TypeScript
TypeScriptのユーティリティ型で似た型を手書きしない
CSS設計
FlexboxとCSS Grid、どちらを使うべきか
フロントエンド
Next.js App RouterでServer ComponentsとClient Componentsを使い分ける
パフォーマンス
Core Web Vitals(LCP・CLS・INP)をまず確認する
TypeScript
anyをやめてunknownと型ガードで安全に書く
開発ツール
git rebase -iでコミット履歴を整理する
CSS設計
Tailwind CSSで@applyに頼らずコンポーネントを再利用する
パフォーマンス
next/imageで画像を最適化するときにつまずいたこと
開発ツール
package.jsonのscriptsでよく使う小技
フロントエンド
リストのkeyにindexを使うと何が起きるか
TypeScript
判別可能なユニオン型で状態を安全に表現する
CSS設計
CSSカスタムプロパティでテーマ切り替えを実装する
パフォーマンス
デバウンスとスロットルでイベントの過剰発火を抑える
開発ツール
git管理から外す:.gitignoreとgit rm --cachedの使い分け
フロントエンド
カスタムフックでロジックを切り出すときのメモ
TypeScript
as constで「魔法の文字列」をリテラル型にする
CSS設計
position: stickyが効かない理由と仕組み
パフォーマンス
React.memo・useMemo・useCallbackの使いどころ
開発ツール