セキュリティアップデートは忘れたころにやって来る | docker 25 の tmpfs のデフォルトパーミッションが変わった件

こんにちは。 ATOM事業部の田村です。 今回はセキュリティアップデートによる予想外の障害に巻き込まれた件について書いてみました。 概要 今回障害があったシステムは、AWS 上で動いています。 オートスケーリングしていて、システム負荷によって動的に EC2…

GolangでCSV集計スクリプトを作るならQFrameが便利だった話

こんにちは。 CTO 室の yuina です。 引き続き某CTOからの無茶振りを捌いております。 直近Pythonでの開発が多く、久々にGolangを触ったところ、便利なライブラリを見つけたので、ご紹介します。 なぜGolangを触ることになったかというと、今回の開発の要件…

人とAIの共創で進化するフロントエンド開発(Claude/Codex/v0)

Claude Code / Codex / v0などの生成AIツールを活用し、要件定義、設計、コーディングまでAIと共創するフロントエンド開発の実践例を紹介します。

AWS Summit 2025参加ログ

こんにちは! PB開発チームの25新卒、井上健人と申します。 6月25日・26日に幕張メッセで開催された、AWS Summit 2025に参加しましたので、記録を残したいと思います。 はじめに AWS Summitへの参加は今年が初めてでした。 参加動機は開発プロダクトでAWSを…

ClickHouse MCP を触ってみた

こんにちは。SREの平です。今回は自然言語で ClickHouse を操作できる MCP を触ってみました。 これは、LLM(今回は Claude)と ClickHouse をつなぐインターフェースであり、SQLを知らないユーザーでも自然言語でデータベースを操作できるのが特徴です。 本…

GCP WorkflowsでCloud Run Jobを依存付き並列実行してみた

こんにちは。 CTO 室の yuina です。 引き続き某 CTO からの無茶振りを捌いております。 今回 GCP の Workflows を使って、複数の Cloud Run の job に対し、依存関係を作りながら実装をしたので、備忘録として残しておきます。 GCPのWorkflowsとは GCP の W…

GitHub CLI(gh)で快適にGitHubを操作する

こんにちは、ATOM事業本部の古川です。 私はもともとGit操作はCLIツールで、GitHub操作はブラウザで行っており、このGitとGitHubのツールの切り替えに不便さを感じていました。 しかし、少し前にGitHub公式のCLIツールghが公開され、このツールを使うように…

auth0-deploy-cliとGithub ActionsでAuth0の設定が変わったことを手軽に検知する仕組み

こんにちは。CTO室の丸山です。某CTOからの無茶振りを捌いて初めて一人前と認めてもらえる(?)当CTO室ですが、気がつけば某CTO自身がもっとエラい人たちに無茶振りされてひぃひぃ言っております。 今回は某SaaSサービスの認証基盤として利用しているAuth0…

RAG・AIエージェント開発におけるAWSとGoogleCloudのサービスについて

はじめに こんにちは、CTO室の伊藤です。 近年生成AIが注目を集める中、大手クラウドサービスであるGoogle CloudとAWSはそれぞれ独自の生成AIプラットフォームを提供しています。 本記事では、両プラットフォームにおけるサービスについて、特にRAGシステム…

インターネット環境なしでAIコーディング支援(NeoVim + llama.cpp)

こんにちは ATOM 事業本部のエンジニアの渡部です。 最近ローカル環境でgemma2やllama等のLLMを動かして実際に活用してみたのですが 結構実用レベルの性能が出ましてとても感動しました。 そこで「普段使用しているNeoVimと連携させてAIコーディングしたら更…

TiDB の SQL Parser を使用して CSV ファイルの不備を検知する仕組み

はじめに こんにちは、ATOM 事業本部のエンジニアの岸田 (@mwudo) です。 集計基盤の機能開発や保守、API サーバー、バッチ処理などを担当しており、ATOM のバックエンド周りを見守っています。 趣味はボルダリングで、毎週、そびえ立つ壁に挑戦しています。…

Goでダミーデータを作成するなら gofakeit を使おう

こんにちは。ATOM開発チームの上野です。 ATOMには、お客様の広告アカウントの実績データをBigQueryに連携する機能があります。 この機能をお客様に紹介するため、サンプルとなるデータセットを構築する必要がありました。 そこで、ランダムなデータを簡単に…

広告代理店向けSaaS『ATOM』のサポート力を3つの事例で紹介

1. はじめに こんにちは、下江と申します。私は広告代理店向けの業務を支援するサービス「ATOM」のテクニカルサポートエンジニアを担当しています。 本記事では、エンジニア目線から見たATOMのサポートとして何を行っているのかを、実際の事例とあわせてご紹…

OrbStack を使ってみました!

こんにちは、ATOM事業本部のプロダクト開発グループの松尾です。バックエンドを中心に開発を行なっています。 広告媒体の実績値取得やレポートの生成などを中心に開発しています。 最近、日常的に使用していたDocker Desktopが突然起動しなくなるという問題…

ReactのアニメーションライブラリFramer Motionを触ってみた

こんにちは、パートナービジネス事業部の宇野です。 今回は、ReactのアニメーションライブラリFramer Motionというライブラリが気になったので触ってみた感想を書いていこうと思います。 アニメーションは、適切に使用することでユーザーが次に何をすれば良…

