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

#DevOps・CI/CD

@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を検討すべき

@jqit-yukiono /

同一人物がApple/Googleどちらでログインしても同じアカウントにする ― Firebase純正のlink(with:)を使わなかった理由

  • Firebase純正のlink(with:)を使わず、バックエンド独自のauth_identitiesテーブルでアカウント連携を実装した
  • Firebaseのcredential-already-in-useエラー対応が破壊的で複数ステップ、auth_identitiesテーブルで1 User : N firebase_uidを管理
  • コンフリクト解決は1つのDBトランザクションに閉じ込め、失敗時ロールバックで詰み状態を回避

@jqit-yukiono /

個人開発のiOS共通ライブラリをSSHフリー化した話 ― 「publicだから認証不要」の勘違いに、Dockerビルドだけが気づいていた

  • YoLibraryのSSH参照をHTTPSに変更したが、認証情報の依存が隠れていた
  • Forgejoミラーはprivateで認証が必要、Dockerビルドで401エラーが発生
  • コードコメントに誤った前提が残り、環境依存の問題を引き起こした

@榊原昌彦 /

クロスプラットフォームアプリのためのiPhone Duoレビュー

  • iPhone Duoではツールバーとタブがvertical barsに移動し、リストの表示範囲がSafe Area内に収まる
  • ツールバーの操作がvertical barsに配置、リストの枠がvertical bars側のSafe Area内に収まる、タブが文字だけでもvertical barsに移動
  • vertical barsの配置はデバイスが自動で決定し、アプリ側で明示的な設定が必要

@shahin0809 /

Teams の GitHub Copilot が「コンテキストを読む」ようになったので、全部試してみた【2026年9月アプデ】

  • GitHub CopilotがTeams/Slackでチャットコンテキストを読めるようになった
  • 画像・転送メッセージ・スレッド履歴を読み取り、モデル切り替え機能が追加された
  • リポジトリ設定ミス時に自動で切り替えが可能で、画像解析は再送が効果的

@さいとう /

AIに任せてAndroidの激重画面を8倍高速化した話

  • タスク詳細画面の初期表示時間を3,620msから440msに短縮した
  • 担当者一覧の取得タイミング遅延、コメントと添付写真の一括取得、黒板プレビューの再利用、Realm開く処理のcompact設定変更
  • Realmのcompact設定を50MB以上かつ使用率50%未満に変更することで処理時間を146〜191msから2〜4msに短縮した

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

AWS DEA-C01 合格点の720点を、社会人の資格勉強で模試10回に割ってみた

  • AWS DEA-C01の合格点720点を10回の模試に割って学習計画を立てる方法が紹介されている
  • 模試10回のうち後半3回で8割を取る目標、4分野の比重に応じた問題数配分、IT資格道場の問題集が教材として選ばれた理由
  • 非採点問題の存在により合格点ぎりぎりの力では採点問題の難易度次第で不合格になる可能性がある

@Masato Namiki / 並木 正人 /

「AIに質問する」から「AIに仕事を任せる」へ ~ OpenClawで自分専用AI Agentを動かしてみた

  • OpenClawでAIエージェントを構築し、ファイル分類・要約を自動化する仕組みを試した
  • WorkspaceとSkillで処理手順を定義し、Automationで自動実行可能に、Toolの利用制限と実行権限を設定
  • Skillに判断基準を定義する際はLLMの判断とHarnessのルールを分離する必要があり、Token使用量とバックグラウンド処理の管理が重要

@BATONZ Tech Blog /

Claude Codeでテスト設計を自動化した話 ― Coworkのartifactから移行して、テスト設計を2時間に

  • Claude Codeでテスト設計を自動化し、テスト設計時間を2時間に短縮した
  • 仕様と実装コードの差異検知、テスト観点の網羅性確保、プロンプトの抽象度向上
  • プロンプトの精度向上には個別例の追加より抽象度の高い判断基準の設定が効果的

@yasufumi-tsunaki /

業務アプリを解析してOJT教材をAIに作らせた話

  • 業務アプリを解析してAIにOJT教材を生成し、新人が業務コードをスムーズに理解できるようにした
  • 業務アプリの構成・ライブラリ・データフローを解析し、学習観点と制約を定義してAIに仕様書とサンプルコードを生成
  • 業務コードと教材の構成を揃えるためには人が制約を明確に定義し、AIに生成を任せることで効率化できる

@naoki /

FastAPI はどこで待たされていたのか ― イベントループ・スレッド・プロセスで整理する

  • FastAPIで同期DBドライバを使うとイベントループが止まり、リクエストが遅延する
  • async def内で同期処理を実行するとイベントループが停止し、psycopg2のDB待ちはスレッドプールに委譲するか非同期ドライバに変更する必要がある
  • 同期処理はスレッドプールに委譲すると40本の上限で頭打ちになるため、非同期ドライバへの変更が効果的

@lucnguyen /

【Physical AI入門】AIは賢くなった。でも、どうやって本物の車輪を回すのか?

  • ジョイスティック入力からモーター制御までをROS 2とSTM32で実装する流れが解説された
  • /joyから/cmd_velへの変換、micro-ROSによるJetsonとSTM32の通信、エンコーダとPID制御によるフィードバックが具体的に説明されている
  • ROS上でのコマンド表示だけでは実機動作が保証されず、ハードウェア接続状態やファームウェアの動作確認が必要な点に注意すべき