Gradle Composite Build を用いたビルドロジックの共通化について

はじめに こんにちは。レシピ事業部で長期インターン中の松本 (@matsumo0922) です。先日このブログでも公開した通り、クックパッドでは日本とグローバルで体験を統一する One Experience というプロジェクトを行っています。 One Experience 以前では Andro…

レシピIDリンク移行の話

こんにちは、2024年4月から、新卒でレシピ事業部プロダクト開発グループに所属している、張頌です。私が新卒入社して最初に取り組むこととなったのが、このブログで以前ご紹介したOne Experienceプロジェクトです。 このプロジェクトには、データ移行や多言…

iOSアプリにおける複数リリースに跨った機能改善の開発事例紹介

iOS

レシピ事業部のHaurta (@0x746572616e79 )です。グローバルサービスとの統合プロジェクト(One Experienceプロジェクト)に伴いiOSアプリケーションもグローバルと日本で別々のアプリケーションを開発していた体制から一変して、グローバルのアプリケーション…

ちょっと複雑なサイドバーをHotwireで簡単に作りたい

こんにちは、レシピ事業部プロダクト開発グループの渡邉(@taso0096)です。 クックパッドは最近、One Experienceというプロジェクトによって日本版とグローバル版のシステムが統合されました。 どちらのシステムもRailsで実装されているという点は同じです…

Simple Custom Compose Layout

こんにちは、「ウィリアム」です。クックパッドのAndroidエンジニアです。 私の日本語はまだ上手ではないので、これから英語で書きます! Self-introduction (自己紹介) Hi, my name is William, I'm an Android Engineer from the Cookpad's recipe team. I…

モバイルアプリの One Experience

こんにちは。レシピ事業部でAndroidアプリ開発をしているこやまカニ大好きです。 好きなイジンカードは行基と近松門左衛門、最近気になるカードは松尾芭蕉です。 このブログの日本とグローバルのクックパッドを統合しましたという記事で、日本とグローバルの…

Flux + Helm における即時ロールバック

こんにちは。SRE の小川 (@coord_e) です。先日の投稿にあった通り、クックパッドはレシピサービスをグローバル版に統合しました。サービスの統合に伴って、開発や運用のインフラもグローバルチームで利用されているものを使うことになりました。 運用インフ…

日本とアメリカの太平洋を超えたパフォーマンス改善の取り組み: CloudWatch RUM を中心としたパフォーマンス測定とデータ活用方法

はじめに こんにちは。クックパッド SRE の @mozamimy です。先日この開発者ブログで One Experience プロジェクトについての紹介がありました。 このプロジェクトにおいて、わたしは日本版からグローバル版への移行の際の全般的なパフォーマンス周りについ…

DMS を利用した継続的なデータ変更検知

SRE の鈴木 (id:eagletmt) です。先日、この開発者ブログで赤松から One Experience プロジェクトについての紹介がありました。 自分もこの One Experiene プロジェクトに携わっており、このプロジェクトが始まったちょうど1年くらい前にはイギリスにあるオ…

日本とグローバルのクックパッドを統合しました

こんにちは、レシピ事業部プロダクト開発グループの赤松(@ukstudio)です。 昨年の10月頃からレシピ事業部ではひとつの大きなプロジェクトに取り組んでいました。このプロジェクトは社内ではOne experienceと呼ばれています。本記事ではこのOne experienceに…

Cookpad Summer Internship 2024に参加しました

はじめに こんにちは。9月からクックパッドで1ヶ月間サマーインターンシップに参加していた中尾です。 今回はクックパッドで1ヶ月間過ごしてみて、やったことや感じたことをレポートしていきます。 自己紹介 私は現在、立命館大学の学部3年で、情報系を専攻…

開発環境のデータベースでも本番環境相当のデータを使う

こんにちは。レシピ事業部バックエンド基盤グループの石川です。 2014 年、このブログに『開発環境のデータをできるだけ本番に近づける』というタイトルの記事が投稿されました。 クックパッドでは、ユーザーさんが実際に体験している状況と近い状況を再現し…

iOSDC Japan 2024に社員2名が登壇 & スポンサー企画のご案内

こんにちは!クックパッドでモバイルアプリ開発エンジニアをしている新堀 (@tk108gabalian) です。 現在クックパッドでは空前のイジンデンブームが到来しております。イジンデンというのはダイソーから発売されているトレーディングカードゲームです。社内で…

Cookpad Drinkup at RubyKaigi 2024 を開くために気にしていたこと

RubyKaigi 2024 が開かれました。クックパッドは協賛しており、懇親会も開きました。この記事では、カンファレンスで懇親会を開くにあたって気をつけていたことや、うまくいったこと、うまくいかなかったことをまとめます。RubyKaigi に関わらず、技術者コミ…

クックパッドは RubyKaigi 2024 に参加していました!イベントレポート

