前回記事で書いたように、お届けチームの扱うシステム領域ではさまざまな非同期処理が行われています。 product.10x.co.jp この記事では 非同期処理の採用するモチベーション 非同期処理の実現方法 を書いています。 非同期処理の採用するモチベーション 「領域間をまたぐ」 「同期処理をミニマルにしたい」 実現するためのoverview publish side subscriber side メッセージによる非同期処理を本番導入するまでに 1. gRPCのリクエストハンドラ内でプログラム上、同期的にイベントハンドラを実行する 2. gRPCのリクエストハンドラ内でプログラム上、非同期でイベントハンドラを実行する 3. gRPCのリクエストハンドラ内ではイベントの永続化だけし、別プロセスでイベントハンドラを実行する サンキューEventarc 次回に続く 非同期処理の採用するモチベーシ
サイバー攻撃による個人情報の流出が多数ニュースになっている状況で、お客様に安心してサービスを利用してもらうためには防御を一層高める必要があります。今回はインフラチームが主導して、Goで書かれたサービスをセキュリティが高く安全な状態で稼働できるように改善したのでその内容を紹介します。 改善前の状況 Goで書かれたサービスをDocker公式のDebianイメージを使いGKE上で稼働させていました。このDebianイメージは長年更新されておらず、バージョンはDebian 8 (Jessie) で2020年6月にEOLを迎えています。加えて脆弱性のスキャンも行っておらず、たくさんの脆弱性が入っているイメージを使用していました。 また、PodのSecurityContextは指定しておらずデフォルトのまま稼働させていました。 distrolessへの移行 まずはコンテナのセキュリティを高めるうえで大
スクラム新潟2025でプレゼンしました。 https://confengine.com/conferences/scrum-fest-niigata-2025/proposal/21850/2025 グローバルなソフトウェアテストにかんするサーベイであるThe State of Testin…
TL;DR 社内の開発情報にアクセスするMCPサーバーを作成して、AI開発ツールが業務知識を活用できるようにしてみた。 具体的なツール事例(DBスキーマ参照、コード検索など)と、AIに活用させるための命名、レスポンス、権限などの考え方とコツを紹介。 TL;DR はじめに MCPとは MonotaROでのMCP DBスキーマを使ったコード生成 既存ソースコードからの業務知識抽出 共通モジュールの使用例の検索 MCPツール実装のコツ プロセスの状態に依存せずツールを利用できるようにする できるだけ具体的なツール名をつけてパラメータを修飾する レスポンスとしてinformativeなフィードバックを返す (なるべく)実行ユーザーの権限を使う まとめ はじめに MonotaROでは、ドメインモデリングでリアーキテクチャに挑むと同時に、モノタロウのAI駆動開発の全貌をご紹介しますのようにAIツールを
Vibe Codingでそれなりの成果物を得るためには、設計、タスク分解、テスト戦略、コードレビュー、リファクタリング指示などを適切に行う必要がある、という話を前に書いた。AIに身を委ねて感覚でコーディングするVibe Codingは、理想的には「こんなものを、いい感じで」と頼むだけでコードができあがる夢の開発環境を指すのだろう。 しかし現実はそう甘くない。AIは私たちの心を読めるわけではなく、「いい感じ」の指示では意図通りに動かない。明確なビジョンとしっかりした設計に基づき、AIが理解できる言葉でタスクを分解して伝える必要がある。 そこで今回は、その実践としてソリティアのアイデア発想から実装までをLLMに任せてみた。ソリティアといってもWindowsについてくるアレ(いわゆるクロンダイク)ではなくて、一人で遊べるトランプゲームのことだ。例えば、こんなゲームがVibe Codingで作れる
Installation and documentation goboscript is a text-based programming language that compiles to Scratch. Write Scratch projects in text, and compile it into a .sb3 file -- which can be opened in the Scratch editor, TurboWarp or be uploaded to the Scratch website. goboscript makes developing advanced Scratch projects FAST. goboscript syntax is concise and easy to read. Use a version-control system
カミナシのソフトウェアエンジニア佐藤です。カミナシレポートの開発に携わっています。 フロントエンドのエラーは「画面リロードやブラウザ再起動で復旧できる(かもしれない)」「クラッシュしてもユーザーの端末に閉じる」などの理由から、バックエンドよりは精緻に扱われない傾向があると個人的には感じています。 その一方、カミナシレポートは、ノンデスクワーカー向けの不安定なネットワーク環境で利用されることも多々あるアプリです。そのため、デジタルツールに不慣れな方のために精緻なフィードバックが必要とされる、リロードに頼ることが難しいケースがある、などの理由でエラーの扱いにも慎重になる必要があります。 本記事では、カミナシレポートのフロントエンド開発をする中で、 バックエンドの API コール時にエラーが発生する条件とその内容(型・クラス) これらエラーをハンドリングする箇所 について、把握しておきたいと感じ
ESLint を MCP サーバーとして実行する ESLint v9.26.0 から MCP サーバーとして実行できるようになりました。この機能により LLM(大規模言語モデル)は ESLint のルールを使用してコードを修正することができるようになります。 音声による概要 この音声概要は AI によって生成されており、誤りを含む可能性があります。 ESLint v9.26.0 から、ESLint を[MCP(Model Context Protocol](feat: Add MCP server by nzakas · Pull Request #19592 · eslint/eslint) サーバーとして実行できるようになりました。この機能により LLM(大規模言語モデル)は ESLint のルールを使用してコードを修正できるようになります。 ESLint を MCP サーバーとして実
やったこと p5rb_cli gem をインストールする p5rb の描画処理を #{任意のAI} といっしょにペアプロで組み上げていく p5rb run を実行してサーバーを立ち上げる ブラウザでアニメーションを表示させる OBSでブラウザをキャプチャし、仮想カメラにアウトプットする VDMX6(VJソフト)で仮想カメラの映像を取り込む 経緯 VJ 初心者として申し込み VJをはじめようと思ったのが3月に発売された M4 MacBook Air を購入したのがきっかけでした。 特に RubyMusicMixin を意識したわけではないのですが、普段定期イベントとしてやっている高専DJ部ではいつもVJがワンオペ状態だったり、なにか新しいものをはじめたい気分みたいなものもあり、勢いでVJ用のソフトウェアのライセンスと、VJ界隈では初心者が最初に購入すると言われているnanoKONTROL2を
こんにちは。SEQ (Software Engineering in Quality)のzakiです。 これまで、freeeのE2Eテストは、Selenium、RSpec、Capybara、およびSitePrismを基盤とするRubyのテストを、Jenkinsを用いて実行していました。この構成にはいくつか課題があったため、現在は PlaywrightをベースにしたTypeScriptのテストを、GitHub Actionsで実行する新構成への移行を進めています。今回はその内、JenkinsからGitHub Actionsへの実行基盤の移行について紹介します。 従来のE2E実行基盤の構成とその課題 現在のE2E実行基盤図 (Jenkins) これまでのE2E実行基盤はEC2上にJenkinsを構築し、その中でE2Eテストを実行していました。しかし、この構成には以下の課題がありました。 テスト
はじめに 背景 信頼性 監査プロセス コスト 要件 機能要件 非機能要件 設計 システムの構成要素 なぜECSを選んだのか 監査ログ保全における適切なリソース管理 私達のユースケースに合わせたオブジェクトキー 実装と検証を繰り返しフィードバックループをまわす ログが途中で途切れる 並行運用 転送量のコスト増加 ECS Fargateのキャパシティ不足 ログの整合性をチェック ログローテーションサイズの変更 オンコールドキュメントを作成 成果 Future Works まとめ harukin drumato はじめに こんにちは。技術部技術基盤グループのharukin,drumatoです。 カラーミーでは従来Data Firehose(旧Kinesis Data Firehose)を用いて、Amazon RDSの監査ログをS3に保存する仕組みを運用していました。 しかし、運用していく中で継続
こんにちは、GigaViewer for Webの開発・運用を担当している id:masawada です。今回は『Inside GigaViewer for Apps』連載の6回目として、運用中のマンガサービスにGigaViewer for Appsを導入する際のデータ移行事例についてご紹介します。 GigaViewerはビューワという名前を冠していますが、単なるマンガの閲覧機能だけでなく、入稿や作品管理・販売システムなど様々な機能をパッケージにして出版社様向けにご提供しているシステムです。また、新規サービスの立ち上げだけでなく既に運用されているサービスを受け入れることもあり、エンドユーザ様の商品購入データなど引き継ぎが必要なデータを元サービスからGigaViewerに移行する対応を行っています。この記事では、2024年3月に実施した少年ジャンプ+アプリ版のシステム移管(GigaViewe
みなさんこんにちは、イノベーションセンターの益本(@masaomi346)です。 Network Analytics for Security (以下、NA4Sec) プロジェクトのメンバーとして活動しています。 この記事ではフィッシング詐欺がどのように行われているのか、フィッシングサイトがどのような仕組みで動作しているのか、注意喚起を兼ねて紹介します。 ぜひ最後まで読んでみてください。 フィッシング詐欺について フィッシング詐欺がどのように行われているのか フィッシングサイトがどのように構築されているのか フィッシングサイトがどのように動作しているのか どんな情報を窃取しているのか 窃取した情報はどこに送られるのか 相手の情報を収集・判別する 窃取したクレジットカード番号が有効であるか確認する フィッシング詐欺に引っかかるとどうなるのか フィッシング詐欺を減らすための取り組み マラソン型
こんにちは、Service Reliability Group(SRG)の鬼海 雄太(@fat47)です。 SRGは主に弊社メディアサービスのインフラ周りを横断的にサポートしており、既存サービスの改善や新規立ち上げ、OSS貢献などを行っているグループです。 本記事では2025年度のサイバーエージェントの新卒研修で「100分で学ぶ サイバーエージェントのデータベース活用事例とMySQLパフォーマンス調査」という研修を実施した話と、その内容について簡単に紹介しています。 例年の新卒技術研修について サイバーエージェントでは毎年、新卒のエンジニア全員を対象にした技術研修が実施されており、 セキュリティ研修やAWSなどのクラウド実習、ハッカソン形式のチーム開発研修 などの研修が実施されています。 しかし、データベースに関する内容は新卒のエンジニア全員を対象にした研修では実施されておらず、各部署(子
はじめに Vibe Coding × 従量課金制APIの肌感覚に誤りがあったので、正しい感覚を共有するために書く。Amazon Bedrock Prompt cachingが高いという話ではないです。 Vibe Coding Vibe Coding自体がバズワード気味なので、認識が合うか自信がないのだが、”DevinやCline/Claude CodeでAIがサジェストした仕組みを最大限尊重してプロダクト/システムを作成する開発方式”だと私は思ってやっている。 余談だが、これまでは全然Vibe Codingできていなかった(下記資料) Claude CodeでのVibe Coding 公式を参考にInstall。
楽天証券のユーザーを狙ったフィッシングメールが話題になっています。楽天証券の公式 X アカウントから注意喚起が行われているほか、NHK ニュースでも報道されました。 【⚠️重要】楽天証券を装う不審な電子メールにご注意ください 【⚠️重要】楽天証券を装う不審な電子メールにご注意ください 直近、楽天証券を装う不審な電子メールを経由した不正取引被害が増加しております。… pic.twitter.com/mg8zvYXgOe— 楽天証券 (@RakutenSec) 2025年3月21日 楽天証券 偽メールで個人情報抜き取り被害相次ぐ 注意呼びかけ www3.nhk.or.jp この注意喚起を見ると、興味深い点があります。送信元のメールアドレスとして、「自治体名を含む」ドメインが利用されているというのです。実際に、[email protected] というメールアドレスが使われているほか、kagos
何十年も向き合ってきて、今でも何度も読み直す本がある。辛いとき・キツいとき「あの棚にあの本がある」と思い浮かべるだけで励みになる本がある。もし出会わなかったら、今の私は無かったと断言できる本がある。ガチガチの価値観を更新し、アンパンマンの頭のように「私」を取り換えてしまった本がある。 おそらく数十冊、多くても百冊ぐらいの、そんな本を、エッセンシャルブックと呼んでいる。沢山の本をとっかえひっかえ読んだり、新刊本をブックハンティングするのは、そんな本と出会うためだと思ってきた。 だが、そろそろ振り返って、積読山と向き合わねばならぬ。 理由は2つある。 ひとつは、量こそ遥かに多いけど、クズみたいな本が大量にある書店よりは、年月をかけて賽の河原のように積んできた山の方が、「あたり」を引く確率が高いこと。 もう一つは、残りの人生ぜんぶ費やしても、この山を読みつくせないことは明白であるばかりか、この山
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く