クックパッドマート の検索結果:

オフラインイベント「Cookpad Tech Kitchen #26 数千万レコードをリアルタイムに捌く生鮮EC事業開発」を開催しました!

…クパッドの新規事業「クックパッドマート」を開発するエンジニア、デザイナーが参加し、クックパッドマートの最新の開発状況や組織についていろいろお話させていただきました。今回は当日の様子を発表資料も交えて紹介させていただきます。 クックパッドマートの概要とチャレンジ by 勝間 まず、1番めのトークとして私、勝間からクックパッドマートの事業紹介、および2022年3月現在の事業や組織規模、開発体制などについてお話させていただきました。 外から見るとある意味ほぼ完成されている(?)とも…

クックパッドマート最難解ロジック!?「採番」

クックパッドマート流通基盤アプリケーション開発グループでバックエンドエンジニアをしている奥薗 ( @mokuzon )です。今日まで 4 日間連載でクックパッドマートの流通についてご紹介してきました。最後のこのエントリーではマート内で 1,2 を争う難解かつ重要な処理と言われている「採番」についてご紹介します。 先に クックパッド生鮮 EC お届けの裏側 2022 年版 を読むとよりイメージがつきやすいです。 採番とは マートでは 商品はハブという大規模拠点に出荷され ハブ便…

クックパッドマートの配送ルートを自動生成している仕組み

こんにちは、クックパッドマート流通基盤アプリケーション開発グループのオサ(@s_osa_)です。 生鮮食品の EC サービスであるクックパッドマートでは、「1品から送料無料」をはじめとするサービスの特徴を実現するために、商品の流通網を自分たちでつくっています。 このエントリでは、商品をユーザーに届けるための配送ルートを自動生成している仕組みについて紹介します。 解決したい問題 配送ルートとは クックパッドマートにはいくつかの流通方法がありますが、ここでは「ステーション便」と呼…

クックパッドマートのドライバー向けWebアプリケーション

クックパッドマートの開発に携わっていますバックエンドエンジニアの中村です。 クックパッドマートは生鮮食品のECサービスで、流通の仕組みを自分たちで作っています。当然ですが商品を流通させるには、物理世界でものを動かす必要があります。実際にものを運ぶのはドライバーと呼ばれる人が行っており、このドライバーに向けていつ・何を・どこに運ぶといった指示をする必要があります。このエントリではそんなドライバーへの指示のために開発しているWebアプリケーションを紹介します。 各便のアプリケーシ…

クックパッド生鮮 EC お届けの裏側 2022 年版

クックパッドマート流通基盤アプリケーション開発グループでバックエンドエンジニアをしている奥薗 ( @mokuzon ) です。クックパッドマートは生鮮食品の EC サービスで、商品を届ける流通を内製しています。そんなクックパッドマート流通にエンジニアがどう貢献しているかを今日から 4 日連続でご紹介していきます。 今回はクックパッドマートの裏側の流通がどんな要素で構成されているかを一気にご紹介します。このエントリを読んでおくと今後クックパッドマートの関連エントリを読むときによ…

fastText in Cookpad

…論文集. こちらは、クックパッドマートの商品名から、食材を表すキーワードを予測する取り組みです。キーワードや商品名をベクトルに変換するのに fastText を使っています。予測結果はクックパッドマートの管理画面で使われています。 余談ですが、こちらの取り組みは今年の言語処理学会で委員特別賞をいただきました。ありがとうございます。 マルチラベル分類による材料推薦モデル. 深澤祐援, 西川荘介, 原島純. 言語処理学会第 27 回年次大会発表論文集. こちらは、レシピのタイトル…

工学的知見と実際の観測データに基づいて物理世界にサービスを展開しています

…ォームサービスであるクックパッドマートで食品流通のために展開している冷蔵庫の温度管理についてご紹介します.クックパッドマートで使用されてる冷蔵庫は,サービスの安定稼働のため,次のように工学的知見と実際の観測データに基づき運用されています. マートステーションに設置されている冷蔵庫の課題 クックパッドマートでは,ユーザーの皆さまが食品を受け取る場所をマートステーションと呼んでおり,そこには下図のような冷蔵庫が設置されています. マートステーション そして,この冷蔵庫の冷却設定は…

