NaCl Blog

Hashの値の省略記法

NaClの前田です。
Ruby Advent Calendar 2021の20日目の記事です。昨日は@getty104さんでした。

今回はRuby 3.1にするっと入ってしまったHashの値の省略記法を紹介します。


2021年度夏季オンラインインターンシップ

NaClの岸野です。
新型コロナウイルスの影響で、昨年度はインターンシップは開催できず、今年度はオンラインでのインターンシップを開催しました。


Rails 6のコネクションプールの無効化

NaClの前田です。

諸般の事情でRailsのコネクションプールを無効化したかったのですが、Rails 6では既存のgemやモンキーパッチでは動作しなかったため、古いモンキーパッチをベースにRails 6用のモンキーパッチを作成しました。


parser gemでRubyプログラムのバグを探す

お久しぶりです。NaCl松江本社のyharaです。みなさんはRubyのparser gemやast gemを使ったことがあるでしょうか?いずれも使い方次第で強力な武器になるライブラリですが、ネットにあまり情報がないかと思います。最近仕事で使う機会があったので、せっかくなので使い方を解説します。

ある日、開発中のRailsアプリに以下のような感じのコードを見つけました。

  ...
    @data1[:attr1].zero? || @data2.header.code="123" || @data3.code == "456"
  ...

どこがおかしいか分かったでしょうか?


10年物・1万行のJavaScriptをモダン化した話

こんにちは。NaCl 松江本社のyharaです。今回はBiwaSchemeのリファクタリングをした話を書きます。

BiwaSchemeは私が開発しているScheme処理系で、JavaScriptで書かれていてブラウザおよびNode.js上で動作します。BiwaSchemeの開発を始めたのはまだ学生だった2007年頃で、修論のため(=卒業のため)に必要というのが主な動機でした。

それから10年以上が経ち、JavaScriptを取り巻く環境も大きく変わりました。それに伴い、BiwaSchemeのコードベースも時代に合わない記述が増えてきました。

最も大きなものは、src/library/r6rs_lib.jsを囲む巨大なwith文です。