2017-01-01から1年間の記事一覧

時差のあるリモートワークをやってみて

こんにちは、インフラストラクチャー部データ基盤グループの井上寛之(@inohiro)です。私事ですが今年の3月から、時差のあるリモートワークを行っています。今のところ主観的にも、客観的にもうまくいっている状況です。友人・知人にそのことを話すと、「実…

Slack 上のエンジニア同士の会話を増やした一つの工夫 + ちょっとした OSS の紹介

こんにちは、技術部開発基盤グループの小室 (id:hogelog) です。 最近エンジニアが全員集まる Slack のチャンネルからデプロイ通知等の機械的な通知を排除したらエンジニア同士のコミュニケーションがほぼ毎日発生するようになり満足しています。自分のよう…

ファイルを直接読み込んで集計する

こんにちは。マーケティングプロダクト開発部の中村です。今回は大量のデータを対象に集計できる Hive の使い方について説明しようと思います。 前提 私が所属しているマーケティングプロダクト開発部では広告配信も行っています。その広告配信では大量のア…

Cookpad Ruby Hack Challenge

技術部の笹田です。Ruby インタープリタの開発をしています。最近は Fiber まわりを10年ぶりにいじってます。 2017/08/30, 31 に、Cookpad Ruby Hack Challenge というイベントを行いますので、その宣伝をさせてください。 Cookpad Ruby Hack Challenge とは…

UICollectionView の Layout で悩んだら

こんにちは、サービス開発部の氏です。 主にiOSのクックパッドアプリの開発を担当しています。 UICollectionViewLayout みなさん使ってますか? UICollectionView でレイアウトを組む際、実際触り始めると実装するための選択肢が複数あり、どれが最適なのか…

Android開発のコードレビューbotを乗り換えた話

モバイル開発で利用しているコードレビューbotを最近乗り換えた話をします。 コードレビューbotとは コードレビューbotはPull Request(以下PR)に対して、静的解析した結果などをコメントする機能を持つプログラムの事を指します。 コードレビューbotを導入す…

Android TVアプリの自動化されたテストの小話

技術部の松尾(@Kazu_cocoa)です。 クックパッドでは、2年程前からAndroid TVに対してアプリをリリースしています。以前、Cookpad Android TV Appのデザインで考えたことにて触れられたこともあります。 みなさんがGoogle Play Storeからダウンロードするクッ…

Kuroko2の近況

先日、弊社主催のイベント CookpadTechKitchen#8 〜舞台裏を支える黒衣たち〜 にて、「Kuroko2の近況とクックパッドのバッチ周りの概況」というテーマで発表させて頂きました。今回はこの発表内容の中でも Kuroko2 についてピックアップして紹介したいと思い…

Android アプリのリソース定義ポリシーを整備した話

前回のあらすじ その後発生した様々な問題 トップ画面の大規模変更 画面ごとの Style の乱立 Style 定義の度に質問が飛んでくる 改善に向けて 実際の定義ポリシー Color Dimen Style 再利用性を高めるために 継承の仕組み parent 指定による継承 名前による…

時系列データベースに関する基礎知識と時系列データの符号化方式について

こんにちは。インフラストラクチャー部 SRE グループの吉川 ( @rrreeeyyy ) です。今期オススメのアニメはツインエンジェル BREAK です。 普段の業務並びに趣味の一環として、サーバのモニタリング環境の調査や改善に取り組んでいます。 そこで本稿では、モ…

モバイルアプリのアーキテクチャを考える

こんにちは、サービス開発部の森川 (@morishin127) です。主にクックパッドの iOS アプリの開発に携わっています。 日々アプリを開発する中で、近頃は最適なアーキテクチャとは何かを考えながら色々な形を試行錯誤しています。世の中で採用されているモバイ…

クックパッドの開発基盤、インフラ環境での開発で心がけているラストワンマイル

初めましてインフラや基盤周りの技術が好きなエンジニアの渡辺です。 今回は私がサービス開発を行う上で心がけていることをお話させて頂きます。

Hackarade: MRI Internal Challenge

今年1月に入社した技術部の笹田です。Ruby インタプリタの開発をしています。 少し旧聞になりますが、今年3月の終わりに Hackarade: MRI Internal Challenge という、Ruby インタプリタ(MRI, Matz Ruby Interpreter)をハックするという社内ハッカソン企画…

Sisimaiを使ったバウンスメールの管理

最近、Ninja650に乗り換えたSREチームの菅原です。今までマルチばかり乗ってきたんですが、ツインもなかなか面白いですね。シフトペダルをガチャコンいわせながら方々に出かける毎日です。 この記事では、サービスが配信しようとして何らかの理由で差し戻さ…

クックパッド サマーインターンシップ 2017 を開催します!

いつもお世話になっております。エンジニア統括マネージャーの高井です。 クックパッドでは、毎年恒例になっているサマーインターンシップを今年も開催いたします! 今年のインターンシップは、昨年よりもパワーアップして、エンジニアやデザイナー志望のみ…

最近のサービス間のデータとイベントの連携について

