外部サービスと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を試してみました。 非常にシンプル&短めのコードですので、…

巷で話題のopen-interpreterを触ってみた

SO Technologiesの渡部です。 ここ1週間ぐらいでopen-interpreterという、ChatGPT(or Code Llama)を使って ChatGPTのコードインタープリターのようなものをローカルで動作させる、というツールが話題になりました。 わたしはChatGPTのコードインタープリタ…

社内Demo Dayを開催しました! ~新機能の共有からパネルディスカッションまで~

AG-Boost開発部の後藤です。最近、当社では社内向けのDemo Dayを初めて実施しました! 今回はその概要や実施内容、感想などをお伝えいたします。 Demo Dayとは? Googleが開始したというDemo Day。これは、スタートアップが投資家や業界のリーダーの前で自ら…

ogenでOpenAPI定義からGoのAPIサーバ基盤コードを自動生成する

ATOM開発チームの上野です。 普段はGo言語を使ってAPIサーバやバッチ処理機構の実装などを担当しています。 今回はATOMのプロジェクトでAPIサーバのコード生成に新しく導入した ogen というパッケージをご紹介します。 GoでOpenAPI定義からAPIハンドラなどの…

期間限定プロジェクトで開発とCSの連携フローの改善を行ってみた

デザイナー、ポニーテールのponyです。 2023年5月から7月にかけて、3ヶ月限定のプロジェクトを発足し、開発とCSの連携フローの改善を行いました。 このプロジェクトは珍しい取り組みだと感じたので、どんなメンバーでどのように進めたのかについて、この記事…

エンジニアが語学留学に行ってきました!

こんにちは、ATOM事業本部のプロダクト開発グループの松尾です。広告媒体からのデータ取得処理や集計前の加工処理などを中心にバックエンドエンジニアとして開発を行ってきました。 最近は新規の媒体追加対応を行なっています。 今年の春にマルタ共和国に短…

【React】AG-Boostで開発しているプロダクトでお世話になっているライブラリの紹介

こんにちは。AG-Boost事業部開発部の宇野です。現在開発しているプロダクト(社内のデータを管理出来るツール)があるのですが、そのプロダクトのフロントエンドはJavaScript(React)で開発を行っています。 開発を行っていく上で様々なライブラリを使用する…

MySQL の InnoDB をオンメモリで使ってみる

こんにちは。 ATOM事業部の田村です。 今回は、MySQL の高速化の手段として、InnoDB エンジンをオンメモリで使った場合のパフォーマンスについて調査してみました。 はじめに MySQL には InnoDB エンジンだけではなく、他にもいくつものストレージエンジンが…

Google Cloud Platform の Dataform を使ってみた

はじめに こんにちは。 2023年6月までデータ戦略室でDBエンジニアとして所属していて、 7月からライクル事業部に異動になりました小宮です。 以前所属していたデータ戦略室ではデータを加工するTransformツールとしてdbtを使っていました。 今回はGCP(Googl…

AWS SES+SNSによるNotification受け取りをGolangで実装する

こんにちは。ATOM事業部エンジニアのyuinaです。 以前Amazon SESを利用した機能実装を行った記事を書いたのですが、一緒に利用したAmazonSNSについて書いていなかったなと思い出したので書いていこうと思います。 AmazonSESとAmazonSNSを組み合わせたバウン…