Ruby

md2review 実行時に invalid byte sequence in Windows-31J にエラーが出る。

原因はシステムの文字コードと md2review の使用文字コードが異なるため。 なので、md2review に直接文字コードを明示した。 # 下記の1行を追加。 Encoding.default_external = 'utf-8' require 'rubygems'

Ruby 2.1.2 で debugger をインストールする

$ cd ~/ $ git clone https://github.com/mekishizufu/debugger.git $ cd debugger $ git checkout ca451a9bdf $ gem build debugger.gemspec $ gem install debugger-1.6.6.gem Add support for 2.1.2 by jiripospisil · Pull Request #126 · cldwalker/deb…

Vagrant の Ubuntu 12.04 で bundle を実行したらエラーが出た対応策について

bundle でインストールをしたら、下記のエラーが発生した。 $ bin/bundle Fetching source index from https://rubygems.org/ Fetching git://github.com/gregbell/active_admin.git Retrying git clone 'git://github.com/gregbell/active_admin.git' "/hom…

Windows 上で SASS を利用したときに、CSS の指定文字コードを UTF-8 にする

Windows で Ruby を動かすと規定の外部エンコーディングが Windows-31J で指定されている。そのため、日本語が含まれていると、「Invalid Windows-31J character…」というエラーが発生する。これは、SASS で出力した CSS に指定文字コードが「Windows-31J」…

Compass をインストールする

Compass を試してみるために、数年ぶりに Ruby をインストールしてみる。 gem 自身をアップデートしてみると、下記のエラーが発生した。 C:\Users\littlebuddha>gem update --system Updating rubygems-update Fetching: rubygems-update-2.0.3.gem (100%) S…

Ruby で MySQL に接続できるようにする

いつになったら、Ruby 1.9 系で安定して MySQL に接続できるようになるのだろうか。 MySQL は XAMMP でインストールされるものを利用。 C:\>ruby -v ruby 1.8.7 (2009-12-24 patchlevel 248) [i386-mswin32] C:\>gem install dbi Successfully installed dep…

Ruby で配列から特定の要素のみを抽出する場合

#!/usr/bin/env ruby # -*- coding: utf-8 -*- aiueo = ['あ', 'い', 'う', 'え', 'お'] auo = aiueo.values_at(0, 2, 4) auo.each do |word| puts word end 実行結果は あ う お となる。 応用編 カンマ区切りで二重引用符のフィールドセパレーターの CSV …

Oracle の SID 名を取得する

#!/bin/env ruby require 'oci8' username = 'yourname' passowrd = 'password' hostname = 'examle.com' # もしくは IP アドレス port = '1521' servicename = 'SERVICE_NAME' # tnsnames.ora に記述されている SERVICE_NAME tablename = 'TEST_TABLE' # カ…

テーブルのカラム名を取得したい

テーブルのカラム名を調べてみる。 #!/bin/env ruby require 'oci8' username = 'yourname' passowrd = 'password' hostname = 'examle.com' # もしくは IP アドレス port = '1521' servicename = 'SERVICE_NAME' # tnsnames.ora に記述されている tablename…

Ruby で Oracle に接続をする

