ソフトウェア開発の技術記事まとめ
@jqit-yukiono /
- GitHub CodeQLは個人アカウントのプライベートリポジトリでは導入できず、Semgrepの代替としてOpenGrepに移行した
- CodeQLはOrganization向けプランで、個人アカウントでは購入メニューが存在せず、OpenGrepはSemgrepの無料フォークでtaint解析が可能
- 個人アカウントでは有料ツールの利用制限があるため、代替ツールの選定が重要で、LGPLライセンスのOpenGrepを検討すべき
@jqit-yukiono /
- Web/admin/iOSにE2Eテストを整備し、認証を迂回する仕組みを構築した
- Web/adminはFirebaseカスタムトークンとApp Check debug token、iOSは起動引数によるDevBypassで認証を迂回、XCUITestのローカライズ文字列やnavigation barの曖昧さが罠
- Jenkinsのまっさらな環境でAPNs鍵やFirebase設定が不足する問題が発覚し、フォールバック処理を追加した
@jqit-yukiono /
- Firebase純正のlink(with:)を使わず、バックエンド独自のauth_identitiesテーブルでアカウント連携を実装した
- Firebaseのcredential-already-in-useエラー対応が破壊的で複数ステップ、auth_identitiesテーブルで1 User : N firebase_uidを管理
- コンフリクト解決は1つのDBトランザクションに閉じ込め、失敗時ロールバックで詰み状態を回避
@jqit-yukiono /
- YoLibraryのSSH参照をHTTPSに変更したが、認証情報の依存が隠れていた
- Forgejoミラーはprivateで認証が必要、Dockerビルドで401エラーが発生
- コードコメントに誤った前提が残り、環境依存の問題を引き起こした
@rana_kualu /
- JavaScriptのthenable仕様がセキュリティ脆弱性の原因となり、SafeResolveプロポーザルが導入されている
- thenメソッドの存在でthenableと判定され、Promise.resolveが解決する仕様。SafeResolveではユーザコード実行の可能性を確認し、非同期ジョブで解決する
- Promise.resolveがthenableを解決する仕様はセキュリティリスクがあり、SafeResolveで解決処理を非同期化することでメモリ破壊系の脆弱性を防ぐ
@榊原昌彦 /
- iPhone Duoではツールバーとタブがvertical barsに移動し、リストの表示範囲がSafe Area内に収まる
- ツールバーの操作がvertical barsに配置、リストの枠がvertical bars側のSafe Area内に収まる、タブが文字だけでもvertical barsに移動
- vertical barsの配置はデバイスが自動で決定し、アプリ側で明示的な設定が必要
@カノン@Zenn /
- 4台のGPUでローカルLLMの性能を測定し、pp512とtg128の差が主な指標となった
- pp512は行列演算器の有無で、tg128はメモリ帯域で差が決まる。V100SはHBM2でtg128が速く、RDNA4はVulkanの方がROCmより速い
- pp512は行列演算器の有無が重要で、tg128はメモリ帯域の効率が鍵。マルチGPUは容量拡張に有効で、ベンチマークと実運用の差に注意が必要
@haruyoshi_o /
- AIで情緒評価ツールを作り、7つの評価軸でWebサイトの感情的インパクトを測定
- 信頼感・親近感・高級感・先進性・温かみ・行動喚起・印象の一貫性の7軸を定義、セクション単位で評価
- 評価軸の定義が精度に大きく影響し、AIのズレを改善するためのルール追加が必要
@TechStudioLab /
- LINEのuserIdと院内患者IDをアカウント連携で安全に紐付ける設計を採用
- LINE公式アカウント連携フローで本人確認済みの院内アカウントと結び付け、nonceをランダムな一回限りの値で管理
- 診察券番号を外部連携に広げず、通知はホワイトリスト方式で送信可否をコードで固定する
@しろね /
- Go 1.28でstring(int)の変換が制限される
- runeやbyteの基底型、untyped rune constantに限定される。整数リテラルはNG
- 既存コードではruneやstrconv.Itoaを使う必要がある。go vetでチェック可能
@タックルマン@日本○学 /
- AWS DEA-C01の合格点720点を10回の模試に割って学習計画を立てる方法が紹介されている
- 模試10回のうち後半3回で8割を取る目標、4分野の比重に応じた問題数配分、IT資格道場の問題集が教材として選ばれた理由
- 非採点問題の存在により合格点ぎりぎりの力では採点問題の難易度次第で不合格になる可能性がある
@yasufumi-tsunaki /
- 業務アプリを解析してAIにOJT教材を生成し、新人が業務コードをスムーズに理解できるようにした
- 業務アプリの構成・ライブラリ・データフローを解析し、学習観点と制約を定義してAIに仕様書とサンプルコードを生成
- 業務コードと教材の構成を揃えるためには人が制約を明確に定義し、AIに生成を任せることで効率化できる
@naoki /
- FastAPIで同期DBドライバを使うとイベントループが止まり、リクエストが遅延する
- async def内で同期処理を実行するとイベントループが停止し、psycopg2のDB待ちはスレッドプールに委譲するか非同期ドライバに変更する必要がある
- 同期処理はスレッドプールに委譲すると40本の上限で頭打ちになるため、非同期ドライバへの変更が効果的
@タックルマン@日本○学 /
- AWS AIP-C01試験は180分75問で、5分野の配点に応じた学習計画が必要
- 試験時間180分、出題75問(採点65問)、5分野の配点31%・26%・20%・12%・11%、実装と統合が17問、基盤モデルの統合とデータ管理が20問
- 5分野の配点に応じて学習時間を割り当て、最初の2週間は重い分野に集中するべき
@nr-mito /
- New Relic がAutopilotやPreflightなどの新機能をリリース
- Autopilotは過去の調査知見を記憶し、PreflightはAIコーディングのトークン消費を可視化
- 運用の効率化やコスト削減に役立つが、ツール連携の設定には手間がかかる
@lucnguyen /
- ジョイスティック入力からモーター制御までをROS 2とSTM32で実装する流れが解説された
- /joyから/cmd_velへの変換、micro-ROSによるJetsonとSTM32の通信、エンコーダとPID制御によるフィードバックが具体的に説明されている
- ROS上でのコマンド表示だけでは実機動作が保証されず、ハードウェア接続状態やファームウェアの動作確認が必要な点に注意すべき
@chaochire /
- M5StickS3からWi-FiのRSSIをAWS IoT Coreに送信しCloudWatchで可視化する仕組みを構築
- MQTTでAWS IoT Coreへ接続し、IoT RuleでCloudWatch LogsとMetricsにデータを送信する
- AWS IoT Coreの設定で証明書とポリシーを正しく設定しないと接続できない
@sc-ccchang /
- git worktree を使うことで複数のブランチを同時に扱えるようになった
- 異なるブランチをチェックアウトし、変更を個別に管理できる、.git を共有する
- 同じブランチを複数のworktreeで同時にチェックアウトできないという制限がある
@nolanlover0527 /
- 920万件のニュースデータをクラスタリングとストーリー化で構造化し、Claudeで分析した
- クラスタ数78万件、ストーリー数11万件に圧縮、集計結果とサンプルデータをClaudeに渡す
- LLMに直接生データを渡さず、前処理で構造化したデータを分析させる設計が有効
@suwa_nobu /
- Claude Code 2.1.283の/doctor prompt-auditコマンドは、デフォルトではユーザー階層を監査しない
- /doctor prompt-auditは古いモデル向けのプロンプトパターンを検出、--add-dirで~/.claudeディレクトリを指定するとスキルとサブエージェントを監査可能
- 権限が下りないためスキル49本とサブエージェント286個を監査するには--add-dirを指定する必要があり、コストが高くなる