多腕バンディットによる表示コンテンツの最適化
こんにちは。技術部検索グループの原島です。上の画像は、スマートフォン(ブラウザ版)で見たクックパッドの検索結果ページです。レシピだけでなく、ニュースも表示されていますね。献立や掲示板のスレッドなどが表示されることもあります。クックパッドでは、検索結果ページに表示するコンテンツをクエリなどに応じて最適化しています。最適化は、膨大なログデータと最新の機械学習を用いることで、実現しています。このエントリで...
View Articleレシピ検索を改善する工夫
こんにちは。技術部検索グループの兼山(@PENGUINANA_)です。クックパッドの中でレシピ検索はレシピをのせる人とさがす人をつなぐ大事な仕組みです。 今回はレシピ検索を運用改善していく上での工夫のうち、他の検索システムでも役立ちそうな内容を紹介させていただきます。改善ポイントを発見しやすくする工夫1. 検索語をモニタリングするsearch...
View ArticleRESTful Web API 開発をささえる Garage
技術部の小野(@taiki45)です。この記事では簡単なアプリケーション(ブログシステム)の実装を通して、クックパッドで作成・使用しているライブラリのGarageの紹介と Garage を使った RESTful Web API の開発をご紹介したいと思います。Garage は RESTful Web API を開発するための、 Rails gemified pluginsです。Rails...
View Articleaptly による apt リポジトリ管理
インフラストラクチャー部の宮下(@gosukenator)です。クックパッドでは一部のサーバで Ubuntu を使い始めており、 apt...
View Articleデザイン設計に集中する時間を増やしてみよう
こんにちは! ユーザーファースト推進部のデザイングループのジョン・ジンホ(@img75)です。前回、クックパッドのデザインプロセスについてご紹介しましたが、私からはクックパッドのデザインプロセスをより効率的にまわす為に、デザイナーとしてどのようなツールを活用しているのかを、今回は Adobe Photoshop CC...
View ArticleCocoaPods Private SpecsでiOS用社内ライブラリを管理する
技術部のid:gfxです。iOSアプリ開発に欠かせないパッケージ管理ツールといえばCocoaPodsですが、これはPrivate Podsを作って社内ライブラリ専用のSpecs(private Specs)を管理することができます。private SpecsがなくてもGit URLを指定することで社内用podspecを開発・管理することはできますが、private...
View ArticleSwiftで遊んでますか?
モバイルファースト室の三浦です。みなさんはplayground使っていますか?Swiftにはplaygroundが用意されていて手軽にかつライブレンダリングでコーディングをすることができます。...
View ArticleiOSアプリ間連携の実装に x-callback-url を使う
はじめにモバイルファースト室の @slightairです。 クックパッドが提供しているiOSアプリには、連携して機能するものがあります。買い物リストアプリを例に挙げると、クックパッドアプリのレシピ画面からレシピに使われている材料を買い物リストアプリに登録することができます。この機能は、x-callback-urlという仕様に沿って実装しています。 x-callback-url...
View ArticleInfratasterでリバースプロキシのテストをする
インフラ部の荒井(@ryot_a_rai)です。この記事ではインフラの振る舞いテストのツールであるInfratasterを使ってリバースプロキシの設定のテストをしてみたいと思います。Infratasterとは...
View Articleモバイルアプリのログ収集ライブラリ「Puree」をリリースしました
モバイルファースト室の @rejasupotaroです。クックパッドでは、サービスをリリースしてログを収集して分析して改善してまたリリースして、というサイクルを素早く回すことでより良いものを作るということをウェブではやってきました。...
View Articleサービス開発エンジニアからマネージャになった話
はじめにこんにちは、レシピ投稿推進室の勝間(@ryo_katsuma)です。 techlifeでの執筆は5年ぶり(!)になります。さて、そんな私も今年2014年の5月にエンジニアからサービス開発の部署のマネージャに転身しました。...
View ArticleSwiftとObjective-Cのコードを1つのプロジェクトでつかう
こんにちは。モバイルファースト室の中村です。仕事でSwiftを使うことはまだないのでSwiftについて色々気になっている今日この頃です。今回はSwiftとObjective-C(以下、Obj-C)を1つのプロジェクト内でつかう方法と、両者の相違点について気になった点を紹介したいと思います。Swift ->...
View Article既存のアプリのiPhone 6と6 Plus対応
はじめまして、11月頭にクックパッドに入社したモバイルファースト室のヴァンサン(@vincentisambart)です。既存のiOSアプリのiPhone 6と6 Plus対応について書きたいと思います。既存のiOSアプリはiPhone 6対応済みだと明確にOSに示さないと、iPhone 6でも6 PlusでもiPhone...
View ArticleWebPでモバイルアプリの通信量を劇的に削減する
モバイルファースト室の @slightairです。 クックパッドの iOS/Android アプリは、少し前のバージョンからWebP形式の画像をサーバから取得して表示するようにしています。 この記事では、なぜ画像形式をWebPに切り替えたのか、また切り替える上で注意した点などを説明します。Cookpad...
View ArticleMacからiPhoneに遷移させよう
こんにちは。モバイルファースト室の中村(@_nkmrh)です。突然ですが、Mac上で探したレシピをすぐiPhoneで見られると便利だと思いませんか?先日リリースしたiOSクックパッドアプリではそれが出来るようになりました。とても便利なのでぜひ活用してください。※ 実はこの便利機能、次のバージョンで一旦取り下げ、問題を解決したあとで再度導入することになりました。以降の記事で事情を説明します。Mac...
View ArticleAndroidアプリ開発で素早くフィードバックをえるためのライブラリを作りました
モバイルファースト室の山下(@tomorrowkey)です。Androidアプリを開発していて、ふとした時に不具合を見つけたりしませんか。クラッシュであればDeploygateやCrashlyticsなどでクラッシュレポートを送ることができますが、表示崩れを報告をするにはスクリーンキャプチャを撮ってメールアプリを開き、画像を添付して、送信する、といった手順が必要でなかなか面倒です...
View ArticleAndroid開発を爆速にする10のコマンドラインスクリプト
モバイルファースト室の山下( @tomorrowkey )です。みなさんはAndroidアプリをビルドするときに AndroidStudioの実行ボタンを押すのと、ターミナルでgradleコマンドを実行するのと、どちらを使っていますか。クックパッド社内のAndroidエンジニアでもどちらを使うか好みが分かれるのですが、私はたいていターミナルでgradleコマンドを使っています。...
View Article【学生限定】エンジニア志望の方が抱いている素朴な疑問を解決する「Cookpad TechBar」開催します!
こんにちは、レシピ投稿推進室の勝間(@ryo_katsuma)です。このたび、学生のみなさんが抱く疑問を、仲のよい友人と語らうような雰囲気の中で、解決していきたい。』という思いを込めて、クックパッドのエンジニアがみなさんの疑問を毎回LTでお答えしていく、イベント「Cookpad TechBar (クックパッドテックバル)」を開催します。記念すべき第1回目は、2015/1/23 (金)...
View Article