@edinetty / 2日前 正確に取れない数字は出さない — 4,000社の財務データで選んだ「諦めて注記する」設計 財務データ処理で不正確な数字は出さない方針を取っている会社ごと・項目ごと・業種ごと・年度ごとの4段階で諦めを設計し、近似値や非該当マークを注記データの欠損を「取得失敗」「存在しない」「近似値」などに区別し、注記を付けることで信頼性を保っている #データ分析#バックエンド#インフラ
@sz_tak / 2日前 本番でボタンが全部無反応だった——CSP の nonce と force-static は両立しない(Next.js App Router) Next.js App RouterでCSPのnonceとforce-staticを同時に使うとスクリプトがすべてブロックされるCSPにnonceを指定し、force-staticで静的生成するとnonceが一致しない。strict-dynamicでホストベースの許可が無効化される静的生成ページではnonceが毎回変わるためスクリプトが実行されず、コンソールでのエラーでしか気づけない。本番ビルドでのスクリプト検証が必要 #バックエンド#クラウド#DevOps・CI/CD
@さざんかぬふ / 2日前 大きなボトルネックをごろごろ見つける方法 - 優秀なエンジニアになる ボトルネックは爆弾ではなく静かにダメージを蓄積する構造で、複数存在する技術負債や運用でカバーできるボトルネック、経路ごとの最大流量の違い目標逆算で複数のボトルネックを特定し、戦略的に解消順序を決めることが重要 #アーキテクチャ#DevOps・CI/CD#バックエンド
@Sidejob / 2日前 Power Automateのフロー設計で属人化を防ぐ工夫——命名・テンプレート・ドキュメントの3点セット Power Automateのフロー設計で属人化を防ぐための命名・テンプレート・ドキュメントの3点セットが紹介される命名規則で[部署][処理内容][作成年月]の形式を文書化し、テンプレートで処理パターンを統一し、ドキュメントでフローの概要を明記するフロー名やアクション名に感覚に任せず、命名ルールを文書化し、テンプレートを共有することで混乱を防ぐことが重要 #DevOps・CI/CD#バックエンド#アーキテクチャ
@hamham999 / 2日前 荒れたテストケースをコード管理で立て直してみた テストケースの管理をコードベースに切り替えることで問題を解消したケース定義をYAMLで管理し、CIでエラーと警告を検出、類似ケースの判定も行うスプシに取り込む際は実施結果が消えるためテスト中は取り込まないことに注意 #バックエンド#DevOps・CI/CD#テスト
@J-T_ky2g / 2日前 Reactの削除処理を書いて間違えた話 Reactで配列を削除処理する際、mapで不適切な処理をしていたmapでrecord.idを比較する条件を間違え、filterで正しく処理できることが示されているmapでfalsyな値を弾く処理は不適切で、filterを使うべきだったことが示されている #フロントエンド#バックエンド#DevOps・CI/CD
@kanzawa_kentaro / 2日前 【自社開発1年目】「チーム経験ゼロ」の27歳元営業が、ダイレクト出版でAIを使い倒し本番コードを書くエンジニアになるまで 未経験のエンジニアが1年でFEとBEを経験し、コードの責任感を身につけた仮想PJでTypeScriptとGoを使ったアプリ開発、実務で画像アップロードAPIや決済処理、AIを活用したコード作成1文字のコード変更がユーザーに大きな影響を与えることを実感し、責任あるコード書く重要性を学んだ #フロントエンド#バックエンド#AIエージェント
@AIフクロウ|夜な夜なClaude Code / 2日前 夜間ジョブが朝まで固まっていた自作ツールの外部通信19か所を、Claude Codeに16分でタイムアウト棚卸し表(判定4種)にして、上限つきリトライまで入れてもらった夜 自作ツールの外部通信19か所をClaude Codeでタイムアウト棚卸し表にしたタイムアウトなし12か所、リトライ上限なし3か所、判定4種類で分類上限のないリトライは別枠で記載し、失敗時の影響を列に記載することで判断材料とした #バックエンド#DevOps・CI/CD#テスト
@jqit-yukiono / 2日前 個人開発アプリ「MineWatch」の記事まとめ(随時更新) MineWatchの開発・運用で学んだApp Storeリリースフローと技術的取り組みがまとめられているApp Store審査対応、JenkinsとGitHub ActionsのCI/CD、Argo Rolloutsのデプロイ、E2Eテスト設計、負荷試験の実施審査通過後のCI/CD事故やインフラ設計の誤解、テストコードの罠など実務上の注意点が具体的に記載されている #バックエンド#DevOps・CI/CD#クラウド
@jqit-yukiono / 2日前 Argo RolloutsのBlue-Greenは「2つの環境の交代」じゃなかった ― 名前に引きずられて誤解していた話 Argo RolloutsのBlue-Greenは「2つの固定環境の交代」ではなく、activeとpreviewの役割に毎回新規ReplicaSetを割り当てる方式だったactiveServiceとpreviewServiceの2つのServiceを指定し、ReplicaSetは毎回新規作成されて古い方は昇格後に破棄される、Serviceのselectorが新しいReplicaSetへ書き換わる昇格後、旧ReplicaSetは300秒スケールダウン後に0台になるため、旧環境を温存しない #バックエンド#クラウド#DevOps・CI/CD
@jqit-yukiono / 2日前 「見るだけ」から「操作できる」へ ― MinecraftサーバーへのRCON実行を、個人開発でどう安全に作ったか MinecraftサーバーのRCON操作機能を個人開発で実装する際のセキュリティ対策を解説接続情報はFernet暗号化で保存し、パスワードはAPIレスポンスとログに一切出さない。RCON失敗時は成功記録として扱い、監査ログに実行履歴を残すRCONパスワードはDBとAPIレスポンスに絶対に表示せず、監査ログで実行履歴を残すことで操作の追跡性を確保する #バックエンド#セキュリティ#DevOps・CI/CD
@jqit-yukiono / 2日前 個人開発のMinecraft監視アプリに負荷試験をしてみた ― 読み取り専用のAPIが、実は毎回DBへ書き込んでいた 読み取り専用のAPIが認証時にDBに書き込んでいたGET /v2/serversでID tokenの失効チェックと_last_loginのUPDATEが行われていた認証時のDB書き込みをキャッシュと処理見直しで改善し、スループットを3倍に向上 #バックエンド#DevOps・CI/CD#データベース
@jqit-yukiono / 2日前 Web/admin/iOSにE2Eテストを整備した話 ― 認証を迂回したら、次はテストコード自身の罠が待っていた Web/admin/iOSにE2Eテストを整備し、認証を迂回する仕組みを構築したWeb/adminはFirebaseカスタムトークンとApp Check debug token、iOSは起動引数によるDevBypassで認証を迂回、XCUITestのローカライズ文字列やnavigation barの曖昧さが罠Jenkinsのまっさらな環境でAPNs鍵やFirebase設定が不足する問題が発覚し、フォールバック処理を追加した #フロントエンド#バックエンド#モバイル
@jqit-yukiono / 2日前 同一人物がApple/Googleどちらでログインしても同じアカウントにする ― Firebase純正のlink(with:)を使わなかった理由 Firebase純正のlink(with:)を使わず、バックエンド独自のauth_identitiesテーブルでアカウント連携を実装したFirebaseのcredential-already-in-useエラー対応が破壊的で複数ステップ、auth_identitiesテーブルで1 User : N firebase_uidを管理コンフリクト解決は1つのDBトランザクションに閉じ込め、失敗時ロールバックで詰み状態を回避 #バックエンド#データベース#DevOps・CI/CD
@jqit-yukiono / 2日前 個人開発のiOS共通ライブラリをSSHフリー化した話 ― 「publicだから認証不要」の勘違いに、Dockerビルドだけが気づいていた YoLibraryのSSH参照をHTTPSに変更したが、認証情報の依存が隠れていたForgejoミラーはprivateで認証が必要、Dockerビルドで401エラーが発生コードコメントに誤った前提が残り、環境依存の問題を引き起こした #バックエンド#クラウド#DevOps・CI/CD
@カノン@Zenn / 3日前 RX 5500 XTからV100S×4まで、4台の計算機でローカルLLMを測り比べた話 4台のGPUでローカルLLMの性能を測定し、pp512とtg128の差が主な指標となったpp512は行列演算器の有無で、tg128はメモリ帯域で差が決まる。V100SはHBM2でtg128が速く、RDNA4はVulkanの方がROCmより速いpp512は行列演算器の有無が重要で、tg128はメモリ帯域の効率が鍵。マルチGPUは容量拡張に有効で、ベンチマークと実運用の差に注意が必要 #AIエージェント#バックエンド#クラウド
@TechStudioLab / 3日前 LINEと診察券番号を安全に紐付ける医療連携設計 LINEのuserIdと院内患者IDをアカウント連携で安全に紐付ける設計を採用LINE公式アカウント連携フローで本人確認済みの院内アカウントと結び付け、nonceをランダムな一回限りの値で管理診察券番号を外部連携に広げず、通知はホワイトリスト方式で送信可否をコードで固定する #バックエンド#セキュリティ#クラウド
@しろね / 3日前 Go 1.28でstring(int)周りの挙動が変わりそう Go 1.28でstring(int)の変換が制限されるruneやbyteの基底型、untyped rune constantに限定される。整数リテラルはNG既存コードではruneやstrconv.Itoaを使う必要がある。go vetでチェック可能 #バックエンド#DevOps・CI/CD#アーキテクチャ
@さいとう / 3日前 AIに任せてAndroidの激重画面を8倍高速化した話 タスク詳細画面の初期表示時間を3,620msから440msに短縮した担当者一覧の取得タイミング遅延、コメントと添付写真の一括取得、黒板プレビューの再利用、Realm開く処理のcompact設定変更Realmのcompact設定を50MB以上かつ使用率50%未満に変更することで処理時間を146〜191msから2〜4msに短縮した #バックエンド#クラウド#DevOps・CI/CD
@まつ / 3日前 JVMメモリ設定を「値」ではなく「構造」で理解する JVMメモリ設定では-Xmsと-Xmxが同じJavaヒープを指し、ダイレクトメモリとMetaspaceは別領域として扱う-Xmsと-XmxはJavaヒープの初期サイズと最大サイズ、-XX:MaxDirectMemorySizeはNIOダイレクトバッファの上限、-XX:MaxMetaspaceSizeはメタデータ領域の上限を設定Javaヒープに加えてダイレクトメモリやMetaspace、OSや他のプロセスのメモリも考慮し、ホストやコンテナに余力を残す #バックエンド#クラウド#インフラ