タグ

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

  • ドキュメントベースの型安全なモバイルアプリ行動ログ基盤の構築 - クックパッド開発者ブログ

    こんにちは。PlayStation 5が一向に買えない@giginetです。普段はモバイル基盤部というところでiOSの基盤開発をしています。 皆さん、行動していますか?我々は日々Webサービス上で様々な行動をしています。サービス開発において、改善に活かすための効率的な行動ログの収集方法はしばしば課題になります。 今回は、サービス開発者がモバイルアプリ上で簡単にログを定義し、分析を行えるログ基盤を導入した事例について紹介します。 行動ログとは何か モバイルアプリの行動ログとは、ユーザーのアプリ上の操作や利用状況を取得、集積するためのものです。 例えば、特定の画面を表示したり、特定のボタンをタップしたり、といったユーザー操作を起点として送信されています。 集められたログは、サービス開発のための分析や実態把握に役立てられます。 最近はFirebase Analyticsなど、PaaSの形態で提供

    ドキュメントベースの型安全なモバイルアプリ行動ログ基盤の構築 - クックパッド開発者ブログ
    akulog
    akulog 2020/11/05
  • KPI 設定の難しさについての思索とそれに付随した細かな考察 - クックパッド開発者ブログ

    こんにちは、事業開発部でプロジェクトマネージャー兼エンジニアをやっている新井(@SpicyCoffee)です。10 万円の申請書を書く前に 20 万円のパソコンを買いました。 クックパッドでは、毎日の料理を楽しみにするべく日々サービス開発がおこなわれています。稿では、サービス開発の中でも重要かつ難解な「KPI の設定」について、私がプロジェクトマネージャーとして普段考えていることや注意している点を紹介します。 KPI を決めるのは難しい サービス開発において KPI を設定し、それを改善するような施策や検証を繰り返していくことは基中の基です。しかしながら、現実には「KPI を設定する」という行為自体の難易度が非常に高く、日夜頭を悩ませている開発者のみなさんも多いのではないでしょうか。 以下では、その要因の一つである「KPI は複数の要件を満たす必要がある」ことについて考えます。 満た

    KPI 設定の難しさについての思索とそれに付随した細かな考察 - クックパッド開発者ブログ
    akulog
    akulog 2020/06/13
    これよな "自分たちの施策で 動かすことが可能 な指標であること"
  • Markdown と GitHub で社内規程を便利に管理 - クックパッド開発者ブログ

    VP of Technology の星 (@kani_b) です。技術基盤や研究開発領域などを担当しつつ、社内の色々なことを技術の力でいい感じにする仕事をしています。セキュリティAWS の話が好きです。 さて、みなさんは、ご自身が勤務する会社の就業規則を読んだことはあるでしょうか。 エンジニアに限らず、会社の全スタッフが仕事をする上で関わってくるのが、就業規則や情報セキュリティドキュメントなど、会社のルールや規程を記す文書です。 特にセキュリティやインフラに携わるエンジニアは、その改訂も含め携わったことがある方もいるのではと思います。 よくある文書管理 こうした文書は、以下のように管理されていることが多いようです。 ベースドキュメントは Word 保存時は PDF で保存 版管理は Word の編集履歴 + PDF に保存する際のファイル名 編集は担当部門, 担当者のみが行う かつての

    Markdown と GitHub で社内規程を便利に管理 - クックパッド開発者ブログ
    akulog
    akulog 2019/06/27
  • Ruby の脆弱性を見つけた話 - クックパッド開発者ブログ

    こんにちは、技術部の遠藤(@mametter)です。フルタイム Ruby コミッタとして、クックパッドにあたらしく入社しました。よろしくお願いします。 最近、RubyRubyGems の脆弱性を発見して、その結果セキュリティリリースにつながるということを経験しました。どういう動機でどのように脆弱性を発見したか、どのように通報したか、などについてまとめてみます。Ruby の脆弱性を見つけたけどどうしよう、という人の参考になれば幸いです。 HackerOne について HackerOne という脆弱性情報の通報と公開のためのプラットフォームをご存知でしょうか。 OSS にとって脆弱性情報の管理は面倒なものです。脆弱性の通報を秘密裏に受け付け、関係者だけで議論しなければなりません。そのため、通常のバグトラッカとは別のコミュニケーションチャンネルを用意する必要があります。 そこで Hacke

    Ruby の脆弱性を見つけた話 - クックパッド開発者ブログ
    akulog
    akulog 2017/10/04
  • ユーザー基盤を作り直しながらRailsでのサービス層に向き合う - クックパッド開発者ブログ

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

    ユーザー基盤を作り直しながらRailsでのサービス層に向き合う - クックパッド開発者ブログ
    akulog
    akulog 2017/04/07
  • ストレスフリーなGitHubのIssue生活 - クックパッド開発者ブログ

    こんにちは。サービス開発部の丸山@h13i32maruです。 今日はGitHub/GHE(GitHub Enterprise)で快適なIssue生活をおくるために作ったJasperというツールと、それを実際にどうやって使っているかを紹介させていただきます。 ストレス GitHub/GHEを日々の業務の中心として使っていると、すごくたくさんのIssueやPull Request(以下PR)が流れてきます。 これらのIssueを処理する方法としては主に「メール」と「通知ページ(github.com/notifications)」の2つだと思います。 僕もこれらの方法を使っていたのですが、以下の点ですごく困っていました。 多すぎてメンションされたものやコメントしたものを見逃してしまう あとで見ようと思って、忘れる ブラウザのタブを大量に開いた状態になる 知らないところのIssueで議論が進んでい

    ストレスフリーなGitHubのIssue生活 - クックパッド開発者ブログ
    akulog
    akulog 2017/03/14
    Jasperマジで神だよね
  • 「プログラミングElixir」から分散系の世界へ踏み込もう - クックパッド開発者ブログ

    テストエンジニアしてます、技術部の松尾(@Kazu_cocoa)です。 今回は、2016年8月19日に発売されますプログラミング言語であるElixirの入門書、プログラミングElixir(以下、書)に関して少し書こうと思います。 プログラミングElixir 作者: Dave Thomas,笹田耕一,鳥井雪出版社/メーカー: オーム社発売日: 2016/08/19メディア: 単行(ソフトカバー)この商品を含むブログを見る 私はここ1年以上、Erlang/Elixirを学びながら業務/私事で使っていました。 業務では主にAndroid(Java)/iOS(Objectvie-C/Swift)/Rubyを使っています。その傍、 社内向けWebアプリケーションをElixir x Phoenixフレームワーク を使い構築したり、HTTPリクエストをrecord/play/proxyするテストツー

    「プログラミングElixir」から分散系の世界へ踏み込もう - クックパッド開発者ブログ
    akulog
    akulog 2016/08/20
    これなー、気になるよなー
  • データベースドキュメント管理システム dmemo のご案内 - クックパッド開発者ブログ

    こんにちは、みんなのウェディングに出向中の小室 (id:hogelog) です。 今回はクックパッドとみんなのウェディングで利用しているデータベースドキュメント管理システム dmemo を紹介します。 https://github.com/hogelog/dmemo dmemo を作成し導入した経緯 私は2016年3月頃からみんなのウェディングで Redshift, bricolage, embulk, re:dash 等を利用したデータ分析基盤の構築を進めています。 (みんなのウェディングのデータ分析基盤の現状 - みんなのウェディングエンジニアリングブログ) 社内の誰でも扱えるデータベース、データの集約・計算・加工、ダッシュボードの作成、クエリの共有などは上記ブログ記事でも書いたように Redshift, bricolage, embulk, re:dash 等を組み合わせることで実現

    データベースドキュメント管理システム dmemo のご案内 - クックパッド開発者ブログ
    akulog
    akulog 2016/08/08
    @fujiken これどうよ?
  • Docker を利用した Web アプリケーションのデプロイ - クックパッド開発者ブログ

    技術部の鈴木 (id:eagletmt) です。 クックパッドでは一部の Web アプリケーションサーバで Docker が使われており、今回はそのデプロイ方法について紹介します。 Docker で Web アプリケーションをデプロイするときには、まだまだベストプラクティスがある状況ではありません。 たとえば、どのように無停止でデプロイするか、どのようにコンテナと通信するかといった問題があります。 最初に Apache Mesos と Marathon などのツールを検証しましたが、クックパッドの環境において使いやすそうなものはなく、最終的に自前でデプロイのしくみを作ることにしました。 しかし Docker 周辺のツールは様々な新しいものが出てきている最中です。 今はまだベストなものが無いけれども、近いうちによりよいものが出てくるかもしれません。 そのため、できるだけ単純なしくみにしておく

    Docker を利用した Web アプリケーションのデプロイ - クックパッド開発者ブログ
    akulog
    akulog 2016/06/28
    DockerのHot Deploy参考 #toki3_memo
  • 「現在時刻」を外部入力とする設計と、その実装のこと - クックパッド開発者ブログ

    こんにちは。技術部 開発基盤グループの諸橋です。 クックパッドでは昨今の多くのWeb企業と同じように、GitHub EnterpriseのPull Requestを使ったコードレビューを広範に実施しています。わたしたちのコードレビューでは、ソースコードの字面にとどまらず、サービスの機能として魅力的かどうかや、保守性を含めた設計が適切かといった議論に発展することも良くあります。 きょうはそんななかで話題に上がった「現在時刻」の扱いかたに関する設計の話を書きます。 背景 サービスを開発・運営している我々には、時間帯によって出し分けたり、特定の期間のみに表示したいコンテンツがたくさんあります。 そのたびにデプロイし直すというのはつらいので(特に24:00に出なくなるコンテンツなど)なんとかしたくなりますが、一方で時限式のコンテンツはその時になるまでちゃんと動いているか確証が取れないので怖いです。

    「現在時刻」を外部入力とする設計と、その実装のこと - クックパッド開発者ブログ
    akulog
    akulog 2016/05/31
    参考になる #toki3_memo
  • エンジニアが人事部に入ってやったこと - クックパッド開発者ブログ

    人事部 エンジニア人事企画リーダー*1の小川(@conceal_rs)です。 前回はサービス開発に関するお話をしたのですが、今回はエンジニアが人事に入ってやったことについてお話したいと思います。 人事部との兼務のきっかけ そもそも去年から中途エンジニア採用には関わってきていました。主に書類選考や面接官をしてきたのですが、去年の終わりごろからはさらに、新卒を含めたエンジニア採用全般に関わるようになっていました。また同じような時期から社内のエンジニア評価に関しても関わりが強くなってきていて、業務のほとんどが「人事系の仕事では?」と思う時があるほど比重は大きくなりました。 そんななか、当然のように人事の方と一緒に仕事をすることが増えたのですが、なぜか一歩引いた状態で会話されているなと感じることが増えてきました。言葉では説明しづらいのですが、「手伝っていただいて恐縮です」という雰囲気で接してこられ

    エンジニアが人事部に入ってやったこと - クックパッド開発者ブログ
    akulog
    akulog 2015/12/24
    人事から結果的に社内のエンジニアリング力を底上げする意識を持ってていいなぁ
  • サービス開発エンジニアからマネージャになった話 - クックパッド開発者ブログ

    はじめに こんにちは、レシピ投稿推進室の勝間(@ryo_katsuma)です。 techlifeでの執筆は5年ぶり(!)になります。 さて、そんな私も今年2014年の5月にエンジニアからサービス開発の部署のマネージャに転身しました。 そこで今回のtechlifeブログは、いつもの技術ネタとは少し異なるテーマとして、「クックパッドにおいて、エンジニアからマネージャに転身する」ことが、どういうことなのかを自分自身で振り返り、まとめたいと思います。 エンジニアが自身のキャリアを考える上で、少しでも参考になれば幸いです。 現状 私は、2009年5月に中途入社し、今年で6年目になります。この年数は、エンジニア全体はもちろん、社内全体で見ても古い方になります。 これまで、技術部、HappyAuthor部(現在、私が所属している前身になった部)、新規事業部、プレミアム会員事業部...など、いろんな部署で

    サービス開発エンジニアからマネージャになった話 - クックパッド開発者ブログ
    akulog
    akulog 2014/11/27
    とてもいいエントリー。自分を今一度見つめなおそうと思った。
  • モバイルアプリのログ収集ライブラリ「Puree」をリリースしました - クックパッド開発者ブログ

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

    モバイルアプリのログ収集ライブラリ「Puree」をリリースしました - クックパッド開発者ブログ
    akulog
    akulog 2014/11/25
    凄いなこれ
  • aptly による apt リポジトリ管理 - クックパッド開発者ブログ

    インフラストラクチャー部の宮下(@gosukenator)です。 クックパッドでは一部のサーバで Ubuntu を使い始めており、 apt リポジトリをどのように管理するのが良いのか、試行錯誤しています。aptリポジトリ管理で実現したいことは、主に次の2点です。 自前でビルドしたパッケージの管理 リモートリポジトリから削除された旧バージョンパッケージの保全 このあたりをいい感じにできるツールはないかな、と社内で話していたところ、カルビ生焼け王 に教えてもらったのが aptly です。 aptly とは 公式サイトに「aptly is a swiss army knife for Debian repository management」とあるように、aptly は多機能な apt リポジトリ管理用ツールです。外部リポジトリのミラー作成、ローカルリポジトリの作成、リポジトリのスナップショット

    aptly による apt リポジトリ管理 - クックパッド開発者ブログ
    akulog
    akulog 2014/11/07
    えー→この方法の問題点は、publish switch 実行時に、差分ではなくすべてのパッケージをアップロードするため、非常に時間がかかる、ということです。
  • 1