Scraps 最終更新 2026/10/02 05:10

#フロントエンド

@faable01 /

isLoading が真なのに isError も真...みたいなのやめたい(判別可能なユニオン型で)

  • isLoadingとisErrorの組み合わせを避けるために判別可能なユニオン型を使う方法を紹介
  • 状態を1つの型にまとめ、statusフィールドで分岐し、progressやurlなどのプロパティを状態ごとに定義
  • switch文で分岐した後にnever型を使うことで、状態の網羅漏れをコンパイルエラーで防げる

@やよい /

メッシュグラデーションをSVGで「真面目に」近似する

  • SVGでメッシュグラデーションを近似するためのアルゴリズムと実装方法が提案されている
  • feDisplacementMapによる変位マップとBernsteinレイヤー方式による双三次補間が使われている
  • 変位マップの作成時にパッチサイズのバッファを考慮し、パッチ間の隙間を防ぐ処理が必要である

@ないとー /

減らない分岐は、指示ではなく型のせいだった

  • 型が不正な状態を許すと、コーディングエージェントがその分岐を書く。指示を直しても減らない。
  • 判別共用体で状態を直和にし、境界でparseして型で検証する。型エラーで修正箇所を自動検出する。
  • 型が許す状態は分岐として書かれるため、レビューで確認する項目が増える。判別共用体で状態を網羅的に表現する。

@よさ /

TanStack Start + Hono + oRPC + Cloudflare Workersで社内ERPを作った設計と学び

  • Cloudflare Workers上でTanStack Start + Hono + oRPC + PostgreSQLを組み合わせて社内ERPを開発した設計と学びを共有
  • API契約と実装の分離、EVM計算の純粋関数化、Hyperdriveによるキャッシュと正しさの分離
  • API契約を独立したパッケージにすることで、実装変更とAPI変更を明確に分離できるが、DTO定義の保守コストが増えることに注意

@newt /

最近育てているフロントエンド開発用テンプレートの話

  • フロントエンド開発用のツールチェーンと設定をまとめたテンプレートが公開されている
  • pnpmのセキュリティ設定、TypeScriptのstrictオプション拡張、Oxlint/Oxfmtの導入、Knipによる未使用コード検出が含まれる
  • pnpmのminimumReleaseAgeを1週間に設定し、セキュリティパッチの遅延を考慮した設定が採用されている

@rana_kualu /

【JavaScript】Promise.all()をハッシュで受け取れるようになる

  • JavaScriptでPromise.allにオブジェクト形式で結果を受け取れる機能がStage3に進んだ
  • Promise.allKeyedでプロミスのオブジェクトを並列実行し、キーで結果を取得できる。既存のライブラリやPromise.allのオーバーロードと比較して構文の統一性が向上
  • オブジェクト形式で結果を取得できるため、変数の管理が簡潔になり、エラー処理がしやすくなる。Firefox155で実装予定で、Safariも一部で実装されている可能性がある

@Kai Yoshida /

Claude Designを使ったポスター制作について

  • Claude Designはポスターのレイアウト作成に強みを持つが、内容の整理や強調は人間の手が必要
  • レイアウト配置や数値の見せ方が優れているが、章題の英語サブタイトルや情報の濃淡処理が不適切
  • 0→1フェーズのレイアウト作成は効率的だが、1→100フェーズのブラッシュアップには人間の判断が不可欠

@タケノコご飯 /

あなたのHTML資料には、魂が込められていますか?

  • HTML資料を意図的にダサくすることで、インプット効果を高める方法を紹介
  • 大量の色・無意味な装飾・冗長な説明文・整列の崩れ・不要な枠線・3Dグラフ・無意味なアニメーションをすべて適用
  • 資料の構造と事実を崩さずに、読みづらさを意識的に作ることで、一言一句読む習慣が身につく

@k-taro56 /

ライブラリーを使わずに Next.js App Router で多言語対応する

  • Next.js App Routerでライブラリを使わず多言語対応を実装
  • [locale]セグメントとproxyによるルーティング、Zodスケーマとsatisfiesによる辞書管理、MDX記事のミラーディレクトリー
  • 翻訳をエンジニア自身が管理し、キーの漏れをコンパイル時に検出できるようにしている

@TOMOSIA-HieuNT /

なぜAIは「React Coder」を最初に置き換えるのか(そしてシニアになる方法)

  • AIは「React Coder」を置き換えるが、システム思考を持つエンジニアは価値が高まる
  • システム思考のフレームワークをSDLCやユーザージャーニーに結びつける、技術的判断を明確に表現する
  • AIに依存せず、アーキテクチャの考え方を自分で理解し、トレードオフを比較する

@sugi /

Flutterでチャートを表示してみる

  • Flutterで棒グラフと折れ線グラフの複合チャートを表示する方法が説明されている
  • fl_chartライブラリを使用し、Stackウィジェットでチャートを重ねて表示、X軸の整合性と横スクロールの実装が含まれる
  • 棒グラフと折れ線グラフのX軸の間隔を同じにし、横スクロールはfl_chartのズーム機能で実現する必要がある

@Katsumata /

デザイナーが作る仕様駆動型デザインシステム

  • デザイナーがエンジニアの工数を借りずにコンポーネントの仕様からコードやドキュメントを生成する仕組みを構築した
  • FigmaとヘッドレスUIから仕様を抽出し、YAMLで構造化してReactコンポーネントやテストコードを生成、アクセシビリティの仕様をヘッドレスUIから取り込む
  • 生成されたコードと仕様が同期しているかをCIで検証し、生の値やコメントを禁止することで品質を担保する