every Tech Blog

株式会社エブリーのTech Blogです。

DELISH KITCHEN のレシピレコメンドの立ち上げとこれから

この記事は every Tech Blog Advent Calendar 2023 の 20 日目です。 こんにちは。 開発本部のデータ&AIチームでデータサイエンティストをしている古濵です。 今回は、最近私が取り組んでいるDELISH KITCHENのレコメンドの立ち上げとこれからに向けてのお話…

ネットスーパーアプリにおける GraphQL Mesh を利用した Gateway Server について

はじめに DELISH KITCHEN 開発部で小売向き合いの開発をしている池です。 この記事は every Tech Blog Advent Calendar 2023 の 19 日目です。 本記事では、弊社が提供しているネットスーパーアプリにおける、GraphQL Mesh を利用した GraphQL Gateway Serve…

トモニテ相談室におけるTwilioを用いた電話の仕組み

お久しぶりです,トモニテ開発部でSoftware Engineer(SE)をしている鈴木です. every Tech Blog Advent Calendar 2023 の18日目を担当する事になりましたので,鈴木が関わっているトモニテの新規事業についてお話させていただきます. はじめに トモニテ相談…

View をソフトウェアキーボードに追従させる

はじめに この記事は every Tech Blog Advent Calendar 2023 の17日目の記事です。 先日 DELISH KITCHEN アプリにライブ配信機能が追加されました。 開発をはじめてから2ヶ月弱を経て、ついにリリースです。 今回はライブ配信画面の UI でソフトウェアキーボ…

Android でのバーコードリーダー実装について

はじめに この記事は every Tech Blog Advent Calendar 2023 の 16 日目です。 12 月もいよいよ後半となりました。 今回は Android で簡単にバーコードリーダーを実装する方法を紹介したいと思います。 一昔前ですと、バーコードをスキャンするライブラリと…

トモニテの Amazon Aurora を MySQL 5.7 から 8.0 へアップグレードした話

はじめに 子育てメディア「トモニテ」でバックエンドやフロントエンドの設計・開発を担当している桝村です。 この記事は「every Tech Blog Advent Calendar 2023」 の 15 日目の記事です。 tech.every.tv 私たちは 2023 年 6 月にシステムメンテナンスを実施…

iOSでGraphQLを使ってみた

iOS

title この記事は every Tech Blog Advent Calendar 2023 の 14 日目です。 DELISH KITCHEN iOSアプリの開発を担当しています久保です。 開発中のアプリでGraphQLを利用する機会があったので、導入と利用方法についてご紹介します。 なお、GraphQLについての…

Retrieval-Augmented Generationを使ってコードの解説を生成してみる

