Scraps 最終更新 2026/10/01 19:40

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

@edinetty /

正確に取れない数字は出さない — 4,000社の財務データで選んだ「諦めて注記する」設計

  • 財務データ処理で不正確な数字は出さない方針を取っている
  • 会社ごと・項目ごと・業種ごと・年度ごとの4段階で諦めを設計し、近似値や非該当マークを注記
  • データの欠損を「取得失敗」「存在しない」「近似値」などに区別し、注記を付けることで信頼性を保っている

@ABAB↑↓BA /

AI開発時代だからこそ、テストの役割を見つめ直す

  • AI時代でもテストの役割は変わらず、それぞれの種類で検出できる不具合の種類に応じて使い分けるべき
  • ユニットテストはロジックの細かい検証、E2Eテストは画面をまたぐ不具合の検出、型とlintで不具合を事前に防ぐ
  • テストの実行順序とコストの違いを意識し、型設計で不具合を防ぐことでAIのイテレーションを効率化できる

@sz_tak /

本番でボタンが全部無反応だった——CSP の nonce と force-static は両立しない(Next.js App Router)

  • Next.js App RouterでCSPのnonceとforce-staticを同時に使うとスクリプトがすべてブロックされる
  • CSPにnonceを指定し、force-staticで静的生成するとnonceが一致しない。strict-dynamicでホストベースの許可が無効化される
  • 静的生成ページではnonceが毎回変わるためスクリプトが実行されず、コンソールでのエラーでしか気づけない。本番ビルドでのスクリプト検証が必要

@タックルマン@日本○学 /

【社会人】AWS MLA-C01 難易度と、65問×10回の模試で組む資格勉強の3周

  • AWS MLA-C01の試験は65問を130分で解き、50問の正解で合格
  • 採点は65問中50問、並べ替えと対応付けの問題形式、データ準備28%・モデル開発26%・デプロイ22%・監視と保護24%の分野比重
  • 模試を3周回す学習法で合格ラインに届くが、1周目で分野ごとの失点を把握する必要がある

@Sidejob /

Power Automateのフロー設計で属人化を防ぐ工夫——命名・テンプレート・ドキュメントの3点セット

  • Power Automateのフロー設計で属人化を防ぐための命名・テンプレート・ドキュメントの3点セットが紹介される
  • 命名規則で[部署][処理内容][作成年月]の形式を文書化し、テンプレートで処理パターンを統一し、ドキュメントでフローの概要を明記する
  • フロー名やアクション名に感覚に任せず、命名ルールを文書化し、テンプレートを共有することで混乱を防ぐことが重要

@kanzawa_kentaro /

【自社開発1年目】「チーム経験ゼロ」の27歳元営業が、ダイレクト出版でAIを使い倒し本番コードを書くエンジニアになるまで

  • 未経験のエンジニアが1年でFEとBEを経験し、コードの責任感を身につけた
  • 仮想PJでTypeScriptとGoを使ったアプリ開発、実務で画像アップロードAPIや決済処理、AIを活用したコード作成
  • 1文字のコード変更がユーザーに大きな影響を与えることを実感し、責任あるコード書く重要性を学んだ

@AIフクロウ|夜な夜なClaude Code /

夜間ジョブが朝まで固まっていた自作ツールの外部通信19か所を、Claude Codeに16分でタイムアウト棚卸し表(判定4種)にして、上限つきリトライまで入れてもらった夜

  • 自作ツールの外部通信19か所をClaude Codeでタイムアウト棚卸し表にした
  • タイムアウトなし12か所、リトライ上限なし3か所、判定4種類で分類
  • 上限のないリトライは別枠で記載し、失敗時の影響を列に記載することで判断材料とした

@jqit-yukiono /

個人開発アプリ「MineWatch」の記事まとめ(随時更新)

  • MineWatchの開発・運用で学んだApp Storeリリースフローと技術的取り組みがまとめられている
  • App Store審査対応、JenkinsとGitHub ActionsのCI/CD、Argo Rolloutsのデプロイ、E2Eテスト設計、負荷試験の実施
  • 審査通過後のCI/CD事故やインフラ設計の誤解、テストコードの罠など実務上の注意点が具体的に記載されている

@jqit-yukiono /

GitHub Actionsの自動マージが、次のworkflowを起動しない ― 2ヶ月「直っていない」と思い込んでいたバグの正体

  • GitHub ActionsでGITHUB_TOKENを使ったマージは次のworkflowを起動しない
  • GITHUB_TOKENで操作するとworkflowのトリガーにならない、PATを使うことで解決
  • PATをsecretsに登録する際、登録前にテストすると対策が効いていないように見える

@jqit-yukiono /

Argo RolloutsのBlue-Greenは「2つの環境の交代」じゃなかった ― 名前に引きずられて誤解していた話

  • Argo RolloutsのBlue-Greenは「2つの固定環境の交代」ではなく、activeとpreviewの役割に毎回新規ReplicaSetを割り当てる方式だった
  • activeServiceとpreviewServiceの2つのServiceを指定し、ReplicaSetは毎回新規作成されて古い方は昇格後に破棄される、Serviceのselectorが新しいReplicaSetへ書き換わる
  • 昇格後、旧ReplicaSetは300秒スケールダウン後に0台になるため、旧環境を温存しない

@jqit-yukiono /

「別々のアプリが似た症状で落ちる」を手がかりに、NFS越しのSonarQube・Nexus・Jenkinsが繰り返しクラッシュする原因を追った話

  • Jenkins・Nexus・SonarQubeがNFS上のファイルI/Oエラーで繰り返しクラッシュしていた
  • NFSサーバーのext4ジャーナルがabort、iSCSI接続の瞬断が原因、watchdogによる自動再起動対応
  • NFSの根本原因はNAS側のiSCSI不安定性で、現在も調査中で応急処置のみ実施

@jqit-yukiono /

「見るだけ」から「操作できる」へ ― MinecraftサーバーへのRCON実行を、個人開発でどう安全に作ったか

  • MinecraftサーバーのRCON操作機能を個人開発で実装する際のセキュリティ対策を解説
  • 接続情報はFernet暗号化で保存し、パスワードはAPIレスポンスとログに一切出さない。RCON失敗時は成功記録として扱い、監査ログに実行履歴を残す
  • RCONパスワードはDBとAPIレスポンスに絶対に表示せず、監査ログで実行履歴を残すことで操作の追跡性を確保する

@jqit-yukiono /

GitHub CodeQLが個人アカウントでは使えなかった話 ― 開発ツールを9本まとめて入れた棚卸しの顛末

  • GitHub CodeQLは個人アカウントのプライベートリポジトリでは導入できず、Semgrepの代替としてOpenGrepに移行した
  • CodeQLはOrganization向けプランで、個人アカウントでは購入メニューが存在せず、OpenGrepはSemgrepの無料フォークでtaint解析が可能
  • 個人アカウントでは有料ツールの利用制限があるため、代替ツールの選定が重要で、LGPLライセンスのOpenGrepを検討すべき