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

はじめに こんにちは、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 のバックエンド周りを見守っています。 趣味はボルダリングで、毎週、そびえ立つ壁に挑戦しています。…

macOS独自コマンドの紹介

CTO室所属のnyanと申します。日本語版のMac OSが漢字Talk 7という謎の名称で呼ばれていた頃からのmacユーザです。 現在のmacOSはBSD UNIXをベースとするオペレーティングシステムであり、同じ名前のコマンドでもGNU由来のLinuxのものとは異なる点があります…

MUIのDataGridを使ってみた

こんにちは、AG-Boost事業本部の大塚です。 今回は、MUI(Material-UI)のDataGridについて紹介します。 チームのフロント開発では、以前までCore UIやSemantic UIを使っていましたが、最近はMUIを使う方向にシフトしています。 MUIの理解を深めるために、Da…

AWS JumpStart 2024 for NewGradsに参加しました!

こんにちは、ATOM事業本部の古川です。 今回、5月21日と22日の二日間で行われたAWS主催のAWS JumpStart 2024 for NewGradsというイベントに、弊社から馬場、廣瀬とともに3名で参加して来ました。 本ブログではそのイベントで体験してきたことや学んだこと、…

LLMをよりパワーアップさせるツール: Langfuseの使い方

はじめに こんにちは、数ヶ月ほど前からCTO室に異動した伊藤です。 今回はLangfuseを用いたLLMアプリケーションのモニタリングについて紹介いたします。 Langfuseとは Langfuseは、LLMアプリケーションの開発者がトレースや評価、プロンプト管理、メトリクス…

Gemini Advanced vs ChatGPT4: コード生成(Go言語)比較

こんにちは ATOM事業部エンジニアの渡部です。 昨今OpenAIのみならず、色々な企業からLLM(Large Language Models 大規模言語モデル)がでて面白い状況が続いていますね。 そんな中、去年の年末あたりで色々話題になりました「Gemini Advanced」を実際に契約し…

外部サービスとAPI連携する時のTips

こんにちは。バックエンドエンジニアの上野です。 近年、どんどん便利に進化し続けているWebサービスは AWS,GCPなどを含む外部プラットフォームとの連携が必須になっています。 僕が開発を担当しているATOMというサービスでも数多くの外部サービスと連動して…

育休取得を2ヶ月取得したエンジニアの日記

こんにちは。ATOM事業部の下江です。 昨年秋に育児休業を取得しました。 実際に取得してみてどうだったのか、ご共有できればと思います。 育休取得期間の決定 子供が一人目ということ、義母が1ヶ月休みを取ってヘルプしてくれることを考慮し、 出産予定日の1…

Googleのメール送信者のガイドラインへの対応〜ATOMの場合

こんにちは。ATOM 事業部エンジニアのyuinaです。 2023 年 10 月 3 日、Google はスパム対策強化のため、Gmail へ送るメールが満たすべき条件を 2024 年 2 月から厳しくすると発表しました。 support.google.com Google からのガイドラインの公開もあり、各…

Reactの状態管理を簡単にする@tanstack/react-queryについて

はじめに こんにちは。AG-Boost事業本部の宇野です。 現在チームで開発しているサービスはReactを採用しており、状態管理ライブラリはReduxを使用しています。私は今までRedux以外の状態管理ライブラリを触ったことがありません。Redux以外の状態管理ライブ…

ビルドシステム大転換!webpackからViteへの移行実践記

はじめに こんにちは。AG-Boost事業本部のF石崎です。 この記事では、従来webpackを使用していたプロジェクトのビルドシステムをViteに置き換えた過程について書こうと思います。この記事が、同様の転換を検討しているエンジニアの方への参考になれば幸いか…

既存の業務ツールやサービスの使い方について見直してみた

こんにちは、ATOM事業本部のプロダクト開発グループの松尾です。バックエンドを中心に開発を行なっています。 広告媒体の実績値取得やレポートの生成などを中心に開発しています。 先日、社内PCのリース期間が近づいてきたとのお知らせが来ました。 新しいモ…

MySQL 5.7 と 8.0 で日時型の挙動が微妙に違っていた件

こんにちは。 ATOM事業部の田村です。 最近 MySQL 5.7 から 8.0 へのバージョンアップを行う機会があったのですが、 その際に MySQL の日時データ型でちょっと面白い挙動に遭遇しました。 「WHERE 句で日時型カラムに条件を入れて期間で絞り込む」というよく…

