読者です 読者をやめる 読者になる 読者になる

一分一秒真剣勝負!

Ruby, Railsなど。Web系の技術ネタを充実させたい・・が、そうなるかは分からない。

ruby

大江戸Ruby会議05に行ってきた

大江戸Ruby会議05に行ってきました。 午前中はRubyのI/Oの話(実装の話です)から始まって、CとかGoのソースコードばかり出てくるLTが続いたので非常にasakura.rbぽいなーと思いつつ聞いてました。 午後もやっぱり濃い内容だったけど、TwitterのTLでは江渡浩一…

Ginza.rb 第8回 Gemfileみせっこ!みんなどんなの使ってます?に先月行ってきた

2月に参加したGinza.rb第8回目についてのエントリー。 書いたのはいいけど、POSTし忘れてました。 というわけでGinza.rbで紹介したgemと紹介し切れなかったgemをまとめました。 全部ではないですが、これってものをピックアップしてます。 Ginza.rbで紹介し…

HerokuでBambooStackからCedarStackに移行する

Herokuでずっと更新していないアプリをruby2.0に上げようとしたのだが、Gemfileに「ruby "2.0"」と書いてもpushするとbundle installでエラーが出る。調べてみると過去にHeorkuで作ったアプリはBambooStack上で動いていて、使用出来るRubyのバージョンが古い…

RSpecでshouldからexpectへ移行する時に困ったこと

RSpecのExpectationsでshouldが非推奨となり、expectが推奨になったわけですが、expectで書くかと思った時に困ることがあった。例えば、 subject { User.new } its(:login_id) { should be_nil } のようなコードを書きたくてもshouldが無いと書けないのでは…

RSenseが素晴らしい

RSense - The most useful development tools for Rubyこれを見てRSenseを導入したんだけど、凄くいい。ただ、ファイルをDLしたりシェルと.vimrcに設定を書いたりが面倒。せめてvimのプラグインの中にRSenseのパッケージも入れてくれたら環境構築が楽になる…

fatal: Could not parse object <Capistrano>

Gitサーバの参照先を変えたらCapistranoでエラー。 ** [server_name :: out] Warning: Permanently added 'ip address' (RSA) to the list of known hosts. 実行ログを見ると旧サーバのIPを参照しているようだ。 色々とググったら以下のサイトを見て解決。 h…

全ユーザーで共通のrbenv+ruby-buildを使用する環境を構築する

複数人が利用する開発環境のサーバにRubyを入れる場合、rbenvを使ってバージョン管理する時のまとめ。環境はCentOSですが、Debian系でも同じですね。 rbenv, ruby-build インストール rbenv, ruby-build を /usr/local にインストールします。 $ cd /usr/loc…

rvmからrbenvへ移行

実装がコロコロ変わったりしてupdateしたら動かなくなったりするとか叩かれているrvmですが、実際僕も同じ現象に遭遇した事があり、rubyのバージョン管理をrbenvに移行することにしました。37signalsの中の人が作っているので、まあ普及するかなと。OSはLion…

Factory Girlの新しいシンタックスが素敵

キタコレ。 旧シンタックスがこれ。なんだか残念な感じですね。 Factory.sequence :email do |n| "email#{n}@example.com" end Factory.define :user do |factory| factory.name { "Ron Burgundy" } factory.email { Factory.next(:email) } end Factory.def…

RVMを入れている環境で、openssl等を入れ忘れて再コンパイルするならこれがお薦め

opensslやreadlineをインストールし忘れた場合、extconf.rbを叩いてから再コンパイルしたりしますよね。こんな風に。 $ cd ~/.rvm/src/ruby-1.9.2-p136/ext/openssl $ ruby extconf.rb $ make $ make install 上記はMacですが、Ubuntuの環境で同じことをした…

ruby1.8系とruby1.9系を共存させるライブラリRVM

そろそろruby1.9系に乗り換えますかと思い立ち、MacBookに環境を構築することにしました。macportsで管理したいので1.9.2をインストールしたのですが、ruby1.9.2をmacportsでインストールすると/opt/local/binにruby1.9というファイル名でインストールされて…

rubygemsをアンインストールしようとしたら(Gem::InstallError)とか出てアンインストールできない

まっさらなHDDにSnowLeopardをインストールして、gems listでgemsを見てみたら何故か色々なgemsがインストール済みだったのでアンインストールしようと思い、とりあえずrailsを消してみようとコマンドを入力すると・・・ $ sudo gem uninstall rails ERROR: …

Rubyのラーメン"Ruby on 松江ラーメン"

ええええ! 松江市の食品会社である中隆(なかたか)は2010年5月12日、パッケージにプログラミング言語Rubyのロゴを配した「Ruby on 松江ラーメン・キュービックシリーズ」を発売した。売り上げの一部をRubyアソシエーションに寄付し、Rubyの普及を支援する…

マイペースにGoogle急上昇ワードを取得してもらった!

RubyでGoogle急上昇ワードを取得するに書いてあるスクリプトをいじってみた。REXMLに詳しいかはわからないけど、XPath大好きなので、XPathを使って書き直した。 わーい、コード書いてもらったよ!社会ネタを書くと詳しい人が色々教えてくれたことはあるけど…

RubyでGoogle急上昇ワードを取得する

