タグ

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

  • プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ

    技術部の笹田(ko1)と遠藤(mame)です。クックパッドRuby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 去年の記事「プロと読み解く Ruby 2.6 NEWS ファイル」に続き、今年も日 12/25 リリース予定の Ruby 2.7 の NEWS ファイルの解説をしてみようと思います。NEWS ファイルとは何か、というのは去年の記事を見て下さい。 実は最近、NEWS ファイルを読みやすくしよう、と例を入れたりしていて、以前のものに比べて読みやすくはなっています(英語だけど)。記事中のコードも、NEWS ファイルから引用しているものがあります。記事では、変更の解説に加え、執筆者らが開発に携わっているということを活かして、「なぜ変更

    プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ
    tyabe
    tyabe 2019/12/25
  • 「現在時刻」を外部入力とする設計と、その実装のこと - クックパッド開発者ブログ

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

    「現在時刻」を外部入力とする設計と、その実装のこと - クックパッド開発者ブログ
    tyabe
    tyabe 2016/05/31
  • システム障害で消耗してるあなたに:失敗から学ぶための取り組み「Failure teaches Success」 - クックパッド開発者ブログ

    こんにちは!広告エンジニアのレオです。最近、システム障害を起こしていますか?クックパッドも例外ではないです。毎月、何かしらのシステムに何かしらの障害が起きてしまいます。その際、早く気づき、速やかに対応することによって被害を最小限に留めるように努めます。そして、システムやデータを正常な状態に復旧させます。 正常な状態に戻した段階では対応はまだ完了していません。問題の当の原因は何なのか、またその再発をどうやって防止するかを考えて手を打つまでは、障害の対応が完了したといえません。予防しない限り、また同じ過ちを繰り返すことになってしまいます。 失敗は成功のもと 根原因分析、そして再発防止は大事な作業ですが、とても難しい作業です。クックパッドでは、これらを少しでもやりやすくするために、ルールと仕組みをまとめています。この仕組みを「Failure teaches Success」(略してFtS)と

    システム障害で消耗してるあなたに:失敗から学ぶための取り組み「Failure teaches Success」 - クックパッド開発者ブログ
    tyabe
    tyabe 2016/05/24
  • エンジニアが人事部に入ってやったこと - クックパッド開発者ブログ

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

    エンジニアが人事部に入ってやったこと - クックパッド開発者ブログ
    tyabe
    tyabe 2015/12/29
  • 巨大なバッチを分割して構成する 〜SQLバッチフレームワークBricolage〜 - クックパッド開発者ブログ

    トレンド調査ラボの青木峰郎(id:mineroaoki)です。 好きなRubyのメソッドは10年前からString#slice(re, nth)ですが、 最近はRubyよりCoffeeScriptとSQLのほうが書く量が多くて悩んでいます。 今日はわたしが開発している「たべみる」の背後で働いている 巨大バッチの構成について話したいと思います。 たべみるのバッチは約3000行のSQLで構成されており、 処理時間が1日で4時間程度かかる、そこそこの規模のプログラムです。 このバッチ処理プログラムをBricolage(ブリコラージュ)というフレームワークで構造化する手法について説明します。 「たべみる」とは まず最初に、「たべみる」がどういうものなのかごく簡単にお話ししておきましょう。 「たべみる」は企業のみに提供しているB2Bの分析サービスで、 クックパッドレシピ検索の分析をすることができま

    巨大なバッチを分割して構成する 〜SQLバッチフレームワークBricolage〜 - クックパッド開発者ブログ
    tyabe
    tyabe 2015/12/16
  • nginx で omniauth を利用してアクセス制御を行う - クックパッド開発者ブログ

    インフラストラクチャー部 id:sora_h です。クックパッドでは、社内向けの Web アプリ (以降 “社内ツール”) を社外のネットワークから利用する際、アプリケーションレベルでのアクセス制御とは別に、リバースプロキシでもアクセス制御を実施しています。*1 これまで BASIC 認証あるいは VPN による社内ネットワークを経由した接続という形で許可していました。しかし、iOS の Safari などでは BASIC 認証時のパスワードを保存できない上、頻繁に入力を求められてしまいますし、VPN はリンクを開く前に接続をしておく必要があります。これにより、社内ツールを社外で開く時に手間がかかってしまう問題がありました。 これに対し、一部では typester/gate などを導入し Google Apps での認証を行なっていました。しかしいくつか問題があり、非アドホックな対応では

    nginx で omniauth を利用してアクセス制御を行う - クックパッド開発者ブログ
    tyabe
    tyabe 2015/10/16
  • クックパッドの課金を支える技術 - クックパッド開発者ブログ

    こんにちは、技術部の大石です。開発基盤グループで課金システムの担当をしています。 インターネットサービスの決済・課金システムの開発や運用は、サービスの根幹を支えるために正確性と機能性を満たさなくてはなりません。また同時に、価格や料金体系、決済手段のバリエーションでユーザーに利便性を提供する必要もあります。「堅牢性」「信頼性」と「柔軟性」「開発スピード」という相反する要素の両立が求められます。 その結果、決済・課金システムは適切な設計や運用を意識しないと複雑になってしまいがちです。 課金システムの開発、運用でよくある問題 複数の決済方法を同じサービスの上で共存させる難しさ 例えば、最初にクレジットカード決済を導入して、その後にコンビニ決済、キャリア決済やアプリ内決済と決済方法が増えていくことはよくあることです。 最初の導入の際にクレジットカード決済への設計だけでなく、その後に増えていく決済を

    クックパッドの課金を支える技術 - クックパッド開発者ブログ
    tyabe
    tyabe 2015/04/10
  • クックパッドの検索の裏側 - クックパッド開発者ブログ

    初めまして、インフラストラクチャー部の加藤 (@EugeneK) です。 クックパッドでは現在178万ものレシピが公開されていますが、目的のレシピを探すために検索機能を提供しています。 今回は検索機能の裏側の仕組みについて、インフラストラクチャーの観点からお話ししようと思います。 全ての検索機能を支えるSolrと周辺のアーキテクチャ クックパッドにはレシピの検索だけでなく様々な検索機能がありますが、その全てはSolrを活用して実装されています。 以前はMySQL Tritonnによる全文検索機能を使用していましたが、2011年頃からSolrに切り替わりました。 クックパッドではSolrをマスタ - スレーブ構成にすることで冗長性と負荷分散を実現しています。以下の構成図をご覧ください。 マスタとスレーブの間には、リピータと呼ばれる検索インデックスを中継するためだけの役割のサーバがいます。この

    クックパッドの検索の裏側 - クックパッド開発者ブログ
    tyabe
    tyabe 2014/10/23
  • クックパッドとマイクロサービス - クックパッド開発者ブログ

    技術部の高井です。 最近、日でもマイクロサービスという言葉が流行しつつあります。 今回は、なぜクックパッドがマイクロサービスを選択したのか、また実際にどのようなやり方をしているのかということを紹介します。 Conwayの法則 ここ数年の間、クックパッドレシピの投稿・検索サービスから「を中心とした生活のインフラ」として事業領域を拡大しつつあります。海外レシピサービスの買収による海外展開は、単なる金銭的な関係にとどまらず、人的・技術的な交流も含めて格化しつつあります。また、「モバイルファースト」を標語とするモバイルアプリケーションへの取り組みも加速してきました。 事業領域の拡大やグローバル展開、モバイルファーストといったビジネス要求の変化に応じて、会社の組織構造も変化しています。そして、Conwayの法則 として知られているように、組織構造とソフトウェアアーキテクチャには密接な関係があ

    クックパッドとマイクロサービス - クックパッド開発者ブログ
    tyabe
    tyabe 2014/09/08
  • Hadoopを業務で使ってみた話 - クックパッド開発者ブログ

    8月に入社した佐々木です。こんにちわ! 入社してからはHadoopを使うことが多く、日々、大規模データと格闘しています。大変ではありますが、個人ではなかなか触ることが出来ないような大規模データを触れるのは楽しいです。 さて、Hadoopは最近色々なところで使われ始めてきていると思うんですが、実際に利用してみて困った事やtipsなど、実践的な情報はまだあまり公開されていません。その辺の情報をみんな求めているはず…!! そこで、僕が実際に触ってみて困った事やHadoopを使う上でポイントだと思ったことなどを社内勉強会で発表したので公開してみます。Hadoopを使っている(使いたいと思っている)方の参考になれば幸いです。 [slideshare id=2711363&doc=20091214techblog-091213183529-phpapp02] Hadoopの利用はまだまだ試行錯誤の連続

    Hadoopを業務で使ってみた話 - クックパッド開発者ブログ
  • AWKのススメ - クックパッド開発者ブログ

    はじめまして。インフラチームの菅原といいます。 今年の7月に入社してから、コンソールとにらめっこする毎日を過ごしています。クックパッドのようにアクセスの多いサイトのサーバを扱うことが今まで無かったので、いろいろと勉強になることが多いです。 さて、インフラチームではサーバの状況をモニタリングして、サーバに問題がないかを常に把握するようにしています。そのため日常的にtailでログを追いかけているのですが、そんなときはAWKが非常に便利なことに気付き、最近はかなりAWKにハマっています。 今回は絶賛マイブーム中のAWKの活用例をご紹介したいと思います。 なぜAWKなのか? 残念ながらAWKの知名度はあまり高くないようで、社内でも「なぜRubyでやらないのか?」と聞かれることがありました。僕も入社するまではcutの代わりぐらいにしか使っていなかったのですが、あるときログ出力の整形に使って以来、AW

    AWKのススメ - クックパッド開発者ブログ
    tyabe
    tyabe 2009/10/26
  • クックパッドとHadoop - クックパッド開発者ブログ

    はじめまして。今年の5月に入社した勝間@さがすチームです。 入社してからは、なかなか大変なことも多いですが、最近はお酒好きが集まって月曜から飲み合う 「勝間会」なるものも発足して、仕事面でも仕事以外の面でも密度の高い毎日を過ごしています! さて、僕は「さがす」チーム所属ということで、普段はレシピを「さがす」ユーザの満足度を上げるために、 クックパッドの検索まわりについて、いろいろな開発を行っています。 一方で、ユーザの「さがす欲求」について深く知るために、大規模なデータ解析を行い、欲求の分析を行う機会も増えてきました。 ところが、クックパッドのログは膨大な数があるので、一口のデータ解析と言っても通常のバッチ処理だと間に合わないため、 分散処理環境の必要性が高まってきました。 そこで、まずは手軽に試せる分散処理の王道ということで、最近ではHadoopを使ったデータ解析環境を整備しています。

    クックパッドとHadoop - クックパッド開発者ブログ
    tyabe
    tyabe 2009/09/16
  • 1