サーバーレスで作るセキュリティアラート自動対応フレームワーク

技術部セキュリティグループの水谷 ( @m_mizutani ) です。ここしばらくはフルリモートワーク体制になったので運動不足解消のためウォーキングをしたり筋トレしていたら、リモートワーク前より健康になった疑惑があります。 クックパッドのセキュリティチー…

テストケース作成を仕様詳細化の手段とする実験

こんにちは。 テストエンジニアからサービス開発エンジニアにロールチェンジした、茂呂一子です。 先日リリースしました、iOSクックパッドアプリのリニューアルプロジェクトに参加し、サービス開発エンジニアとしての第一歩を踏み出しました。 今回は、アプ…

スプリングインターンシップをオンラインで開催致します!

こんにちは、レシピ事業開発部の赤松( @ukstudio )です。 毎年恒例となっている春のインターンシップですが、今年も開催致します!新型コロナウィルスの影響をふまえ、オンラインで実施することに致しました。当日はお手持ちのマシンからZoomで参加頂く予定…

iOSアプリのメモリリークを発見、改善する技術

こんにちは。事業開発部の岡村 (@iceman5499) です。 普段はクックパッドアプリ(iOS)を開発しています。 先日、アプリケーションが特定の条件で意図せぬ状態に陥り、アプリケーションが重くなって端末が発熱する、というバグが発見されました。 調査の結果…

AWS リソース管理の Terraform 移行

技術部 SRE グループの鈴木 (id:eagletmt) です。クックパッドでは Codenize.tools を用いて様々なリソースをコードで管理してきましたが、現在では大部分が Terraform へと移行しています。Terraform の使い方等については既に沢山のドキュメントや紹介記事…

「このレシピは何人分?」を機械学習で推定する

研究開発部の原島です。在宅勤務中は部のメンバーと 3 時にラジオ体操をしています。今日はラジオ体操の話はおいといてレシピの分量の話をします。 1 人分、2 個分、三枚分、約 4 皿、5 杯くらい、18 cm タルト型、... クックパッドの一部のレシピは 1 人分…

クックパッドの在宅勤務環境

コーポレートエンジニアリング担当 VP の @kani_b です。 昨今急速に拡大している新型コロナウイルス感染症の感染拡大リスクを鑑みて、従業員や関係者の皆さまの安全確保を目的に、クックパッドでは 2/18 (火) からまずは2週間ほど、国内拠点の全従業員(正…

広告配信サーバーにおける DynamoDB Accelerator (DAX) 活用事例の紹介

メディアプロダクト開発部マーケティングサービス開発グループの我妻謙樹です。クックパッドにおける広告開発システム全般の新規開発・保守・運用を担当しています。 マーケティング事業全般やチーム体制については、前回の記事でご紹介しました。こちらを読…

【開催レポ】ユーザー体験を生み出したい学生エンジニア説明会 〜グッドパッチ×クックパッド〜

こんにちは。事業開発部の黒田です。2020年2月7日にユーザー体験を生み出したい学生エンジニア説明会 〜グッドパッチ×クックパッド〜を開催しました。 サービス開発やユーザー体験に興味のある学生の方々に向けて、グッドパッチとクックパッドのエンジニアが…

Cookpad TechConf 2020 開催中止のお知らせ

私たちは、クックパッドのエンジニアやデザイナーによる食と料理の課題解決についてご紹介するために、 Cookpad TechConf 2020 の開催を3月9日に予定しておりました。 しかしながら、今日現在、新型コロナウイルスの世界的な感染拡大に歯止めがかかっておら…

クックパッド Android アプリ CI を CodeBuild に切り替えた話

こんにちは、モバイル基盤部の加藤です。 モバイル基盤部では開発者の開発環境や CI 環境の改善に取り組んでいます。 今回はその中でクックパッド Android アプリの CI 環境を CodeBuild へ移行した取り組みを紹介します。 クックパッド Android アプリで先…

license-tools-pluginの移行に関するお知らせ

はじめまして、クックパッドでAndroid開発を担当している吉田です。 本記事は弊社がOSSとして公開していたAndroid向けのライセンス管理プラグインに関するお知らせです。 2行まとめ cookpad/license-tools-plugin はアーカイブしました 今後は互換性があるco…

「ぶっちゃけお給料はどうですか?」夜の合同説明会を今年も開催します!(クックパッド・freee・グリー・はてな)

エンジニアとしての就職を考えている学生のみなさま、こんにちは。クックパッド CTO の成田です。 就職先やインターン先を探している方も、これから探し始める方も、そもそもどんな会社にどんな仕事があるのか、イメージは沸きますか? 企業のホンネ、知って…

Amazon Elasticsearch ServiceをつかったRDSのスロークエリの集計と監視

こんにちは、SREの菅原です。 クックパッドの多くのシステムは AWS 上で稼動しており、そのWebサービスの多くはデータベースにAmazon RDSを使っています。 WebサービスがDBを使う場合、ボトルネックになりやすいDBのパフォーマンスを落とさないためにスロー…

プロと読み解くRuby 2.7 NEWS

技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 去年の記事「プロと読み解く Ruby 2.6 NEW…

センサクッキング 技術検証とユーザー体験検証

こんにちは.スマートキッチン事業部の鈴本 (@_meltingrabbit) です. 今回は 失敗しない範囲で自分の料理を創作したい という願望を叶えられるかもしれないセンサクッキングについてです. はじめに 日々の料理を可観測に,可制御に 唐突ですが,私は,料理…

【開催レポ】Cookpad Tech Kitchen #22 決済基盤の最新事情

こんにちは。ユーザー・決済基盤部の大石です。 2019年11月27日にCookpad Tech Kitchen #22 決済基盤の最新事情を開催しました。 クックパッドの技術的な知見を定期的にアウトプットすることを目的とする本イベントの22回目のテーマは「決済」ということで、…

cookpad storeLive のクライアントアプリ開発の裏側

こんにちは。メディアプロダクト開発部の柴原(@nshiba310)です。 趣味は Destiny2 というゲームです。 普段は cookpad storeLive(以下、storeLive)のクライアントサイド(AndroidTV)の開発を行っています。 本記事では storeLive のクライアントサイドの…

Amazon Athena を使ったセキュリティログ検索基盤の構築

こんにちは。技術部セキュリティグループの水谷(@m_mizutani )です。最近はFGOで一番好きな話がアニメ化され、毎週感涙に咽びながら視聴しています。 TL;DR これまでセキュリティログ検索にGraylogを使っていたが、主に費用対効果の改善のため新しいセキュ…

サービス特性にあった検索システムの設計戦略

こんにちは!研究開発部ソフトウェアエンジニアの林田千瑛(@chie8842)です。あまりたくさん飲めないけど日本酒が好きです。 クックパッドが提供するサービスの検索や推薦機能の構築・改善を行っています。 本稿では、クックパッド本体の検索改善や推薦システ…

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

こんにちは、メディアプロダクト開発部の長田(おさだ)です。 クックパッドは、エンジニア、デザイナーを絶賛大募集しています。先日「クックパッドはサービスの作り手を採用したいんです。」というイベントを開催したのでその時の様子をお伝えします。 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日間毎日真剣に取り組んでくれました。本当にありがとうございます。講義…

/* */ @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;*/ /*}*/