Google急上昇ワードとか今更感がしますが、Rubyで取得するコードを書いてみました。 #!/usr/bin/env ruby require 'rexml/document' require 'net/http' url = 'www.google.co.jp' ret = Net::HTTP.start(url, 80) { |http| http.get('/m/services/trends/ge…

Rubygemsをアンインストールできない。

gem uninstall ruby-aaws でエラーが発生。見つからないようだけど、gem listでは表示される・・・なんだこれ?と思いちょっとぐぐったら以下のエントリーを発見。 インストール時のPathが違っていた。homeディレクトリ下の.gemに入ってしまっていた。gemが…

SinatraをさくらインターネットでCGIスクリプトとして動かす

ちょっと出遅れ感がするけど、Sinatraいい! http://www.sinatrarb.com/:image:large require 'rubygems' require 'sinatra' get '/' do "Hello World!" end トップページのこのコードを見て触りたくなった!軽量フレームワークと言うだけあって、シンプル過…

marshal data too short

Railsで作成中のサイトの話。動作確認のためにPOSTしたら「marshal data too short」というエラーが発生。ぐぐってもtDiaryのエラーばかり出てきて暫く悩んでいたのですが、sessionにでかすぎるデータを入れていたのが原因でした。設計上そうなっていたので…

Rubyを学ぶ為に、僕が読んだ4冊

プログラミングRuby 第2版 言語編 プログラミングRuby 第2版 言語編作者: Dave Thomas,Chad Fowler,Andy Hunt,田和勝,まつもとゆきひろ出版社/メーカー: オーム社発売日: 2006/08/26メディア: 大型本購入: 6人 クリック: 254回この商品を含むブログ (156件) …

MacOSXでrakeをアップデートする

redmineを1.8.0から1.8.1にアップデートする時にdb:migrate時に以下のようなエラーが出た。 $ rake db:migrate RAILS_ENV="production" (in /Users/username/Rails/redmine-0.8.1) rake aborted! wrong number of arguments (3 for 1) /Users/username/Rails…

データベースからフィクスチャを作成するRailsプラグイン

rakeにfixtureからDBにデータをロードするタスクがあるのに、その逆が標準で無いってどうよ。ar_fixturesプラグインはそれを可能にしてくれる。まずはインストール。 $ script/plugin install http://topfunky.net/svn/plugins/ar_fixtures 使い方は以下のよ…

UTF-8環境でのrefeの文字化けを修正

UTF-8環境ではrefeの実行結果が文字化けしてしまう。これを改善する為にはrefeのソースを編集する必要がある。/usr/lib/ruby/gems/1.8/gems/refe-0.8.0.3/lib/refe/searcher.rbのadjust_encodingメソッドを以下のように修正。 def adjust_encoding( str ) NK…

CentOS5.2にRuby最新版とRailsをインストール

前提条件 yumとCheckinstallを使用して、railsの環境を作ります。最新版のRubyがパッケージで取得できない場合を想定しています。 事前準備 まずはRubyのインストール・・・の前に、opensslとopenssl-develをインストールします。既にインストール済みの場合…

いまだにRubyで未発見なことを見つけれられる、そういったことは非常に大事です。

そう言ったのはDaveThomasだけど、Geekな人って意外と基本的なことを知らなかったりするよね。 正規表現のメソッドだと思われがちなString#gsubやString#split、実はパターンに文字列を指定することができる。この場合は正規表現として解釈されるのではなく…

WWW::Mechanizeがメモリを食いまくる件について

Rubyで某通販サイトの商品在庫数をファイルにリスト出力するスクリプトを書いたら、なんとクロールが終了し終わった頃にはメモリを400Mも消費していた。pageオブジェクトをループするごとにクリアするとか、何かやらないと駄目なのか?とずっと悩んでいたと…

はてなダイアリーキーワードの「Ruby」はかなり充実している

多言語経験者なら本とかいらないかも。 http://d.hatena.ne.jp/keyword/Ruby

Ruby 1.9のメソッドたちをRuby1.8.xに入れて欲しくない訳

なんかトラックバックがきた。 id:yatmsuさんははてブコメントで「正直、1.8.xには入れて欲しく無かったかなあ。個人的には。」と言っているが、理由を知りたい。数年以内に訪れるであろうRuby 1.9時代に備えての移行措置としてはRuby 1.8.7がいいタイミング…

実践 Ruby on Rails Webプログラミング入門―無駄なく迅速な開発環境

実践 Ruby on Rails Webプログラミング入門―無駄なく迅速な開発環境posted with amazlet on 08.02.09伊尾木 将之 長瀬 嘉秀 倉貫 義人 松本 哲也 ソーテック社 (2006/09)売り上げランキング: 258478Amazon.co.jp で詳細を見る 今年からRoRな仕事をしている。…

プログラミングRuby 第2版 発売決定!

うおおおお!「プログラミングRuby」の第2版が8月28日に発売決定してました!危なく第1版の方をプレ値で買うところだった・・。作者は「達人プログラマー」で有名なDavid Thomas氏で、彼が書いたプログラミングRubyはかなり評価が高く、欲しかったのです。これは…

プログラミングRuby―達人プログラマーガイド

プログラミングRuby―達人プログラマーガイドposted with amazlet on 06.07.26デビット トーマス アンドリュー ハント David Thomas Andrew Hunt 田和 勝 まつもと ゆきひろ ピアソンエデュケーション (2001/09)売り上げランキング: 10,039Amazon.co.jp で詳…