3/12 (土) 開催!「6社合同SRE勉強会」のクックパッドのセッションを紹介します

…ピサービスだけでなくクックパッドマートにも力を入れていて、多くのサーバーサイドエンジニアがレシピサービスの Rails アプリ開発に従事していた頃とは大きく状況が変わっています。 このようなアプリケーションの変化に合わせて、インフラ構成や SRE の役割も変化していく必要があります。新規事業や新しいマイクロサービスがどんどん増えていく状況では、10人にも満たない SRE チームがアプリケーションに合わせて EC2 インスタンスや MySQL を用意して運用していてはそれだけで…

レシピページのOGP画像を動的に生成する

…ドはエンジニアを積極採用中でございます。 【宣伝】 https://www.youtube.com/playlist?list=PLGT7Exkshx4gQwDgEM1a2wRJgAv2yuzIB というサービス開発者向けのライブ配信イベントをやっていて、次回は 2月24日(木) 20:30~ に「数千万レコードをリアルタイムに捌くクックパッドマートの開発」というタイトルでやるのでよかったら観にきてください! 👇️👇️👇️👇️👇️👇️ cookpad.connpass.com

クックパッドマートアプリの開発体験改善に向けたJetpack Compose導入の検討と実践、そして新たな課題

…年に新卒入社し現在はクックパッドマートのAndroidアプリ開発に従事しています。 クックパッドマートアプリ(Android)はリリースから約2年半が経ち、おかげさまで日々多くのユーザーにご利用いただいております。それに伴って実装の規模や複雑さも増していることから開発効率向上のために日々様々な改善を行っています。 その上で本稿ではクックパッドマートアプリのUI実装の課題とその改善に向けたJetpack Compose導入の検討、そして実際に導入に取り組んだことで直面している課…

既存実装を活用しつつJetpack Composeを用いてクックパッドAndroidアプリの買い物機能を高速に開発している話

…新規サービスである「クックパッドマート」の開発に従事しており、2020年からはレシピサービス「クックパッド」iOSアプリの買い物機能を開発していました。 レシピサービス「クックパッド」の買い物機能は、iOSアプリ(以下: クックパッドiOS)で先行リリースしており、現在Androidアプリ(以下: クックパッドAndroid)でも同様の機能開発を行っています。 本稿ではクックパッドAndroidの買い物機能の開発について紹介します。 買い物機能とは なぜやるのか 楽しみが広が…

RecBole を用いてクックパッドマートのデータに対する50以上のレコメンドモデルの実験をしてみた

…いる事業の一つであるクックパッドマートのデータを使って数多くのレコメンドモデルを試す実験も行いました。その結果も合わせて紹介します。 TL;DR: レコメンドモデルは作者実装に安定性がなく、またモデルをどのように評価したかも基準がバラバラで、再現性が難しいとされている(from RecSys 2019 Best Paper) 再現性に取り組むプロジェクトとして 2020年12月に始まった RecBole がある。 RecBole を利用することでなんと 50個以上のレコメンド…

クックパッドマートの多種多様な商品名から、扱いやすい「食材キーワード」を予測する

….今回は最近開発したクックパッドマートの商品の「食材キーワード」を予測する機械学習モデルを紹介します. 商品の食材キーワード予測とは? クックパッドマートでは日々様々な食材が多くの販売者から出品されています.出品される商品の情報は販売者によって登録されるため,多様な表記が存在します.「じゃがいも」の商品名を例に挙げると,「ジャガイモ」「じゃが芋」といった表記の揺れや,「メークイン」「インカのめざめ」といった品種名が書かれているもの,「農家直送」や「お徳用」のようなキャッチコピ…

今すぐ ALB のアクセスログをクエリする

クックパッドマートでサーバーサイドなどのソフトウェアエンジニアをしている石川です。 この記事では、クックパッドマートとは全然関係なく、私が正社員として新卒入社する前、2020 年初頭に技術部 SRE グループで就業型インターンをしていた際に実装したシステムについてご紹介します。 ALB のアクセスログ 弊社では AWS の Elastic Load Balancing (ELB) を多用しており、Application Load Balancer (ALB) が多くのウェブア…