その画像どうやって作ってるの? AI生成ツールを活用した制作過程を紹介します!

最近は業務内でAI生成ツールを活用する機会が増えており、そのおかげで今までになかった表現の実現や、業務工数の削減もできています。 今回は、プレスリリースに使用された画像を例に、AIを活用した制作過程をご紹介したいと思います。

【GORM】タイムスタンプが自動更新されなくて困った話

はじめに こんにちは、ATOM開発グループの廣瀬七海です。 24新卒として入社し、バックエンドエンジニアとして働いております。 ATOMプロジェクトではGo言語を用いて開発を行っており、ORMとしてGORMを採用しています。 今回は、更新処理を実行する際にタイム…

大学を六年間も通ったエンジニアが就活で最高な会社に入れた話

■ はじめに 初めまして、24卒として今年からSOTに入社しました馬場です。 現在は、ATOM事業部で、広告代理店を救うプロダクトを作るエンジニアをしております。 今回、自分にとって最高な会社に入社するまでの紆余曲折を今世に残し、 就活に悩んでいる人が、…

突撃!隣のキーボード 2024

こんにちは。 CTO室のyuinaです。 4月からCTO室に異動し、某CTOからの無茶振りを捌いています。 いろいろな会社のテックブログで「突撃!隣のキーボード」を見かけ、SO Technologies版もやってみようと思います。 テックブログなので、本来ならば開発に携わ…

Reactの初回レンダリングのコストを下げるために行ったこと

エンジニアの石崎です。 今回は、Reactの初回レンダリングのコストを下げる方法についてお話しします。 私が開発しているプロダクトでは、大量のレコードを含む表のレンダリングに時間がかかっていました。 特に初回マウント時に顕著だったため、その対策に…

フロントエンドのパフォーマンス改善:Web WorkerとWebAssemblyの効果測定

本記事ではフロントエンドの重たい処理をWeb WorkerやWebAssemblyを用いてどのように改善できるかを検証し、その効果を測定しました。サンプルはNext.js, Rustで作成しました。

生成AIでサーバーに耳を傾けてみた

■ はじめに こんにちは。SREの平です。今回はたくさんのログからサーバーがもしもなにか危ない状態だったら通知してくれるような状態を作ってみました。 概要としては、自宅の余っているGPU(NVIDIA GeForce RTX 2060 6GB)を使い、ローカルLLMを立ち上げて、…

ReactでGTMとGA4を使ってみた

はじめに こんにちは、AG-Boost事業部でエンジニアとして内定者バイトをしている井上健人です。 この度、AG-Boostの事業部内管理画面(以下、管理画面)に分析用のGTMを埋め込む機会があり、 試行錯誤しつつ0から勉強しましたので、ご紹介しつつ、自分の備忘…

今さらCloudFlare Pagesの手軽さに感動した話

1. CloudFlareとは みなさん、こんにちは。パートナービジネス(AG-Boost)事業部でエンジニアの清水です。 今日はCloudFlareに興味があり使ってみたところAWSとの違いに感動したのでそのことについて書きます。 CloudFlareは、ウェブサイトをより速く、安全…

AIが1on1の相棒に!NotebookLMで深まるコーチング

はじめに こんにちは。CTO室でアジャイルコーチとして働いている府川です。 今回は、私が最近ハマっている「NotebookLM」を1on1のアドバイザーとして活用する方法を共有します。NotebookLMは、ブラウザ上で動作するAIツールであり、独自のデータを学習させる…

Web アプリケーションにおける文字の扱い

こんにちは。 新規プロダクト開発に携わっているエンジニアの島田です。 私は社会人大学生として放送大学で情報工学の勉強をしておりまして、直近受けた授業では、データ構造やアルゴリズム、データの符号化といったものが扱われていました。中でも文字列に…

リアーキテクチャにおけるアンチパターンへの向き合い方と次なる挑戦というイベントで登壇しました

はじめに こんにちは、ATOM 事業本部のエンジニアの岸田 (@mwudo) です。 集計基盤の機能開発や保守、API サーバー、バッチ処理などを担当しており、ATOM のバックエンド周りを見守っています。 趣味はボルダリングで、最近肩関節のインナーマッスルが弱いこ…

Github Actionsによる継続的デリバリーの構築

CTO室所属の高橋と申します。皆からはニャンさんと呼ばれております。そして私は特に無茶振りはされていません。 さて、developブランチに変更が入ったらdev環境にリリース、mainブランチに変更が入ったら本番環境にリリースを行う仕組み、いわゆる継続的デ…

データベースのER図を最新の状態に保ちつつ、いつでも閲覧できるようにした

Github Actions と AppEngine Standard環境 と Identity-Aware Proxy を組み合わせて、ER図を最新状態に保ちながらいつでも閲覧できるようにしたことを紹介します。

Go Conference 2024 の LT 枠で発表を行いました!

はじめに こんにちは、ATOM 事業本部のエンジニアの岸田 (@mwudo) です。 集計基盤の機能開発や保守、API サーバー、バッチ処理などを担当しており、ATOM のバックエンド周りを見守っています。 趣味はボルダリングで、毎週、そびえ立つ壁に挑戦しています。…