脳汁portal

アメリカ在住(だった)新米エンジニアがその日学んだIT知識を書き綴るブログ

ruby

[Ruby]文字の間違い(揺らぎ)を検知するレーベンシュタイン距離とJaro-Winkler距離をRubyで使う方法

Levenshtein距離とJaro-Winker距離両方とも、二つの単語、文章の間の違い(距離)を調べる方法です。Levenshtein Distanceレーベンシュタイン距離 - Wikipedia 1文字削った文字列の末尾にどのような文字を追加すれば一致するか見ることで、1文字削った文字列と…

[Ruby]Rubyの条件式に多重代入と入れるとエラーになる件

Rubyの条件式に多重代入を入れるとエラーになる。 例えば以下みたいな。 if (res1, res2 = multi_return_method) && res1 == 'hoge' puts 'success!!' end def multi_return_method return 'hoge', 'fuga' end 結論から言うと、仕様で意図的にエラーにしてい…

[Ruby]gem installしたライブラリが実際にどこにinstallされているのか調べる方法

gem installしたライブラリがどこにインストールされているか調べる方法gem installでライブラリをインストールしたはいいけど、中身を確認したかったり、ちょっと書き換えたいときにどこに実際にライブラリがありるか確認する方法。コマンド $ gem which #{…

[Ruby]Rubyでcurlするときのgemのcurbの使い方

curbの使い方curbとはrubyのコード内でcurlコマンドを使えるようにするgemです。taf2/curbgithub.comなかなか日本語ではドキュメントがないので、APIに接続する際のコードを例にあげておきます。GET require 'curb' endpoint = 'https://hogehoge.com' # cha…

[Ruby] RVMの使い方

RVM(Ruby Version Manager)の使い方rbenvと覇権を争っている、Rubyのversion管理システムであるRVMの使い方です。 今回は試しにRuby2.1.5とRuby2.2.1をinstallします。 " rvm installation " # curl -L https://get.rvm.io | bash -s stable # source /etc/p…

[著作権] DockerやChefやGitなどのロゴをプレゼンで使うときの注意点(trademark policy)

勉強会やカンファレンスなどでプレゼンを作る際に他社のロゴをppt等に載せることがあるかと思いますが、大抵はそれぞれの会社がtrademark policyという形で使用方法を決めています。各会社毎に注意点を簡単にまとめます。全てをここには載せきれませんので、…

[Ruby]Ruby本体のテストフレームワークの歴史(移り変わり)について

RubyのテストフレームワークRubyにはデフォルトでテストフレームワークが入っていますが、versionによってその中身が変移していっているのでその説明です。 はじめにこれは以下のクリアコードさんのページを自分なりに噛み砕いたものになっています。 http:/…

[Ruby]Ruby 認定試験 Silver/Gold 合格勉強方法(お勧めの参考書や学習サイト等)

Ruby Association Certified Ruby Programmer Goldに合格したので、そのときの勉強方法をご紹介します。[前提条件] 1年前にSilverを取得していた。 [使った参考書・学習サイト]1. Rubyの絵本(Silver用) Rubyの絵本 スクリプト言語を楽しく学ぶ9つの扉 …