Cookpad Summer Internship 2021 10 Day Techコースを開催しました!

…今年のテーマは「ミニクックパッドマートを作る」でした。クックパッドマートを題材として、クックパッドの中で使われている技術スタックを一気に学習・実践することが狙いでした。 イントロダクションを終えた後、フロントエンド講義からいよいよ技術講義がスタートしました。 2021年の春インターンでも用いた動画を見るという事前準備を前提として、午前中の1時間でクライアントサイドから見たGraphQLに関する講義を行いました。 その後、午後はミニクックパッドマートのweb画面を作ることを目標…

クックパッドマートにおける宣言的ラベル生成

クックパッドマート流通基盤アプリケーション開発グループのオサ(@s_osa_)です。 少し前にクックパッドマートのラベル生成の仕組みを刷新したので紹介します。 クックパッドマートにおけるラベル クックパッドマートは「美味しい食材を生産者や市場から直接ユーザーにお届けする」サービスです。 食材をユーザーのもとまで届けるためには流通の仕組みが欠かせません。クックパッドマートでは「1品から送料無料」をはじめとするサービスを実現するために独自の流通網を構築しています。 そんなクックパ…

クックパッドマートの生鮮食品を SORACOM の IoT デバイスで遠隔温度監視している話

クックパッドマートでサーバーサイドなどのソフトウェアエンジニアをしている石川です。 この記事では、クックパッドマートの物流の一部で SORACOM のサービスを活用して生鮮食品の遠隔温度監視を行っている話について、主にサーバーサイドの取り組みを紹介します。 クックパッドマートの物流 クックパッドマートの物流は、非常に大雑把に言うと以下のような手順になっています。 販売者さんが集荷場所に置いてあるコンテナへ商品を届ける。 ドライバーさんが集荷場所からコンテナを集めて回る。 集め…

JSON Schema をクックパッドマートの商品登録画面に導入した話

…ドのエンジニアとしてクックパッドマートの開発に携わっている塩出( @solt9029 )です。 美味しい食材をユーザにお届けするサービスであるクックパッドマートでは、日々街の販売店や地域の生産者が商品の登録を行っています。 商品を登録する際、販売者は消費期限をはじめとする様々な品質保証の情報を正確に入力する必要があります。 しかし、商品の種類や状態に応じて記載するべき品質保証の情報は異なるため、全項目が羅列されるフォームでは正確な入力が困難であり、販売者および商品の審査を行う…

SwiftUI を活用した「レシピ」×「買い物」の新機能開発

…とは 生鮮食品EC「クックパッドマート」の仕組みと連携し、レシピサービス「クックパッド」のアプリから食材を注文できます*1。これはただクックパッドマートの機能を使えるだけ、というわけではありません。「レシピ」と「買い物」が融合するからこその良い体験づくりを目指しています。 詳しい内容はプレスリリースやクックパッドでお買い物 - 地域限定機能をデザインする上で考えたこと- にもまとまっていますので、ぜひあわせてご覧ください。 info.cookpad.com note.com …

大規模プロジェクトにおけるモバイル基盤の取り組み

…ッドアプリだけでなくクックパッドマートアプリやcookpadLive アプリの開発者もレビューに参加してくれていて、非常に良い雰囲気のPRでした。 統一ログ基盤の準備 @giginet さんがドキュメントベースの型安全なモバイルアプリ行動ログ基盤の構築という記事で iOSアプリのログ基盤について説明してくれていますが、 リニューアルプロジェクトの実施にあたりAndroidアプリでも同様のログ基盤を整備しました。 これにより、Android アプリでも iOS と同じ定義でログ…

クックパッドマートのプロダクト開発チームに On-Call を導入した話

クックパッドマートでサーバーサイドエンジニアを担当している奥薗 基 ( @mokuzon ) です。 クックパッドマートのプロダクト開発チーム*1では半年ほど前からサービスの運用・障害・割り込み対応の当番として on-call を導入しています。直訳すると呼べばすぐ来る、待機しているという意味で、業務時間外も含めシステムを安定して運用するために待機するエンジニア、またはその制度そのものを指しています。SRE チーム*2には on-call は一般的ですし、プロダクト開発チーム…

