2016/01/23 Cookpad TechConf 2016 http://techconf.cookpad.com/
トレンド調査ラボの青木峰郎(id:mineroaoki)です。 好きなRubyのメソッドは10年前からString#slice(re, nth)ですが、 最近はRubyよりCoffeeScriptとSQLのほうが書く量が多くて悩んでいます。 今日はわたしが開発している「たべみる」の背後で働いている 巨大バッチの構成について話したいと思います。 たべみるのバッチは約3000行のSQLで構成されており、 処理時間が1日で4時間程度かかる、そこそこの規模のプログラムです。 このバッチ処理プログラムをBricolage(ブリコラージュ)というフレームワークで構造化する手法について説明します。 「たべみる」とは まず最初に、「たべみる」がどういうものなのかごく簡単にお話ししておきましょう。 「たべみる」は企業のみに提供しているB2Bの分析サービスで、 クックパッドのレシピ検索の分析をすることができま
技術部の鈴木 (id:eagletmt) です。 クックパッドでは一部の Web アプリケーションサーバで Docker が使われており、今回はそのデプロイ方法について紹介します。 Docker で Web アプリケーションをデプロイするときには、まだまだベストプラクティスがある状況ではありません。 たとえば、どのように無停止でデプロイするか、どのようにコンテナと通信するかといった問題があります。 最初に Apache Mesos と Marathon などのツールを検証しましたが、クックパッドの環境において使いやすそうなものはなく、最終的に自前でデプロイのしくみを作ることにしました。 しかし Docker 周辺のツールは様々な新しいものが出てきている最中です。 今はまだベストなものが無いけれども、近いうちによりよいものが出てくるかもしれません。 そのため、できるだけ単純なしくみにしておく
投稿推進部の大前です。 普段はレシピを投稿するユーザーさんに向けたサービス開発・改善を担当しています。 一般に「サービス開発」というとどれくらい本質的なユーザーの課題解決をできているかや、価値提供ができているるか、ということが重要な観点として取り上げられますが(もちろんそういうった点が大事なのは大前提として)、今回はクックパッドという一つの大きなサービスの中で日々起こっているユーザーアクションを、クックパッドをひとつの大きなエコシステムとして捉えることでより多くの副次的な価値に還元できたらないいのになーというような話をしたいとおもいます。 クックパッドという大きなエコシステム ご存知のとおりクックパッドは一般のユーザーの方が投稿してくださっているレシピを中心とした(すこし古い表現ですが)CGMサービスです。 すごく簡単に言ってしまうと、クックパッドに投稿されたレシピがそれを必要としている人
id:sora_h です。今回はクックパッドの社内 apt リポジトリ管理・deb パッケージビルド・リリースフローについて紹介します。 クックパッドではいままで CentOS 6 を利用していましたが、最近は Ubuntu への移行を進めています。現在は CentOS / Ubuntu 両方が共存したインフラになっています。 CentOS では社内に yum リポジトリを置き、本家リポジトリから消えてしまったパッケージや、独自でビルドしたパッケージのホストを行っていました。Ubuntu 導入以降も同様に、社内 apt リポジトリを設置し、必要があれば独自でパッケージをビルドすることにしました。具体的には、わたしは ruby2.1 パッケージや ruby2.2 パッケージをメンテナンスしています。 (なお、わたしは rpmspec および ebuild の方が慣れていて、未だ deb パッ
ユーザファースト推進部の丸山(@h13i32maru)です。 先日「撮るレシピ」というサービスを cookpad.com にて公開しました。「撮るレシピ」というサービスは料理本や雑誌のレシピを写真に撮ってクックパッド上に保存できるというものです。料理本や雑誌でレシピを良く見る方はぜひ使ってみてください(Androidアプリ版もあります)。 この「撮るレシピ」は全体公開前に一部のユーザに限定公開をしていました。そして全体公開をするにあたりフロント側のコードを全面的に書き換え高速化を行いました。その結果、最大で30倍高速化することができユーザの使い勝手が向上しました。以下が「書き換え前」と「書き換え後」の計測結果です(Android端末8機種 + iOS3機種で各操作のターンアラウンド時間*1を計測)。 閲覧系 最大: 30倍高速化(4.2秒→0.14秒) 平均: 15.7倍高速化(3.6秒→
こんにちは。技術部の吉川です。 今回はクックパッドの開発環境構成、特に開発用データベースの構成についてご紹介します。 開発環境の構成 クックパッドのシステム環境は以下のようなフェイズに分かれています。 ※ これはcookpad.comの構成で、サブシステムや個別のサービスはその規模や特性に応じて構成が異なります。 development 開発者が実際に開発を行う環境です。クックパッドでは仮想環境は用いず、手元のマシンでRailsアプリケーションを動かして開発を行っています。 データベースはローカルではなく、開発者全体で共通の開発用データベースに接続しています。 test 手元でテストを実行する場合は、ローカルマシンのデータベースを利用します。CI(rrrspec)などの場合も同様で、テスト実行サーバーのデータベースが利用されます。 staging stagingといえば準本番環境として、本
クックパッドが主要出版社13社と提携、新課金サービス「プロのレシピ」を開始〜月額360円で、料理雑誌やレシピ本のレシピ約1万品が定額見放題〜 2014年9月1日 クックパッド株式会社 クックパッドが主要出版社13社と提携、新課金サービス「プロのレシピ」を開始 〜月額360円で、料理雑誌やレシピ本のレシピ約1万品が定額見放題〜 クックパッド株式会社は、主要出版社及び個人料理家(以下「提携パートナー」とします)と提携し、『オレンジページ』『レタスクラブ』『ESSE』等の料理・生活雑誌やレシピ本のレシピ約1万品が月額360円(税抜)で見放題になる新しいサービス「プロのレシピ」(http://cookpad.com/pro)を9月1日(月)より開始いたします。生活者(ユーザー)からの投稿を主体とした料理レシピサイトを運営しているクックパッドが、料理・生活雑誌やレシピ本の領域においても新しいプラット
インフラストラクチャー部 星野(@con_mame)です。 少し前から、一部レシピページに料理動画を掲載していました。当初はYoutubeを使用していましたが、本日から自社配信に切り替わりました。現在はまだ掲載数は少ないですが、今後掲載数を増やしていきたいと考えております。 そこで、今回は、動画配信プラットフォームの裏側がどうなっているかという点を簡単にですがご紹介したいと思います。 構成図 構成図を見ていただくのが一番わかり易いと思うので、最初に掲載します。 見て分かる通り、今回は全てAWSのサービスを使用して構築しています。 今回使用したサービスは エンコード: Elastic Transcoder データストア: DynamoDB + DynamicDynamoDB ストレージ・配信: S3 + CloudFront エンコード通知など: SNS 今回、構築までの期間とエンコードや動
技術部アルバイトの鈴木(@draftcode)です。 クックパッドが内部向けに開発・運用を行ってきた、分散テスト実行システムRRRSpecをオープンソースとして公開しました。RRRSpecは時間のかかる自動テストを分散処理することで、全体のテスト時間の短縮を狙うアプリケーションです。現在クックパッドでは17000を超えるテスト項目があり、マシン一台でテストを実行すると完了まで数時間かかります。このテストを60並列程度の分散処理で行うことで、平均8分から9分程度で完了できるようになりました。また、Amazon EC2のスポットインスタンスを利用することにより、大幅なコスト削減も同時に達成しました。 https://github.com/cookpad/rrrspec 分散テスト実行とは アプリケーションが大きくなるにつれて、自動テストの数も大きくなっていきます。クックパッドでは、非常に多くの
2018/10/31 いつもシュフモをご利用いただきありがとうございます。 シュフモ事務局です。 このたび、シュフモは、2019年4月24日(水)より、株式会社ノジマの公式アプリ (以下、ノジマアプリ)内のサービスに変更することになりました。 引き続き本サービスをご利用いただく場合は、ノジマアプリのダウンロード登録が必要となります。 お済でない方は、大変お手数ではございますが、 以下URLよりご準備くださいますようお願いいたします。 ・iPhoneをご利用の方 https://itunes.apple.com/jp/app/nojimaapuri/id451436140?mt=8&ign-mpt=uo%3D4 ・Androidをご利用の方 https://play.google.com/store/apps/details?id=jp.mnoji.app 今後ともご愛顧くださいますようお願
開発基盤グループ 森田です 以前、クックパッドで取り組んでいるExtensionの仕組みを紹介させて頂きました。 今現在もクックパッドでは、プロトタイプやβ開発は全てこの仕組みの上で進めています。 http://techlife.cookpad.com/2011/07/15/extension-framework/ この仕組みを「chanko」と命名し、本日MITライセンスで公開しました。 https://github.com/cookpad/chanko また、簡単ながらサンプルアプリケーションも用意しました。 記事の削除機能、写真のアップロード機能をchankoで実装しています。 https://github.com/cookpad/chanko/tree/master/spec/dummy 是非使ってみてください。
最近、様々な場面でAWS(http://aws.amazon.com/jp/)上でサービスを提供しているという話を聞くようになりました。 AWSの登場でスタートアップ時のサービスを速度を落とさずに提供出来たり、大規模サービスを世界中に提供しやすくなりました。 cookpadのサービス群も全てAWS上で展開しています。AWSが提供するサービスも凄い速さで増えていますが、実際にクラウド上でサービスを提供する時、各社どのような工夫やクラウドならではの構成になっているのか。。 そんなサービスの中身が少しでも垣間見れる勉強会を開催することとなりました。ノウハウの共有や、みなさまと意見交換できる場にしたいと思っています。 当日は、アマゾン データ サービス ジャパンの方も発表予定です! ■発表内容/発表者 (敬称略) 「Internal ELBを使った負荷分散」 Internal ELBやproxyを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く