エブリーエンジニアブログ エブリーエンジニアブログ

ミニアプリを作ることになったので、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年以上経過したた…

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 など多…

Jetpack Composeのチュートリアルをやってみた

はじめに こんにちは。MAMADAYSでAndroidアプリの開発を担当している高野です。 UIはXMLで作成したほうが楽なのではないかと思い、まだ Jetpack Composeを触ったことがなかったのでチュートリアルに沿って進めながら体験してみたいと思います。 ※Jetpack Com…

@angular/flex-layoutをtailwindcssで置き換える

はじめに こんにちは、DELISH KITCHEN開発部でバックエンド開発を担当している高木です。 DELISH KITCHENのリテールソリューションズ事業部(以下、RS事業部)が、小売向けに展開している店頭サイネージの管理画面等の開発をしています。 DELISH KITCHEN RS…

SwiftUIをiPadのSwift Playgroundsで試してみた

はじめに こんにちは、DELISH KITCHENのiOSアプリ開発をしている山口です。 今年のWWDC21でiPadのSwift Playgroundsを使ってアプリ製作ができるようになるというアナウンスがありました。本当はそれを試そうと思ったのですが、執筆時点だとまだPlaygroundsが…

『DELISH KITCHEN』のA/Bテスト基盤を構築しました

はじめに こんにちは。株式会社エブリーでデータサイエンティストをしている伊藤です。 『DELISH KITCHEN』では、サービスをより良くするため、新機能の開発や既存機能・デザインの改善など様々な施策が行われています。 これらの施策は、一部のユーザのみを…

定期購読の難しいところ

はじめに DELISH KITCHEN プレミアムサービスとは 決済システムについて一般的なお話 そもそも決済システムは難しい 決済プラットフォーム別の調査&実装が必要である 決済処理は処理のフローが不安定なケースがある 決済状態と内部システムの同期が必要であ…

MetabaseとDatabricksを接続する方法

はじめに エブリーでは日々大量のデータをDatabricksで処理し、MetabaseなどのBIツールで可視化や分析を行っています。 MetabaseとDatabricksのデータベースを接続する方法がまとまっている記事があまりなかったので、ここにまとめたいと思います。 手順 1.D…

カンファレンススタッフに参加してみよう!

はじめに はじめまして。最近創立されたSite Reliability Engineering(SRE)チームに所属している吉田です。 今回は「カンファレンススタッフ」についてお話しようと思います。 ”カンファレンススタッフをやってみたいけど、まだまで全然プログラミングでき…

Apache AirflowのPoCをした話

# Apache AirflowのPoCをした話 はじめに 弊社『DELISH KITCHEN』のデータプラットフォーム上では、日々発生するデータをLakehouseプラットフォームに集約しており、Databricks上で処理される多数のETLジョブが存在しています。しかし、現在利用しているジョ…

エブリーでインターンをしています

はじめに はじめまして。 2021年2月から、インターンとしてデータ&AIチームでデータエンジニア業務に携わっている金安です。 入社からの約半年間、データに関わる多種多様なタスクを経験させていただきました。 ここではエブリーでのデータ分析の様子を紹介…

A/Bテストにおける評価指標選定の話

はじめに はじめまして。2021年4月にエブリーに入社した山西と申します。 データサイエンティストとしてデータ関連部門に所属後、DELISH KITCHENアプリ改善施策のA/Bテストに約3ヶ月間従事してまいりました。 今回はその実業務の中での体験も踏まえ、A/Bテス…

Apache SparkのSparkSQLのstack関数を用いてデータを横持ちから縦持ちにする

はじめに はじめまして。 データストラテジストの田中です。普段は『DELISH KITCHEN』レシピ視聴実態の可視化やオーディエンス配信のレポート作成、サービス好意度の分析などの業務を行っています。 サービス好意度など定性的な要素が多い分析ではWEBアンケ…

