タグ

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

  • Google Play アプリ内定期購入を実装する - クックパッド開発者ブログ

    技術部モバイル基盤グループの宇津(@uzzu)です。 今年3月、クックパッドAndroidアプリはこれまでサポートしていたクレジットカード、キャリア決済に加えて、Google Playアプリ内定期購入によるプレミアムサービス登録機能を追加しました。 Google Playのアプリ内定期購入機能は個人的に気に入っているので早速乗り換えました。 良い機会なので、この記事ではIn-app Billing version 3(以下IABv3)以降のアプリ内課金の実装を振り返りつつ、Google Play Billing Libraryの紹介も交えながら開発TIPSを紹介します。 TIPS1. Google Play Billing Libraryの採用 IABv3以降のアプリ内課金を実施するためには(ざっくりですが)以下のフローを実装する必要がありました。 ServiceConnection を

    Google Play アプリ内定期購入を実装する - クックパッド開発者ブログ
  • MySQL with InnoDB のインデックスの基礎知識とありがちな間違い - クックパッド開発者ブログ

    こんにちは、サービス開発部の荒引 (@a_bicky) です。 突然ですが、RDBMS の既存のテーブルを見てみたら「何でこんなにインデックスだらけなの?」みたいな経験はありませんか?不要なインデックスは容量を圧迫したり、挿入が遅くなったりと良いことがありません。 そんなわけで、今回はレコードを検索するために必要なインデックスの基礎知識と、よく見かける不適切なインデックスについて解説します。クックパッドでは Rails のデータベースとして主に MySQL 5.6、MySQL のストレージエンジンとして主に InnoDB を使っているので、MySQL 5.6 の InnoDB について解説します。 InnoDB のインデックスに関する基礎知識 インデックスの構造 (B+ 木) InnoDB では B+ 木が使われています。B+ 木は次のような特徴を持った木構造です。 次数を b とすると、

    MySQL with InnoDB のインデックスの基礎知識とありがちな間違い - クックパッド開発者ブログ
    wozaki
    wozaki 2019/06/22
  • デザインとは「問題解決」だけじゃない? - クックパッド開発者ブログ

    事業開発部のデザイナー平井です。Cookpad Do!というサービスの運営をしているチームに所属しています。 cookpad.do Cookpad Do!は、前身サービス「Cookpad料理教室」のブランド再開発として2018年8月8日に生まれた新サービスで、料理をコンテンツとした体験型イベントを開催するオーナーがイベントを掲載し、参加する人がイベントの予約・決済を行えるプラットフォームサービスです。 今回はグロース期に入ったサービスの開発・運営していく中で、何を考え、どのように企画し、何を気をつけながら価値創出をしようとしているかの話をしようと思います。 料理を「楽しみ」にする 世に存在するサービスデザインは、よく「顧客の問題の解決」という言葉で説明されることがありますが、クックパッドが目指す「毎日の料理を“楽しみ”に」というビジョンを目指す上では、痛みや不満などの問題の解決という文

    デザインとは「問題解決」だけじゃない? - クックパッド開発者ブログ
    wozaki
    wozaki 2019/06/22
  • 1週間で仮説検証を繰り返す、サービス開発のための取り組み - クックパッド開発者ブログ

    こんにちは。投稿開発部 エンジニアの角田と申します。投稿開発部は、クックパッドの中でもレシピを投稿するユーザーに向けた機能の開発を行っている部署です。 私達の部署では、エンジニアも仮説検証の段階からディレクターやデザイナーと一緒に取り組むことが多く、稿では投稿開発部で行っている仮説検証についてご紹介します。 Webやアプリでサービス提供している方なら、新しいアイディアの価値は最速・最小限で確かめたいものですよね。 特に大規模な実装になりそうなアイディアであればあるほど、当に価値があるのか、ユーザーに使われそうかを先に確かめたいものです。 私達は、実装する前に「実際のユーザーの反応を見ながら、新しいアイディアの価値を短期間で確認する」取り組みを行っています。 私達のチームに合わせた手法になっているので、そのままは活用できないかもしれないですが、同様に仮説検証に取り組んでいる、もしくは取

    1週間で仮説検証を繰り返す、サービス開発のための取り組み - クックパッド開発者ブログ
    wozaki
    wozaki 2019/06/22
  • モダンBFFを活用した既存APIサーバーの再構築 - クックパッド開発者ブログ

    技術部の青木峰郎です。 去年までは主にデータ分析システムの構築を担当していましたが、 最近はなぜかレシピサービスのサービス開発をやっています。 今日は、そのサービス開発をする過程で導入したBFF(Backends for Frontends)であるOrchaについて、 導入の動機と実装の詳細をお話しします。 Orcha導入にいたる経緯 まずはOrcha導入までの経緯、動機からお話ししましょう。 最初のきっかけは、わたしが去年から参加しているブックマークのようなサービスの開発プロジェクトでした。 このプロジェクトの実装のために新しいmicroserviceを追加することになったのですが、 そのときにいくつかの要望(制約)がありました。 1つめは、撤退するとなったときに、すぐに、きれいに撤退できること。 2つめが、スマホアプリからのAPI呼び出し回数はできるだけ増やしたくない、という要望です。

    モダンBFFを活用した既存APIサーバーの再構築 - クックパッド開発者ブログ
    wozaki
    wozaki 2019/06/22
  • 無理をしないコードレビュー - クックパッド開発者ブログ

    会員事業部の三吉(@sankichi92)です。 クックパッドでは、GitHub Enterprise の Pull Request を使ったコードレビューを広く実施しています。 この記事では、私がコードレビューすることに対する苦手意識をなくすために意識したことを紹介します。 クックパッドでは、テックリードや新卒、インターン、バイトといった肩書きに関係なく、誰もがレビュワー・レビュイーになります。 チームやプロダクトによって開発ルールは少しずつ異なりますが、私の所属する会員事業部では、PR を出したときに GHE やチャットで部内のエンジニアにメンションして、その時にレビューできる人がレビューするという形を取っています。 私は、昨年2017年に新卒入社したのですが、それまでは個人開発や研究用のコードしか書いたことがなく、短期インターンシップを除くチーム開発の経験がありませんでした。 配属当

    無理をしないコードレビュー - クックパッド開発者ブログ
  • Railsアプリケーションでフォームをオブジェクトにして育てる - クックパッド開発者ブログ

    ユーザーエンゲージメント部の諸橋 id:moro です。 わたしはずっと、ユーザー登録やログイン周りという、サービス的には基盤的なところ、技術スタック的にはアプリケーション寄りのところに取り組んできました。関連する話を何度かこの開発者ブログにも書いています。 ユーザー基盤を作り直しながらRailsでのサービス層に向き合う 巨大なWEBアプリケーションに巨大な変更を取り入れるためにやったこと この記事で触れている「電話番号による登録」について、チームメンバーが別の側面を紹介してくれています。 今日はそのあたりの開発を通じて考えた、Railsアプリケーションでのフォームオブジェクトやサービス層といったものが何であるか、という問いに対する、現在の自分のスタンスを紹介します。 サービス層、サービスオブジェクト、フォームオブジェクト もともと Railsは Web 画面から DB 構造までをあえて密

    Railsアプリケーションでフォームをオブジェクトにして育てる - クックパッド開発者ブログ
    wozaki
    wozaki 2018/05/31
  • AWS Elemental MediaLive を使用したライブ動画配信アプリの基盤開発 - クックパッド開発者ブログ

    技術部開発基盤グループの @ganmacs です。 クッキング LIVE アプリ cookpadTV のライブ動画配信基盤(以下配信基盤)を AWS Elemental MediaLive を使用して開発した話を紹介します。 cookpadTV 上のライブ動画配信基盤の役割と機能 cookpadTV では配信基盤を使ってライブ動画機能を実現しています。 cookpadTV とは料理家や料理上手な有名人による料理番組のライブ配信を視聴できるアプリです。 Cookpad Tech Kitchen #15 や、すでにクックパッド開発者ブログに書かれた記事 1, 2 を見るとどのようなアプリかをイメージがしやすいと思うのであわせてご覧ください。 配信基盤は cookpadTV 用というよりも様々なサービスで使える共通基盤になっています。 cookpadTV と配信基盤との関係は以下の図のようになっ

    AWS Elemental MediaLive を使用したライブ動画配信アプリの基盤開発 - クックパッド開発者ブログ
    wozaki
    wozaki 2018/05/10
  • クッキングLIVEアプリcookpadTVのコメント配信技術 - クックパッド開発者ブログ

    こんにちは。メディアプロダクト開発部の長田です。 この記事では、クッキングLIVEアプリcookpadTVのLIVE中のコメント配信について工夫したことを紹介したいと思います。 2018/3/28 (水)に開催されたCookpad Tech Kitchen #15の資料も合わせてご覧いただけると、分かりやすい部分もあるかと思います。 cookpadTV cookpadTVでは、料理家や料理上手な有名人による料理のLIVE配信を視聴することができます。iOS/Androidのアプリがリリースされおり、LIVE配信を通して、分かりづらい工程や代替の材料の質問などをコメント機能を使って質問することができます。また、他のLIVE配信アプリのようにハートを送ることでLIVEを盛り上げることができます。 以下では、LIVE中のコメント配信を実装するにあたって私が課題だと感じたものと、それらをどう解決し

    クッキングLIVEアプリcookpadTVのコメント配信技術 - クックパッド開発者ブログ
    wozaki
    wozaki 2018/04/13
  • 品質の向上に対する取り組み - クックパッド開発者ブログ

    こんにちは。ユーザーファースト推進室ディレクターの大黒です。 私が所属しているユーザーファースト推進室では、「クックパッドに訪れた全てのユーザーが、期待する以上の品質に常に触れている状態にする」というミッションを持っています。今回はその中の取り組みの一つである「気になる!報告」という仕組みをご紹介します。 「 気になる!報告」とは スタッフが普段、何気なくクックパッドを使っている中で、気になったことを簡単に報告することができる仕組みです。休日や外出先などでは、気になったことを後で担当部署にフィードバックしようと思っていても、ついつい忘れてしまいます。そこでサイト内に「気になる!報告」のリンクを設置し、いつでもどこでも報告できるようにしています。 スタッフアカウント*1でログインすると、クックパッドのフッターエリアにスタッフにしか見えないリンクがあり、どのページにいてもすぐに報告をすることが

    品質の向上に対する取り組み - クックパッド開発者ブログ
    wozaki
    wozaki 2015/10/15
  • 1