株式会社エブリー
フォロワー 1人
エブリーは、日本が抱える「食」「子育て」「地方創生」の3つの大きな課題に向き合っており、「DELISH KITCHEN」をはじめ「トモニテ」「TIMELINE」と3つの動画メディアプラットフォームを運営しています。そうしたメディアやプロダクトに蓄積される膨大なデータとテクノロジーを活用し、"暮らし"と"企業"をアップデートしていくことを目指していて、中でも、ユーザー/メーカー/小売りの三者をつなぐプラットフォームである「リテールメディア」の構築は今後の成長戦略の柱と位置付けています。

株式会社エブリー の技術ブログ

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

こんにちは。トモニテでiOSアプリを開発している國吉です。  トモニテではサテライトを含め、複数のアプリをリリースしています。それぞれアプリのリリースが終えてからグロースするために改善/運用を行っていますが、N1インタビュー等でユーザーの声を聞いてみると「そんな機能があったんですね!知らなかったです」という意見がちらほら見受けられます。我々

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

背景 DELISH KITCHEN 開発部で小売向き合いの開発に携わっている大村 ( @kosukeohmura ) といいます。 エブリーでは リテールメディアの構築・提供を通して小売様を支援していく 構想を掲げており、 retail HUB という枠組みでいくつかの SaaS プロダクトを開発・提供しています。開発のフェーズとしてはまだまだ未成熟な部分も多いのですが、今回はその中でもマルチテナントな Sa

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

概要 TIMELINE開発部の内原です。 株式会社エブリーでは、バックエンド系ソフトウェアをGo言語で記述することが多いです。また、作成したプログラムについては、go testコマンドを用いてテストを記述するようにしています。 今回は、go test時に発生した一見分かりづらいエラーをどのように調査、対策したかについて共有します。 環境 Go言語 Test Frameworkとして Convey DBはMyS

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

はじめに こんにちは。DELISH KITCHEN開発部の村上です。 エブリーが運営しているサービスのDELISH KITCHENやトモニテではプレゼントキャンペーンが定期的に行われており、ユーザーさんは開催中の複数のキャンペーンから気になるものを選んでいくつかの設問に答えることで応募することができるようになっています。 今回はそのプレゼントキャンペーンのETL基盤をStep Function

Version Catalog への移行

DELISH KITCHEN の Android 版では、ライブラリ名を build.gradle に記載して管理していました。 // こんな感じ implementation "androidx.media3:media3-exoplayer:$MEDIA3_VERSION" implementation "androidx.media3:media3-exoplayer-hls:$MEDIA3_VERSION" implementation "androidx.media3:media3-ui:$MEDIA3_VERSION" ライブラリのバージョンだけは定数化されて別途取りまとめて管理していましたが、それも全てがまとまっ

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

はじめに 2023年8月1日、MAMADAYSはトモニテに生まれかわりました。 tomonite.com iOSアプリもトモニテに名前を変え、これまでのメイン機能である「育児記録」「妊娠週数管理」を軸として、家族やパートナー、家族以外の人や社会との接点を作るためのシェア機能やコミュニティ機能などの拡充をめざしていきます。 トモニテのiOSアプリは新規作成画面を中心にSwiftUIの導入を
iOS

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

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

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

はじめに こんにちは。DELISH KITCHEN開発部でデータサイエンティストをやっている山西です。 今回は、 DELISH KITCHENへバンディットアルゴリズムを採用した経緯 バンディットサーバーおよびそのAWSインフラ構築 をテーマに紹介いたします。 経緯 現在DELISH KITCHENでは、サービスをより良くするために、デザインの改善施策を継続的に行っています。 その手段として、これまで

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

はじめに こんにちは トモニテ でバックエンド周りの開発を行っている rymiyamoto です。 トモニテ ではこれまで構成を AWS の EKS を使ってきましたが、2 月の初旬に ECS に移行したのでその内容を紹介していきます。 経緯 移行を決断したのは最大の理由は、現状のメンバーで kubernetes(以下 k8s) のをメンテナンスしていくコストが高すぎるためです。 k8s 自体が高頻度にアップ

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

はじめに こんにちは。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年以上経過したため、APIの開発運用を進める中で出てきた課題点への施策を綴っていこうと思います。 そもそもSwaggerとは? SwaggerはOpenAPIとい
Go, API, SQL

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

tl;dr Fargate ではホストが隠蔽されていて、EC2 のように SSH でコンソールに入って検証することができない ECS Exec は十分に SSH の代用となる ECS Exec の導入に必要なことは このセクション を参照 DELISH KITCHEN on ECS 弊社では DELISH KITCHEN というサービスを運用しており、主なアプリケーションサーバは ECS の上に構築しています。 ECS には EC2 によるものと、Fargate によるものの2つ

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

こんにちは。MAMADAYSバックエンドチームのsa9sha9です。最近Diablo3にハマりました。 MAMADAYSでは検索基盤としてElasticsearch(以下ES)を利用していますが、時たま再起動を実施したいケースがあります。 本記事では、ゼロダウンタイムでのESの再起動を実現するための注意点を実際のフローに沿ってまとめたいと思います。 MAMADAYSのアーキテクチャについては以前のTechBlogをご参照