戦略から実践へ。データエンジニアが事業部異動で見えたこと

はじめに こんにちは。 ATOM事業部でデータエンジニアをしている小宮です。 2023年6月までは事業部横断のデータ部署(以下データ戦略室)にいたのですが、 色々あって弊社SaaSのATOM事業部専任でデータを扱うことになりました。 異動後の約半年間で、 データ…

Adobe製品で画像制作:AI機能を使った新しい創造の世界へ

デザイナーの村田です。 2024年のデザイントレンドを調べてみると、サイトの多くに「生成AIの活用」というキーワードが含まれていました。 rotusdesign.com 社内でアーティスティックな画像を生成して使う機会はないので、あくまでも補助的な役割で今後使っ…

冬休みの自由工作(?)にDiscordBotを作ってみた

こんにちは。ATOM 事業部エンジニアのyuinaです。 新年一発目のブログということで、あけましておめでとうございます。本年もよろしくお願いいたします。 今回は、年末の自由工作的な感じで Discord の Bot を作ってみたのですが、 思ったよりも簡単に作れた…

1年近くひっそりと技術トピックス会なる会を開いている話

はじめに エンジニアの石崎です。 私主催で技術トピックス会という会をひっそりと社内で開催しています。 もうすぐ継続して1年が経つのでこの会について紹介したいと思います。 どんな会? 新しく知った技術や、最近話題になっている技術について、情報を持…

2023年の外部勉強会での発表記録

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

AIファーストエディタ「Cursor」で大規模フロントエンド開発

本記事ではAIファーストエディタCursorが、Vue(Nuxt)を使った大規模なWEBアプリの開発現場で活用できるか検証します。

失敗パターンから学ぶ、エンジニア新卒採用面接で押さえるポイント

AG-Boost事業部で開発責任者をしている清水です。 以前学生の方向けに採用担当者目線での新卒エンジニア面接についての記事を書かせていただきました。 この3年間ほどエンジニアの新卒面接に携わらせていただき更に知見が増えたのでそのアップデート記事とし…

Raspberry PiでOpenStackクラスター GitHub Actionsでデプロイ編

こんにちは、SREの平です。前回の 『Raspberry PiでOpenStackクラスター ストレージ拡張編』 ( https://developer.so-tech.co.jp/entry/2023/04/19/110000 ) の続編となります。 私の趣味であるOpenStackクラスターの作成方法を、初めての方向けにご説明させ…

Notionの検索性をあげるために行っているシンプルな方法

はじめに こんにちは。CTO室で全社横断のアジャイルコーチとして働いている府川です。 今回はNotionでのちょっとした便利DBをいくつか紹介したいと思います。Notionの運用は閃きと行動次第なところがあるので、普段Notionを使っていて管理方法がしっくりこな…

Next.jsのApp Routerが提供する4つのキャッシュ機能

こんにちは。 新規プロダクト開発に携わっているエンジニアの島田です。 今年2023年の5月にNext.js 13.4がリリースされました。このリリースで、これまでのアーキテクチャ (今ではPages Routerと呼ばれるようになりました) を大幅に刷新した、App Routerが安…

バックエンドエンジニアにお勧めしたいフロントエンドフレームワークSvelte

ATOM開発チームのバックエンドエンジニア、にゃんと申します。 現在のWebアプリケーション開発ではバックエンドとフロントエンドで職種が別れているのが一般的になってきましたが、バックエンドエンジニアだからと言ってフロントの知識が不要というわけでは…

パズルを解きながら、Reactのメモ化を理解する

こんにちは。 AG-Boost事業本部の大塚です。 最近、自社ツールのもっさり感を解消するためパフォーマンス改善を行いました。 フロントでは、キャッシュ化による不要な再計算・再レンダリングを抑えることが重要です。 この記事では、メモ化で頻出のReact.mem…

Artifact Registry で private npm パッケージを管理する

こんにちは、CTO室の丸山と申します。普段は某CTOからの無茶振りをさばいたりしています。 今回は、いま開発に携わっているプロダクトにおいて、フロントエンド用のライブラリの管理方法について少し調査したことを共有したいと思います。 概要 最近のアプリ…

LlamaIndexでサクッとSlackの情報をベースに回答させてみる

はじめまして こんにちは、データ戦略室の伊藤です。最近はデータ基盤の保守や改修を中心に担当しています。 今回はタイトルの通り、ChatGPT等のLLMを外部データと接続することができるLlamaIndexを試してみました。 非常にシンプル&短めのコードですので、…