every Tech Blog

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

ビジネスサイドに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 を使用して新規プロダクトを開発しています。このブログでは、私たちが取り組んでいるプロジ…

「挑戦」と「挑戦WEEK」

エブリーでCTOをしている imakei です。 エブリーでは定期的にCEOの吉田からスローガンが掲げられます。 今期のスローガンは 「挑戦」でした。 CEOのプレゼンから拝借 (※一部社内向けの内容があるので消してます) この記事では、開発部・エンジニアにとって…

Open Interpreterの実装を深掘り

はじめまして。株式会社エブリーの開発本部のデータ&AIチームでデータサイエンティストをしている古濵です。 最近話題のOpen Interpreterについて、実装の中身を追ったので簡単な解説と所感についてまとめました。 Open Interpreter Open Interpreterとは、L…

Flutter のパフォーマンス改善事例紹介

はじめに こんにちは。DELISH KITCHEN 開発部で小売向き合いの開発をしている池です。 弊社では小売事業者が自社ネットスーパーアプリをスピード導入できるプラットフォームを提供しています。 https://biz.delishkitchen.tv/retailhub ネットスーパーアプリ…

Next.jsのPages RouterからApp Routerへの移行に挑戦してみた

初めまして,トモニテ開発部でSoftware Engineer(SE)をしている鈴木です. SEチームはAPI開発からそのAPIを利用したweb開発まで幅広い領域を担当しており,トモニテ開発部のweb開発には Next.js を採用しています. また,エブリーの開発部では定期的に挑戦w…

DELISH KITCHEN の Android アプリに記事を追加した話

DELISH KITCHEN はレシピを動画でわかりやすく基本的な料理からアレンジまで様々なレシピを公開しています。 実はレシピ動画以外にも、季節にそったおすすめレシピ、素材についての解説、料理に役立つ情報などが記事にまとめられ公開されています。ご存知で…

iOSのヘルスケアアプリ連携について

iOS

はじめに iOSにはデフォルトで「ヘルスケア」というアプリが存在することをご存知でしょうか。 弊社のDELISH KITCHENアプリでは昨年ヘルスケアという新機能をリリースしましたが、日々改修を重ねていく中でヘルスケアアプリにも着目し、色々と調査を行いまし…

Pyroscope の Continuous Profiling により Go サーバーのメモリリークを調査・改善した話

はじめに 子育てメディア「トモニテ」でバックエンドやフロントエンドの設計・開発を担当している桝村です。 2023年8月1日、MAMADAYSはトモニテに生まれかわりました。 tomonite.com アプリのメイン機能である「育児記録」「妊娠週数管理」「食材リスト」を…

Xcode Cloudを活用してDELISH KITCHEN iOSのCI/CD環境を更新しました

iOS

はじめに DELISH KITCHENで主にiOSの開発やマネジメントを担当している久保です。 以前、DELISH KITCHEN iOSアプリ開発のCI環境についてという記事でCI環境を紹介しました。 今回は、Xcode Cloudの導入経緯とCI/CD環境の変化についてご紹介します。 Xcode Cl…

Google CloudのData Analytics Workshopに参加してきました!

Google CloudのData Analytics Workshopに参加してきました! こんにちは。 株式会社エブリーの開発本部データ&AIチーム(DAI)でデータエンジニアをしている吉田です。 今回は、先日参加したGoogle CloudのData Analytics Workshopについて紹介します。 はじめ…

エブリーのデータ組織の取り組み紹介

はじめまして。株式会社エブリーの開発本部のデータ&AIチームでマネージャー兼データサイエンティストをしている伊藤です。 今回は、エブリーのデータ組織が普段どういった取り組みを行なっているかを、簡単にご紹介したいと思います。 エブリーについて 株…

iOS17で追加されたTipKitに触れてみる

iOS

こんにちは。トモニテでiOSアプリを開発している國吉です。 トモニテではサテライトを含め、複数のアプリをリリースしています。それぞれアプリのリリースが終えてからグロースするために改善/運用を行っていますが、N1インタビュー等でユーザーの声を聞いて…

マルチテナントな SaaS プロダクトを作り始めている話

背景 DELISH KITCHEN 開発部で小売向き合いの開発に携わっている大村 (@kosukeohmura) といいます。 エブリーでは リテールメディアの構築・提供を通して小売様を支援していく 構想を掲げており、retail HUB という枠組みでいくつかの SaaS プロダクトを開発…

Conveyを利用したGo test時にDuplicate entryが出たのでなんとかする

概要 TIMELINE開発部の内原です。 株式会社エブリーでは、バックエンド系ソフトウェアをGo言語で記述することが多いです。また、作成したプログラムについては、go testコマンドを用いてテストを記述するようにしています。 今回は、go test時に発生した一見…

Step Functionsで作るサーバーレスなETL基盤

