タグ

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

  • iOSアプリの継続的デリバリーへの取り組みについての勉強会を開催しました - クックパッド開発者ブログ

    技術部モバイル基盤グループの三木(@giginet)です。 去る9月13日、「Cookpad Tech Kitchen iOSアプリの継続的デリバリーへの取り組み」と題して、iOSエンジニア向けの技術交流イベントを行いました。 このイベントでは、iOS開発の中でも特に大規模アプリの開発フローや、品質改善を支えるための技術をテーマに、弊社のエンジニアから3つの発表をしました。 この記事では、その様子についてお伝えします。 クックパッドiOSアプリの品質管理のための取り組み まず、技術部品質向上グループの松尾(@Kazu_cocoa)から、クックパッドiOSアプリ開発体制について紹介しました。 20160913 cookpad ios_jp from Kazuaki MATSUO この発表では どのような組織構造を元にアプリ開発が行われているか 月1のリリースサイクルを実現するためのリリースフ

    iOSアプリの継続的デリバリーへの取り組みについての勉強会を開催しました - クックパッド開発者ブログ
    himaratsu
    himaratsu 2016/10/04
  • 開発速度を上げるための Pull-Request のつくり方 - クックパッド開発者ブログ

    こんにちは、投稿開発部の森川 (@morishin127) です。クックパッド、お料理アルバム、みんなのお弁当の iOS アプリの開発等に携わっています。 クックパッドでの開発は GitHub Enterprise 上で行われており、書いたコードをプロダクトに取り込む前には基的に第三者のコードレビューが必須です。コードレビューはプロダクトの品質向上に貢献していますが、往々にして結構な時間と労力がかかるものです。Pull-Request を出してレビューをしてもらい指摘の修正を繰り返していると、場合によってはマージに数日〜1週間ほどかかってしまうこともあります。自分の開発速度を速めるため、また周りのエンジニアの開発速度を下げないためにレビューしやすい Pull-Request を出すことは重要です。この記事ではレビューしやすい Pull-Request のために心がけていることを紹介したい

    開発速度を上げるための Pull-Request のつくり方 - クックパッド開発者ブログ
    himaratsu
    himaratsu 2016/08/17
    参考になる
  • アプリのアップデートに依存せずにアプリの画面を改善し続ける仕組み - クックパッド開発者ブログ

    検索事業部の日高(@kaa)です。 検索事業部では作りたいレシピが見つかることをひとつの目標に、レシピを探す行動を助けることに挑戦しています。 その中で、レシピ検索した際の結果画面でのコンテンツを改善していくための仕組みについて紹介します。 作りたいレシピが見つかるためへの色々なアイデア レシピ検索結果画面でレシピを一覧で見せるだけでなく、作りたいレシピがより見つかるために考えられることはたくさんあります。 例えば もし、入力ミスと思われる検索ワードだったら 正しいと思われる検索ワードを提案、または正しいと思われるワードで検索し、元のワードも表示(Google検索のように) あいまいな検索ワードだったら より具体的に検索できるよう検索ワードを提案。「さっぱり」だったら「冷しゃぶ」「さっぱり 麺」など。 (具体的なワードで検索するとレシピが決まりやすい傾向があります) さらに小分類をもつワー

    アプリのアップデートに依存せずにアプリの画面を改善し続ける仕組み - クックパッド開発者ブログ
    himaratsu
    himaratsu 2016/08/01
  • 開発の見積もりとスケジュール管理 - クックパッド開発者ブログ

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

    開発の見積もりとスケジュール管理 - クックパッド開発者ブログ
    himaratsu
    himaratsu 2016/04/06
  • 電子工作に必要な道具達 - クックパッド開発者ブログ

    最近電子工作を始めだしたクックパッドの舘野 ( id:secondlife, @hotchpotch )です。昨今 Arduino や Raspberry Pi を初めとしたボードの登場により、気軽に電子工作プログラミングができるようになり、プロトタイピングの敷居が非常に下がってきていますね。電子工作における “Hello World!” である LED を発光させる実装の “Lチカ” や、ブレッドボード上での簡単な電子機器やモジュールを組み合わせてプログラムから操作などを実際にしてみたことがある方も多いのでは無いでしょうか。 ただそこまでは非常に気軽にできるのですが、その先の電子工作へ進む時に溝があるのも確かです。ソフトウェアのみで完結する開発の場合、初心者でも解らないなら解らないなりに調べ、ソースコードをコピペして弄って理解してみたり、ライブラリを使っていくうちに徐々に進んでいくことが

    電子工作に必要な道具達 - クックパッド開発者ブログ
    himaratsu
    himaratsu 2015/11/04
  • iOSアプリケーションでコードベースのレイアウトを積極利用する - クックパッド開発者ブログ

    海外事業向けのiOSアプリケーション開発を担当している西山(@yuseinishiyama)です。クックパッドは現在、海外複数カ国に向けてサービスを展開しています。 XcodeにはInterface Builderと呼ばれる、リッチなGUIを持ったデザインツールが付属しており、これを用いて画面のレイアウトを構成することが主流となっています。弊社ブログでも、iOS開発でstoryboardとxibをうまく使い分けるプラクティス等の記事で、GUIベースのレイアウトについて触れています。しかし、現在私が担当しているプロジェクトでは、Interface Builderを用いずに、レイアウトの大半をコードで記述しています。 今回は、コードベースのレイアウトを実装していく中で得た知見を、以下の3つの部分に分けて共有したいと思います。 Interface Builderを用いたレイアウトとコードベースの

    iOSアプリケーションでコードベースのレイアウトを積極利用する - クックパッド開発者ブログ
    himaratsu
    himaratsu 2015/11/04
  • 心地よいアニメーションを求めて - クックパッド開発者ブログ

    こんにちは、買物情報事業部の三浦です。 日々アプリを使っていて、ふとしたところでさりげないアニメーションや気の利いた効果音があると心地よく感じますね。 UIKitには手軽にアニメーションを実装できるようにAPIが用意されています。少し工夫するだけで効果的な動きを作ることができます。 サンプルを見ながらみていきましょう。 Basic まずはUIViewのクラスメソッドのシンプルなアニメーションです。 オブジェクトを下にアニメーションさせます。 UIView.animateWithDuration( 0.5, delay: 0.0, options: nil, animations: { () -> Void in self.circle.center = CGPoint(x: 0, y: 100) }, completion: nil) 動きの加減をコントロールするイージングもUIViewA

    心地よいアニメーションを求めて - クックパッド開発者ブログ
    himaratsu
    himaratsu 2015/10/04
  • 新米Android開発者が見落としがちな3つのポイント - クックパッド開発者ブログ

    こんにちは、投稿推進部の吉田(@101kaz)です。Androidアプリの投稿周りの開発を担当しています。 去年クックパッドに入社したことをきっかけに、格的にAndroid開発をするようになりました。 今回は私のような開発をはじめて日が浅い人が見落としがちな「非同期処理時のNPE(NullPointerException)」と「Activity破棄に関する問題」と「ProGuardの設定忘れ」について実際の遭遇した事例をベースに紹介します。 非同期処理コールバック時のNPE ある時Fragmentから非同期処理を行い、コールバック内でFragmentの内のviewにアクセスするコードを書きました。 @Override public void onActivityCreated(Bundle savedInstanceState) { ApiClient.getRecipes(new Ap

    新米Android開発者が見落としがちな3つのポイント - クックパッド開発者ブログ
    himaratsu
    himaratsu 2015/09/22
  • 調整の心得 - クックパッド開発者ブログ

    会員事業部の森田です。 対象と内容 この記事は、クックパッドと同じような200~300名規模の組織で働く、「最近調整が多くてコードを書く時間がないなぁ」と思い始めた30代エンジニアを対象として、日々の調整の負担を減らすための「考え」と「行動」を整理し、まとめたものです。 組織における分業と調整 組織に所属する人たちは協力して組織目標の達成を目指します。みんなで同じことをしてもしょうがないので、必然的に役割を分担(分業)をします。分担した仕事はなんらかのタイミングで統合する必要があります。その統合が調整です。つまり分業と調整はセットです。じゃどういう分業があるのかといえばそれは組織構造によります。今回は私達が採用している事業部別組織下*1 での調整の話をします。 分業の種類 事業部別組織では垂直と水平の2つの分業が存在します。それぞれに少し毛色の違う調整が発生するわけですが、いくつかのことを

    調整の心得 - クックパッド開発者ブログ
    himaratsu
    himaratsu 2015/09/14
    ここまで言語化できるのか
  • コードレビューに費やす時間を短くする - クックパッド開発者ブログ

    はじめに こんにちは、広告事業部の芳賀(@func09)です。普段はクックパッドの広告配信周りや純広告・タイアップ広告などの商品開発を行っています。 私が広告事業領域の仕事をするようになって、そろそろ1年になるのですが、初めはエンジニア以外の人(営業、編集、広告入稿、レポート、メール配信、などなど様々な担当者がいます)と業務をすることが多くてコミュニケーションが上手くいかず業務がスムーズに進まないことがありました。 当たり前のことではありますが、エンジニアにしかわからない言葉は使わないとか、できるだけ相手の業務を理解し相手の考え方や視点に立って話すなど、ちょっと工夫することで、長引きがちなMTG相談がすんなり終わったり、お互い良い気分で終わることが多くなって、費用対効果が高いなと感じています。 一方でエンジニア同士のコミュニケーションでも時間がかかってコストが高いと感じることがあります。

    コードレビューに費やす時間を短くする - クックパッド開発者ブログ
    himaratsu
    himaratsu 2015/04/01
  • 新卒ソフトウェアエンジニアのための技術書100冊 - クックパッド開発者ブログ

    こんにちは、技術部 高井です。 春といえば、フレッシュマンの季節ですね。このブログを読む方の中には、明日からエンジニアとして新社会人になるという方もいらっしゃるのではないでしょうか。クックパッドでも新しい仲間を迎えるための準備をしていたところで、その準備の一環として「新卒ソフトウェアエンジニアのための技術書100冊」というものを作成しました。 この100冊は、職業ソフトウェアエンジニアとしてキャリアを積むにあたって、読むべき技術書に悩んだら、まずはこのリストから選ぶとよいのではないでしょうかという提案です。 リストに多少の趣味や主張がはいっているのは、まあご愛嬌ということでお許しいただければとおもいますが、職業プログラマとして知っておくべき知識を網羅できるように心がけました。古典と呼ばれる名著についてはできるだけ取りいれ、独習が難しい難解なコンピュータサイエンスの教科書は避けています。これ

    新卒ソフトウェアエンジニアのための技術書100冊 - クックパッド開発者ブログ
    himaratsu
    himaratsu 2015/03/31
  • サービスをエコシステムで改善した(してる)はなし - クックパッド開発者ブログ

    投稿推進部の大前です。 普段はレシピを投稿するユーザーさんに向けたサービス開発・改善を担当しています。 一般に「サービス開発」というとどれくらい質的なユーザーの課題解決をできているかや、価値提供ができているるか、ということが重要な観点として取り上げられますが(もちろんそういうった点が大事なのは大前提として)、今回はクックパッドという一つの大きなサービスの中で日々起こっているユーザーアクションを、クックパッドをひとつの大きなエコシステムとして捉えることでより多くの副次的な価値に還元できたらないいのになーというような話をしたいとおもいます。 クックパッドという大きなエコシステム ご存知のとおりクックパッドは一般のユーザーの方が投稿してくださっているレシピを中心とした(すこし古い表現ですが)CGMサービスです。 すごく簡単に言ってしまうと、クックパッドに投稿されたレシピがそれを必要としている人

    サービスをエコシステムで改善した(してる)はなし - クックパッド開発者ブログ
    himaratsu
    himaratsu 2015/03/02
    いい話だ
  • ログ収集ライブラリ Puree の iOS 版をリリースしました - クックパッド開発者ブログ

    モバイルファースト室の @slightair です。 先日、モバイルアプリのログ収集ライブラリ「Puree」をリリースしました という記事で Puree というログ収集ライブラリを紹介しました。 Android 版につづき iOS 版もリリースしたので紹介したいと思います。 puree-ios : https://github.com/cookpad/puree-ios モバイルアプリのログ記録の難しさや、それを解決するための Puree の思想についての説明は前回の記事におまかせします。 iOS 版の Puree も Android 版と同じようにフィルタリング、バッファリング、バッチ、リトライの機能を備えています。 ログのフィルタリングや出力の振る舞いをプラグインとして定義し、それらを組み合わせることで効率的なログ収集を実現します。 Puree iOS の使い方 Puree の導入方法

    ログ収集ライブラリ Puree の iOS 版をリリースしました - クックパッド開発者ブログ
    himaratsu
    himaratsu 2014/12/25
    キタ!!
  • Androidアプリ開発で素早くフィードバックをえるためのライブラリを作りました - クックパッド開発者ブログ

    モバイルファースト室の山下(@tomorrowkey)です。 Androidアプリを開発していて、ふとした時に不具合を見つけたりしませんか。 クラッシュであればDeploygateやCrashlyticsなどでクラッシュレポートを送ることができますが、表示崩れを報告をするにはスクリーンキャプチャを撮ってメールアプリを開き、画像を添付して、送信する、といった手順が必要でなかなか面倒です 。 アプリを開発する側は不具合のあったスクリーンショットがほしい、不具合を報告する人は報告する手順がめんどうといったギャップを解決するためのライブラリを作りましたので、紹介します。 不具合報告する機能を作りました 冒頭のアニメーションgifで一通りの挙動を見ることができます。 このライブラリを使っているアプリを開くと通知領域に「不具合を報告する」という項目が増えます。 不具合を見つけた時にこの通知を選択すると

    Androidアプリ開発で素早くフィードバックをえるためのライブラリを作りました - クックパッド開発者ブログ
    himaratsu
    himaratsu 2014/12/12
    便利すぎる
  • モバイルアプリのログ収集ライブラリ「Puree」をリリースしました - クックパッド開発者ブログ

    モバイルファースト室の @rejasupotaro です。 クックパッドでは、サービスをリリースしてログを収集して分析して改善してまたリリースして、というサイクルを素早く回すことでより良いものを作るということをウェブではやってきました。 クックパッドのサービス開発のフレームワークをモバイルアプリでも適用したいのですが、モバイルアプリにはウェブアプリと違ったロギングの難しさがあります。 今回はモバイルアプリのロギングの問題点とPureeというログ収集ライブラリについて話します。 モバイルアプリのロギングの難しさ ウェブアプリでは、基的にはサーバー側でログを収集することができますが、モバイルアプリの場合は画面の制御はアプリ側で行われ、APIを介してデータを受け取るため、クライアント側でログを収集して送信する必要があります。 アプリのログを収集するのに、画面遷移をしたりタップするたびにサーバー

    モバイルアプリのログ収集ライブラリ「Puree」をリリースしました - クックパッド開発者ブログ
    himaratsu
    himaratsu 2014/11/25
    これは使ってみたい!!
  • iOSアプリデザインリニューアルの舞台裏 - クックパッド開発者ブログ

    モバイルファースト室の @slightair です。 先ほど、デザインをリニューアルしたクックパッドiOSアプリ 6.0.0 をリリースしました。 https://itunes.apple.com/jp/app/kukkupaddo-no.1reshipi-jian/id340368403?mt=8 この記事では、どのようにして新しいデザインをiOSアプリに適用していったのかを紹介したいと思います。 新しいアプリの画面 スクリーンショットを見ていただければわかるように、全体的にフラットな印象を与える画面に変わりました。 トップ レシピ詳細画面 サイドメニュー この記事で全ての画面を紹介することはできませんが、ぜひダウンロードしてお手持ちのiOS端末で触ってみてください。 新デザインの適用 基的には、画面デザイン案をもらい、既存のアプリを修正して少しずつ適用していく形で進めていきました。

    iOSアプリデザインリニューアルの舞台裏 - クックパッド開発者ブログ
    himaratsu
    himaratsu 2014/09/03
    なるほど
  • Lunch.cookpad開始のおしらせ - クックパッド開発者ブログ

    こんにちは。クックパッド・イベント事務局です。 クックパッドではこの度、エンジニア同士がオフラインでカジュアルにお話する場を不定期で開催することにいたしました。これを Lunch.cookpad と名付け、エンジニアとして活躍する&これから活躍していきたいと思う皆さんにとって有意義な情報交換の場にしていきたいと思っています。 Lunch.cookpadは毎回1時間で、開催日は都度決定します。クックパッドから参加するエンジニアは1名で、毎回2名の方をお招きしてご希望のテーマに沿った話をする予定です。 早速ですが、第1回を8/19 (火) に開催いたします! 【第1回 Lunch.cookpad / 開催概要】 日時:8/19 (火) 12:00- 場所:クックパッド白金台オフィス 参加するエンジニア:村田賢太 (@mrkn) 北海道出身。CRuby のコミッタとして bigdecimal の

    Lunch.cookpad開始のおしらせ - クックパッド開発者ブログ
    himaratsu
    himaratsu 2014/08/07
    たのしそう
  • Amazon Cognitoについて - AWSが提案するモバイル時代のアカウント管理 - クックパッド開発者ブログ

    モバイルファースト室の @rejasupotaro です。 AWS Summit 2014 でAWS Mobile Servicesのアップデートがありましたが、その中でも気になったAmazon Cognitoについて調べてみました。 Amazon Cognitoとは 今どきのモバイルアプリでは、単純に認証してAPIを叩くだけではなく、サービスにログインしていない状態でも一意なIDを持たせてデータを管理したり、ゲスト状態から会員登録をしたときにデータを引き継いだり、サービス間でシングルサインオンを提供したり、デバイス間で設定を共有できるようにするなど、ユーザーがどのデバイスからサービスにアクセスしてもストレスなく使えるようにするために様々な工夫を凝らす必要があります。 Introduction to Amazon Cognito これらの実装は複雑になりがちで、アプリを作っていると思ったら

    himaratsu
    himaratsu 2014/07/29
  • 1