NaCl 松江本社のyharaです。こんにちは。Webアプリケーションの高速化技術を競うコンテスト「ISUCON」の本戦に弊社メンバー(@sada4 @yhara @shugomaeda)で参加してきたので、簡単ですが参加記を書こうと思います。
結果は予選の15位から少し上がって13位でした。Go言語での参加チームが多いということで優勝もGoになるのかと思いきや、Rubyを使用した白金動物園チームが優勝でしたね。
以下では、今後ISUCON本戦に参加するチームのために、予選と本戦の違いなどを書いていこうと思います。
...続きを読むNaCl 松江本社のyharaです。こんにちは。Webアプリケーションの高速化技術を競うコンテスト「ISUCON」に弊社メンバーで参加し、予選を突破して本戦に出場できることが決定したので、簡単ですが参加記を書こうと思います。
15位のチーム「yarunee」が我々です。最終スコアは11,160 イスコインでした。この記事によると予選突破チームのほとんどはGo言語を使用していたようですが、弊チームは一番使い慣れている言語ということでRubyで参加しました。
ISUCONは2011年から行われているコンテストで、課題となるアプリケーションが与えられ、それを(挙動を大きく変えない範囲で)最も性能が出るよう改造できたチームが優勝、というイベントです。
今回はAlibaba Cloudのクーポンが参加者に付与されて、そこにインスタンスを立てて作業するという流れでした。対象となるアプリは本番の朝にイメージファイルという形で提供されました。
...続きを読むNaClの前田です。
今年はdRuby 20周年です。というわけで、dRubyを使ってTextbringerのためのemacsclient的なものを作ってみたので紹介します。
...続きを読むNaClの前田です。
社内のコードレビュー会で、Railsで h(s).gsub(/.../) { ... }
のようなコードを書いた時にブロック内で $1
が参照できなくてハマったという話が出ました。
hメソッドが返すのは実はStringオブジェクトではなくてActiveSupport::SafeBufferオブジェクトなのですが、 $1
のような特殊変数はローカル変数同様にメソッドを抜けると参照できなくなってしまうので、SafeBufferのように単純なgsubのラッパーを書いても参照できません。
実践的にはStringに変換してからgsubを呼べばよいのですが、「$1
などが参照できるgsubのラッパーは本当に書けないのか?」というのが今回のテーマです。
NaClの高田です。
松江Ruby会議09に参加しました。
NaClからはゲスト講演、基調講演、一般講演、LTを発表し、Ruby Quizの景品にGoogle Homeをスポンサーとして提供しました。
...続きを読むこんにちは。yhara@NaClです。
再来月に迫ったRubyKaigi 2018 仙台では、久々にあのコンテストの開催が予定されています。そう、TRICKです。
TRICKは「超絶技巧 Ruby 意味不明コンテスト in RubyKaigi」は、簡単にいうと普通でないRubyプログラムのコンテストです。
普通でない、とはどういうことでしょうか?説明するよりも見てもらった方が早いと思うので、今日は過去のTRICKの入賞作品を振り返ってみます。きっと、あなたの知らないRubyの世界が広がっているはずです。
...続きを読むNaClの前田です。
最近Viterbiという格子配列で左右分離型のキーボードを作ったので、職場で主に利用しています。
このキーボードではレツプリなどの他の自作キーボードでもよく使われているQMK Firmwareというオープンソースのファームウェアを利用しているので、自由にカスタマイズすることができます。
この記事では、筆者が利用しているT-Codeという入力語入力方式をキーボード上に実装します。
...続きを読むNaClの石飛です。
今回はmacOS High Sierraを対象としたスモウルビー実行環境のインストール方法を紹介します。
...続きを読むNaClの野口です。
最近Haskellを勉強し始めました。
勉強を始めてまだ日が浅いですが、面白い概念を多く学ぶことが出来たと感じています。
本記事ではHaskellの型について自分が理解したことを簡単にまとめます。
Haskellを動かす環境の構築についても記述しますので、読者の方も実際にコードを動かしてみてください。