タグ

ブックマーク / qiita.com/WakameSun (2)

  • RedAmberを触ってみた - Qiita

    データフレーム(2次元の表形式のデータ)を用意されていて、それに何かしらの処理しようと思った時パッと思い浮かぶ利用ツールはPythonのPandasでしょうか?それともExcelなどでしょうか? 今回はそのどちらでもなく、RubyKaigiでも紹介されたRubyのgemの一つであるRedAmberを触ってみます。 RedAmberとは? データフレームを扱うためのRubyのライブラリです。(ソースコードは下記) ApacheArrowのRubybindingであるRedArrowが中では動いているみたいです。 詳細は開発者の方がRubyKaigiで発表したスライドがあります。 検証環境 今回は下記の環境で使ってみます。 Ruby 3.2.2 M1 Pro セットアップ Readmeを参考に下記コマンドを実行します。 RedAmberを動かすためにはRedArrowが必要で、RedArrow

    RedAmberを触ってみた - Qiita
  • Ruby3.2の正規表現の高速化を、実際にオートマトンを作って体験してみる - Qiita

    Ruby 3.2では正規表現の高速化が行われ、ReDoSへの対策が行われています。 https://techlife.cookpad.com/entry/2022/12/12/162023 https://rubykaigi.org/2023/presentations/makenowjust.html#day1 (RubyKaigiでの発表) Rubyでは正規表現をNFA (非決定性有限状態オートマトン) に変換をし、文字列を入力としたオートマトンを受理するかどうかで文字列が正規表現にマッチするかを判定しているらしいです。 NFAの場合、愚直に処理をすると同じ位置かつ同じ状態をたくさん通ることがあり、計算量が増えてしまうことがあるためRuby3.2ではキャッシュ (メモ化) を行うことで速度改善を実現しています。 さて、この記事では簡単なオートマトンを処理するためのコードを作ってみて、実

    Ruby3.2の正規表現の高速化を、実際にオートマトンを作って体験してみる - Qiita
  • 1