iOSDC Japan 2020 に社員2名が登壇します

iOS

…Cプラットフォーム「クックパッドマート」を開始しました。 「クックパッドマート」では今までにない仕組みで、毎日の献立づくり、買い物、調理すべてを変えることに挑んでおり、「新鮮で美味しい食材」を当たり前に安く買えるように、ゼロから食品流通プラットフォームの構築を進めています。 本セッションでは、クックパッドの新しい挑戦である「クックパッドマート」における開発や、既存の「レシピ」を組み合わせたまったく新しい買い物体験の実現、それらを支えるiOSアプリのアーキテクチャや Swift…

エンジニア社内留学制度を利用してAndroidアプリ開発を体験した話

…です。最近の楽しみはクックパッドマートで買ったコーヒー豆を挽いて淹れることです。 今日はクックパッド社内で実施されているエンジニア社内留学制度について紹介します。 エンジニア社内留学制度とは エンジニア社内留学制度は「異動をすることなく短期的に他の部署でその部署の仕事をする制度」というもので2019年4月に作られました。 この制度は異動をせずに視野を広げたり自分のキャリアを考えるための制度であり、普段自分が関わらない技術や分野に対して新しいチャレンジをする機会を提供するための…

Trivy + AWSによるコンテナイメージ脆弱性検査パイプラインの構築