DELISH KITCHENチラシの郵便番号・地域名・店舗名検索実装について

はじめまして。DELISH KITCHEN開発部でバックエンド開発等に携わっている南です。 今回は2021年4月の中旬にリリースされた、「DELISH KITCHENチラシの郵便番号・地域名・店舗名検索実装」の裏側をお話したいと思います。 DELISH KITCHEN チラシ 検索エンジン…

社内でkubernetesの輪読会を開催しました

社内でkubernetesの輪読会を開催しました はじめに 経緯 輪読会とは 利用した書籍 運用 実際やってみて 良かったこと 大変だったこと 最後に 社内でkubernetesの輪読会を開催しました はじめに こんにちはMAMADAYS バックエンド担当エンジニアの宮本です。 …

Google I/O 2021で発表されたアプリ内購入の新機能について

はじめに はじめましてDELISH KITCHEN Androidエンジニアの友部です。 私は現在、プレミアムチームに所属しており、主にAndroidの課金が関係している施策などを担当しています。 今回はGoogle I/O 2021で発表されたアプリ内購入の新機能について書いていきた…

Core Web Vitals 改善のお話

Core Web Vitals 改善のお話 はじめに まずは計測してみる 弱点を特定する LCP の改善 無駄なリソースの読み込みを除去 http2 への切り替え 画像を適切なサイズで配信 改善したものの数値に影響がなかったもの 巨人の肩に乗る(大切) CLS の改善 CLS の算出…

DELISH KITCHEN のデータベースの現状と Aurora を導入した話

はじめに DELISH KITCHEN のデータベースについて紹介します。 サービスやバックエンドシステムの全体像については DELISH KITCHEN のサービスとバックエンドシステムのお話 - every Engineering Blog で紹介しています。よろしければご覧ください。 概観 DE…

今すぐできるレビュワーに優しいPull Requestをつくる7つのポイント

はじめに 今すぐできるレビュワーに優しいPull Requestをつくる7つのポイント 1. WhyとWhatをそれぞれ記載する 2. 説明文は構造化する 3. コミットは課題を解決した単位で行う 4. Pull Requestは適切な大きさに分割する 5. 個別説明が必要な箇所は積極的にコ…

In-App Review APIの導入について

はじめに はじめまして。普段はMAMADAYSでiOSエンジニアをしている國吉です。 iOSエンジニアではありますが、アプリのストアレビュー改善企画も兼務で行っているため、時にはAndroidの実装を担当することもあります。 そこで今回は2020年8月頃にGoogleから提…

UITableViewDiffableDataSourceを使ってクラッシュ率を改善しました

はじめに iOSでTableviewやCollectionViewを扱っていると、UIとデータとの間で不整合が起きた際に NSInternalInconsistencyException というエラーを吐いてアプリが落ちるというのはよくある話だと思います。 TableViewに関してはiOS13から UITableViewDiffa…

API Serverの新規開発時に導入してみて良かった事

はじめに 前提技術スタック pre-commit、CIでのLintチェック、パッケージをクリーンアーキテクチャ構成にする pre-commit 良かった事 CIでのLintチェック 良かった事 パッケージをクリーンアーキテクチャ構成にする 良かった事 まとめ はじめに DELISH KITCH…

Core Web Vitalsの計測環境を整える

Core Web Vitalsの計測環境を整える はじめに 現在、MAMADAYSのWebチームでは昨年発表されたCore Web Vitalsを中心としたパフォーマンス改善に注力しています。 今回はパフォーマンス改善でも重要な計測部分について、MAMADAYSではどのようにCore Web Vitals…

1年間毎週続けてきた振り返り会の紹介

はじめに 振り返り会の意義 振り返り会のやり方 ファシリテーターを誰が担当するのか 何について振り返るのか 前回の振り返り会を確認する やったこと・良かったことを洗い出す もっと良くできそうなことを洗い出す 共通認識を生み出す 批判する会ではない …