SFジャンルに革命を起こした『マトリックス』のファンが楽しめる映画は他にもある。 『マトリックス』の主演、キアヌ・リーブスは、『ジョン・ウィック』や『スピード』でもアクション・ヒーローを演じている。 『ブレードランナー2049』、『Vフォー・ヴェンデッタ』、『マイノリティ・リポート』などの映画もディストピアを描いている。
技術部の青木峰郎です。 去年までは主にデータ分析システムの構築を担当していましたが、 最近はなぜかレシピサービスのサービス開発をやっています。 今日は、そのサービス開発をする過程で導入したBFF(Backends for Frontends)であるOrchaについて、 導入の動機と実装の詳細をお話しします。 Orcha導入にいたる経緯 まずはOrcha導入までの経緯、動機からお話ししましょう。 最初のきっかけは、わたしが去年から参加しているブックマークのようなサービスの開発プロジェクトでした。 このプロジェクトの実装のために新しいmicroserviceを追加することになったのですが、 そのときにいくつかの要望(制約)がありました。 1つめは、撤退するとなったときに、すぐに、きれいに撤退できること。 2つめが、スマホアプリからのAPI呼び出し回数はできるだけ増やしたくない、という要望です。
技術部クックパッドサービス基盤グループの id:koba789 です。 昨年まではデータ基盤グループというところで 最新のログもすぐクエリできる速くて容量無限の最強ログ基盤 を作ったりしていました。 今年はちょっとチームを移動しまして、検索システムをいじっていました。今回はそのお話です。 なお、クックパッドには様々な検索システムがありますが、この記事では説明を簡単にするためにレシピの検索のみに焦点をあてています。 クックパッドの検索システムにあった課題 クックパッドにはレシピを検索できる機能があります。 プレミアム会員限定の人気順検索もこの機能の一部です。 しかし、この重要な機能を支える検索システムにはいくつもの課題がありました。 Solr が古すぎる クックパッドでは、レシピ検索を含む多くの検索機能にSolrを用いています。 今年の始めに私がこの課題に取り組み始めた時点では、その Sol
トンテキカツ美 @Katsumi_Tonteki CMで観たシーチキンお味噌汁があまりにも美味しそうだからやってみたら、あまりにも美味しかったお話。 まず、だしいらずなのがいい。もう、マジでいらない。シーチキンの油って、あれほどまでのコクとうまみを秘めていたのかと驚愕した。 シーチキンの油で野菜を炒め、私はきのこや豆腐などの好きな具材をもりもり入れて煮込んじゃいます。 豚汁系のこってりお味噌汁になるから、こってりが苦手な方は普通に油を切って具材としてシーチキンを加えてみても美味しいと思います。 はごろもさんのシーチキンLがいまのところのマイベスト。フレークでも美味しかったけど、かたまりがある方が私は好きだった。 もっと早くに知りたかった!温かい汁物が嬉しい季節、食べたことのない方はぜひ😋 2023-10-18 10:16:30 トンテキカツ美 @Katsumi_Tonteki 皆さんにも
町中華のチャーハンって、本当ーーーーーーに美味しいですよね!!! 人類料理史上、最高の発明と言っても過言ではないでしょう。 そんな最高の料理である町中華のチャーハンを、家で作れるようになったら一生モノの財産を得たも同然。 今回ご紹介するコツと理論を押さえれば、あなたも確実に町中華のチャーハンを再現できます! そして、コチラが僕が約20年間研究し続けて完成した「再現度100%町中華チャーハン」! 具材もゴロゴロで、かなりの再現度の高さだと思いませんか? このチャーハンの作り方について、理論とレシピを解説していきます! ちなみに今回の記事はアドビ社のPR企画「みんなの資料作成」に参加して書いています! 僕のとっておきの資料(レシピ)を記事の最後にPDFでご用意しましたので、ぜひダウンロードして、町中華チャーハンを自宅で完全再現してみてください! 著者プロフィール 超料理マニアな料理人。 作る・
「クックパッド離れ」に歯止めはかかるか かつての愛好者たちの本音 https://headlines.yahoo.co.jp/article?a=20190926-00000004-moneypost-bus_all 料理レシピサービス大手のクックパッドの2019年12月期第2四半期(1~6月)業績は、売上高に当たる売上収益が57億8000万円と、前年同期比で2.6%のマイナスとなった。営業利益は4億5600万円となり、前年同期比71.2%のマイナス。国内の平均月間利用者数は5483万人と発表しているが、2016年(第4四半期)の6414万人と比べると1000万人以上減っており、苦しい状況が続いている。
レシピ事業サービス基盤部で部長をやっています、新井(@SpicyCoffee66)です。引越しを機に MtG のカードをほとんど売ったはずなのに、そのときは存在しなかったポケモンカードのデッキが手元にあります。なぜ? 私は 2017 卒のエンジニアとしてクックパッドに入社し、様々な業務を経験した後に 2020 年の 8 月から部長となりました*1。最近はコードを書いていないので Techlife の執筆内容に迷ったのですが、今自分の中にある「優れた組織づくりについての考え方」をまとめてみることとしました。部長になる前にも、グループ長として小規模なチームマネジメントの経験があるとはいえ、それを含めても2年弱のマネージャー経験しか持っていないので、これが絶対の正解というわけではなく一つの考えとして読んでいただけると幸いです。 組織の存在理由 優れた組織づくりについて考えるために、まずは組織の存
以前から技術系のニュースで話題になることがあって 最近のリストラ騒動で「高い技術があるのにもったいない」みたいなブクマもちらほら見るんだけど クックパッドって実際にそんな高い技術使うようなサイトかね 本筋は決まってるから刺激的で新しいものをバンバン作ってるって感じでもないわけじゃん しかもRailsでしょ(バカにしてるわけではありません) だれかクックパッドの技術のすごさ教えて ーーー追加ーーー インフラの技術がすごいのはわかった 自分はdevopsガン無視してきたんでインフラをゼロから作ったことはないんで、たぶんすごいんだろうと思う タグ統合に関しては発想が良いよねって感じかな? 技術に時間を投資してくれる企業だからできることかな で、インフラに関してだけど、ニコニコとかはてなが褒められてるのは見たことないわけよ ニコニコなんか国内発の大規模動画投稿・試聴サイトで一時期はものすごーい勢い
技術部の笹田です。今日で退職するので、バタバタと返却などの準備をしています。 本記事では、Rubyの並行並列処理の改善についての私の取り組みについて、おもに RubyKaigi 2022 と 2023 で発表した内容をもとにご紹介します。 並行と並列はよく似た言葉ですが、本記事では次のような意味で使います。 並行処理(concurrent processing)は、「複数の独立した実行単位が、待っていればいつか終わる(もしくは、処理が進む)」という論理的な概念で、古典的にはタイムシェアリングシステムなどが挙げられます。 並列処理(parallel processing)は、「複数の独立した実行単位のうちのいくつかが、あるタイミングで同時に動いている」という物理的な概念で、古典的には複数のCPU上で同時に実行させる、というものです。最近では、1つのCPU上で複数コアが同時に動いている、という
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
技術部データ基盤グループの青木です。 ここ1、2年はなぜか成り行きでBFFをでっちあげたり、 成り行きでiOSアプリリニューアルのPMをしたりしていたので あまりデータ基盤の仕事をしていなかったのですが、 今年は久しぶりに本業に戻れたのでその話をします。 突然の1人チーム、そして0人へ…… 今年のデータ基盤チームは消滅の危機から始まりました。 間違いなく去年末は5人のチームだったと思うのですが、 メンバーがイギリスへグローバルのデータ基盤チームを作りに行ったり、 山へ検索システムを直しに行ったり、川へレシピ事業の分析業務をやりに行ったり、 海へ広告のエンジニアリングをしに行ったりするのをホイホイと気前よく全部聞いていたら、 なんと4月から1人だけのチームになってしまいました。 事はそれで終わりません。 恐ろしいことに10月にはわたし自身も育休に入ることになったので、 10月はデータ基盤が0
技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、ついに Ruby 3.0.0 がリリースされました。一昨年、昨年に続き、今年も Ruby 3.0 の NEWS.md ファイルの解説をします。NEWS ファイルとは何か、は一昨年の記事を見てください(なお Ruby 3.0.0 から、NEWS.md にファイル名を変えました)。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ Ruby 3.0 は、Ruby にとってほぼ 8 年ぶりのメジャーバージョンア
「口コミ」提唱から半世紀…広がる消費者発信メディア いまやその言葉を聞かぬ日はないほどに口の端に上る「口コミ」という言葉は、ジャーナリスト・ノンフィクション作家の大宅壮一が1960年代に生み出したといわれている。もともとは「口頭でのコミュニケーション」の意味で、テレビや新聞などのマスコミュニケーションとの対比のもとに提唱された。 大宅氏の時代には、小規模なコミュニケーションが念頭に置かれていたと思われるが、現在ではインターネット、特にソーシャルメディアやSNSの発達によって口コミの影響力は巨大なものとなった。 デジタルマーケティングの発展した英語圏では、早くからそのような状況が理論化されていった。口コミが生み出され集まる場所という意味で、Consumer Generated Media(消費者発信メディア。略称CGM)という言葉も盛んに使われるようになる。 日本でも、レシピを共有する「クッ
技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 去年の記事「プロと読み解く Ruby 2.6 NEWS ファイル」に続き、今年も本日 12/25 リリース予定の Ruby 2.7 の NEWS ファイルの解説をしてみようと思います。NEWS ファイルとは何か、というのは去年の記事を見て下さい。 実は最近、NEWS ファイルを読みやすくしよう、と例を入れたりしていて、以前のものに比べて読みやすくはなっています(英語だけど)。記事中のコードも、NEWS ファイルから引用しているものがあります。本記事では、変更の解説に加え、執筆者らが開発に携わっているということを活かして、「なぜ変更
コーポレートエンジニアリング部の id:sora_h です *1。今回は 3 ヵ月ほど前に実施した、Google Workspace テナントのプライマリドメイン変更について、記録を兼ねて説明します。 クックパッドは 2009 年頃 *2 より Google Workspace *3 を利用しています。当社の対外的なメールアドレスは cookpad.com ですが、Google ではプライマリドメインとして cookpad.jp が設定されています。各ユーザーには cookpad.com のアドレスを別名 (エイリアス) として登録されていて、メールアドレスとしては cookpad.com を利用、ただ Google へログインする時だけ cookpad.jp を利用する運用になっていました。想像が出来ると思いますが、これが様々な面で不便・混乱を発生させていました。どうしてこうなった… *
こんにちは、マーケティングサポート事業部データインテリジェンスグループの井上寛之(@inohiro)です。普段はマーケティングに使われるプライベートDMP(データマネジメントプラットフォーム)の開発を行っています。本稿では、その過程で得られた冪等なデータ処理ジョブの書き方に関する工夫を紹介したいと思います。今回は、RDBMS上で SQL によるデータ処理を前提に紹介しますが、この考え方は他の言語や環境におけるデータ処理についても応用できるはずです。 まずクックパッドのDMPと、冪等なジョブについて簡単に説明し、ジョブを冪等にするポイントを挙げます。また、SQL バッチジョブフレームワークである bricolage を使った、冪等なジョブの実装例を示します。 クックパッドのDMPと冪等なジョブ クックパッドのプライベートDMPは、データウェアハウス(社内の巨大な分析用データベースで、クックパ
主にバックエンドのエンジニアとしてクックパッドマートの開発に携わっている塩出( @solt9029 )です。 美味しい食材をユーザにお届けするサービスであるクックパッドマートでは、日々街の販売店や地域の生産者が商品の登録を行っています。 商品を登録する際、販売者は消費期限をはじめとする様々な品質保証の情報を正確に入力する必要があります。 しかし、商品の種類や状態に応じて記載するべき品質保証の情報は異なるため、全項目が羅列されるフォームでは正確な入力が困難であり、販売者および商品の審査を行う社内の運用メンバに対して大きな負担をかけていました。 そこで、 JSON Schema を利用して複雑なフォームの出し分けを自動で制御し、またバックエンド側でのバリデーションも行うことが出来る仕組みを導入しました。 その結果、商品の種類や状態を選択するだけで、適切な品質保証の情報が自動的に入力され、必要な
SRE 兼よろず屋の id:sora_h です。最近は本社移転プロジェクトをやっています。趣味は Web *1 です。 さて、クックパッドでは 2020 年 12 月に TLS 1.0 および TLS 1.1 (以後 "Legacy TLS") を廃止しました。 Legacy TLS は RFC 7457 でまとめられているような既知の脆弱性の存在などから、Chrome, Firefox といった主要ブラウザを含め各所でのサポートが打ち切られつつあります。また、現在では IETF においても Legacy TLS は deprecated と RFC 8996 にて宣言されました。 クックパッドでもセキュリティ対策およびレガシーな技術と向き合う一環で廃止を進めました。我々は歴史の長いサービスも提供しているため、古い Android や Internet Explorer などからのアクセス
Ruby 開発チームに4週間インターン生として参加いたしました、永山 (GitHub: NagayamaRyoga) です。 私は「Ruby中間表現のバイナリ出力の改善」という課題に取り組み、Railsアプリケーションのコンパイルキャッシュのサイズを70%以上削減することに成功しました。以下ではこの課題の概要とその成果について述べたいと思います。 InstructionSequenceの概要 まず、RubyVM 内で実行される命令の中間表現、InstructionSequence (以下 ISeq と省略) について簡単に説明します。 通常の Ruby プログラムは、以下のような手順で実行されます。 ソースコードを構文解析し、抽象構文木を作る。 抽象構文木をコンパイルして、ISeq を作る。 RubyVM (YARV) で ISeq を解釈し、実行する。 ISeq は、このように Ruby
こんにちは、事業開発部でプロジェクトマネージャー兼エンジニアをやっている新井(@SpicyCoffee)です。10 万円の申請書を書く前に 20 万円のパソコンを買いました。 クックパッドでは、毎日の料理を楽しみにするべく日々サービス開発がおこなわれています。本稿では、サービス開発の中でも重要かつ難解な「KPI の設定」について、私がプロジェクトマネージャーとして普段考えていることや注意している点を紹介します。 KPI を決めるのは難しい サービス開発において KPI を設定し、それを改善するような施策や検証を繰り返していくことは基本中の基本です。しかしながら、現実には「KPI を設定する」という行為自体の難易度が非常に高く、日夜頭を悩ませている開発者のみなさんも多いのではないでしょうか。 以下では、その要因の一つである「KPI は複数の要件を満たす必要がある」ことについて考えます。 満た
日本では、まだ食べられるのに廃棄される食品は年間522万トンにも及ぶ。その「食品ロス」を減らすために消費期限や賞味期限を延長させる動きが活発になっている。昨年10月、大手コンビニチェーンはサラダの消費期限を1日延ばしたと発表。それに先立つ昨年3月、別の大手コンビニチェーンが、おにぎりの消費期限の期間を2倍にし、店頭販売できる時間を約18時間から1日半~2日程度に延ばした。 【写真】総菜がたっぷりの売り場のスーパーの揚げ物。厚みあるタルタルが乗る 食品延命のための技術を進歩させ、鮮度を保つことに心を砕くところがある一方、意識の低い事業者も存在する。食品期限を業者が決められることを逆手に取り、それを自分たちの手で自由自在にコントロールするスーパーもあるという。消費者問題研究所代表で、食品問題に詳しい垣田達哉さんが言う。 「売れ残りを詰め替え、消費期限を延ばして売る『リパック』は明らかな違反。で
こんにちは!研究開発部ソフトウェアエンジニアの林田千瑛(@chie8842)です。あまりたくさん飲めないけど日本酒が好きです。 クックパッドが提供するサービスの検索や推薦機能の構築・改善を行っています。 本稿では、クックパッド本体の検索改善や推薦システム構築の傍らで、新規サービスであるクックパッドマート向けの検索システムをつくったので、その際の設計や精度改善の工夫について書きます。 新規サービスクックパッドマートと検索 クックパッドマートは、生鮮食品に特化したECサービスで、ステーションと呼ばれる場所に購入した食品を届けてくれるという特徴をもっています。2018年夏にサービス開始して以来順調にユーザ数を伸ばしています。中でも商品検索機能は、クックパッドマートの追加機能として9月にリリースしました。 検索システムの要件 プロダクトチームの当初の要件は以下のとおりでした。 まずは 1ヶ月で リ
Ruby の開発をしている技術部の笹田です。娘が自転車に乗り始め、まだ不安なためずっとついていなければならず、少し追っかけまわしただけで息切れがヤバい感じになっています。運動しないと。 ここ数年、Ruby で並列処理を気軽に書くための仕組みである Ractor を Ruby 3.0 で導入するという仕事を、クックパッドでの主務として行ってきました(クックパッドから、これ、と言われていたわけではなく、Ruby を前進させるというミッションの上で行ってきました)。 Ractor は、もともと Guild という名前で開発をはじめ、2020年の春頃、Ractor という名前に変更することにしました。いくつかの機会で発表しています。下記は、RubyKaigi での発表の記録です。 A proposal of new concurrency model for Ruby 3 - RubyKaigi
クックパッド株式会社は、将来的な出社勤務体制を前提とし、サービス開発に最適化した柔軟なオフィス運用を推進するために、WeWork オーシャンゲートみなとみらいへの本社移転を決定いたしました。 当社は、2017年からの10年間をさらなる大きな成長のための事業基盤創りに注力する「投資フェーズ」と定め、積極的な投資を行っています。特に、当社のミッションである「毎日の料理を楽しみにする」を実現するためには、「つくり手を増やすこと」が重要だと考えており、つくり手に向けたプラットフォームサービスの拡大を国内事業の重要施策として位置付けています。 これらの事業展開を加速するためには、つくり手、生活者との物理的距離を縮め、料理に関する様々な課題に迅速に対応すること、COVID-19が当面の間続くことが想定される環境の中でも、職住近接の実現が可能で、オフィスに集まって物理的な環境を活用した働き方を作り上げる
こんにちは。PlayStation 5が一向に買えない@giginetです。普段はモバイル基盤部というところでiOSの基盤開発をしています。 皆さん、行動していますか?我々は日々Webサービス上で様々な行動をしています。サービス開発において、改善に活かすための効率的な行動ログの収集方法はしばしば課題になります。 今回は、サービス開発者がモバイルアプリ上で簡単にログを定義し、分析を行えるログ基盤を導入した事例について紹介します。 行動ログとは何か モバイルアプリの行動ログとは、ユーザーのアプリ上の操作や利用状況を取得、集積するためのものです。 例えば、特定の画面を表示したり、特定のボタンをタップしたり、といったユーザー操作を起点として送信されています。 集められたログは、サービス開発のための分析や実態把握に役立てられます。 最近はFirebase Analyticsなど、PaaSの形態で提供
こんにちは、クックパッドで最近はモバイルアプリを離れもっぱらウェブアプリを作っている @morishin です。 先日、社内で「モダンウェブフロントエンド勉強会」と題して React, Next.js, Core Web Vitals, SSR, CSR, SSG, ISR, SSR Streaming, React Server Component といったキーワードに触れつつ、昨今のウェブ開発事情について話をしました。せっかくなのでその内容の共有と、勉強会を開催した動機などを紹介したいと思います。 この話は fukabori.fm でも取り上げていただいてお話ししたので、よければそちらもご視聴ください。 fukabori.fm 背景・動機 クックパッドのウェブアプリケーションは10年以上もの間 Ruby on Rails で開発されてきましたが、2020年から一部のページは Next.
下水処理水をサツマイモ栽培の液体肥料にしたり栽培スペースを工夫したりし、生産量を約10倍に増やすことに成功したと近畿大の鈴木高広教授らのチームが22日までに発表した。 【動画】研究者向け新施設が完成 近大マグロ、奄美実験場 22年 処理水は大量に入手できて冬場も冷たくなりすぎず、越冬栽培にも向いている。サツマイモは微生物による発酵でメタンガスが発生することからバイオ燃料としても近年注目されている。 チームによると、下水には肥料に含まれる窒素やリンが過剰に含まれる一方、酸素が不足しており、そのままでは栽培が難しかった。酸素を溶かすと微生物が増加。微生物が窒素などを吸収して栽培に適切な濃度になる。 チームは静岡県磐田市の下水処理場で栽培実験。苗を植えたポットを3段に並べ、1平方メートル当たり年間25.3キロに相当する量を収穫した。全国平均は同2.4キロという。 鈴木教授は「エネルギー自給率を高
プログラミングが好きなエンジニアの渡辺です。 先日 TechMTG という社内のエンジニアミーティングの場でお話させて頂いたことを書いてみようと思います。 表題の「正解にする力」というのは様々な意思決定に適用出来るものとして考えていますが、今回は技術選定という観点でお話します。 技術選定というと、世の中のデファクトだとか、新しい技術だとか、社内で実績のある枯れた技術とか色々な理由や基準で選ぶのが良いと、至るところで言われていると思います。 選定時に議論が平行線にならないように、判断基準を設けるべきというのもあるでしょう。 これらは重要であり、検討、準備することは必要ですが、それに加えて「正解にする力」というのも重要なのではないか?という提案です。 まず、組織における技術選定とは「正解を選ぶ」ことではないと思っています。 これはその技術選定結果はその人個人についてまわるのではなく、組織として
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く