タグ

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

  • Ruby の脆弱性を見つけた話 - クックパッド開発者ブログ

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

    Ruby の脆弱性を見つけた話 - クックパッド開発者ブログ
    n2s
    n2s 2019/12/06
    ふと思い出したのが「ライセンス不明のパッチがMLに貼られたせいでML読んでない人が非公開のクリーンルームでパッチを書き直す羽目に」って話。これもWEBrickか https://nishiohirokazu.hatenadiary.org/entry/20100819/1282200581
  • プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ

    技術部の笹田(ko1)と遠藤(mame)です。クックパッドRuby (MRI: Matz Ruby Interpreter、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 もうすぐ Ruby 2.6 がリリースされますね! Ruby 2.6 の新機能は何だろう、と調べるためには、ソースコードの diff を見ればいいのですが、膨大な変更があるので、一つ一つ見ていくのは大変です。 $ git diff --compact-summary origin/ruby_2_5 ... 6404 files changed, 228441 insertions(+), 97984 deletions(-) そこで、NEWS ファイルという、主要な変更点をまとめたファイルが用意されています。これを見るだけで、Ruby

    プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ
    n2s
    n2s 2018/12/25
  • Ruby の lazy loading の仕組みを利用して未使用の gem を探す - クックパッド開発者ブログ

    技術部開発基盤グループのシム(@shia)です。 最近は cookpad のメインレポジトリを開発しやすい環境に改善するために様々な試みをしています。 この記事ではその試みの一つとして不要な gem を検出し、削除した方法を紹介したいと思います。 背景 cookpad は10年以上にわたって運用されている巨大なウェブアプリケーションです。 巨大かつ古いアプリケーションには昔は使っていたが、現在は使われてない依存性などが技術負債として溜まっています。 事業的観点から技術的負債を完全返却するのはコストとのバランスが悪いことも多いです。 これは20万行を超えるプロジェクトを幾つも抱えている cookpad のメインレポジトリも例外ではなく、その規模から使ってないと思われる依存性を探しだすのも大変な状況でした。 どうするか 人が頑張るより機械に頑張らせたほうが楽ができるし、何より確実です。 ですの

    Ruby の lazy loading の仕組みを利用して未使用の gem を探す - クックパッド開発者ブログ
    n2s
    n2s 2018/04/04
  • 怖くない!エンジニア以外のメンバに気持ちよく GitHub を使い始めてもらうには - クックパッド開発者ブログ

    ヘルスケア事業部の濱田です。チームで楽しく開発してますか? コードベースの置き場として絶大な支持を集める GitHub。コードを管理するだけでなく、issue を使って様々な議論や報告を行い、その結果をスムーズに製品に反映させることができます。エンジニアだけでなく他の職種のメンバも巻き込んで GitHub で議論ができたら、開発はもっと活発になるでしょう。 一方、 GitHub にはちょっと敷居が高い、敬遠したくなるような雰囲気を感じる人も多いようです。 記事では、様々な職種のメンバが GitHub を気持ちよく使い始めてもらうにはどうすればよいか、という観点から気をつけるべきことを紹介します。 GitHub は非エンジニアにとっては怖い場所? エンジニアGitHub が大好きです。自分たちの作ったコードがあり、ドキュメントがあり、仲間がおり、コードレビューを通じて自分の新たに作った

    怖くない!エンジニア以外のメンバに気持ちよく GitHub を使い始めてもらうには - クックパッド開発者ブログ
    n2s
    n2s 2015/09/17
  • 社内 apt リポジトリの運用と deb パッケージビルドの話 - クックパッド開発者ブログ

    id:sora_h です。今回はクックパッドの社内 apt リポジトリ管理・deb パッケージビルド・リリースフローについて紹介します。 クックパッドではいままで CentOS 6 を利用していましたが、最近は Ubuntu への移行を進めています。現在は CentOS / Ubuntu 両方が共存したインフラになっています。 CentOS では社内に yum リポジトリを置き、家リポジトリから消えてしまったパッケージや、独自でビルドしたパッケージのホストを行っていました。Ubuntu 導入以降も同様に、社内 apt リポジトリを設置し、必要があれば独自でパッケージをビルドすることにしました。具体的には、わたしは ruby2.1 パッケージや ruby2.2 パッケージをメンテナンスしています。 (なお、わたしは rpmspec および ebuild の方が慣れていて、未だ deb パッ

    社内 apt リポジトリの運用と deb パッケージビルドの話 - クックパッド開発者ブログ
    n2s
    n2s 2015/02/14
  • ES6時代のJavaScript - クックパッド開発者ブログ

    こんにちは会員事業部の丸山@h13i32maruです。 最近のWebフロントエンドの変化は非常に激しく、ちょっと目を離した間にどんどん新しいものが出てきますよね。そんな激しい変化の一つとしてES6という次期JavaScriptの仕様があります。このES6は現在策定中で、執筆時点ではDraft Rev31が公開されています。 JavaScriptはECMAScript(ECMA262)という仕様をもとに実装されています。 現在のモダンなWebブラウザはECMAScript 5.1th EditionをもとにしたJavaScript実行エンジンを搭載しています。 そして次のバージョンであるECMAScript 6th Editionが現在策定中で、略称としてES6という名前がよく使われます。 今回は、他の言語にはあってJavaScriptにも欲しいなと思っていた機能や、JavaScriptでよ

    ES6時代のJavaScript - クックパッド開発者ブログ
  • Dockerでffmpegもimagemagickも怖くないという話 - クックパッド開発者ブログ

    クックパッド 広告事業部の大野晋一です。責任範囲は広告事業の純広告およびネットワーク広告の商品開発担当で、事業部にはそれぞれの売上でコミットしています。 この記事では、動画変換の仕組みにおけるDockerの活用について紹介します。 クックパッドは8月8日、iOS/Androidのブラウザにおいて動画クリエイティブを掲出する広告商品を公開しました。広告商品としての詳細はプレスリリースやスライドを見ていただくのがわかりやすいのですが、稿に関係する特徴としてスマートフォンのブラウザで自動的に再生が開始されるというものがあります。 スマートフォンのブラウザにおいては、現在のところ、動画を自動再生させることは出来ません。これはAppleGoogleといったブラウザベンダが課している制約です。そこで、クックパッドでは、janiというライブラリを使い、特定の規則に基づいて作られた画像を、JavaSc

    Dockerでffmpegもimagemagickも怖くないという話 - クックパッド開発者ブログ
    n2s
    n2s 2014/12/16
  • aptly による apt リポジトリ管理 - クックパッド開発者ブログ

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

    aptly による apt リポジトリ管理 - クックパッド開発者ブログ
    n2s
    n2s 2014/11/07
    jessieに入っている模様
  • 1