事前準備 Oracle に接続するためのファイルをダウンロードする。 Oracle Instant Client ダウンロード instantclient basic instantclient sdk 下記のサイトの内容を参照すれば、接続できる。 ruby-oci8 接続方法 require 'oci8' ora = OCI8.new('username',…

Ruby の yeild を理解してみる

参考事例 Rubyのyieldを使った例を教えてください Enumerable - Rubyリファレンスマニュアル 標準添付ライブラリ紹介 【第 5 回】 enumerator 例題 yield はブロック呼び出しに使います。ブロックは Ruby 流無名関数(高階関数)です。yield はブロックを評価…

Ruby 1.9 で日本語(マルチバイト)の文字列を扱う場合の注意書き

新しく Ruby をインストールする機会があったので、Ruby 1.9 をインストールしてみた。 実際に使い始めると、マルチバイトの取り扱いに戸惑ったため、以下を備忘録として残しておく。 スクリプトファイルの文字コードについて Ruby 1.8 までの -K オプション…

Red Hat Enterprise Linux 5 の Ruby を 1.8.7 にする

Ruby をインストールする # yum remove ruby # mkdir ~/src # cd src # wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p160.tar.gz # tar zxvf ruby-1.8.7-p160.tar.gz # cd ruby-1.8.7-p160/ # ./configure --prefix=/usr # make # /usr/sbin/chec…

Debian に zipruby をインストールする

zipruby のコンパイルに失敗する原因 % ls -l /var/lib/gems/1.8/gems/zipruby-0.2.9/ext/mkmf.log -rw-r--r-- 1 root root 322 Dec 24 03:22 mkmf.log % less /var/lib/gems/1.8/gems/zipruby-0.2.9/ext/mkmf.log have_header: checking for zlib.h... ----…

さくらサーバーに gem をインストールする際に「chown/chgrp: Operation not permitted」とエラーが出た場合

原因は「ENV['RB_USER_INSTALL']」に値が正しく設定されていないためである。 Ruby/MySQL をインストールする % gem search --remote mysql *** REMOTE GEMS *** activerecord-jdbcmysql-adapter (0.9) dbd-mysql (0.4.2) do_mysql (0.9.9) jdbc-mysql (5.0.…

さくらサーバーに Rubygems をインストールする

Ruby のバージョンを確認する % ruby -v ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-freebsd6] Rubygems をダウンロードする % cd ~/local/src/ % wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz % tar zxvf rubygems-1.3.1.tgz …

require 'rubygems' #=> false

% irb > require 'rubygems' => false false が帰ってくる。 % sudo gem update --system Password: Updating RubyGems Nothing to update % gem -v 1.3.1 % irb > require 'rubygems' => false ということなので、 % sudo gem update Password: Updating in…

Ruby で Amazon ECS

始める前に ruby-amazon(ECS 3.0 まで対応。現行の ECS 4.0 には非対応) ruby-aws(ECS 4.0 に対応) gem で ruby-aws をインストールする # gem search -r ruby-aws *** REMOTE GEMS *** ruby-aws (1.2.0) # gem install ruby-aws Successfully installed rub…

net/https の証明局の取り扱いについて

証明書の取得 rubyでssl通信 HTTPSでサーバーに接続 Rubyでnet/httpsで通信 OpenSSL::SSL::SSLSocket で証明書を取得する SSL通信にてCA証明書を取得する方法 OpenSSL::SSL::SSLSocket

Net::HTTPS と URI の動作確認

簡単な備忘録。 require 'net/https' require 'uri' url = 'https://mail.google.com/' uri = URI(url) p uri.host p uri.port p uri.request_uri 実行結果。 "mail.google.com" 443 "/"

Ruby コミュニティ

Ruby は日本人の手で誕生した言語なのに、日本語の公式リファレンスがこうも貧弱なのだろうか…。 [日本語] net/http - Rubyリファレンスマニュアル [英語] net/http: Ruby Standard Library Documentation [英語] RUBY-DOC.ORG

リテラルの %記法について

忘れぬうちにメモをする。 # やっぱり文字列のArray定義は %w が便利 counter = %w(zero first second third forth fifth) の「%w」について。 リテラル - Rubyリファレンスマニュアル %記法について 人のコードにはできるだけ目を通すべき。

Ruby/DBI でデータベース操作の記述を抽象化する

Ruby/DBI をインストールする すでに MySQL/Ruby がインストールされているものとする。 #gem search --remote dbi *** REMOTE GEMS *** Bulk updating Gem source index for: http://gems.rubyforge.org/ dbi (0.4.0) dbi-dbrc (1.1.4, 1.1.3, 1.1.2, 1.1.1…

Ruby/MySQL の利用例

require 'rubygems' require 'mysql' hostname = 'localhost' username = 'yourname' passowrd = 'password' database = 'mysql' begin # データベースに接続 # 接続が確立されれば、MySQL オブジェクトが返される db = Mysql::connect(hostname, username, …

Windows で Ruby/MySQL を利用する

利用時に libmysql.dll がないと警告された場合対処方法。 libmysql.dll について MySQL サーバーに接続するために必要。通常、MySQL をインストールしている場合、$MYSQL_HOME/bin 下に libmysql.dll はある。ローカルに MySQL Server をインストールしたく…

Ruby/MySQL をインストールする

RubyGems を利用する。 # gem search --remote mysql *** REMOTE GEMS *** Bulk updating Gem source index for: http://gems.rubyforge.org/ activerecord-jdbcmysql-adapter (0.8.2, 0.8.1, 0.8, 0.7.2, 0.7.1, 0.7, 0.6) dbd-mysql (0.4.2, 0.4.1, 0.4.0,…

Ruby で MySQL に接続をするには

MySQL に接続するには、下記のライブラリのどちらかが必要になる。 MySQL/Ruby C言語で書かれているので高速。ただし、コンパイル作業が必要。 Ruby/MySQL Ruby で記述されている。コンパイル作業は不要だが、低速。 ただし、両ライブラリを利用して記述した…

全角ハイフンを含む文字列の文字コードを UTF-8 に変換すると文字化けする

Unicode には似た記号が多い おそらく原因は、Unicode に記号が多いため、全角ハイフンなのか全角のマイナス記号なのか区別がついていないからではないかと思われる。 Jcode Respect UTF-8 の全角ハイフンが Perl の正規表現にマッチしなくて悩んだ Unicode …

Ruby の日本語の取り扱い

備忘録として。 FAQ::日本語の取り扱い - Rubyリファレンスマニュアル オプション-K と $KCODE の違いはなんですか? ひらがなをソートするにはどうしますか いわゆる全角文字と半角文字の変換を行うにはどうするのがよいですか? いわゆる半角カナの扱い

warning: parenthesize argument(s) for future version

ちょいと検索しても同様の話題が見当たらなかったので聞いちゃいます。 warning: parenthesize argument(s) for future version というワーニングメッセージが 1.7 で出ることがありますが、意 図がよくわかりません。「将来のバージョンのために括弧をつき…