こんにちは。牧本 (@makimoto) です。最近はバックエンドシステムの設計をやったりしています。 今回は複数のサービスが存在するとき、その間でどのようにデータ連携を実現するかついて述べていきます。 背景と問題定義 cookpad.com は世界有数の規模の Ruby…

Web サービスの完全 HTTPS 化

インフラストラクチャー部長の星 (@kani_b) です。 2017年1月5日をもって、クックパッド における全ページで HTTPS が使われるようになりました。 完全 HTTPS 化をするにあたり、その理由や具体的な進め方について紹介します。 以前 SRE Tech Talks #2 にて…

MySQL with InnoDB のインデックスの基礎知識とありがちな間違い

こんにちは、サービス開発部の荒引 (@a_bicky) です。 突然ですが、RDBMS の既存のテーブルを見てみたら「何でこんなにインデックスだらけなの?」みたいな経験はありませんか?不要なインデックスは容量を圧迫したり、挿入が遅くなったりと良いことがありま…

ハードな案件のやわらかいプロジェクト管理

研究開発部 兼 クックパッド料理教室の伊尾木です。 暖かくなったり、寒くなったりと気温差が激しいですが、皆さんお体は大丈夫でしょうか。 ところで、最近クックパッド料理教室で、ビジネスモデル変更に伴うリニューアルプロジェクトを実施しました。 (ビ…

iTunes Connect から発行したプロモコードをカメラで読み取る

こんにちは、iOS エンジニアの中村です。iOS クックパッドアプリの開発では、iTunes Connect から発行したプロモコードを使いリリース前に動作確認をしています。(2013年頃から審査通過後の動作確認がこの方法で出来るようになり、リリース時の緊張感が少し…

利用者数の増加に伴う、ユーザー行動の変化と対応について

こんにちは。サービス開発部ディレクターの新里です。 iPhoneアプリ「みんなのお弁当 byクックパッド」を担当しています。本アプリでは、自分の作ったお弁当をクックパッドのレシピ付で記録したり、アプリ内で共有したりすることができます。リリースから約1…

ユーザー基盤を作り直しながらRailsでのサービス層に向き合う

こんにちは。パートナーアライアンス部の諸橋 (@moro) です。 突然ですが、わたしはいまクックパッドの「ユーザー基盤」を再構築しようとしています。 一口に「ユーザー基盤の再構築」といっても、そのゴールが何を指すかは(わたし自身にとってもまだ)漠然と…

テストや開発環境における自動化に関して議論したICST2017 unofficial meetup

技術部品質向上グループの松尾(@Kazu_cocoa)です。 2017年3月13日〜2017年3月17日の間に、東京にてICST2017という国際学会が開かれました。 その学会に基調講演としてGoogleの方などが来日しました。そのさい、非公式ながらミートアップを開いたのでその時の…

Consumer-Driven Contract testing in Cookpad

こんにちは、技術部の taiki45 です。3月17日に ICST 2017 の参加者などを招いたミートアップがあり、そこでクックパッドの開発とテストへの取り組みについてお話をしました。この記事では資料とセッション中に行われた質疑応答を元に、発表についての補足を…

モバイルアプリ開発における思いと工夫

こんにちは、技術部品質向上グループの茂呂一子(@ichiko_revjune)です。 3月18日にProductivity Engineering − Forkwell Meetup #4において、「クックパッドにおけるモバイルアプリ開発の工夫」というタイトルで発表しました。その内容を補完しつつ、最近の…

Webpackerを使ったRailsでのJavaScript開発

こんにちは。マーケティングプロダクト開発部の長田です。 この記事では、私が現在進めているプロジェクトで、Webpackerを使ったJavaScriptのモジュール管理を導入したので、それについて紹介したいと思います。 Webpackerとは Webpackerとは、Webpackを用い…

この gem を使っているアプリケーションを探す

技術部開発基盤グループの鈴木 (id:eagletmt) です。 Ruby アプリケーションが使っている gem を一覧できる GemCollector というツールを作りました。 今回はその GemCollector の機能と、GemCollector の利用シーンの拡大について紹介したいと思います なお…

知っていれば広がるグラフの見方とクエリの書き方のちょっとしたコツ

こんにちはサービス開発部のエンジニアの鈴木達矢です。 最近サービス開発においてエンジニアだけでなくディレクタがSQLを書く機会*やBI Tool*1を元に意思決定する機会が増えてきました。クックパッドでもモバイルアプリに新機能を足すなどの各施策前後のKP…

ストレスフリーなGitHubのIssue生活

こんにちは。サービス開発部の丸山@h13i32maruです。 今日はGitHub/GHE(GitHub Enterprise)で快適なIssue生活をおくるために作ったJasperというツールと、それを実際にどうやって使っているかを紹介させていただきます。 ストレス GitHub/GHEを日々の業務の…

クックパッドにおける最近の機械学習について

こんにちは、研究開発部の山田(@y_am_a_da)です。 去る2月16日、「Cookpad Tech Kitchen #5 クックパッドにおける最近の機械学習について」と題して、機械学習に関わっている方々向けの技術交流イベントを行いました。 https://cookpad.connpass.com/event…