タグ

rubyとcookpadに関するt-wadaのブックマーク (6)

  • Ruby の NODE を GC から卒業させた - クックパッド開発者ブログ

    こんにちは、技術部のフルタイム Ruby コミッタの遠藤(@mametter)です。メリークリスマス。 Ruby 2.5.0 がリリース予定です。いろいろな改善が含まれています。クックパッドからの主な貢献としては、「trace 命令の削除による高速化」や「分岐・メソッドカバレッジの測定のサポート」などがあります。 ユーザから見える改善はいろいろと記事が出てくると思うので、この記事では、「抽象構文木のメモリ管理のリファクタリング」というあまりユーザから見えない改善を紹介してみます。 概要 Ruby のパーサは、NODE という内部的なオブジェクトで構成された抽象構文木を生成します。2.4 までの NODE は GC に管理される普通のオブジェクトでしたが、2.5 からは GC の外で管理するようになりました。これにより、3 つ嬉しいことがあります。 大きなコードのパースが速くなりました

    Ruby の NODE を GC から卒業させた - クックパッド開発者ブログ
    t-wada
    t-wada 2017/12/25
    "Ruby 2.5 NODE を GC 管理から外すことで、(1) パース時の無駄な GC を抑えた、(2) NODE の位置情報を詳細化した、(3) 抽象構文木の整理を進める土台を確立した、という改善を行いました" 遠藤さんのすばらしい仕事
  • Cookpad Ruby Hack Challenge - クックパッド開発者ブログ

    技術部の笹田です。Ruby インタープリタの開発をしています。最近は Fiber まわりを10年ぶりにいじってます。 2017/08/30, 31 に、Cookpad Ruby Hack Challenge というイベントを行いますので、その宣伝をさせてください。 Cookpad Ruby Hack Challenge とは クックパッドRuby インタプリタを Hack しよう! クックパッドをはじめ、多くのウェブアプリケーション開発でプログラミング言語 Ruby が利用されています。Ruby で書かれたプログラムを動かすときは Ruby インタプリタで実行します。 Cookpad Ruby Hack Challenge は、この Ruby インタプリタに対して機能を追加したり、改良したり、性能向上させたりする方法、つまり Ruby インタプリタを Hack する方法を、二日間かけて

    Cookpad Ruby Hack Challenge - クックパッド開発者ブログ
    t-wada
    t-wada 2017/06/30
    "Cookpad Ruby Hack Challenge は、この Ruby インタプリタに対して機能を追加したり、改良したり、性能向上させたりする方法、つまり Ruby インタプリタを Hack する方法を、二日間かけてお伝えするイベントです"
  • 「現在時刻」を外部入力とする設計と、その実装のこと - クックパッド開発者ブログ

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

    「現在時刻」を外部入力とする設計と、その実装のこと - クックパッド開発者ブログ
    t-wada
    t-wada 2016/06/01
    現在時刻へのアクセスを扱うライブラリの開発/導入によって、時刻依存機能を開発しやすくし、テスト容易性も同時に向上させる試み。流しの技術顧問業の一環で設計をお手伝いしました。
  • クックパッド株式会社に入社しました - moroのブログ

    2015年8月1日付けでクックパッド株式会社に入社しまして、日、初出社をしました。 入社を志したきっかけはたくさんあるのですが、とりわけ RubyKaigi 他イベントでよく拝見するエンジニアの皆さんが一生懸命作って運用しているサービスがどのようなものか、間近でヒリヒリする距離感で見てみたかった見てみたかったという理由が一番大きいです。このごろでは松田さんの The Recipe for the World's Largest Rails Monolith // Speaker Deck は大変興味深かったです。がんばろ とはいえ、中途で入る以上、周りのみなさんすげーすげーと言ってるだけじゃなくて、ちゃんと値打ちを出していかないとなあ、と思っているところです。 技術イベントを始め、社外へのアウトプットもこれまで以上にやっていきたいと思っていますので、今後ともどうぞよろしくお願いします。

    クックパッド株式会社に入社しました - moroのブログ
    t-wada
    t-wada 2015/08/04
    "RubyKaigi 他イベントでよく拝見するエンジニアの皆さんが一生懸命作って運用しているサービスがどのようなものか、間近でヒリヒリする距離感で見てみたかった" moro さんの今後の活躍に wktk
  • RESTful Web API 開発をささえる Garage (client 編) - クックパッド開発者ブログ

    料理動画事業室の @yoshiori です。前に「RESTful Web API 開発をささえる Garage」で紹介した RESTful Web API を開発する Garage のクライアント側のライブラリを公開しました。この記事ではその使い方を紹介したいと思います。Garage の設計思想やサーバ側の実装については上記記事を御覧ください。 今回は簡単にクライアント側の挙動を知っていただくために pry を使って説明したいと思います。 アクセスするサーバは先程の記事で作成したアプリケーションを使用してみます。 サーバの準備 https://github.com/taiki45/garage-example の README にも書いてありますので簡単に進めたいと思います。 まずは下準備としてコードを github から clone してきて、ライブラリのインストールと DB のマイグレ

    RESTful Web API 開発をささえる Garage (client 編) - クックパッド開発者ブログ
    t-wada
    t-wada 2014/12/26
    先日公開された RESTful Web API を開発する Garage のクライアント側ライブラリ garage_client の使い方について
  • GitHub - cookpad/rrrspec: Distributed RSpec

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - cookpad/rrrspec: Distributed RSpec
    t-wada
    t-wada 2014/02/17
    分散 RSpec きたこれ!!! クックパッドが社内で開発/利用していたプロダクト (大江戸 Ruby 会議とかで発表していたもの) がとうとう OSS になったと解釈すればいいのかな?
  • 1