…プラットフォームの クックパッドマート やキッチンから探せる不動産情報サイト たのしいキッチン不動産 をはじめとする新しいサービス開発にも取り組んでいます。さらに内部的なシステムも多数あり、動かしているアプリケーションの数は300以上に及びます。これらのアプリケーションには多くのOSSパッケージが利用されており開発を加速させますが、同時にOSSパッケージのアップデート、とりわけ脆弱性の修正にも向き合う必要があります。 これまでクックパッドでは(重大な脆弱性が見つかった場合を除…

インフラにかかるコストを正しく「説明」するための取り組み

…t=cookpad、クックパッドマートに関わるリソースには Project=mart というような粒度でつけています。また、個々のユーザ向けのサービスによる分類だけでなく、たとえば VPC 運用に必要なものには Project=infra-vpc というタグをつけていたりもします。 Costco とは別の仕組みとなるためここでは詳細な解説は割愛しますが、EC2 や RDS、ElastiCahce、S3 など、AWS コスト全体に対して料金が支配的なサービスについては、Proj…

サービス特性にあった検索システムの設計戦略

…、新規サービスであるクックパッドマート向けの検索システムをつくったので、その際の設計や精度改善の工夫について書きます。 新規サービスクックパッドマートと検索 クックパッドマートは、生鮮食品に特化したECサービスで、ステーションと呼ばれる場所に購入した食品を届けてくれるという特徴をもっています。2018年夏にサービス開始して以来順調にユーザ数を伸ばしています。中でも商品検索機能は、クックパッドマートの追加機能として9月にリリースしました。 検索システムの要件 プロダクトチームの…

クックパッド採用説明会「クックパッドはサービスの作り手を採用したいんです。」を開催しました!

…サービス開発の様子をクックパッドマート、 cookpadLive の開発を通して紹介しました。 発表① クックパッドマート ディレクターのいない◯◯な開発スタイル クックパッドマートからは、長野 佳子(@naganyo)・米田 哲丈(@tyoneda)による、開発スタイルについての発表を行いました。 クックパッドマートでは「なにをつくるか」をどのように決めるのか、またそれをどのように実現しているのかについて紹介しました。 「なにをつくるか」は KGI ブレークダウンで決まるの…

Cookpad Summer Internship 2019 10 Day Techコースを開催しました

…た。配属される部署はクックパッドマートを運営・開発する買物事業部、Komercoを運営・開発するKomerco事業部などのサービス系から、モバイル基盤や技術部のSREグループ、クックパッドサービス基盤グループなどの基盤系など様々でした。 最終日には5日間の各自の偉業をメンターやOJTに配属されたインターン生全員の前で発表してもらいました。5日間という短い中で進捗を出すのは大変だったと思いますが、全員無事にやり遂げてくれました。ありがとうございました! まとめ 簡単にですが20…

おすすめの食べ方を見ながら食材を買える体験を作った話

…鮮食品ECサービス「クックパッドマート」の開発チームで、注文ユーザー向けのサービス開発全般を担当しています。 今日は、先日クックパッドマートのiOSアプリでリリースした新機能とその開発プロセスについて、お話ししたいと思います。 クックパッドマートの詳細については、以前にも サービス立ち上げ期の話 や、エンジニアメンバーの連載記事 が投稿されているので、そちらもぜひご参照ください。 食べ方を想像しながら食材を選ぶ 今回リリースした新機能は、クックパッドマートで扱う様々な商品(食…

新規事業のIoTプロダクト開発に必要なこと【連載:クックパッドマート開発の裏側 vol.5】

…す。社内の新規事業「クックパッドマート」でエンジニアをやっています。 このエントリは、連載シリーズ【連載:クックパッドマート開発の裏側】の第5回目です。本日が最終回となります。 以前のエントリはこちらからご参照ください。 vol.1 クックパッドマートにおける実世界での配送を意識した注文の検証処理 vol.2 クックパッドマートiOSアプリを楽しく新規開発した話 vol.3 1枚のラベルの向こうには、1人のユーザがいる vol.4 クックパッドマートAndroidアプリの画面…

/* */ @import "/css/theme/report/report.css"; /* */ /* */ body{ background-image: url('https://cdn-ak.f.st-hatena.com/images/fotolife/c/cookpadtech/20140527/20140527163350.png'); background-repeat: repeat-x; background-color:transparent; background-attachment: scroll; background-position: left top;} /* */ body{ border-top: 3px solid orange; color: #3c3c3c; font-family: 'Helvetica Neue', Helvetica, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'MS Pゴシック', sans-serif; line-height: 1.8; font-size: 16px; } a { text-decoration: underline; color: #693e1c; } a:hover { color: #80400e; text-decoration: underline; } .entry-title a{ color: rgb(176, 108, 28); cursor: auto; display: inline; font-family: 'Helvetica Neue', Helvetica, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'MS Pゴシック', sans-serif; font-size: 30px; font-weight: bold; height: auto; line-height: 40.5px; text-decoration: underline solid rgb(176, 108, 28); width: auto; line-height: 1.35; } .date a { color: #9b8b6c; font-size: 14px; text-decoration: none; font-weight: normal; } .urllist-title-link { font-size: 14px; } /* Recent Entries */ .recent-entries a{ color: #693e1c; } .recent-entries a:visited { color: #4d2200; text-decoration: none; } .hatena-module-recent-entries li { padding-bottom: 8px; border-bottom-width: 0px; } /*Widget*/ .hatena-module-body li { list-style-type: circle; } .hatena-module-body a{ text-decoration: none; } .hatena-module-body a:hover{ text-decoration: underline; } /* Widget name */ .hatena-module-title, .hatena-module-title a{ color: #b06c1c; margin-top: 20px; margin-bottom: 7px; } /* work frame*/ #container { width: 970px; text-align: center; margin: 0 auto; background: transparent; padding: 0 30px; } #wrapper { float: left; overflow: hidden; width: 660px; } #box2 { width: 240px; float: right; font-size: 14px; word-wrap: break-word; } /*#blog-title-inner{*/ /*margin-top: 3px;*/ /*height: 125px;*/ /*background-position: left 0px;*/ /*}*/ /*.header-image-only #blog-title-inner {*/ /*background-repeat: no-repeat;*/ /*position: relative;*/ /*height: 200px;*/ /*display: none;*/ /*}*/ /*#blog-title {*/ /*margin-top: 3px;*/ /*height: 125px;*/ /*background-image: url('https://cdn-ak.f.st-hatena.com/images/fotolife/c/cookpadtech/20140527/20140527172848.png');*/ /*background-repeat: no-repeat;*/ /*background-position: left 0px;*/ /*}*/