Ruby

RubyKaigi2011 2日目参加してきた

今日も一日大ホール。少し遅れて最初のセッションの途中から参加 安全なプログラムの作り方 / 西山和広氏 脆弱性があってもパーミッションによって被害を抑えられる 正規表現の^ $と\A \z(\Z)を使い分ける ^ : 行頭 $ : 行末 \A : 文字列の先頭 \z : 文字列…

RubyKaigi2011 1日目参加してきた

今日は1日大ホールにいて闇Rubykaigi最後までみて帰宅 メモを少しまとめてつらつらと 開会の辞 / 高橋征義氏 最高のRuby会議になるように プログラムについて / 笹田耕一氏 これまでのRuby会議の振り返り 今回応募倍率は1.6倍!! Ruby会議はRuby本体に関する…

RSpecでテストするときにfactory_girlを使う

fixturesが担っていたテストデータのところにfactory_girlを使うイメージ? 複数テーブルにまたがるデータを定義するときにfixturesより格段にやりやすいみたい。 その利点はまだ実感できてないけどとりあえず使い方 環境 Rails3,bundle全盛だけどRails2の話…

RSpecのSubjectについて

subjectを使うとsubjectの値がitのレシーバになる為、共通のレシーバについてテストを書くときに便利 # -*- config: utf-8 -*- require 'rspec' describe 'homu' do before do @homu = "hoge" end subject { @homu } it { should == "hoge" } it { should be…

Ruby1.9.2からはrequireの$LOAD_PATHにカレントディレクトリが含まれない

覚えていると全く問題ないんだけどど忘れすると混乱するのでメモ とりあえず明示的にカレントディレクトリのを読むようにした # -*- coding: utf-8 -*- require './hoge'

RubyKaigi2011に参加します

いまさらながらにチケット買ってみた

RVMでrvmrcを使うと便利

RVMを使っていてプロジェクトごとにRubyやGemsetを頻繁に切り替えるような場合は便利 cdでRAILS_ROOTに移動したとき指定したバージョンに自動的に切り替えてくれるRAILS_ROOTに.rvmrcってファイルを作って、使いたいバージョンを書いとく # example rvm 1.9.…

Mac OSX10.6のRVM上でSQLite3に接続できない

RVMでGemset切って必要なGem入れてまでを一気にやったらなんかSQLite3に接続できない? # Error on Mac OS X 10.6.6 RVM@ruby-1.9.2-p0 /Users/arcright/.rvm/gems/ruby-1.9.2-p0@hoge/gems/sqlite3-1.3.3/lib/sqlite3/sqlite3_native.bundle: [BUG] Segment…

メタプログラミングRuby読みます!

買ったのにかばんの中にいれっぱなしで忘れていたのでこれから読むメタプログラミングRuby作者:Paolo PerrottaKADOKAWA/アスキー・メディアワークスAmazon

Rubyで正規表現を使う

"aaa,bbb,ccc" =~/(.*),(.*),(.*)/ # MatchDataオブジェクトが$~で取れる $~ => #<MatchData "aaa,bbb,ccc" 1:"aaa" 2:"bbb" 3:"ccc"> $& =>"aaa,bbb,ccc" # $&も含めたArrayを返す $~.to_a => ["aaa,bbb,ccc", "aaa", "bbb", "ccc"] # $&抜きのArray $~.captures => ["aaa", "bbb", "ccc"] # なんか個別にとっ</matchdata>…

CentOSにRVMでRuby1.9.2を入れようとしたらエラーになった

Ruby1.9.2がリリースされたので早速入れてみようと思いCentOSのRVMでインストールしてみるとエラーが。 $ rvm install ruby-1.9.2-head info: Installing Ruby from source to: /home/arcright/.rvm/rubies/ruby-1.9.2-head info: Downloading source from h…

RVMのGemsetを使って複数のGemを管理する

RVMのGemsetを使うと同じRubyのバージョンに対していくつものGemを管理できる。 使い方 # gemset作成 rvm gemset create hoge # 使用する rvm gemset use hoge # 一覧 rvm gemset list hoge fuga # 現在使ってるもの rvm gemset name hoge # こんな感じでも…

誰でもできるTwitterBotの作り方購入しました

プログラミング言語に触ったことがなくてTwitterBotに興味もった人にはいいかもしれない誰でもできるTwitter Botの作り方―人気キャラにつぶやかせるイーグルパブリシングAmazon

VALUEDOMAINのDDSN用スクリプト

ちゃんと動いてると思う。もっと綺麗に書きたいよなー ※1日回してみたけどまともに動いてなかった直さないと(グローバルIP取得ができなかったときの考慮が抜けてた。) ルータからグローバルIPを取得しようとしている途中 #!/usr/bin/env ruby require 'net/h…

Rakeにタスクを追加する

