クックパッド採用説明会「クックパッドはサービスの作り手を採用したいんです。」を開催しました!

こんにちは、メディアプロダクト開発部の長田(おさだ)です。 クックパッドは、エンジニア、デザイナーを絶賛大募集しています。先日「クックパッドはサービスの作り手を採用したいんです。」というイベントを開催したのでその時の様子をお伝えします。 htt…

Firebase In-App MessagingのUIをカスタマイズして運用する

Komerco事業部エンジニアの岸本(@_sgr_ksmt)です。 昨年Cloud Firestoreのrulesのテストを全てローカルエミュレータを使うように書き換えた話を書いてからだいぶ間が空いてしまいましたが投稿します。 今回はFirebase In-App Messagingを利用する際にカスタ…

クックパッドアプリ(Android)の開発効率化のためにやったこと/やっていること

モバイル基盤部のこやまカニ大好き(id:nein37)です。 モバイル基盤部では、CI環境の改善やアプリのリリースサイクル自動化といった開発・リリースフローの効率化に加え、アプリのビルド速度改善や開発のしやすさを改善する様々な取り組みを行っています。 今…

データ活用基盤の今 〜DWH外観図〜

こんにちは、今年の1月に会員事業部から技術部データ基盤グループへ異動した佐藤です。先日、京まふ2019前夜祭イベントに参加するために人生で初めてピカピカ光る棒を買いました。 新卒で入社してから2年ほど分析作業をしていた身から、データ活用基盤を作る…

クックパッド社内に工房(Fab)を作ってプロトタイプ開発をした話

今年1月に研究開発部から分離して発足しましたスマートキッチン事業部の山本です。 スマートキッチン事業部では、クックパッドが提供するレシピ情報を様々な家電機器と連携させて、料理体験をより楽しく快適にする、スマートキッチンサービス OiCy の開発を…

データ分析プロジェクトの品質をキープしつつ効率的な検証をサポートする一時ファイル群の管理

研究開発部の takahi_i です。本稿はデータ分析、 機械学習関係のプロジェクトで数多く生成される一時オブジェクトおよびそれらのオブジェクトを保持するファイル(一時ファイル)を管理する取り組みについて解説します。 本稿の前半はデータを分析するプロ…

退職処理を可能な限り自動化する

技術部 SRE グループの id:itkq です。2019 夏アニメで一番好きな作品は Re:ステージ!ドリームデイズ♪ です。この記事では SRE が運用している退職処理の自動化について説明します。 退職処理とは 入社後に業務のための様々なアカウントを作成するのと反対…

Ruby中間表現のバイナリ出力を改善する

Ruby 開発チームに4週間インターン生として参加いたしました、永山 (GitHub: NagayamaRyoga) です。 私は「Ruby中間表現のバイナリ出力の改善」という課題に取り組み、Railsアプリケーションのコンパイルキャッシュのサイズを70%以上削減することに成功しま…

2019 年度版:クックパッド x 広告領域の紹介

こんにちは。メディアプロダクト開発部の我妻謙樹です。サーバーサイドエンジニアとして、広告配信システムの開発・運用を担当しています。入社以来広告領域を担当するグループに所属しています。 クックパッドと広告 クックパッドでは、PS に次ぐ売上高を占…

Cookpad Summer Internship 2019 10 Day Techコースを開催しました

クックパッドでは毎年恒例となっているサマーインターンシップのうち「10 Day Tech コース」を 8月19日から8月30日にかけて開催しました。今年もたくさんの優秀な学生の方が参加し、10日間毎日真剣に取り組んでくれました。本当にありがとうございます。講義…

iOSDC Japan 2019 に社員2名がLT枠で登壇&ブース企画のご案内

こんにちは!広報部のとくなり餃子大好き( id:tokunarigyozadaisuki )です。 「今年は梅雨が長いな」なんて思っていたらあっという間に暑くなり、気づけば本当の夏も過ぎ……。夏の終りの気配が見えてきましたね。 さて、iOSと周辺技術を題材としたカンファ…

Android cookpadLiveで採用してる技術 2019夏

メディアプロダクト開発部の安部(@STAR_ZERO)です。 Android cookpadLiveで採用してる技術について紹介したいと思います。 cookpadLiveとは cookpadLive は、料理上手な有名人や料理家がクッキングLiveを生配信しています。一緒に、Live配信でリアルタイムに…

