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

  • Kuroko2の近況 - クックパッド開発者ブログ

    技術部開発基盤グループの大石です。 先日、弊社主催のイベント CookpadTechKitchen#8 〜舞台裏を支える黒衣たち〜 にて、「Kuroko2の近況とクックパッドのバッチ周りの概況」というテーマで発表させて頂きました。今回はこの発表内容の中でも Kuroko2 についてピックアップして紹介したいと思います (今回の記事ではクックパッドのバッチの概況については特に触れませんが下記資料を参照ください)。 Kuroko2 とは Kuroko2とは、Ruby製のWebベースのジョブスケジューラーです。2014年にクックパッド社内で開発され、2016年の秋にオープンソースとして公開しました。 詳細については、当ブログの クックパッドのジョブ管理システム Kuroko2 の紹介 や Kuroko2 リポジトリのドキュメント をご覧ください。 また、Kuroko2 のオリジナル作者である弊社

    Kuroko2の近況 - クックパッド開発者ブログ
    linuxdiary
    linuxdiary 2017/06/14
    参考にする
  • 実例に基づいた大規模 iOS アプリの継続的な開発についての勉強会を開催しました - クックパッド開発者ブログ

    技術部モバイル基盤グループ新卒エンジニアの日高(@natan3)です。 去る11月17日、「Cookpad Tech Kitchen #4 〜Cookpad × MoneyForward〜」と題して、iOS エンジニア向けの技術交流イベントを行いました。 https://cookpad.connpass.com/event/43082/ このイベントでは、 iOS開発の中でも特に大規模アプリの品質を維持するための設計や、複数の言語圏や様々なパートナー企業に合わせたアプリの提供をテーマに、弊社のエンジニアから2つ、マネーフォワードさんから2つの発表がありました。 この記事では、その様子についてお伝えします。 iOSアプリケーションの海外展開 まず、海外事業部の西山(@yuseinishiyama)から、海外事業向けのiOSアプリケーションの開発フローについて紹介がありました。 How to

    linuxdiary
    linuxdiary 2016/12/02
    後で読み返す
  • ActiveRecordを使ってRedshiftから大量のデータを効率的に読み出す - クックパッド開発者ブログ

    こんにちは、トレンド調査ラボの井上寛之(@inohiro)です。 普段は、クックパッドの検索ログを基にした法人向けデータサービス「たべみる」の開発や、 広告事業周辺のデータ分析などを担当しています。 Amazon Redshiftなどのデータベースに蓄積されたログなどの大量のデータに対して、 日次や週次などの単位でバッチ処理を行っている方は多くいらっしゃると思います。 ログなどを扱うバッチ処理では、処理対象が膨大であるとアプリケーションが使うメモリが増大し、 枯渇してしまう恐れもあるため、データの扱いに気をつける必要があります。 データベース内で完結するバッチ処理ならばそこまで気にする必要は無いかもしれませんが、 外部のプログラムからデータを読み出して処理する場合は特に注意が必要です。 そこで考えられる一つの工夫として、処理対象を分割して、繰り返して処理を行う方法が挙げられます。 一般的な

    ActiveRecordを使ってRedshiftから大量のデータを効率的に読み出す - クックパッド開発者ブログ
    linuxdiary
    linuxdiary 2016/07/01
    後で読み返す
  • アラートエスカレーションシステム"Waker"の紹介 - クックパッド開発者ブログ

    インフラストラクチャー部の荒井(@ryot_a_rai)です。今回は社内で利用しているアラート通知システムであるWakerの紹介をします。 Wakerはアラートを受け付けて、指定されたユーザに電話などの手段でアラートを通知するためのアプリケーションです。 PagerDuty アラートのエスカレーション・通知といえばPagerDutyが有名ですが、弊社では主にコスト面でPagerDutyを利用していません。日国内への電話発信はGlobal Phone Alertsとしてカウントされ、通知数にもよりますが1ユーザ当たり$29〜49/月かかります。これを高いとするか、安いとするかはそれぞれかと思いますが、ユーザが増えてくると高くなるためユーザの追加がしづらく監視の委譲・分業がすすめづらいという点がありました。 また、弊社ではシンプルなエスカレーションと電話通知のみが必要されていた、という背景が

    linuxdiary
    linuxdiary 2015/11/18
    参考にする
  • 部署横断な施策の考え方 - クックパッド開発者ブログ

    検索・編成部の日高(@kaa)です。 クックパッドでは事業部制の組織になっており広告事業部、会員事業部など分かれることで 目標を明確にしそれぞれの数字に集中、スピードを上げる体制になっておりますが、私の 動き方としては各事業部の取り組みにくい部分、アプリ全体としての改善といった部署横断 的な仕事になっております。 そのため、通期での目標もありますが基的には施策ごとに目標を定めて実行していきます。 特定の目標に対してどう取り組むかという動き方と違い、なにが必要になりそうか考えてそれを どのような結果を目指してやるかを考える必要があります。 何に対して、どう取り組むかも自由に考えると、やるべきに見えることはいくらでもあります。 (結果は出さないといけません) ある機能の使い勝手をよくするだったり、ある数字に貢献するだったり、環境を整えたり 事例を作ることで他部署が動きやすくするだったり。 ま

    部署横断な施策の考え方 - クックパッド開発者ブログ
    linuxdiary
    linuxdiary 2015/11/16
    後で読み返す
  • 総合職で入社した新卒がクックパッドでエンジニアになるまで - クックパッド開発者ブログ

    はじめに こんにちは、技術部の土谷です。 現在、私は2015年4月に総合職の新卒社員として入社したのですが、自ら希望してエンジニアに転向するために6ヶ月間の技術教育(トレーニング)を受けています。 この記事では、私が受けているトレーニングの内容に関してご紹介したいと思います。 なぜやっているのか トレーニングのゴールは「クックパッドで一人前のエンジニアとして働ける技術力を身につける」ことです。 クックパッドでは、ディレクターや営業職であってもサービスに関わるスタッフは全て最低限の技術的な知識を持っているべきと考えられています。 そのため総合職の新入社員研修にも、クックパッドで働く上で最低限の技術的な知識を持つために技術研修が組み込まれています。 ただ、私自身、総合職で内定をもらったものの、「自分でものづくりがしたい」「それも、手を動かして納得のいくものをつくりたい」という思いを持っていて、

    総合職で入社した新卒がクックパッドでエンジニアになるまで - クックパッド開発者ブログ
    linuxdiary
    linuxdiary 2015/10/30
    後で読み返す
  • 部署の課題を継続的に改善する取り組み - クックパッド開発者ブログ

    はじめに こんにちは、投稿推進部の勝間です。 約1年前、「サービス開発エンジニアからマネージャになった話」というエントリを投稿しましたが、現在も試行錯誤しながらマネジメントに取り組みつづけています。 「組織は生きもの」とも言いますが、私の部署もまた生きもののように、日々いろいろな課題が生まれ、それに取り組んでいます。今回は、そのような部署で私が感じた課題と、それに対する具体的な取り組みについて、いくつか事例とあわせてご紹介します。 1. 業務外の問題に目を向ける 私の部署では、毎日約5分間の朝会を開いています。 1人30秒くらいで、「今日取り掛かること」「参加するミーティング」「その他勤怠など含めて共有すべきこと」を共有します。 朝会を行うことでそれぞれの業務的な進捗を確認でき、また、内容について疑問に思ったこともすぐに確認、理解できる状態を作ることができていました。 一方で、業務と直接関

    部署の課題を継続的に改善する取り組み - クックパッド開発者ブログ
    linuxdiary
    linuxdiary 2015/10/23
    なるほど、勉強になります。
  • 開発環境のパフォーマンスチューニング - クックパッド開発者ブログ

    こんにちは。技術部の吉川です。 クックパッドでは、ユーザーが快適にサービスを利用できるように番環境でのパフォーマンスを向上させるための様々な工夫がなされています。 ところでパフォーマンスを気にするのは番環境だけで良いのでしょうか? 開発環境に目を向けると、そこにもユーザーがいます。開発者です。開発環境のパフォーマンスが向上することで、開発者が快適にサービスを開発できるようになります。 今回はそういった開発環境でのパフォーマンス向上のための取り組みについてご紹介します。 ※ なお先日 Ruby2.2化されました が、今回紹介するものはそれ以前に実施されたため、Ruby2.2で同じ結果になるとは限りません。 状況 今回対象とするのはcookpad.comのアプリケーションです。 近年はMicroservices化を進めていますが、それでも体のレシピサービスのアプリケーションは依然として非

    開発環境のパフォーマンスチューニング - クックパッド開発者ブログ
    linuxdiary
    linuxdiary 2015/10/13
    後で読み返す
  • 機械学習によるレシピの自動分類、その裏側 - クックパッド開発者ブログ

    こんにちは。検索編成部&研究開発チームの原島です。 クックパッドレシピには、内部で、様々な情報が付与されています。例えば、こちらの「母直伝♪うちの茹でない塩豚」というレシピには「肉料理」という情報が付与されています。これらの情報は、クックパッドの様々なプロダクトで利用されています。 レシピに情報を付与する方法は沢山ありますが、その一つに機械学習があります。クックパッドでは、レシピが肉料理か否か、魚料理か否か、...という分類を行うことで、「肉料理」や「魚料理」などの情報をレシピに付与しています。 今日は、分類をどのように実現しているか、その裏側を紹介します。 ■ 実装フェーズ まず、分類器を実装する際に気をつけたことを紹介します。 モデルを決定する 分類を行うには、そのための機械学習のモデルを決定する必要があります。クックパッドでは、十分な精度が出るだけでなく、リファレンスが多いという点

    機械学習によるレシピの自動分類、その裏側 - クックパッド開発者ブログ
  • 1