いろいろなプロジェクトで使っている Ruby のバージョンが異なっていると、いちいちインストールしなおしたりしなければならず非常に煩雑です。 rbenv を使うと、複数の Ruby をインストールして、またそれらをすぐに切り替えることができます。 簡単にインストールできるので、ぜひやりましょう。 まずアップデート
![Ubuntu14.04 に rbenv をインストールして Ruby のバージョン管理 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/d8b223fd676235bf3a826a7110c0cbad0bea32f1/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9VWJ1bnR1MTQuMDQlMjAlRTMlODElQUIlMjByYmVudiUyMCVFMyU4MiU5MiVFMyU4MiVBNCVFMyU4MyVCMyVFMyU4MiVCOSVFMyU4MyU4OCVFMyU4MyVCQyVFMyU4MyVBQiVFMyU4MSU5NyVFMyU4MSVBNiUyMFJ1YnklMjAlRTMlODElQUUlRTMlODMlOTAlRTMlODMlQkMlRTMlODIlQjglRTMlODMlQTclRTMlODMlQjMlRTclQUUlQTElRTclOTAlODYmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTFkNWVmOGI4MjI3ZTg4NGM3ODg4MjQ0MmJmYmM3Y2Ix%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwa2F6b28wNCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YTEzMTg5MTIzODFlY2NhYWQyYTgwZjcxZGNkODQxMzk%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D31db78f8b63e31919b5e5fc597665315)
クラスの継承リスト: SecureRandom 要約 安全な乱数発生器のためのインターフェースを提供するモジュールです。 HTTP のセッションキーなどに適しています。 以下の乱数発生器をサポートしています。 openssl /dev/urandom 上の安全な乱数発生器が使用できない場合、各メソッドは NotImplementedError を発生します。 # random hexadecimal string. p SecureRandom.hex(10) #=> "52750b30ffbc7de3b362" p SecureRandom.hex(10) #=> "92b15d6c8dc4beb5f559" p SecureRandom.hex(11) #=> "6aca1b5c58e4863e6b81b8" p SecureRandom.hex(12) #=> "94b2fff3e7
$ gem update --system Updating rubygems-update Fetching: rubygems-update-2.6.8.gem (100%) Successfully installed rubygems-update-2.6.8 Parsing documentation for rubygems-update-2.6.8 Installing ri documentation for rubygems-update-2.6.8 Installing darkfish documentation for rubygems-update-2.6.8 Done installing documentation for rubygems-update after 33 seconds Parsing documentation for rubygems-u
新しくAmazonLinuxでインスタンス作って、twitterのbotをつくろうと思ってインストール。 yum update -y yum install -y ruby ruby-devel ruby-lib rubygems yum groupinstall -y "development tools" gem install twitter gem install system_timerそれぞれのバージョンなどは下記ののような感じ。 [root@myhost ~]# ruby -v ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux] [root@myhost ~]# gem -v 1.8.25 [root@myhost ~]# gem list *** LOCAL GEMS *** addressable (2.3.5) a
■ [ruby] open-uriでUTF-8でないページを取得するときの注意 Ruby標準添付のopen-uriライブラリを使うと、HTMLを簡単に取得することができる。 irb> require 'open-uri' irb> url = "http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/43008" irb> html = open(url).read このとき、文字コードがUTF-8でないことが分かっているなら、第二引数でエンコーディング名を指定しておいた方が良いだろう。(あ、ここからはRuby 1.9の話です。) irb> html = open(url, "r:euc-jp").read 読んだあとは、String#encodeでUTF-8に変換することができる。 irb> html = open(url,
Ruby Twitter Gemでとりあえずログインしてツイートを取ってくるところまで解説します。 インストール $ gem install twitter -v 5.16.0 (環境によっては sudo gem 〜) 以下の解説はtwitter gem 5.16.0で確認していますが、もっと新しいバージョンでも動くかもしれません。 リンク 公式サイト:http://sferik.github.io/twitter/ github:https://github.com/sferik/twitter リファレンス:http://www.rubydoc.info/gems/twitter/5.16.0 例 require 'twitter' client = Twitter::REST::Client.new do |config| config.consumer_key = "(1)" co
receipt ��' hU p hU ewoJInNpZ25hdHVyZSIgPSAiQXBNVUJDODZBbHpOaWtWNVl0clpBTWlKUWJLOEVk ZVhrNjNrV0JBWHpsQzhkWEd1anE0N1puSVlLb0ZFMW9OL0ZTOGNYbEZmcDlZWHQ5 aU1CZEwyNTBsUlJtaU5HYnloaXRyeVlWQVFvcmkzMlc5YVIwVDhML2FZVkJkZlcr T3kvUXlQWkVtb05LeGhudDJXTlNVRG9VaFo4Wis0cFA3MHBlNWtVUWxiZElWaEFB QURWekNDQTFNd2dnSTdvQU1DQVFJQ0NHVVVrVTNaV0FTMU1BMEdDU3FHU0liM0RR RUJCUVVBTUg4eEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUtEQ
仕事で、Webサイトを自動巡回するプログラムを書くことがあり、rubyでのhttp通信やスクレイピングについて調べました。そのイロハをメモっておきます。 ruby Ruby 1.9.3を使います。 C:\WINDOWS\system32>ruby --version ruby 1.9.3p194 (2012-04-20) [i386-mingw32] Net::HTTPとURIライブラリ http通信には、標準ライブラリのNet::HTTPを使います。このライブラリのインターフェイスは盛り沢山で、GETやPOSTリクエストを送る方法が何通りもあります。 クラスメソッドのget クラスメソッドのget_response クラスメソッドのpost_form インスタンスメソッドのget インスタンスメソッドのpost インスタンスメソッドのrequest インスタンスメソッドのrequest_
要約 汎用データ転送プロトコル HTTP を扱うライブラリです。 実装は [RFC2616] に基きます。 使用例 ウェブサーバからドキュメントを得る (GET) 例1: GET して 表示するだけ require 'net/http' Net::HTTP.get_print 'www.example.com', '/index.html' 例2: URI を使う require 'net/http' require 'uri' Net::HTTP.get_print URI.parse('http://www.example.com/index.html') 例3: より汎用的な例 require 'net/http' require 'uri' url = URI.parse('http://www.example.com/index.html') res = Net::HTTP.st
net/httpを使用して、シンプルなPOSTからファイルのアップロードまで試してみました。 まずはシンプルなパターン。 require "net/http" require "uri" uri = URI.parse("http://www.mysample.com/index.php") Net::HTTP.start(uri.host, uri.port){|http| #ヘッダー部 header = { "user-agent" => "Ruby/#{RUBY_VERSION} MyHttpClient" } #ボディ部 body = "id=1&name=name" #送信 response = http.post(uri.path, body, header) } 次に、HTTPRequestのサブクラスであるNet::HTTP::Postを使用したパターン。 require
ImageMagick(語尾のkを忘れて検索したら、間違っていると気づかせない程度に結果が出てきて悩んだ)を入れて、文字の画像化をしてみる。 「あ」 ここに表示している「あ」という文字は画像ではなくテキストであり、文字コードの何番目とかでしかない。プログラムはそれをコードとしては捉えられるけど、形として捉えてはいない。 だからプログラムは片仮名の「ヘ」と平仮名の「へ」を全く違うものとして捉える。けど、画像化して類似画像を検索すれば似たものとして捉えられる。うちの子にはそういう目線で文字を見て欲しい。親である私の希望である。 というわけで、受け取った文字列をその場で画像に変換して、その場で見て、何に近いか連想してもらうという実に意味のないことを考える。 とりあえず画像にするとこまで。Ruby経由なのでRMagick使用。 宗教的理由でprefixを指定しているけど、実際には特に必要ない。むし
正規表現(regular expression)は文字列のパターンを記述するための言語です。 また、この言語で記述されたパターンも正規表現と呼びます。 正規表現を用いると、文字列が指定したパターンを含んでいるかどうかを判定し、 また含んでいるならばそれが文字列中のどの場所であるかを知ることができます。 /pat/ %r{pat} などの正規表現リテラルや Regexp.new などで正規表現 オブジェクトを得ることができます。 メタ文字列とリテラル、メタ文字とエスケープ 正規表現の文法には、正規表現内で特別な働きをする文字列と、それ以外の その文字列そのものにマッチするような文字列があります。 前者をメタ文字列(meta string)、後者をリテラル(文字列)(literal string)と呼びます。 /京都|大阪|神戸/ という正規表現においては、「京都」「大阪」「神戸」がリテラルで
こんにちは、鈴木です。 Ruby の String クラスには、ljust, rjust, center というメソッドがあります。 ひょんなことなら、ljust などのメソッドを使う機会がありました(家計簿集計スクリプトを書いただけですが(^^;)。 ljust, rjust, center ljust, rjust, center は指定した文字数になるようにパディングするメソッドです。 言葉で説明するよりも実行例を見ていただいた方が分かりやすいかと思いますので、以下のコードを見てください。 '123'.ljust(10, '*') '123456'.ljust(10, '*') '123456789'.ljust(10, '*')
Rubyの正規表現で入力値が全角のみ、半角のみのチェックを行う方法について。valueに値が入っている場合以下の条件になる。 # 全角を求めるには半角の条件を逆にすれば良い。 # to_sしないとstringではないというエラーになる。 ■半角のみ unless value.to_s =~/^[ -~。-゚]*$/ エラー処理 end ■全角のみ unless value.to_s =~/^[^ -~。-゚]*$/ エラー処理 end] #08.06.27 単純にunless value.to_s =~正規表現だと意味が通らないのでendまで記述を変更。
2パターンあり、cgiクラスかuriクラスを用います。 【cgi】 CGI.escape(string) stringをURLエンコードして返す。 エンコード対象となるのは、英数字, '_', '.', '-' 以外の文字です。また、スペースは '+' に変換されます。 require "cgi" p CGI.escape('@##') #=> "%40%23%23" p CGI.escape('abcxyzABCXYZ059_.- ') #=> "abcxyzABCXYZ059_.-+" CGI.unescape(string) stringをURLデコードして返す。 require "cgi" p CGI.unescape('%40%23%23') #=> "@##" 【uri】 URI.escape(str[, unsafe]) URI.encode(str[, unsafe]) U
一発でテキストファイルを読む方法 † 1.9.2でFile.read(IO.read)を使う場合、 s = File.read("hoge.txt", :encoding => Encoding::UTF_8) ruby 1.9では読み込むテキストの文字コード(:encoding)をなるべく明示することに注意。文字コードが異なる場合は、encodeでそのまま変換するのがいいと思います。 ※ File.readの:encodingを指定しないと、encodeで文字化けすることになるかと思います s = File.read("hoge.txt", :encoding => Encoding::EUC_JP).encode(Encoding::UTF_8) ファイルパスの扱い(相対パスの展開など)を考えると、Pathname#readを使うのも便利です。 require 'pathname' s
Rails のインストールで file ‘lib’ not found と怒られたら 答: –no-ri –no-rdoc すればいい。 % gem install rails Fetching: rails-3.1.0.gem (100%) Successfully installed rails-3.1.0 1 gem installed Installing RDoc documentation for rails-3.1.0... file 'lib' not found % gem install rails --no-ri --no-rdoc Fetching: rails-3.1.0.gem (100%) Successfully installed rails-3.1.0 1 gem installed おしまい
AWS (2) EC2 (2) gimp (2) ubuntu (2) ubuntu11.10 (2) Basic Amazon Linux (1) Blogger (1) Rails (1) WordPress (1) gimp-painter- (1) intuous (1) jQuery (1) nave (1) node.js (1) redmine (1) textile (1) wacom (1) wiki (1) 管理者権限で色々インストール $ sudo su # yum install httpd curl mysqlclient-dev mysql-server nodejs # exit RVMをインストール 公式を参考に。 $ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/mas
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く