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

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

DELISH KITCHEN はレシピを動画でわかりやすく基本的な料理からアレンジまで様々なレシピを公開しています。 実はレシピ動画以外にも、季節にそったおすすめレシピ、素材についての解説、料理に役立つ情報などが記事にまとめられ公開されています。ご存知でしたか? 例えばこういった記事です。 食欲の秋にピッタリ!秋が旬の野菜を使ったレシピ6選 なす?なすび?呼

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

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

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

はじめに 子育てメディア「トモニテ」でバックエンドやフロントエンドの設計・開発を担当している桝村です。 2023年8月1日、MAMADAYSはトモニテに生まれかわりました。 tomonite.com アプリのメイン機能である「育児記録」「妊娠週数管理」「食材リスト」を軸として、家族やパートナー、家族以外の人や社会との接点を作るためのシェア機能やコミュニティ機能などの拡充

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

はじめに DELISH KITCHENで主にiOSの開発やマネジメントを担当している久保です。 以前、 DELISH KITCHEN iOSアプリ開発のCI環境について という記事でCI環境を紹介しました。 今回は、Xcode Cloudの導入経緯とCI/CD環境の変化についてご紹介します。 Xcode Cloudへ移行した理由 Xcode Cloud の発表以降、さまざまな試行を行ってきましたが、特に以下の理由から全面的な導入を決定しました

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

Google CloudのData Analytics Workshopに参加してきました! こんにちは。 株式会社エブリーの開発本部データ&AIチーム(DAI)でデータエンジニアをしている吉田です。 今回は、先日参加したGoogle CloudのData Analytics Workshopについて紹介します。 はじめに エブリーでは、各サービスからのログをデータ基盤に集約し、これをデータ分析や機械学習のために活用しています。 データ基盤

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

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