巨大なバッチを分割して構成する 〜SQLバッチフレームワークBricolage〜
トレンド調査ラボの青木峰郎(id:mineroaoki)です。 好きなRubyのメソッドは10年前からString#slice(re, nth)ですが、 最近はRubyよりCoffeeScriptとSQLのほうが書く量が多くて悩んでいます。今日はわたしが開発している「たべみる」の背後で働いている 巨大バッチの構成について話したいと思います。たべみるのバッチは約3000行のSQLで構成されており、...
View Article検索ログから「じわじわ検索頻度が上昇しているキーワード」を見つける
こんにちは。トレンド調査ラボの井上寛之(@inohiro)です。普段は法人向けサービス「たべみる」の開発を担当しています。 たべみるはクックパッドの検索ログを基にしたサービスで、任意のキーワードの検索頻度、キーワード同士の組み合わせ検索頻度、 およびそれらを地域や年代・性別で絞り込んで分析することができます。トレンド調査ラボでは「たべみる」の開発のほか、...
View ArticleCookpad × CyberAgent × DeNA の15卒エンジニア交流会を開催しました
こんにちは、新規広告開発部エンジニアの @cnosukeです。 少し前の話になってしまいますが、8月14日(金)に CyberAgent さん、 DeNA さん、そして弊社の15卒エンジニアの交流会をCookpad...
View Articleいまさら聞けない「コードの英語」超入門
広告事業部の鈴木達矢です。コーディングをしてると変数やメソッド名の付け方に悩むことって多々ありますよね。逆にコードを読んでいると単語の選択がこれでいいのかなという時や、動詞の活用形が間違っていてよく意味がわからない、時に潔く日本語の変数名になっていることも見かけます。でもプログラミング言語の単語が英語をベースにしていますし、Railsを使っている場合は日本語が規約(Convention)に合わなかっ...
View Articleよく言われる「施策を数字で」というやつについて
新規広告開発部の大野です。今回は、「目標を達成するための施策を数字で考える」ということについて、普段やっていることを書きます。施策の評価に関しては Rを使うなどいろいろなノウハウがありますし、Web上の行動改善などはそれはそれで、世にノウハウがたくさんあります。今回は、例えば、期初に事業目標を決めた次のステップとして、全体の優先度を決めるあたりの段階の話をしましょう。分解:...
View ArticleAndroidアプリを新規リリースする際のあれこれ
こんにちは、投稿推進部の吉田です。 少し前に、お料理アルバムという「日々の料理を写真を記録する」ためのアプリのリリースしました。初めて会社のプロダクトのリリース作業を経験して、色々と学びがあったので共有したいと思います。見出しreleaseビルドをCIで作成するreleaseビルドから不要なモノを排除するGoogle Playストアのリファラを活用するGoogle AnalyticsとGoogle...
View Article定番メニューを提案して検索体験をより良くする
クックパッド検索・編成部の須藤耕平です。先日、「定番提案」(と呼んでいる)機能をスマートフォン版のクックパッドにリリースしました。本エントリでは、この機能を開発するにあたって考えたことや、形にする上で工夫した点などを紹介させて頂きます。ひき肉の検索結果に表示される定番メニュー検索成功率を追う検索チームでは、サービスの満足度を図る指標として検索成功率という数値を追っています。...
View Article夏の技術職インターンシップ講義資料公開
こんにちは!クックパッド編集室メディア開発グループ長の @yoshioriです。このまえ夏の技術職インターンシップの前半の開発講義・課題部分が終わったのでさっそく公開しちゃいます!ちなみにこのインターンの対象者はプログラミングはわかるし自分で(授業とかではなく)コード書いている人なので超初心者向けでは無く、少なくともひとつ以上の言語でプログラミングが出来る人向けです。一日目TDD + git...
View Article安全なリリースのために心がけていること
こんにちは。会員事業部の高田です。今回は安全にリリースをするために、アプリケーションエンジニアとして心がけていることについて書きます。クックパッドではなるべく早くユーザーに価値を届けることを大切にしているため、1...
View ArticleApp Transport Securityとネットワーク広告
新規広告開発部の松本です。本日午前2時のAppleの発表イベントにて、iOS 9が9/16にリリースされる事が明らかになりましたね(GM版は本日リリース)。このiOS 9には様々な機能追加がありますが、iOSアプリにネットワーク広告を設置されている方はApp Transport Security(以下ATS)に気をつける必要があります。ATSとは公式ドキュメントによると、App Transport...
View Article調整の心得
会員事業部の森田です。はじめにこの記事は、クックパッドと同じような200~300名規模の組織で働く、「最近調整が多くてコードを書く時間がないなぁ」と思い始めた30代エンジニアの方を対象として、調整の負担を軽減するために私が日々考えていることをまとめたものです。組織における分業と調整組織に所属する人たちは協力して組織目標の達成を目指します。みんなで同じことをしてもしょうがないので、必然的に役割を分担(...
View Article朝Lint活動で細かな技術的負債を返済する
買物情報事業部の八木です。クックパッド特売情報のAndroid部分を担当しています。普段はクックパッドのAndroid版(以後、本体アプリとします)の開発プロセスの中で特売情報の機能を開発しています。本エントリでは細かな技術的負債を解消する為に本体アプリの開発チームが行っている朝Lint活動を紹介します。2年近く経つ本体アプリのコードベース私が買物情報事業部に所属する前は本体アプリを1から書き直すチ...
View Article複数のクラウドサービス間でオブジェクトストレージの中身を同期する
複数のクラウドサービス間でオブジェクトストレージの中身を同期するこんにちは。インフラストラクチャー部の加藤(@EugeneK)です。クックパッドのすべてのレシピやつくれぽ等の画像はAmazon Web Services(以下AWS)のSimple Storage...
View Article怖くない!エンジニア以外のメンバに気持ちよく GitHub を使い始めてもらうには
ヘルスケア事業部の濱田です。チームで楽しく開発してますか? コードベースの置き場として絶大な支持を集める GitHub。コードを管理するだけでなく、issue を使って様々な議論や報告を行い、その結果をスムーズに製品に反映させることができます。エンジニアだけでなく他の職種のメンバも巻き込んで GitHub で議論ができたら、開発はもっと活発になるでしょう。一方、 GitHub...
View Articleグループ会社の開発体制強化にデザイナーとして参加した話
こんにちは。ユーザーファースト推進室デザイナーの倉光です。今年の春、クックパッドのグループ会社として株式会社みんなのウェディングが新たに仲間入りしました!クックパッド社員が新しいサービスを立ち上げて分社化することもありますが、今回のような場合にはこれまで異なる文化を築いてきた組織がグループに加わることになります。これに伴い、私はこの数ヶ月間に開発組織の新たなサービスデザインプロセスの立ち上げに参加し...
View Articleクックパッドの本番環境で使われている Ruby のバージョンが 2.2 になりました
技術部の鈴木 (@eagletmt) です。先日、クックパッドで使われている Ruby のバージョンを 2.0.0 から 2.2 にアップグレードしました。 アップグレードは主に @sorahと私で進めました。 今回はアップグレードまでの過程やアップグレード当日の流れ、そして今のところ見られているアップグレードによる効果などについて紹介します。アップグレードまでの準備テストを通すRuby 2.1...
View ArticleElasticsearch のインデックスを無停止で再構築する
こんにちは。ホリデー株式会社の内藤です。ホリデー株式会社では Holiday(https://haveagood.holiday) という新規サービスの開発・運営を行っています。*1以前投稿した記事でご紹介したように、Holiday では全文検索エンジンとして Elasticsearch を利用しています。Ruby on Rails で構築されたアプリケーションから Elasticsearch...
View Article資源効率の悪いモバイルアプリのリリースを防ぐための資源監視
Android/iOSアプリを開発している皆様、こんにちは。技術部の松尾(@Kazu_cocoa)です。テストエンジニアとして、サービスの品質を向上するために様々な活動を行っています。特に最近はモバイルアプリに注力しています。この記事をご覧になっている皆さんは、モバイルアプリに対する品質をどのようにお考えでしょう?例えば、アプリがクラッシュしないとか、アプリが機能不全無くシナリオを実施できるとか、そ...
View Article機械学習によるレシピの自動分類、その裏側
こんにちは。検索編成部&研究開発チームの原島です。クックパッドのレシピには、内部で、様々な情報が付与されています。例えば、こちらの「母直伝♪うちの茹でない塩豚」というレシピには「肉料理」という情報が付与されています。これらの情報は、クックパッドの様々なプロダクトで利用されています。レシピに情報を付与する方法は沢山ありますが、その一つに機械学習があります。クックパッドでは、レシピが肉料理か否か、魚料理...
View Article