タグ

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

  • ReactNativeプロジェクトのAndroid環境を整備する - クックパッド開発者ブログ

    投稿開発部の吉田です。React Native 新アプリシリーズ連載3日目はAndroid担当の私からReactNative(以下RN)のAndroidプロジェクトを出来る限り健康な状態にするために行ったことを紹介します。 React Nativeで作った新アプリについて(5日間連載) - クックパッド開発者ブログ React Native アプリの開発基盤構築 - クックパッド開発者ブログ 手元の環境 RNは開発が活発なため執筆時点の環境を載せておきます。バージョンが乖離している場合は動かない可能性があります。 react-native-cli(2.0.1) npm(5.8.0) node(8.9.3) react-native(0.55.1) Android Studio(3.1) macOS High Sierra(10.13.4) Androidの開発環境はセットアップ済みとして話

    ReactNativeプロジェクトのAndroid環境を整備する - クックパッド開発者ブログ
    komz
    komz 2018/04/20
    ReactNativeプロジェクトのAndroid環境を整備する
  • React Nativeで作った新アプリについて(5日間連載) - クックパッド開発者ブログ

    こんにちは投稿開発部の丸山@h13i32maruです。 今日から5日間、ブログに投稿開発部メンバーで連載記事を書かせていただきます! いきなり「投稿開発部で連載記事」と言われても何のことかわからないと思うので、まず投稿開発部について簡単に紹介させてもらいます。 投稿開発部は「クックパッドに投稿されるコンテンツ全般」について責任をもっている部署なのですが、中でもレシピ事業の根幹であるレシピ投稿者向けのサービス改善に力を入れています。レシピ投稿者向けのサービス改善は「どうすれば継続的に投稿したくなるのか?」「どうすれば投稿をはじめてみたくなるのか?」の2点に答えを出すことを目標に日々サービス開発に励んでいます。 そこで、連載では投稿開発部が今年メインで取り組んでいる「クックパッド MYキッチン」という新しいアプリについて5人のメンバーで紹介させていただきます。 1日目(vol1)では「クッ

    React Nativeで作った新アプリについて(5日間連載) - クックパッド開発者ブログ
    komz
    komz 2018/04/17
    React Nativeで作った新アプリについて(5日間連載)
  • 巨大なWEBアプリケーションに巨大な変更を取り入れるためにやったこと - クックパッド開発者ブログ

    会員事業部ユーザー基盤チームエンジニアの井口(@iguchi1124)です。 ユーザー基盤チームでは、クックパッドのサービス開発者のあらゆる要望に答え続けられるような『柔軟でいい感じのユーザー基盤』を目指し、サービス開発者およびユーザーさんの課題と向き合いながら日々開発を進めています。 第一弾として、普段の開発の様子や一部のユーザーさんに向けてユーザー登録機能をリリースするまでの話も公開されていますので是非そちらもご覧いただければと思います。 今回は、上述の記事にも触れられているようにクックパッドでユーザーさんのアカウント登録や認証情報として電話番号を利用できるようになりましたので、そのためにやってきたことの一部をご紹介したいと思います。 一口に電話番号を利用出来るようになったと言うと簡単そうに聞こえますが実際にはそうでもありません。 クックパッドではこれまで連絡先情報あるいはアカウントの

    巨大なWEBアプリケーションに巨大な変更を取り入れるためにやったこと - クックパッド開発者ブログ
    komz
    komz 2018/03/16
    巨大なWEBアプリケーションに巨大な変更を取り入れるためにやったこと
  • Cookpad Tech Kitchen #14 〜海外で働く〜 開催報告 - クックパッド開発者ブログ

    Cookpad UKに出向中の西山(@yuseinishiyama)です。 去る2月16日、弊社で定期開催しているCookpad Tech Kitchenの一環として、海外事業をテーマとしたイベント『海外で働く』を開催しました。私も一時帰国して登壇しましたので、その内容をここで紹介させてください。 Introduction まず最初に、Engineering ManagerのLeonard Chin(@l15n)から海外事業全体の概要説明がありました。 そもそもなぜ海外でやるのか なにを目標としているのか 日のCookpadとはどういう関係性なのか どういう組織体制なのか などをカバーする内容で、詳細を以降の登壇者が埋めていきます。 Working at Cookpad UK 次に、私のほうからCookpad UKで働くことをテーマとした発表をしました。 海外オフィスがどこにあるか、そこ

    Cookpad Tech Kitchen #14 〜海外で働く〜 開催報告 - クックパッド開発者ブログ
    komz
    komz 2018/03/07
    Cookpad Tech Kitchen #14 〜海外で働く〜 開催報告
  • Nginxへの変更に伴うリバースプロキシのテストの改善 - クックパッド開発者ブログ

    Nginxへの変更に伴うリバースプロキシのテストの改善 SREグループの菅原です。 クックパッドではブラウザ用Webサイトのリバースプロキシ用のWebサーバとして長らくApacheを使っていたのですが、最近、Nginxへと変更しました。 Nginxへの変更に当たって、構成管理の変更やテストの改善を行ったので、それらについて書きたいと思います。 リバースプロキシのリニューアルについて まず、ブラウザ用Webサイトの基的なサーバ構成は以下のようになります。 リバースプロキシはELB経由でリクエストを受けて、静的ファイルの配信やキャッシュサーバ・Appサーバへの振り分けを行います。 リバースプロキシとして利用されているApacheは、長年の改修により設定が煩雑なものとなっており、設定の追加や変更にコストがかかる状態になっていました。 また、Apacheの設定ファイルはItamaeでは管理されて

    Nginxへの変更に伴うリバースプロキシのテストの改善 - クックパッド開発者ブログ
    komz
    komz 2018/03/02
    Nginxへの変更に伴うリバースプロキシのテストの改善
  • "体系的" に開発サイクルを回して "効果的" に学びを得るには - クックパッド開発者ブログ

    会員事業部エンジニアの新井( @SpicyCoffee66 )です。 Splatoon2 で各ルール S+1 以上になるため日々奮闘中のところに MHW が発売されました。 加えて最近ぷよぷよを始めたので、どう考えてもいろいろ計算が合わなくなってきました。 日おこなわれた Cookpad TechConf 2018 では「クックパッドの "体系的" サービス開発」と題し、社内でどのような点に気をつけて開発サイクルが回されているかをお話しさせていただきました。 動画・発表資料は後日アップロードされる予定ですので、よろしければ合わせてご覧ください*1。 今回は、TechConf 2018 での発表内容から、BML ループの運用について、多少の補足や要約を交えながら書きたいと思います。 サービス開発は難しい まず前提として、サービス開発は難しいです。 その難しさの大部分は、以下の2つの要因から

    "体系的" に開発サイクルを回して "効果的" に学びを得るには - クックパッド開発者ブログ
    komz
    komz 2018/02/13
    "体系的" に開発サイクルを回して "効果的" に学びを得るには
  • Ruby 2.5 の改善を自慢したい - クックパッド開発者ブログ

    技術部でフルタイム Ruby コミッタをしている笹田です。最近ひさびさに Ruby のライブラリに pull request をしました(show valid break point lines #393)。 12/25 のクリスマスに、Ruby 2.5 が無事にリリースされました(Ruby 2.5.0 リリース)。関係各位の努力に感謝します。いろいろなバグ修正、いろいろな新機能、いろいろな性能改善があります(詳細は、上記リリースノート、もしくは Ruby のソースコードにある NEWS ファイルをご参照ください)ので、試して頂けると良いと思います。そういえば、私がクックパッドに入社して初めての Ruby リリースでした。 前回の techlife ブログ( Ruby の NODE を GC から卒業させた )で遠藤さんが クックパッドからの主な貢献としては、「trace 命令の削除による

    Ruby 2.5 の改善を自慢したい - クックパッド開発者ブログ
    komz
    komz 2018/01/03
    Ruby 2.5 の改善を自慢したい
  • 料理教室のデザインリニューアルを支えた技術 - クックパッド開発者ブログ

    料理教室事業部の長(@s_osa_)です。最近読んで面白かった漫画は『ランウェイで笑って』です。 クックパッド料理教室では今年10月にデザインの全面リニューアルを行ないました。 Before After ユーザー向けページの HTML, CSS, JavaScript を約1ヶ月でまるっと書き換えるプロジェクトでした。 今回はそんなデザインリニューアルを支えた仕組みについて書きたいと思います。 全面リニューアルの大変さ 「全面リニューアル」 聞いただけで大変さがにじみ出る言葉ですが、具体的に何が大変なのか少し考えてみます。 主な大変さは2つあると考えています。 スコープが大きい デザインの全面リニューアルという性質上、全ページが対象になります。 クックパッド料理教室のコードはそれほど大きくない Rails ですが、それでも対象の view ファイルは約200ほどあります。 もちろん、これら

    料理教室のデザインリニューアルを支えた技術 - クックパッド開発者ブログ
    komz
    komz 2017/12/20
    料理教室のデザインリニューアルを支えた技術
  • Xcode のビルドログの読込 - クックパッド開発者ブログ

    モバイル基盤グループのヴァンサン(@vincentisambart)です。 開発者がどれくらいアプリのビルドを待っているのか気になったことありませんか?計測してみたらおもしろいかもしれません。どうすれば Xcode でビルド時間を計測できるのでしょうか。 プロジェクトBuild Phases の一番上と一番下にスクリプトを入れたら、ある程度計測できそうですが、制限が多そうですね。失敗したビルドや途中で止められたビルドは計測できないし、ビルドのどういうところに時間が掛かったのか詳しく分かりません。 ビルド時に Xcode がログを取っているはずなので、ログの中に時間が入っていないかな…? 最初から複雑なプロジェクトで試すのは不便でしかないので、始める前に Xcode (現時点で 9.1 ) で新規のプロジェクト(例えば iOS の Single View App)を作って、いじらずに1〜

    Xcode のビルドログの読込 - クックパッド開発者ブログ
    komz
    komz 2017/12/09
    Xcode のビルドログの読込
  • 【開催レポ】Cookpad Tech Kitchen #13 〜クックパッドにおける研究開発のサービス活用事例〜 - クックパッド開発者ブログ

    こんにちは!人事部の冨永です。 2017年11月15日に「Cookpad Tech Kitchen #13 〜クックパッドにおける研究開発のサービス活用事例〜」を開催しました。クックパッドではこのイベントを通して、技術的やサービス開発に関する知見を定期的に発信しています。 第13回のテーマはずばり「研究開発」です。クックパッド 研究開発部では、既存技術ではなかなか難しかった事を新しい研究などをもとに解決して、ユーザにより高水準な価値を届けることを目標としています。研究成果としても、既にいくつかの技術がプロダクトに組み込まれているものがあります。そこで今回は発足から1年*1が経った研究開発部の、研究成果のサービス活用事例に焦点をあてました。 それでは各登壇についてご紹介します。 Encoder-Decoder にもとづく材料名の正規化(原島) 最初は研究開発部長 原島(jun-harashi

    【開催レポ】Cookpad Tech Kitchen #13 〜クックパッドにおける研究開発のサービス活用事例〜 - クックパッド開発者ブログ
    komz
    komz 2017/11/29
    【開催レポ】Cookpad Tech Kitchen #13 〜クックパッドにおける研究開発のサービス活用事例〜
  • 時差のあるリモートワークをやってみて - クックパッド開発者ブログ

    こんにちは、インフラストラクチャー部データ基盤グループの井上寛之(@inohiro)です。私事ですが今年の3月から、時差のあるリモートワークを行っています。今のところ主観的にも、客観的にもうまくいっている状況です。友人・知人にそのことを話すと、「実際のところどうなの?」「どうやってるの?」と聞かれることも多く、今回は日にいるチームメンバーとの仕事のやり方、また私自身が心がけていることを紹介します。 背景 私が所属している インフラストラクチャー部データ基盤グループは、主にデータウェアハウス(DWH)の開発を行っています。具体的には、サービスのログやユーザーのマスターデータを継続的に取り込み、サービス開発のためのデータ分析や広告配信のためのシステム(DMP)に貢献しています。また、DWHユーザーのアカウントを発行したり、分析的なSQL相談に対応したりしています。 クックパッドは、現在(2

    時差のあるリモートワークをやってみて - クックパッド開発者ブログ
    komz
    komz 2017/07/25
    時差のあるリモートワークをやってみて
  • クックパッドの開発基盤、インフラ環境での開発で心がけているラストワンマイル - クックパッド開発者ブログ

    初めましてインフラや基盤周りの技術が好きなエンジニアの渡辺です。 今回は私がサービス開発を行う上で心がけていることをお話させて頂きます。 (画像は私の好きな言葉で、ここの過去ブログで使われていた物を再掲させて頂いています) 前提 クックパッドのサービスはクックパッドで整備、運用されている全社共通の開発基盤、インフラ環境上に構築されています。 別に強要されているわけではないのですが、そのレールに乗ることで様々な恩恵を受けることが出来ます。 サービス開発では価値を届ける、検証することにフォーカスしたいのでサービス毎に環境を 1 から構築していては手間が勿体無いです。 そして、セキュリティやバグ等の対応も全社的になるべく共通の環境にすることで環境依存で発生する問題のリスクを分散することが出来ます。 近年は Microservices 化ということで、新しいサービスを立ち上げる環境整備が進んでいま

    クックパッドの開発基盤、インフラ環境での開発で心がけているラストワンマイル - クックパッド開発者ブログ
    komz
    komz 2017/05/19
    クックパッドの開発基盤、インフラ環境での開発で心がけているラストワンマイル
  • Hackarade: MRI Internal Challenge - クックパッド開発者ブログ

    今年1月に入社した技術部の笹田です。Ruby インタプリタの開発をしています。 少し旧聞になりますが、今年3月の終わりに Hackarade: MRI Internal Challenge という、Ruby インタプリタ(MRI, Matz Ruby Interpreter)をハックするという社内ハッカソン企画を行いましたので、その様子をご紹介します。ハッカソンでは、弊社エンジニアが原則全員参加で Ruby インタプリタをいじりました。今回のハッカソンでは、特別ゲストとして 世界ナンバーワンの Ruby コミッタ(コミット数が世界一)である 中田さん(nobu) に参加していただき、様々な助言をいただきました。 Hackarade って? クックパッド社内で、技術力の底上げを目的に、エンジニア全員が1日参加するハッカソンを年に3回程度行っていくことになりました。このハッカソンの名前を、Ha

    Hackarade: MRI Internal Challenge - クックパッド開発者ブログ
    komz
    komz 2017/05/17
    Hackarade: MRI Internal Challenge
  • ハードな案件のやわらかいプロジェクト管理 - クックパッド開発者ブログ

    研究開発部 兼 クックパッド料理教室の伊尾木です。 暖かくなったり、寒くなったりと気温差が激しいですが、皆さんお体は大丈夫でしょうか。 ところで、最近クックパッド料理教室で、ビジネスモデル変更に伴うリニューアルプロジェクトを実施しました。 (ビジネスモデル変更に伴う全面リニューアル) 私はPMと開発リーダーを担当したのですが、そこで実施した「やわらかいプロジェクト管理」についてご紹介したいと思います。 炎上しそうな予感がいっぱい! ビジネスモデル変更に伴うリニューアルって聞いただけで炎上の予感で胸が膨らみますね。 ビジネスモデルの変更だけでも大きな話なのに、システムの全面刷新まで同時に実施したので、プロジェクトとして不確定要素が多く、管理が難しいものになっていました。 20名弱(エンジニアが8名、他には営業チーム、ユーザサポートチームなどがありました)で8ヶ月程度のプロジェクトでした。一般

    ハードな案件のやわらかいプロジェクト管理 - クックパッド開発者ブログ
    komz
    komz 2017/04/19
    ハードな案件のやわらかいプロジェクト管理
  • ユーザー基盤を作り直しながらRailsでのサービス層に向き合う - クックパッド開発者ブログ

    こんにちは。パートナーアライアンス部の諸橋 (@moro) です。 突然ですが、わたしはいまクックパッドの「ユーザー基盤」を再構築しようとしています。 一口に「ユーザー基盤の再構築」といっても、そのゴールが何を指すかは(わたし自身にとってもまだ)漠然としており、固定されたゴールは見いだせていません。しかし後述するように、いくつかの問題は明確な形を取っています。言い換えると、それら明確な問題と向き合いながら『柔軟でいい感じのユーザー基盤を目指す』というのがこの再構築プロジェクトの目的です。 その第一歩目として、ユーザー登録部分を現状のクックパッド体とは別の小さなRailsアプリケーションとして実装を進め、つい先日、一部の限定された利用者の方に向けて公開することができました。 今後も様子を見ながら公開範囲を拡大していく予定です。 再構築の背景 ではその「明確な問題」とはなんでしょうか。 最大

    ユーザー基盤を作り直しながらRailsでのサービス層に向き合う - クックパッド開発者ブログ
    komz
    komz 2017/04/11
    ユーザー基盤を作り直しながらRailsでのサービス層に向き合う
  • 利用者数の増加に伴う、ユーザー行動の変化と対応について - クックパッド開発者ブログ

    こんにちは。サービス開発部ディレクターの新里です。 iPhoneアプリ「みんなのお弁当 byクックパッド」を担当しています。アプリでは、自分の作ったお弁当をクックパッドレシピ付で記録したり、アプリ内で共有したりすることができます。リリースから約1年半経ち、35万ダウンロードを超えました。今回は、サービスディレクターとして、アプリの利用者数の増加に伴うユーザーの行動の変化について、サービス開発側で実施した対応と合わせて、まとめようと思います。 1.投稿数が増加 アプリのダウンロード数の増加に比例して、お弁当の投稿数*1も増加しました。大半の投稿はガイドラインに沿ったものですが、そうではない投稿も中にはあります。 ガイドラインに沿わない投稿の増加 みんなのお弁当のガイドラインでは『外出先に持っていくべ物のこと』をお弁当と定義しており、このガイドラインに則っていないものに関しては、投稿ユー

    利用者数の増加に伴う、ユーザー行動の変化と対応について - クックパッド開発者ブログ
    komz
    komz 2017/04/11
    利用者数の増加に伴う、ユーザー行動の変化と対応について
  • 新サービス立ち上げ時の重要指標のデザイン - クックパッド開発者ブログ

    こんにちは、株式会社ビットジャーニーに出向中の出口 (@dex1t) です。ビットジャーニーでは、社内情報共有ツール Kibela*1のサービス設計やプロダクトマネジメントに責任を持ちつつ、エンジニアとして開発全般に携わっています。 今回は、新サービスの立ち上げ時にどのような考えで重要指標*2を設計し、それを実際の開発のなかでどう使っていくかという話をします。 なぜ検証をするのか そもそもなぜ新サービス立ち上げ時に、重要指標や検証といった考えが必要になるのでしょうか。それを考えるにあたって、クックパッド的なサービス開発の流れを改めて整理してみます。 企画と検証は表裏一体 サービス開発といえば、企画・開発・検証をぐるぐる回すというのが一般的だと思います。指標は検証段階で活用する道具です。企画で考えたことを確かめるのが検証段階であり、企画と検証は表裏一体です。 したがって、指標の設計をするにあ

    新サービス立ち上げ時の重要指標のデザイン - クックパッド開発者ブログ
    komz
    komz 2016/12/01
    新サービス立ち上げ時の重要指標のデザイン
  • 最小限にこだわるサービス開発の試み - クックパッド開発者ブログ

    こんにちは、検索事業部の原田です。クックパッドでプロダクトマネージャーとして検索領域を中心にサービス開発に携わっています。 サービス開発を成功に近づけるためのフレームワークやプロセスについては、書籍等で多くの知見が紹介されています。こちらのブログでもクックパッドの例についてご紹介をしてきました。 クックパッドで大事にしているサービス開発の取り組みのひとつに「仮説をスピーディーに最小限の形で確かめる」というものがあります。言うは易しなのですが、そもそも取り組むべき最小限の形とは? それをどうやって見つけるのか? やっとの思いで何かを見つけられたとして、その後最小限にこだわり判断し続けるには? と、大変な困難が伴うと感じています。 今回は、サービス開発プロセスの中でも特に、どのように取り組むべき最小限の形を見つけ、最小限にこだわり続けながら開発を進めるのかについて、私が気をつけていること(気を

    最小限にこだわるサービス開発の試み - クックパッド開発者ブログ
    komz
    komz 2016/11/29
    最小限にこだわるサービス開発の試み
  • 開発の見積もりとスケジュール管理 - クックパッド開発者ブログ

    こんにちは。会員事業部の丸山です。 エンジニアが開発を開始する時にはタスクの見積もりとスケジュールを作成行って、実装を進めていくと思います。 しかし1ヶ月を超えるような規模の開発をする場合、なかなか予定通りの期日に終わらなかったりすると思います。 そして大抵の場合、増える方向になりますよね。 今回はそういうことにならないために、私が気をつけていること・実践していることをいくつか紹介したいと思います。 見積もりとは まずは「見積もり」とは何なのかを正しく理解したいと思います。 一般的には「見積もり」=「全タスクとその工数を洗い出す」というものだと思います。 しかしここで以下のことに気をつける必要があります。 見積もりとスケジュールとコミットメントは違う 見積もりとはあるタスクがどれだけの工数(規模)なのかを算出することです。 対して、スケジュールとはあるタスクがどれだけの工期(期間)なのかを

    開発の見積もりとスケジュール管理 - クックパッド開発者ブログ
    komz
    komz 2016/04/07
    開発の見積もりとスケジュール管理
  • フェーズと目的に応じたプロトタイピングの手法と意味 - クックパッド開発者ブログ

    こんにちは。ユーザーファースト推進室の元山です。 みなさんはスマートフォンアプリケーションやWebサービスの開発・改善をするときにどのようなプロセスで行っているでしょうか?アジャイルやリーンなどの最近では一般的なよくある開発プロセスの中で、今やプロトタイピングは当たり前に行うものとなっていると思います。プロトタイピングを支援するアプリやWebサービスも数多くありますが、ただ闇雲にプロトタイプを作ればいいわけではありませんし、プロトタイプモックを作ること自体が目的化されては意味がありません。 クックパッドでもプロトタイピングを取り入れた開発プロセスを行っていますが、開発のフェーズであったり、または目的によってどのようなアウトプットとしてプロトタイピングするのかは変わってくると思います。今回はクックパッドで実際に行っているプロトタイピングについてフェーズや目的ごとにご紹介しようと思います。 コ

    フェーズと目的に応じたプロトタイピングの手法と意味 - クックパッド開発者ブログ
    komz
    komz 2015/03/20
    フェーズと目的に応じたプロトタイピングの手法と意味