2009-01-01から1年間の記事一覧

ruby-growlが動かず

jugyoさんのgを試してみたんですが Growlで開発の効率をUP! >> require 'g' => true >> g "hello" Errno::ECONNREFUSED: Connection refused - send(2) from /opt/local/lib/ruby/gems/1.8/gems/ruby-growl-1.0.1/lib/ruby-growl.rb:187:in `send' from /opt…

RPCFN: Short Circuit (#3)の結果がサッパリだったのでやり直した

ぜんぜんダメだったw ダイクストラ法のことがぜんぜん理解できてなかったwwwイカンなー Aldric Giacomoniさんのコードを参考にしてやり直した。ほぼパクリであるとも言う。。 コード class ShortCircuit INFINITY = 1.0/0 def initialize(circuit, source, d…

githubからインストールしたgemをgemcutterへ移行する off_github

というツールをみつけました http://github.com/maxim/off_github 便利やなかろうか

MacにAndroid開発環境つくってみた

とりあえずつくっただけ エミュレーターの起動の遅さは凄い

RPCFN: Short Circuit (#3)やってみた

チャレンジしました AからGまでの最短経路を探した上で、不要な経路を出力するというものです RPCFN: Short Circuit (#3) ダイクストラ法を参考にしました。正面衝突ブチ当たり ダイクストラ法(最短経路問題) コード paths = [ {:from => "A", :to => "B",…

はてな touch 1.2.2でブックマークができるように対応された

はてな側の仕様変更でブックマークができなくなっていたけど、対応版がリリースされてました 作者様ありがとう。

jrubyが入ってたわ

java.util.Calendarの動作を確認したかったけど、めんどくさいなと思ってたけど、jrubyが入ってたわ # jirb irb(main):001:0> require 'java' => false irb(main):002:0> import 'java.util.Calendar' => ["java.util.Calendar"] irb(main):003:0> c = Calen…

REXMLでXMLをパース

REXMLでできるパースの種類は4種類あるようです tree parsing API・・・DOMのようなもの stream parsing API・・・SAXのようなもの。SAXより速いらしい SAX2-based API・・・SAX2ベースドエーピーアイ Pull parsing API・・・Java SE 6で入ったStAXと似てい…

続・MacRubyインストール

ここを参考にまたやってみたけど・・ Getting Started with MacRuby またrakeでうまくいかなかったー bridgesupport.cpp: In member function ‘llvm::Function* RoxorCompiler::compile_bs_struct_writer(rb_vm_bs_boxed_t*, int)’: bridgesupport.cpp:143: …

RPCFN: Average Arrival Time For A Flight (#2)の見直し

RPCFN: Average Arrival Time For A Flight (#2)12:00pmの扱いがバグってたのを修正 amとpmが混在したときの扱いがバグってたのを修正 Time.atで時刻を出すようにした MIN = 60 HOUR = MIN*60 def average_time_of_day(args) times = [] r = /(\d+?):(\d+?)(…

RPCFN: Average Arrival Time For A Flight (#2)

ベタ書きしてしまいました。テストありません。例外処理してません。すいません。 MIN = 60 HOUR = MIN*60 def average_time_of_day(args) times = [] r = /(\d+?):(\d+?)(am|pm)/ args.each do |e| times << r.match(e).to_a[1..-1] end mixed = !(times.al…

Hash#invert

# irb >> h = {:banana => 100, :tomato => 120, :apple => 200} => {:apple=>200, :banana=>100, :tomato=>120} >> h.invert => {100=>:banana, 200=>:apple, 120=>:tomato}

任意の文字列の正規表現をまとめてつくる

a = %w(banana orange apple) #=> ["banana", "orange", "apple"] r = Regexp.union(a.map{|e| /\A#{Regexp.escape(e)}\z/}) #=> /(?-mix:\Abanana\z)|(?-mix:\Aorange\z)|(?-mix:\Aapple\z)/ "apple" =~ r #=> 0 "bananana" =~ r #=> nil

バイナリ→Base64エンコーディング→バイナリ

f = File.open("Firefoxでもっと便利に使おう - はてな.png") #バイナリ→Base64エンコーディング base64_text = [f.read].pack('m') File.open("fuga.png", "wb") do |f| #Base64エンコーディング→バイナリ f.write(base64_text.unpack('m')[0]) end

MacPortsで1.8.7を入れる

# sudo port -d selfupdate # sudo port -d sync # sudo port install ruby @1.8.7-p174 # ruby -v ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin9]

MacRubyインストール失敗

llvmインストール # sudo port install llvm ソースコード取得 # git clone git://git.macruby.org/macruby/MacRuby.git rake実行 # rake rakeで失敗 bridgesupport.cpp:1299: error: ‘Create’ is not a member of ‘llvm::ReturnInst’ bridgesupport.cpp:129…

ActiveRecordをちゃんとcloneできるようにするパッチ

があることをたまたま見つけました。 Instantiate through initialize_copy when cloning ActiveRecord object cloning これはこのあとどうなるんだろう・・ActiveRecord::Base#cloneは本当はcloneではなかったらしい

ActiveRecord::Base#table_exists?

>> Article.table_exists? => true >> class Comment < ActiveRecord::Base >> end => nil >> Comment.table_exists? => false

FuzzyFinder 3.2をVim 7.1で使う

vim

前から気になっていたFuzzyFinderを導入しました。しかし動きません。コマンドが出てきません。どうもVim 7.2以上でないと動作しないようです。自分の環境は7.1なので・・ :echo v:version701 無理矢理書き換えても動くみたいなのでマネしました Ubuntuのvim…

ActiveRecord::Base#cloneは本当はcloneではなかったらしい

freezeはコピーされない Object#clone >> class A >> end => nil >> a = A.new => #<A:0x2480948> >> a.taint => #<A:0x2480948> >> a.freeze => #<A:0x2480948> >> a.tainted? => true >> a.frozen? => true >> b = a.clone => #<A:0x244d55c> >> b.tainted? => true >> b.frozen? => true ActiveRecord::Base#cl</a:0x244d55c></a:0x2480948></a:0x2480948></a:0x2480948>…

Edge Rails環境をつくる

このあたりに感化されてとりあえずEdge Railsを入れてみることに るびま 0027 号 巻頭言 Railsエコシステムの研究 とりあえずRailsプロジェクトをつくる # rails edge_rails venderディレクトリ以下にgithubからrailsのコードを落とす # cd edge_rails # cd …

文字列の中のダブルコーテーション

>> o = "hello \"world\"" => "hello \"world\"" >> puts o hello "world" => nil >> o = 'hello "world"' => "hello \"world\"" >> puts o hello "world" => nil >> o = %Q|hello "world"| => "hello \"world\"" >> puts o hello "world" => nil

MapReduceの"Hello World"は単語数数え上げ

The “Hello World” of MapReduce is to perform a distributed word count. http://wiki.github.com/documentcloud/cloud-crowd/writing-an-action:site workersを5つつくる # crowd workers start -n 5 Job実行 # ruby word_count_example.rb 結果 >> Net::…

CloudCrowd ― Parallel Processing for the Rest of Us

Rubyによる並列処理システム「CloudCrowd 0.1.0」リリース ファミコン的なロゴとかアーキテクチャの図とかゆるい感じです。 インストール # sudo gem install cloud-crowd Password: Building native extensions. This could take a while... Successfully i…

Joruri

Joruriとは、Japan Originated Ruby-based RESTful and Integrated CMS(日本から生み出され、ルビーをベースにし、REST規約に従った、統合されたCMS)という意味から名づけられ、更には、人形浄瑠璃の三人遣いのように、すばらしいホームページを裏で支える…

Ruby 標準化 IPA報告書

Rubyの標準規格は、ISOとIEC(国際電気標準会議)が共同で運営している「ISO/IEC JTC 1」の「SC22」にて審査の後、認定される予定。SC22では、今のところCOBOL、FORTRAN、C言語などの標準化ドキュメントのメンテナンスを実施している。標準化の作業は、Ruby…

はてなtouch ホッテントリなのに全部0users事件

だいぶ時間がたってるけど、はてなtouchでホットエントリーをブックマークしようとすると、エラーになるのはどうなったんだと思って調べたら意外と出てこなかった。 みんなはてなtouchは使ってないのかしら。http://q.hatena.ne.jp/1251807015原因はAPIの仕…

Class#inherited

>> class Class >> def inherited(subclass) >> puts "#{self}'s subclass:#{subclass} is defined" >> subclass.instance_variable_set('@klass_hensu', "KlassHensu") >> end >> end => nil >> class Hoge >> def self.hoge >> @klass_hensu >> end >> end…

なんちゃらlogicが気になる

#176 Searchlogic #170 OpenID with Authlogic #160 Authlogicbinarylogic

rvmを入れた

# rvm list ruby: - ruby-1.8.6-p383 - ruby-1.9.1-p243 jruby: - jruby-1.3.1 ree: - ruby-enterprise-1.8.6-20090610 system: - (ruby 1.8.6 (2007-09-24 patchlevel 111) [i686-darwin9.2.2]) rubiniusのインストールが失敗する・・ 複数のRubyを切り替え…