タグ

ブックマーク / techlife.cookpad.com (12)

  • クックパッドの検索反映時間を 1/288 にしたシステム改修 - クックパッド開発者ブログ

    こんにちは。レシピ事業部の新井(@SpicyCoffee)です。 クックパッドではこれまで、レシピを投稿してから検索結果に反映されるまで最長で 24 時間程度の時間がかかっていました。今回、この時間を 5 分程度、最長でも 10 分程度に短縮することに成功しました。記事では、プロジェクトオーナーの立場で関わった私が代表してその開発について紹介します。 プロジェクトの目的と数値目標 プロジェクトでは上記の「レシピを投稿してから検索結果に反映されるまでの時間短縮」が目的とされました。しかし、時間短縮といっても現状 24 時間であるものを "1 時間" にするのか、"1 分" にするのか、"1 秒" にするのかでは話が全然違います。この数値目標は設計を始めとした後の意思決定に大きく影響を与えるため、しっかりとした意図を持った状態で明確に定めておく必要がありました。 そこで、私とプロダクトオー

    クックパッドの検索反映時間を 1/288 にしたシステム改修 - クックパッド開発者ブログ
    kiyo-shit
    kiyo-shit 2023/10/06
  • 新サービス立ち上げ時の重要指標のデザイン - クックパッド開発者ブログ

    こんにちは、株式会社ビットジャーニーに出向中の出口 (@dex1t) です。ビットジャーニーでは、社内情報共有ツール Kibela*1のサービス設計やプロダクトマネジメントに責任を持ちつつ、エンジニアとして開発全般に携わっています。 今回は、新サービスの立ち上げ時にどのような考えで重要指標*2を設計し、それを実際の開発のなかでどう使っていくかという話をします。 なぜ検証をするのか そもそもなぜ新サービス立ち上げ時に、重要指標や検証といった考えが必要になるのでしょうか。それを考えるにあたって、クックパッド的なサービス開発の流れを改めて整理してみます。 企画と検証は表裏一体 サービス開発といえば、企画・開発・検証をぐるぐる回すというのが一般的だと思います。指標は検証段階で活用する道具です。企画で考えたことを確かめるのが検証段階であり、企画と検証は表裏一体です。 したがって、指標の設計をするにあ

    新サービス立ち上げ時の重要指標のデザイン - クックパッド開発者ブログ
  • より良いデザインにするために大切にしたいと思っていること - クックパッド開発者ブログ

    こんにちは。デザイナーの遠藤です。 私は今クックパッドiOS/Androidアプリのデザインを担当しています。 みなさんは、既存の機能を別のプラットフォームに追加する際に、あまり考えずにそのまま追加してしまい、後で後悔したことはないでしょうか?今回は、web版にある機能「料理の基」をクックパッドアプリへ追加した時のことを交えて、より良いデザインにするために大切にしたいと思っていることをご紹介します。 料理の基について レシピをみて料理を作っている際に、「あれ、半月切りって何だっけ?」「水にさらすってどれだけやればいいんだろう」のような、基的なことさえわからず手が止まってしまったことはありませんか?クックパッドでは、そんな方のために料理の基を提供しています。今回私は、この機能をiOS/Androidアプリのレシピページに追加する際、デザインを担当しました。 この機能の使い方は、レシピ

    より良いデザインにするために大切にしたいと思っていること - クックパッド開発者ブログ
  • 日本語形態素解析の裏側を覗く!MeCab はどのように形態素解析しているか - クックパッド開発者ブログ

    こんにちは、買物情報事業部の荒引 (@a_bicky) です。 前回、「検索結果の疑問を解消するための検索の基礎」で単語単位でインデキシングする前提で説明しましたが、今回は文などを単語単位で分割するために使う技術である形態素解析について触れます。 形態素解析器には色々ありますが、中でもメジャーと思われる MeCab の仕組みについて説明します。 MeCab の解析精度を上げるために辞書に単語を追加したことのある方もいると思いますが、動作原理を理解することで単語を追加する際に適切な生起コストを設定できるようになったり、学習の際に適切なパラメータを設定できるようになったりするはずです。 なお、MeCab は汎用テキスト変換ツールとしても使用できます が、簡単のため MeCab + IPA 辞書のデフォルト設定前提で説明します。 アジェンダ 形態素解析とは MeCab における最適な解析結果の推

    日本語形態素解析の裏側を覗く!MeCab はどのように形態素解析しているか - クックパッド開発者ブログ
  • デザイン品質を高めるための仕組みづくり - クックパッド開発者ブログ

    ユーザーファースト推進室 デザイナーの橋(@hashcc)です。 クックパッドでは、安定した品質のモバイルアプリケーションをユーザーさんに届けるために、デザインリリースマネージャ という試みを2015年秋頃から始めました。 今回はこの試みについて発端や成果などをお話しします。 「あれ、なんでこんなデザインになってるの・・?」 クックパッドには日々多くのコード変更が加わっています。そうした中でも品質を安定させる(クラッシュや機能破壊を起こさない)ために、テストエンジニアなどが取り組んでいます。 関連: クックパッドモバイルアプリの開発体制とリリースフロー 安定したリリースを継続するためのテストとテストレベルの話 デザイナーも「デザイン変更が伴う修正は必ずデザイナーがチェックする」というルールを作り、デザイン品質の安定化に努めていました。 にも関わらず、リリース直前/直後になって「あれ、なん

    デザイン品質を高めるための仕組みづくり - クックパッド開発者ブログ
    kiyo-shit
    kiyo-shit 2016/03/11
  • iOS9 のリリースでクックパッドに起きたこと - クックパッド開発者ブログ

    こんにちは、技術部モバイル基盤グループの茂呂(@slightair)です。 モバイル基盤グループでは、クックパッドの iOS/Android アプリに関する様々な仕事をしています。 不具合を抑え、品質を保ちながら安定してリリースサイクルを回せる環境づくり アプリの開発者がサービス開発に専念できるように、コードリファクタリングやライブラリの整備 OSやライブラリ、開発ツールのバージョンアップに伴う調査・検証・対応 この記事にはiOS9がリリースされた結果、クックパッドのサービスに何が起き、どういう対応をしてきたかをまとめます。 Universal Links iOS9 で Universal Links という機能が入りました。これは、Safari で開いた Web ページ中のリンクに対応したアプリが端末にインストールされていれば、アプリでリンク先のコンテンツを表示できるというものです。 う

    iOS9 のリリースでクックパッドに起きたこと - クックパッド開発者ブログ
  • ディレクターの知見共有の仕組み - クックパッド開発者ブログ

    こんにちは、検索・編成部の五味と申します。 現在はディレクターとして、クックパッドiOS/Androidアプリを使いやすくするための施策を主に担当していますが、年初に異動して来るまでは、広告クリエイティブ制作というまったく異なる仕事をしていました。 サービス開発に関しては初心者状態だった私にとって、貴重な学習機会を与えてくれている、クックパッドのディレクター同士の情報共有の仕組みをご紹介します。 ディレクター同士の連携は難しい? まずはじめに、現在クックパッドでは事業部制が採用されており、ディレクターは複数の部署に数名ずつ分かれて働いています。 ところが、ディレクターは同職間での連携が難しい職種でもあります。通常1つの施策を複数名で担当することはないので、お互いの業務進捗を報告しあってもいまひとつ理解しきれませんし、担当する施策の内容もバラバラであることが多いため、業務フローに問題があって

    ディレクターの知見共有の仕組み - クックパッド開発者ブログ
    kiyo-shit
    kiyo-shit 2015/10/08
    良い
  • デザイン設計に集中する時間を増やしてみよう - クックパッド開発者ブログ

    こんにちは! ユーザーファースト推進部のデザイングループのジョン・ジンホ(@img75)です。 前回、クックパッドのデザインプロセスについてご紹介しましたが、私からはクックパッドのデザインプロセスをより効率的にまわす為に、デザイナーとしてどのようなツールを活用しているのかを、今回は Adobe Photoshop CC のプラグインを中心にご紹介したいと思います。 デザイン設計に集中できる Photoshop などでの作業効率を向上させると、デザイナーにとって貴重な「デザイン設計に集中できる時間」が生まれます。それは結果的にクックパッドを利用してくださるみなさまにより良い機能をすばやく提供できることにつながるので、私はいつもデザインするにあたって不必要な時間を減らす努力をしています。 最近、私は「撮るレシピ」(Android/ SPweb版)のデザインを担当しました。 「撮るレシピ」は、こ

    デザイン設計に集中する時間を増やしてみよう - クックパッド開発者ブログ
    kiyo-shit
    kiyo-shit 2014/11/07
  • どんどん使う - Extension Frameworkの紹介 - クックパッド開発者ブログ

    技術部開発基盤グループの森田です 昨日の2011年7月14日、「Ruby Recipes and Japanese Cooking At Cookpad」におきまして、「どんどん使う」と題し、弊社で開発/運用しているExtension Frameworkの紹介をさせて頂きました。その際に利用したスライドを公開致します。 スライドの主な内容は以下の2点です。 「プロトタイプで作成中のコードを機能単位で実装し、メインのコードと区別することで、低品質と高品質のコードを使い分ける」 「障害が発生した場合も影響を最小限に抑える」 スライドが、少しでも皆様のサービス開発の助けになれば幸いです。 Createanduse [slideshare id=8601603&w=425&h=355&sc=no] View more presentations from eudoxa

    どんどん使う - Extension Frameworkの紹介 - クックパッド開発者ブログ
    kiyo-shit
    kiyo-shit 2011/07/19
  • Ruby を利用した大規模ウェブサービスの開発・運用 - RubyKaigi 2011 発表資料 - クックパッド開発者ブログ

    技術部開発基盤グループの id:secondlife こと @hotchpotch こと舘野です。 先日の RubyKaigi 2011 で、「Ruby を利用した大規模ウェブサービスの開発・運用」という内容で発表させていただきました。 前半はクックパッドのサーバアーキテクチャ、各種サーバのアプリがどんな風に動いているのかの紹介を、後半では「開発」→「デプロイ」→「フィードバック」→「開発」…という、サービス開発で行われているサイクルを30人以上エンジニアが居るクックパッドでどう高速に回し続けているかのお話しです。 Ruby を利用した大規模ウェブサービスの開発・運用 [slideshare id=8630511&w=425&h=355&sc=no] View more presentations from hotchpotch 当日のRubyKaigi 2011 での発表の動画は、以下を

    Ruby を利用した大規模ウェブサービスの開発・運用 - RubyKaigi 2011 発表資料 - クックパッド開発者ブログ
    kiyo-shit
    kiyo-shit 2011/07/19
  • クックパッドとHadoop - クックパッド開発者ブログ

    はじめまして。今年の5月に入社した勝間@さがすチームです。 入社してからは、なかなか大変なことも多いですが、最近はお酒好きが集まって月曜から飲み合う 「勝間会」なるものも発足して、仕事面でも仕事以外の面でも密度の高い毎日を過ごしています! さて、僕は「さがす」チーム所属ということで、普段はレシピを「さがす」ユーザの満足度を上げるために、 クックパッドの検索まわりについて、いろいろな開発を行っています。 一方で、ユーザの「さがす欲求」について深く知るために、大規模なデータ解析を行い、欲求の分析を行う機会も増えてきました。 ところが、クックパッドのログは膨大な数があるので、一口のデータ解析と言っても通常のバッチ処理だと間に合わないため、 分散処理環境の必要性が高まってきました。 そこで、まずは手軽に試せる分散処理の王道ということで、最近ではHadoopを使ったデータ解析環境を整備しています。

    クックパッドとHadoop - クックパッド開発者ブログ
  • Testing, Design, and Refactoring (RailsConf2009レポート) - クックパッド開発者ブログ

    «RailsConf2009のレポート一覧 こんばんは根岸です。会社のマニーでべガスに来ています。 稿はrakeの作者、Jim WeirichさんとJim O'brienさんのテストやリファクタリングに関する表題の発表のレポートです。 リファクタリング用のサンプルプロジェクトとスライドがアップロードされていました。 http://onestepback.org/download/refactor.zip 以下軽く紹介するので、興味がわいたらプレゼンを眺めたりあとで公開されるであろうビデオを眺めたりして下さいね。 前半は要するに良いオブジェクト指向のデザインとは何かというテーマです。 ・凝集性を高める ・低い結合性を保つ ・明確さを維持する これを実行するために単一責任原則だとか、リスコフの置換原則だとか、役割の局所性を利用したオブジェクト間のやりとりの粗結合性だとか、最少のクラスとメソッ

    Testing, Design, and Refactoring (RailsConf2009レポート) - クックパッド開発者ブログ
  • 1