はじめに こんにちは。DELISH KITCHEN開発部の村上です。 エブリーが運営しているサービスのDELISH KITCHENやトモニテではプレゼントキャンペーンが定期的に行われており、ユーザーさんは開催中の複数のキャンペーンから気になるものを選んでいくつかの設問…

Version Catalog への移行

DELISH KITCHEN の Android 版では、ライブラリ名を build.gradle に記載して管理していました。 // こんな感じ implementation "androidx.media3:media3-exoplayer:$MEDIA3_VERSION" implementation "androidx.media3:media3-exoplayer-hls:$MEDIA3_VERSION…

UICollectionViewDiffableDataSource / UITableViewDiffableDataSource のsnapshotをResult Buildersを使って宣言的に書く

iOS

はじめに 2023年8月1日、MAMADAYSはトモニテに生まれかわりました。 tomonite.com iOSアプリもトモニテに名前を変え、これまでのメイン機能である「育児記録」「妊娠週数管理」を軸として、家族やパートナー、家族以外の人や社会との接点を作るためのシェア…

Node.js v18.16.1 への バージョンアップを行っています

はじめに はじめまして。DELISH KITCHEN 開発部 の 羽馬(@NaokiHaba)と申します。 この記事では、DELISH KITCHEN 開発部 で 行っている Node.js のバージョンアップの手順と、その際に発生した問題とその対応についてご紹介します。 対象読者 この記事は、…

『DELISH KITCHEN』におけるバンディットアルゴリズムの取り組み紹介

はじめに こんにちは。DELISH KITCHEN開発部でデータサイエンティストをやっている山西です。 今回は、 DELISH KITCHENへバンディットアルゴリズムを採用した経緯 バンディットサーバーおよびそのAWSインフラ構築 をテーマに紹介いたします。 経緯 現在DELIS…

トモニテでEKSからECSに移行した話

はじめに こんにちは トモニテ でバックエンド周りの開発を行っている rymiyamoto です。 トモニテ ではこれまで構成を AWS の EKS を使ってきましたが、2 月の初旬に ECS に移行したのでその内容を紹介していきます。 経緯 移行を決断したのは最大の理由は…

ミニアプリを作ることになったので、Swift Package Managerを採用してみた

iOS

はじめに こんにちは。MAMADAYS開発部でiOSエンジニアをやってる國吉です。 この度、MAMADAYSから姉妹アプリ第一弾となる”陣痛カウンター”をリリースしました。 MAMADAYSアプリはスーパーアプリになっていて機能数も多く長く利用して頂くユーザさんも多いア…

IAP, IABレシートとユーザー状態の管理について

DELISH KITCHENの定期購読 こんにちは、DELISH KITCHEN開発部でバックエンド開発を担当している南です。 主にDELISH KITCHENのプレミアムユーザー向けの機能の開発を行っております。 DELISH KITCHENでは、人気順検索、プレミアムレシピ(ダイエット、ヘルス…

Next.js + useForm/zod で楽をする管理サイト作り

こんにちは。TIMELINE開発部の齊藤です。好きなエディタはEmacsです。社内の一部エンジニアからは珍獣扱いされてますが、Emacsは最強のエディタなので20年近く愛用しています1。 さて、皆様は日頃のサービス運用に、社内向けの管理サイトなどを作っているか…

swagとecho-swaggerを使ったSwagger UIでの開発談

はじめに こんにちはMAMADAYSバックエンドチームのrymiyamotoです。最近エルデンリングを遊び倒しています。 MAMADAYSではアプリとWebで利用しているAPI(golang)の仕様をドキュメント化するためにSwaggerを利用しています。 導入をしてから3年以上経過したた…

ECS Fargate を検証するために ECS Exec を使用した話

tl;dr Fargate ではホストが隠蔽されていて、EC2 のように SSH でコンソールに入って検証することができない ECS Exec は十分に SSH の代用となる ECS Exec の導入に必要なことはこのセクションを参照 DELISH KITCHEN on ECS 弊社では DELISH KITCHEN という…

Elasticsearchをゼロダウンタイムで再起動する

こんにちは。MAMADAYSバックエンドチームのsa9sha9です。最近Diablo3にハマりました。 MAMADAYSでは検索基盤としてElasticsearch(以下ES)を利用していますが、時たま再起動を実施したいケースがあります。 本記事では、ゼロダウンタイムでのESの再起動を実現…

2022年 エブリーの開発組織の抱負

少し遅くなりましたが、あけましておめでとうございます。エブリーのCTO今井です。 早速ですが、2021年の振り返りと今年の抱負についてお話しできればと思います。 2021年の振り返り 2021年は開発本部に属する全開発部の部長が入れ替わり、 僕自身もDELISH K…

Datadog APM を試してみた話

はじめに はじめまして。DELISH KITCHEN 開発部でバックエンド開発を担当している池と申します。2021 年 9 月にエブリーに転職してバックエンドエンジニアとして働いています。入社して 3 ヶ月ですがサーバーサイド、フロントエンド、クラウド、CI/CD など多…