NaCl Blog

ISUCON9の予選をRubyで通過しました

NaCl 松江本社のyharaです。こんにちは。Webアプリケーションの高速化技術を競うコンテスト「ISUCON」に弊社メンバーで参加し、予選を突破して本戦に出場できることが決定したので、簡単ですが参加記を書こうと思います。

15位のチーム「yarunee」が我々です。最終スコアは11,160 イスコインでした。この記事によると予選突破チームのほとんどはGo言語を使用していたようですが、弊チームは一番使い慣れている言語ということでRubyで参加しました。

ISUCONとは

ISUCONは2011年から行われているコンテストで、課題となるアプリケーションが与えられ、それを(挙動を大きく変えない範囲で)最も性能が出るよう改造できたチームが優勝、というイベントです。

今回はAlibaba Cloudのクーポンが参加者に付与されて、そこにインスタンスを立てて作業するという流れでした。対象となるアプリは本番の朝にイメージファイルという形で提供されました。


dRubyでemacsclient的なものを作る

NaClの前田です。

今年はdRuby 20周年です。というわけで、dRubyを使ってTextbringerのためのemacsclient的なものを作ってみたので紹介します。


gsubのラッパーは書けるか

NaClの前田です。

社内のコードレビュー会で、Railsで h(s).gsub(/.../) { ... } のようなコードを書いた時にブロック内で $1 が参照できなくてハマったという話が出ました。

hメソッドが返すのは実はStringオブジェクトではなくてActiveSupport::SafeBufferオブジェクトなのですが、 $1 のような特殊変数はローカル変数同様にメソッドを抜けると参照できなくなってしまうので、SafeBufferのように単純なgsubのラッパーを書いても参照できません。

実践的にはStringに変換してからgsubを呼べばよいのですが、「$1 などが参照できるgsubのラッパーは本当に書けないのか?」というのが今回のテーマです。


松江Ruby会議09に参加しました

NaClの高田です。

松江Ruby会議09に参加しました。

  • 松江Ruby会議09
    • 日時: 2018年6月30日(土) 11:00〜
    • 会場: 松江オープンソースラボ
    • 主催: Matsue.rb
    • 後援: 日本Rubyの会

NaClからはゲスト講演、基調講演、一般講演、LTを発表し、Ruby Quizの景品にGoogle Homeをスポンサーとして提供しました。


あの超絶技巧Ruby意味不明コンテストin RubyKaigiが再び!

こんにちは。yhara@NaClです。

再来月に迫ったRubyKaigi 2018 仙台では、久々にあのコンテストの開催が予定されています。そう、TRICKです。

TRICK 開催文

TRICKは「超絶技巧 Ruby 意味不明コンテスト in RubyKaigi」は、簡単にいうと普通でないRubyプログラムのコンテストです。

普通でない、とはどういうことでしょうか?説明するよりも見てもらった方が早いと思うので、今日は過去のTRICKの入賞作品を振り返ってみます。きっと、あなたの知らないRubyの世界が広がっているはずです。