UICollectionViewでページングスクロールを実装する

iOS

こんにちは。新規サービス開発部の中村です。普段は「たべドリ」アプリの開発をしています。「たべドリ」は料理の学習アプリです。詳細はこちらの記事をご覧ください。本記事では UICollectionView でページングスクロールを実装する方法について解説します…

Google Play Billing Client 2.0における消費型商品の決済の承認(acknowledgement)について

Cookpad.apk #3で深堀りできなかった、Google Play Billing Client 2.0における消費型商品の決済の承認(acknowledgement)について解説します。

インフラのコスト最適化の重要性と RI (リザーブドインスタンス) の維持管理におけるクックパッドでの取り組み

クックパッドで取り組んでいる AWS のコスト最適化についてご紹介します。 前半パートではコスト最適化そのものについて言及し、後半パートでは実践的な RI のモニタリングシステムについて説明します。

AWS re:Inforce 2019に参加してきました

技術部セキュリティグループの三戸 (@mittyorz) です。こんにちは。 去る6/25,26日に開催されたAWS re:Inforce 2019に参加しましたので、簡単ではありますが紹介させていただきたいと思います。 今回が初開催なため規模感や雰囲気などは未知数の中、クックパ…

Grafana の scripted dashboards を利用してダッシュボードを自動生成する

技術部 SRE グループの鈴木 (id:eagletmt) です。 去年クックパッド開発者ブログでも紹介した hako-console の延長として、メトリクス表示に Grafana の scripted dashboards を利用するようにしているのでその紹介をしようと思います。 アプリケーション毎…

ISMM 2019 で発表してきました

技術部の笹田です。遠藤さんと同じく Ruby のフルタイムコミッタとして、Ruby インタプリタの開発だけをしています。 先日、アメリカのフェニックスで開催された ISMM 2019 という会議で発表してきたのと、同時開催の PLDI 2019 という会議についでに参加し…

冪等なデータ処理ジョブを書く

こんにちは、マーケティングサポート事業部データインテリジェンスグループの井上寛之(@inohiro)です。普段はマーケティングに使われるプライベートDMP(データマネジメントプラットフォーム)の開発を行っています。本稿では、その過程で得られた冪等なデ…

サービス開発でぶつかってきた壁と、そのとき助けてくれた本

クックパッド開発ディレクターの五味です。サービス開発では、ユーザーと事業目標に真摯に向き合うほど、たくさんの壁が現れます。クックパッドには、日常的に書籍を読んで、仕事に取り入れる文化があります。特に壁にぶつかった時は、ブレイクスルーを図る…

EuRuKo 2019 で発表してきました

技術部でフルタイム Ruby コミッタをしている遠藤(@mametter)です。フルタイムで Ruby を開発しています。 先日、オランダのロッテルダムで開催された EuRuKo 2019 で発表してきたので、簡単にレポートします。 EuRuKo は、毎年ヨーロッパのどこかで開催さ…

Simpacker: Rails と webpack をもっとシンプルにインテグレーションしたいのです

Rails で webpack を利用する場合、最近だと Webpacker が利用されることが多いですが、Webpacker は webpack の設定を直接触れないなど、いくつか不満に思う点があったので、よりシンプルに Rails と webpack をインテグレーションする Simpacker という gem…

Firebaseで運用するKomercoの管理用アプリケーションの開発

こんにちは。Komerco事業部エンジニアの高橋(id:yosuke403)です。「料理が楽しくなるマルシェアプリ」であるKomercoの開発を行っています。 Webサービス開発と聞くとユーザが利用するWebアプリやモバイルアプリの開発を思い浮かべますが、運営スタッフがサー…

おすすめの食べ方を見ながら食材を買える体験を作った話

はじめに こんにちは、買物事業部のデザイナー兼エンジニアの長野です。 生鮮食品ECサービス「クックパッドマート」の開発チームで、注文ユーザー向けのサービス開発全般を担当しています。 今日は、先日クックパッドマートのiOSアプリでリリースした新機能…

Markdown と GitHub で社内規程を便利に管理