はじめに こんにちは。レシピ事業部プロダクト開発グループの堀内 (@Sota_Horiuchi)です。普段はバックエンドの開発を行っている新卒2年目のエンジニアです。 RubyKaigi 2024が 2024 年 5 月 15 日から 17 日に沖縄県那覇市で開催され、クックパッドからは総…

NLP2024 に参加しました

こんにちは! 技術部機械学習グループの山口 (@altescy) です。 先月、神戸にて開催された言語処理学会第30回年次大会 (NLP2024)に同じく機械学習グループの深澤 (@fufufukakaka)と共に参加してきました。 昨年に引き続き今年も過去最多の参加者数となり、言…

AWS 内で大規模言語モデルを利用できる Amazon Bedrock を使って作る RAG アプリケーション

こんにちは。機械学習グループの深澤(@fukkaa1225)です。 先日、Amazon Bedrock が一般利用できるよう(GA)になりました 。本記事ではこちらを用いて RAG(Retrieval-augmented generation) アプリケーションを作成してみた様子と、他 LLM モデルとの比較結果…

Hatamoto 〜モバイルアプリに関する情報を一元管理するためのWebアプリケーション〜

こんにちは。元モバイル基盤部(現クックパッドマートプロダクト開発部)の大川(@aomathwift)です。 クックパッドでは、レシピサービスのクックパッドアプリだけでなく、生鮮 EC サービスのクックパッドマートをはじめ、複数の iOS アプリを開発しています…

開発を快適にするiOSアプリ内ログ確認ツール

クックパッドでは、iOSアプリ内の行動ログやネットワーク通信ログを見やすく使いやすくする「ログ確認ツール」を活用しています。その使い方や背景、実装時の知見などについて詳しくご紹介します。

クックパッドの検索反映時間を 1/288 にしたシステム改修

レシピを投稿してから検索結果に反映されるまでの時間を、24 時間から 5 分にまで短縮したシステム改修について紹介します。

クックパッドのフロントエンド CSS in JS をゼロランタイムに切り替えました

こんにちは。レシピ事業部のkaorun343です。我々のチームではレシピサービスのフロントエンドを Next.js と GraphQL のシステムに置き換えている話 - クックパッド開発者ブログにて紹介したとおり、レシピサービスを Next.js ベースの新システムへと移行して…

iOSアプリに実装されたUI要素のフレームやマージンを手軽に確認できるツールを作る

こんにちは、クックパッドマートプロダクト開発部の佐藤(@n_atmark)です。 普段はクックパッドマートのモバイルアプリ開発に従事しています。 今回、iOSアプリに実装されたUI要素のフレームやマージンを手軽に確認できるツールを作ってみたのでその紹介を…

クローズしたサービスの管理画面を静的サイトにする

こんにちは、技術部の石川です。 ある日、社内の各種アプリケーションを眺めている中で、とあるクローズしたサービスの管理画面を担っていたウェブアプリが今も動いていると気付きました。簡単にヒアリングしたところ、サービス自体はクローズしたものの、保…

Rubyの並列並行処理のこれまでとこれから

本記事では、Rubyの並行並列処理の改善についての私の取り組みについて、おもに RubyKaigi 2022 と 2023 で発表した内容をもとにご紹介します。 Ruby(CRuby/MRI)は古くからThreadによる並行処理のための仕組みを提供しており、並列処理はUnixなどのプロセ…

TechMTG文字起こしレポート:クックパッドマートのAndroidアプリのUI開発のこれまでとこれから

こんにちは、CTO室の緑川です。クックパッドでは隔週で全エンジニアが集まるTechMTGというミーティングを行っています。今回はTechMTGで話した技術的な取り組みや解説を文字起こしレポートとしてお届けします。 今回は4月19日に発表されたクックパッドマート…

iOS画像非同期取得

こんにちは、モバイル基盤のヴァンサン(@vincentisambart)です。 半年くらい前に、iOSクックパッドアプリで画像非同期取得を自作することになりました。導入してから何ヶ月も問題なく動いているので、どう動いているのか紹介しようと思います。でもその前に…

Project Googrename: Google Workspace で 14 年運用されたドメインエイリアスをプライマリドメインに変更 & 全ユーザーを安全にリネームする

id:sora_h がクックパッドの Google Workspace でドメインエイリアスとして運用されていたものをプライマリドメインへ変更、全ユーザーのドメインも合わせて大規模なリネームを安全に実施した道のりを解説します。

Path Drawing in SwiftUI

iOS

How to draw shapes using paths in SwiftUI, starting from the basics.

RubyKaigi 2023 Wi-Fi: 足回り徹底解説

id:sora_h です。今回は RubyKaigi 2023 で提供した Wi-Fi ネットワークの足周りについて徹底解説します。

RubyKaigi 2023の冷蔵庫は何だったのか

エンジニアの成田(@mirakui)です。最近はクックパッドマートの流通基盤エンジニアとして、商品の流通に関わるソフトウェアやハードウェアに携わっています。 さて、クックパッドは先日長野県の松本で開催された RubyKaigi 2023 にスポンサーとして参加しま…