タグ

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

  • クックパッドの検索の裏側 - クックパッド開発者ブログ

    初めまして、インフラストラクチャー部の加藤 (@EugeneK) です。 クックパッドでは現在178万ものレシピが公開されていますが、目的のレシピを探すために検索機能を提供しています。 今回は検索機能の裏側の仕組みについて、インフラストラクチャーの観点からお話ししようと思います。 全ての検索機能を支えるSolrと周辺のアーキテクチャ クックパッドにはレシピの検索だけでなく様々な検索機能がありますが、その全てはSolrを活用して実装されています。 以前はMySQL Tritonnによる全文検索機能を使用していましたが、2011年頃からSolrに切り替わりました。 クックパッドではSolrをマスタ - スレーブ構成にすることで冗長性と負荷分散を実現しています。以下の構成図をご覧ください。 マスタとスレーブの間には、リピータと呼ばれる検索インデックスを中継するためだけの役割のサーバがいます。この

    クックパッドの検索の裏側 - クックパッド開発者ブログ
    komz
    komz 2014/10/22
    クックパッドの検索の裏側
  • 勝手自作OSSライブラリを会社のアプリに組み込んだ話 - クックパッド開発者ブログ

    こんにちは、レシピ投稿推進室の小室(id:hogelog)です。 今回は私が実装したAndroid向けグラフ描画ライブラリline-chart-viewの紹介、ではなくついカッとなってOSSとしてこのライブラリを作りクックパッド (Androidアプリ)に組み込んだ話について書きます。 line-chart-view 最低限の紹介をするとline-chart-viewというのは List<LineChartView.Point> points = new ArrayList<>(); points.add(new LineChartView.Point(date("2014/07/01"), 100)); points.add(new LineChartView.Point(date("2014/07/02"), 200)); points.add(new LineChartView.Po

    勝手自作OSSライブラリを会社のアプリに組み込んだ話 - クックパッド開発者ブログ
    komz
    komz 2014/09/20
    勝手自作OSSライブラリを会社のアプリに組み込んだ話
  • クックパッドにおける最近のActiveRecord運用事情 - クックパッド開発者ブログ

    インフラストラクチャー部の成田(@mirakui)です。 Rails の OR マッパーである ActiveRecord ですが、みなさんどのように運用していますか? ActiveRecord を使うと、 SQL を直接扱うことなく、抽象化された表現で RDB にアクセスできるので、アプリケーションの開発効率という観点ではメリットが大きいです。 一方で、 ActiveRecord が駆使されているアプリケーションをサーバに配置してプロダクションとして運用する立場からすると、いくつかの問題に突き当たります。 まずはクックパッド体アプリケーションにおける、最新の rake stats をご覧ください。 +----------------------+-------+-------+---------+---------+-----+-------+ | Name | Lines | LOC

    クックパッドにおける最近のActiveRecord運用事情 - クックパッド開発者ブログ
    komz
    komz 2014/08/29
    クックパッドにおける最近のActiveRecord運用事情
  • Material Designの目指すところとAndroid側の変更点 - クックパッド開発者ブログ

    モバイルファースト室の @rejasupotaro です。 今年のGoogle I/OではAndroid One、Android L、Material Design、Android Ware、Android Auto、Android TV、Google Cloud PlatformGoogle Fitなどの発表がありました。弊社からは私と @sys1yagi と @__gfx__ が参加したので、何回かに分けてGoogle I/Oの発表の内容を紹介します。 今回のテーマはMaterial Designです。内容は公式ドキュメントやセッション動画の要約や参考リンクからの引用を含みますが、筆者の考察や主観も含まれます。 Material Designとは Material Designとは、Googleが発表したビジュアル、モーション、インタラクションのプラットフォームやデバイス間の包括的な

    Material Designの目指すところとAndroid側の変更点 - クックパッド開発者ブログ
    komz
    komz 2014/07/08
    Material Designの目指すところとAndroid側の変更点
  • 料理動画を支える技術 - クックパッド開発者ブログ

    インフラストラクチャー部 星野(@con_mame)です。 少し前から、一部レシピページに料理動画を掲載していました。当初はYoutubeを使用していましたが、日から自社配信に切り替わりました。現在はまだ掲載数は少ないですが、今後掲載数を増やしていきたいと考えております。 そこで、今回は、動画配信プラットフォームの裏側がどうなっているかという点を簡単にですがご紹介したいと思います。 構成図 構成図を見ていただくのが一番わかり易いと思うので、最初に掲載します。 見て分かる通り、今回は全てAWSのサービスを使用して構築しています。 今回使用したサービスは エンコード: Elastic Transcoder データストア: DynamoDB + DynamicDynamoDB ストレージ・配信: S3 + CloudFront エンコード通知など: SNS 今回、構築までの期間とエンコードや動

    料理動画を支える技術 - クックパッド開発者ブログ
    komz
    komz 2014/06/18
    料理動画を支える技術
  • どんどん使う - 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の紹介 - クックパッド開発者ブログ
  • クックパッドとHadoop - クックパッド開発者ブログ

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

    クックパッドとHadoop - クックパッド開発者ブログ