Scraps 最終更新 2026/10/03 05:01

ソフトウェア開発の技術記事まとめ

@ろんちゃん /

Jujutsu (jj) のつらみ Git前提の世界とAIコーディングエージェント

  • Jujutsu (jj) は Git 互換だが、Git ツールと併用時に情報ズレや操作ミスが発生する
  • Git の detached HEAD 状態とステージングエリアの無さが原因で、AIエージェントやIDEのGitパネルで不具合
  • AIエージェントを使う場合は git コマンドを物理的にブロックし、変更は jj で行う二刀流が効果的
Jujutsu (jj) のつらみ Git前提の世界とAIコーディングエージェント

@k.ike /

42日でバックエンドエンジニアの基礎を完全に理解する #8 - インデックスと検索高速化

  • インデックスを貼ると検索が速くなるが、貼りすぎや使われないケースでは逆効果になる
  • インデックスはB-Tree構造で実装され、フルスキャンと比較してデータ量に比例しない検索速度になる、複合インデックスは左端カラムから使われる
  • 関数やLIKE、否定条件ではインデックスが使われず、カーディナリティが低いカラムには貼らないこと
42日でバックエンドエンジニアの基礎を完全に理解する #8 - インデックスと検索高速化

@榊原昌彦 /

我々は富豪プログラミングをしていた。Cloudflare Workersで実装はどう変わるか

  • Cloudflare Workersに移行することで、従来のAWS構成での実装が見直された
  • パッケージ選定でSDKの責務を考慮、メモリ使用を通過点として扱い、実行時間の形に注目、コネクションの持ち方を変更、ElastiCacheの読み書きを分解
  • バンドルサイズやメモリ制限、ネットワーク往復回数、KVのアクセス単位など、Cloudflareの課金モデルに合わせた実装が必要になる。
我々は富豪プログラミングをしていた。Cloudflare Workersで実装はどう変わるか

@takeshi-teshima /

概念設計が、その後のコードの命運を左右する

  • 注文と履行を別概念として設計することで、再配送や分割発送の対応が自然になる
  • OrderとFulfillmentの2つの概念を明確に分離し、配送状況を別データで管理する
  • 概念設計の違いが後のコードの複雑さや運用コストに直接影響するため、初期段階で慎重に考えるべきである。
概念設計が、その後のコードの命運を左右する

@TaichiYamasaki /

Cloud Run の公開サービス棚卸し、allUsers だけ見ていると漏れます

  • Cloud Runの公開設定はInvoker IAMチェック無効とallUsers付与の2種類があり、IAMポリシーに記録されない場合がある
  • Invoker IAMチェック無効はIAMポリシーに何も記録せず、allUsersはIAMポリシーにallUsersが記録される
  • IAMポリシー検索ではInvoker IAMチェック無効のサービスが見つからないため、gcloud asset listでアノテーションを確認する必要がある
Cloud Run の公開サービス棚卸し、allUsers だけ見ていると漏れます - Qiita

@colum2131 /

Databricks の Declarative Automation Bundles を用いた機械学習データセット作成基盤の構築

  • DatabricksのDeclarative Automation Bundles(DAB)を活用してデータセット作成基盤を構築し、運用効率を向上させた
  • DABでジョブ定義や依存パッケージをコードで管理し、Serverless Computeで高速なデータ処理を実現、MosaicML StreamingDataset(MDS)をデータ形式に採用
  • Serverless Computeの制約に対応するため、依存パッケージの事前取得やDataFrameのmaterialize機能を導入し、リトライ制御を実装する必要がある。

@tatsuya582 /

エラーレスポンス設計の現在地2026

  • エラーレスポンスはステータスコード・ヘッダー・ボディの3層で設計し、RFC 9110とRFC 9457が正典
  • ステータスコードは400/500番台に分類、WWW-AuthenticateやRetry-Afterがヘッダーで義務、ボディはProblem Details形式でtypeとdetailを区別
  • エラーレスポンスは共通関数で組み立て、プロジェクト固有の判断はハーネスに記録し、型でルールを強制する。
エラーレスポンス設計の現在地2026 - Qiita

@nt_y-maeda112 /

【コピペOK】CSSで作るモダンなUIアニメーション集

  • transitionとtransformを組み合わせてボタンやカードにアニメーションを加える方法が紹介されている
  • transitionで変化を滑らかに、transformで移動・拡大・回転を実現、下線の伸びやカードの浮き上がりなど複数のアニメーション例が含まれる
  • ホバー時に色や位置が変化するアニメーションを実装する際、transitionとtransformの組み合わせが効果的で、コードの見通しが良くなる点に注意が必要である。
【コピペOK】CSSで作るモダンなUIアニメーション集 - Qiita

@zumax /

Obsidianを試してみた

  • Obsidianはローカルに保存されるプレーンMarkdownベースのナレッジ管理ツール
  • [[Wikilink]]でノート間接続、グラフビューでの知識可視化、Git管理可能
  • セキュリティ設定でクラウド同期を無効にし、外部データ送信を防ぐ必要がある。
Obsidianを試してみた - Qiita

@yama3133 /

(ずんだもん通知くん)Claude Codeにずんだもんの声をつけた話

  • Claude Codeにずんだもんの声をつけて通知機能を実装した
  • フックイベントにPythonスクリプトを挟み、VOICEVOXで音声合成し、ウィンドウ表示を4パターン対応
  • 英単語や数字の処理でカスタム対応表を作成し、読み間違いを修正する仕組みが必要だった。
(ずんだもん通知くん)Claude Codeにずんだもんの声をつけた話 - Qiita

@hez2010 /

.NET 11 でジェネリック仮想メソッドを高速化してみた

  • .NET 11でジェネリック仮想メソッドの脱仮想化が実装され、JITが直接呼び出しに変換できるようになった
  • ジェネリック仮想メソッド呼び出しを直接呼び出しに変換し、ボックス化や間接ディスパッチを削除。値型と参照型のインスタンス化でコードが最適化される
  • ジェネリック仮想メソッドの呼び出しでボックス化や間接ディスパッチが発生しなくなり、パフォーマンスとメモリ使用量が改善される。特に値型での処理が高速化される。
.NET 11 でジェネリック仮想メソッドを高速化してみた - Qiita

@nabettu /

続・貧者のアークテクチャ:Next.js + Cloudflare Workers + Turso 本番運用で踏んだ罠ぜんぶ

  • Next.js + Cloudflare Workers + Tursoで本番運用する際の7つの罠と対処法が記載されている
  • next/imageとnext/linkの制限、TursoとのHTTP往復遅延、RSCのクエリパフォーマンス、タイムゾーンの問題、unstable_cacheのJSONシリアライズ、初期JSの最適化、Durable Objectsの再起動対応
  • Tursoとの通信はHTTP往復が必須で77msのレイテンシを前提に設計する必要がある、RSCのクエリはメモリ上で処理してN+1を防ぐ、タイムゾーンは明示的に指定する
続・貧者のアークテクチャ:Next.js + Cloudflare Workers + Turso 本番運用で踏んだ罠ぜんぶ

@yamarin /

同じRust製のBiomeとOxlintで、なぜ速度差が大きいのか

  • BiomeとOxlintは同じRust製でも速度差が生じる理由が解析された
  • 解析範囲の違い(スキャナ・CSS対応)、アリーナASTとロスレスCSTのメモリ戦略、ルール実行モデルの違い
  • スキャナやCSS解析をオフにするとBiomeは0.74秒、Oxlintは0.16秒で、通常の差は解析範囲だけでは説明できないことが判明した。
同じRust製のBiomeとOxlintで、なぜ速度差が大きいのか