VP of Technology の星 (@kani_b) です。技術基盤や研究開発領域などを担当しつつ、社内の色々なことを技術の力でいい感じにする仕事をしています。セキュリティや AWS の話が好きです。 さて、みなさんは、ご自身が勤務する会社の就業規則を読んだことはあ…

SwiftUIで使用されているSwift5.1の新機能

こんにちは。会員事業部の岡村 (@iceman5499) です。 普段はクックパッドアプリ(iOS)を開発しています。 先日San Joseで開催されたWorldwide Developers Conference 2019 (WWDC19)に参加し、そこでSwiftUIの発表をうけていくつか調べたことがあるので簡単…

モダンBFFを活用した既存APIサーバーの再構築

クックパッドのレシピサービスに導入した新たなBFF "Orcha" について、導入の経緯とアーテキテクチャ、その評価を述べます

レシピ検索を支えるレガシーでクリティカルな大規模バッチを刷新した話

こんにちは、会員事業部の新井です。余暇を全て Auto Chess に喰われています。 過去このブログにはサービス開発に関する記事*1を投稿させていただいているのですが、今回はシステム改修についての記事になります。 クックパッドには検索バッチと呼ばれる大…

Working with AWS AppSync on iOS

I'll discuss some lessons we've learned while integrating AWS AppSync into our iOS app.

Google I/O 2019 に参加しました

こんにちは、技術部品質向上グループの加藤です。 普段は主にモバイルアプリのテスト周りに関わっています。 今回は先日開催された Google I/O 2019 に参加したので、現場の環境や気になったセッションを初参加の目線で書いていきます。 Google I/O 2019 毎…

/* */ @import "/css/theme/report/report.css"; /* */ /* */ body{ background-image: url('https://cdn-ak.f.st-hatena.com/images/fotolife/c/cookpadtech/20140527/20140527163350.png'); background-repeat: repeat-x; background-color:transparent; background-attachment: scroll; background-position: left top;} /* */ body{ border-top: 3px solid orange; color: #3c3c3c; font-family: 'Helvetica Neue', Helvetica, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'MS Pゴシック', sans-serif; line-height: 1.8; font-size: 16px; } a { text-decoration: underline; color: #693e1c; } a:hover { color: #80400e; text-decoration: underline; } .entry-title a{ color: rgb(176, 108, 28); cursor: auto; display: inline; font-family: 'Helvetica Neue', Helvetica, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'MS Pゴシック', sans-serif; font-size: 30px; font-weight: bold; height: auto; line-height: 40.5px; text-decoration: underline solid rgb(176, 108, 28); width: auto; line-height: 1.35; } .date a { color: #9b8b6c; font-size: 14px; text-decoration: none; font-weight: normal; } .urllist-title-link { font-size: 14px; } /* Recent Entries */ .recent-entries a{ color: #693e1c; } .recent-entries a:visited { color: #4d2200; text-decoration: none; } .hatena-module-recent-entries li { padding-bottom: 8px; border-bottom-width: 0px; } /*Widget*/ .hatena-module-body li { list-style-type: circle; } .hatena-module-body a{ text-decoration: none; } .hatena-module-body a:hover{ text-decoration: underline; } /* Widget name */ .hatena-module-title, .hatena-module-title a{ color: #b06c1c; margin-top: 20px; margin-bottom: 7px; } /* work frame*/ #container { width: 970px; text-align: center; margin: 0 auto; background: transparent; padding: 0 30px; } #wrapper { float: left; overflow: hidden; width: 660px; } #box2 { width: 240px; float: right; font-size: 14px; word-wrap: break-word; } /*#blog-title-inner{*/ /*margin-top: 3px;*/ /*height: 125px;*/ /*background-position: left 0px;*/ /*}*/ /*.header-image-only #blog-title-inner {*/ /*background-repeat: no-repeat;*/ /*position: relative;*/ /*height: 200px;*/ /*display: none;*/ /*}*/ /*#blog-title {*/ /*margin-top: 3px;*/ /*height: 125px;*/ /*background-image: url('https://cdn-ak.f.st-hatena.com/images/fotolife/c/cookpadtech/20140527/20140527172848.png');*/ /*background-repeat: no-repeat;*/ /*background-position: left 0px;*/ /*}*/