はじめに こんにちは。 株式会社エブリーの開発本部データ&AIチーム(DAI)でデータエンジニアをしている吉田です。 この記事は every Tech Blog Advent Calendar の13日目の記事になります。 今回は、社内ChatApp向けに作成した、RAG(Retrieval-Augmented Gen…

OpenAI Assistants APIを使って分析用SQLを生成してみる

こんにちは。開発本部のデータ&AIチームでマネージャー兼データサイエンティストをしている伊藤です。 この記事は every Tech Blog Advent Calendar 12日目の記事です。 今回は、先日発表されたOpenAI Assistants APIを使って分析用のSQLの生成を試してみた…

全社イベント"挑戦week"を実施/運営した所感

この記事は every Tech Blog Advent Calendar 2023 の11日目です。 こんにちは。トモニテ開発部iOS担当兼、開発組織活性化委員会リーダーを勤めている國吉です。 今回はエブリーで初の試みとなる開発部全体イベント”挑戦week”を開催/運営してみての所感を書…

RDS踏み台サーバをよく見かけるECS Fargate+PortForward+Adhocな機構に変更する

概要 この記事は every Tech Blog Advent Calendar 2023 の10日目です。 TIMELINE開発部の内原です。 本日はTIMELINE開発部で利用しているAWS RDSへの踏み台サーバの構成を、ECS Fargate+PortForward+Adhocな機構に変更した話を書きます。 似たような記事は…

Go 1.22で追加予定のrange over intと、GOEXPERIMENT入り予定のrange over funcを触ってみる

目次 はじめに range over int range over intとは range over intをGo Playgroundで触ってみる range over intを用いる利点 よくあるfor文が簡潔になる リーディングコストが軽減される range over func range over funcとは range over funcをGo Playgroun…

SPMでマルチモジュール/マルチターゲット開発

はじめに この記事は every Tech Blog Advent Calendar 2023 の 8 日目です。 トモニテのiOSアプリは今年、トモニテ妊娠アプリの開発を期にSPMを用いたマルチモジュール構成に移行しました。 これらのアプリにはアカウント管理やデザインシステムなど共通部…

ゼロからはじめるシステム引き継ぎ

はじめに 目指す状態と現状のギャップを考える 足りない情報を要求・整理 コミュニケーションツール、ドキュメンテーションツールの重要性 契約上の引き継ぎ時点を迎えての作業 Git リポジトリの移管 クラウドベンダー、ドメインレジストラなど各種契約の移…

DI toolkit samber/do の紹介

はじめに この記事は every Tech Blog Advent Calendar 2023 の 6 日目です。 今回は「DI toolkit samber/do の紹介」と題しまして、samber/do のざっくりとした紹介と、今後リリースされるであろう次期バージョンでの変更点についてまとめていきます。 samb…

新たなチームメンバへの贈り物

こんにちは、トモニテ開発部の Android エンジニアです。 この記事は every Tech Blog Advent Calendar 2023 の 5 日目です。 最近、 Android エンジニアに新たなメンバが増えました。 こんなこともあろうかと作っておいた贈り物としてドキュメントがありま…

Playwrightを活用したE2Eテストの導入

Playwrightを活用したE2Eテストの導入 はじめに 想定読者 ハンズオンの前提条件 この記事で得られるもの 実行環境 Playwrightを活用したE2Eテストの導入 Playwrightとは Playwrightの特徴的な機能 Test generator UI Mode Watch mode 定義したアクションごと…

GitHub Packagesを利用したnpmパッケージの社内利用

every Tech Blog Advent Calendar 3日目の記事になります! こんにちは 開発本部データ&AIチームでデータエンジニアを担当している塚田です。 今回は、挑戦WEEK中にGitHub Packagesを利用したnpmパッケージの社内利用を行いましたのでその内容についてご紹介…

はじめてのシステムメンテナンスをする君へ

はじめてのシステムメンテナンスをする君へ はじめに 主にインフラ周りや時折バックエンドでGoを書いているyoshikenです。 この記事はevery Tech Blog Advent Calendar 2023の2日目の記事となります。 昨日の記事は「Next.js + Go + AWS API Gateway で WebS…

Next.js + Go + AWS API Gateway で WebSocket API を使って API サーバーからフロントエンドに通知を送る

Next.js + Go + AWS API Gateway で WebSocket API を使って API サーバーからフロントエンドに通知を送る はじめに こんにちは トモニテ でバックエンド周りの開発を行っている rymiyamoto です。 エブリーとして初の試みとなる Tech Blog Advent Calendar …

IBIS2023に参加しました

こんにちは。2023/10/29~11/1に開催された統計・機械学習系の学会、第26回情報論的学習理論ワークショップ(IBIS2023)に、弊社データサイエンティストチームでオンライン参加してきました。 チュートリアルや企画セッションでは、2023年の開催ということもあ…

every Tech Blog Advent Calendar 2023 開催のお知らせ

はじめに こんにちは、retail HUBで Software Engineer をしているほんだです。 早いもので 2023 年も残り一ヶ月程度となりました。12 月といえばみなさんお待ちかねのクリスマスということで 12/1 から 12/25 を盛り上げるためにエブリー初の Tech Blog Adv…

複数クライアント向けアプリのカスタマイズのつらみと向き合う

はじめに DELISH KITCHEN 開発部で小売向き合いの開発に携わっている野口です。主に Flutter でのアプリ開発を担当しています。 弊社では retail HUB という小売向けのサービスを行っています https://biz.delishkitchen.tv/retailhub 今回は弊社で開発して…

ECSとALBでのカナリアリリース

はじめに エブリーでソフトウェアエンジニアをしている本丸です。 DELISH KITCHENでカナリアリリースの仕組みを作成したので、今回はそのことについて紹介させていただこうかと思います。 カナリアリリースとは カナリアリリースとは、一度に全体に公開する…

エブリーの内定者インターンで学んだこと

はじめに はじめまして。2023年6月からエブリーのDELISH KITCHEN開発部 ユーザーグロースチームで内定者インターンをしている新谷です。 DELISH KITCHENは、「だれでもおいしく簡単に作れるレシピ」を毎日配信するレシピ動画メディアです。食のプロが提案す…

トモニテのサービス名称変更に伴う差し替え作業の裏側のお話

初めまして。 2023年4月から新卒エンジニアとして子育てメディア「トモニテ」の開発チームにジョインして、バックエンドやフロントエンドの設計・開発に携わっているktanonymousです。 2023年8月1日、MAMADAYSはトモニテとして生まれ変わりました。 多様性が…

ヒープ使用量を改善するGoのデータ構造との上手な付き合い方

エンジニアブログタイトル はじめに いきさつ #1:mapをmake関数で作成するとき第2引数sizeを渡す やったこと 解説 #2:(可能なら)mapをsliceで代用する やったこと 解説 補足 おわりに はじめに 株式会社エブリーでDELISH KITCHEN事業のバックエンド…

ビジネスサイドにChatGPTの利用を習慣づけられるといいなーと思ってる話

はじめまして、データ&AIチームのoyabuです。データストラテジストというデータアナリストみたいな仕事をしてます 具体的には「DELISH KITCHEN」アプリのデータを抽出、分析して食品メーカーなどのクライアントさまの施策や提案にご活用頂く仕事をしています…

AWS Elemental MediaConvertを使ってレシピ動画のサムネイルを作成する

初めまして、DELISH KITCHEN 開発部の吉田と申します。この記事ではAWS Elemental MediaConvertを使ってレシピ動画のサムネイルを作成した方法を紹介します。 サムネイル作成の背景 DELISH KITCHEN はレシピを動画でわかりやすく基本的な料理からアレンジま…

Next.js を用いたマルチテナント・マルチサービス開発

はじめに はじめまして、2023 年 4 月から新卒入社しretail HUBで Software Engineer をしているほんだ(@hon_d7174)です。Go が好きです! 現在、私たちは Next.js を使用して新規プロダクトを開発しています。このブログでは、私たちが取り組んでいるプロジ…