Railsの場合だけどRAILS_ROOT/lib/tasksに*.rakeファイルつくると追加できる # hogehoge.rake desc "setumei" task :task_no_namae do puts "syori" end # rakeタスク一覧 rake -T # 実行 rake task_no_namae

RubytterとOAuthでtwitterに投稿

アクセストークンの取得まではほぼ下記サイトと同じです。ありがとうございます TwitterのbotをOAuthに対応させる - しばそんノート Rubytterでポストする時はOAuthRubytterを利用すればoauthを使ってポストできる #!/usr/bin/env ruby require 'rubygems' r…

RVMで複数バージョンのRubyを使う

# githubから入れた方がいいのかもしれない sudo gem install rvm # install rvm-install # shellの設定ファイルに書く(bashrcとかzshrcとか) [[ -s $HOME/.rvm/scripts/rvm ]] && source $HOME/.rvm/scripts/rvmrvmコマンドでいろいろできるようになってる …

Macのirbで日本語入力ができないのでreadlineを入れなおす

MacにRubyが標準搭載されているがreadlineのせいでirbで日本語入力できないので入れなおした。 readline sudo port install readline Ruby configure時にreadlineのパスを指定 ./configure --with-readline-dir=/opt/local

irb,script/consoleでシンタックスハイライトと補完を行う

wirbleというものを使うとirbやconsoleで補完やシンタックスハイライトができるそう。 sudo gem install wirble ~/.irbrc require 'rubygems' require 'wirble' Wirble.init Wirble.colorize irbを使ってみると色がついてるし補完も聞くようになってる >> [1…

TemplateError in exception_notifier/_environment.rhtml

今日少し詰まったところ。actionmailerで例外が発生したときにこんなエラー出たら恐らくこれ。Ruby 1.8.6のpatchlevel ActionView::TemplateError (flag after width) on line #3 of /vendor/plugins/exception_notification/views/exception_notifier/_envi…

Ubuntu9.10にRailsのインストールをする

以前の9.04の環境構築の改訂版なので多少はマシになっているハズ とりあえずブラウザでlocalhost:3000がみれるまでとしているdbとかはスルー 過去の記事:Ubuntu 9.04にRuby on Railsインストール - WapBox インストールする環境 Ubuntu 9.10 VirtualBox上で…

配列の要素を変数に代入する

a,b,c,*d = [1,2,3,4,5,6,7] a #=> 1 b #=> 2 c #=> 3 d #=> [4,5,6,7]

Hamlでブロックの引数を書くとき

erbだと|との間にスペースがあいている物をみることがあるけどhamlだとエラーになる -# 間違い - @hoge.each | h | = h.name -# 正しい - @hoge.each |h| = h.name該当の行のエラー syntax error, unexpected ';', expecting '|'

SinatraでRailsっぽいhtml_escape

helperに追加してあげればいい helpers do include Rack::Utils alias_method :h, :escape_html end 参考サイト http://www.sinatrarb.com/faq.html#escape_html

プログラミング言語 Ruby読了

プログラミング言語 Ruby作者:まつもと ゆきひろ,David FlanaganオライリージャパンAmazonプログラミング言語 Ruby(ハチドリ本)を読了 まず、奥が深い。自分がいかに表面上しか触っていないかがわかる 1章:イントロダクション 2章:Rubyプログラムの構造と…

WikipediaのURLを返すSkypebot

ひとまず作ってみたけどあまりよろしくないいろいろな意味で require 'rubygems' require 'skypeapi' require 'uri' SkypeAPI.init SkypeAPI.attachWait def Chatless(chatmessage) active_chat = SkypeAPI.searchActiveChats #w:ではじめるとwikipediaのURL…

Ruby4SkypeでSkypeAPIを使ってみる

WindowsのみだがRuby4Skypeというものがあったので使ってみる ドキュメント http://rubyforge.org/docman/view.php/4599/3509/doc.html http://rubyforge.org/docman/view.php/4599/3510/ref.html インストール gem install Ruby4Skypeswin.so依存とのことだ…

Ruby - 文字列をシンボルに変換する

"string".to_sym => :string やってはいけない例 ":string".to_sym => :":string"

Windowsだとrakで色がつかない

win32consoleパッケージをインストールすればいいみたい >gem install win32console Need to update 11 gems from http://gems.rubyforge.org ........... complete Select which gem to install for your platform (i386-mswin32) 1. win32console 1.2.0 (x…

Ubuntu 9.04にRuby on Railsインストール

Windows機にパーティションを切ってUbuntuをデュアルブートでインストールするとこから Ubuntu 9.04 Ubuntu Desktop 日本語 Remix CDのダウンロード | Ubuntu Japanese Team からisoファイルをダウンロード isoファイルをCD-Rに書き込む BIOS設定でCDドライ…