にたまごほうれん草アーカイブ

はてなダイアリーで書いてた「にたまごほうれん草」という日記のアーカイブです。現在は「にたまごほうれん草ブログ」を運営中です。

Ruby

#!/usr/bin/env ruby -w はなぜ失敗する?

CGI用のファイルでの話。これはperlでやっても同じでした。 #!/usr/bin/env ruby要するにオプションなしではうまくいくのですが-wを付けると失敗します。 Apacheのエラーログを見ると、 /usr/bin/env: perl -w: No such file or directoryこんなものが出力さ…

Fedora Core 6へのJavaのインストール

JRubyが使いたかったのだけどなんかよくわからないjavaが入っていたので。 Fedora Core 5にSun Javaをインストール - OSS EXPOとかhide-k.net#blog: Fedora Core 6にFlex2をインストールして遊ぶとかをを参照しながら。 あらかじめ、jdk-1_5_0_11-linux-i586…

Railsの文字コード設定

坊やがゆく - Railsでソーシャルブックマークを作ってみようか(第2回) http://d.hatena.ne.jp/PoohKid/20070220/p1 より、よく使用するので引用。 config/database.ymlを編集(データベースの文字コード) development: adapter: mysql database: bookmark…

コマンドラインからのパスワード入力機能をつける

ソーシャルブックマークに投稿するスクリプトの動作テストをするときに、 いくらテスト目的とは言え、コード内に直接パスワードを記述するのは嫌ですよね。 (特に近くに人がいる場合) そんなとき、パスワードだけ実行時に入力するようにすればその悩みもち…

というわけでpublish::delicious

昨日のdel.icio.usにPOSTするスクリプトをPRaggerのプラグインにしました。近いうちにちゃんとコメントもつけます。 エラー処理がなんかイマイチかも。 ## Publish::delicious - to post feed items to del.icio.us-- emergent ## ## - module: Publish::del…

WWW::Mechanizeを使ってdel.icio.usにPostするスクリプト

とりあえずテスト的な。これを使ってPRaggerのpublish::deliciousプラグインにでもまとめるかな。ポイントはBASIC認証を使っているところ。といっても調べたらあっさり分かりましたです。proxyとか書いているけど実際にプロクシ使っての動作確認はまだしてい…

はてなブックマークに投稿するプラグイン:publish::hatena_bookmark

Nowhere Near - はてなブックマークAtomAPI バインディング for Rubyのライブラリを用いて作成。 事前にgemをインストール。 # gem install hatenabmpublish/hatena_bookmark.rb ## author "emergent" ## description "post feeds to hatena bookmark" ## th…

コナン変換作った

かなりやっつけ作業ですが、日本語をコナン語に変換するCGIを思いつきで作りました。 http://nitamago.org/conan/ じっちゃんの名にかけて! が、 バーローバーローwバーローwバーローバーwwローwwバーローバーローwバーローwバーwローwwwバーw…

RMagickをちょっと触ってみる

川o・-・)<2nd life - RMagick の htmlhelp 作りました このヘルプの最初の章を参照しながら少しRMagickを体験してみる。 チャンネルの概念がいまいちよくわかっていない。channelメソッドで返される値はなんなんだろう? また明日も読んでみよう。

PRaggerでmixiに投稿するプラグイン

まだちゃんとテストも出来てないですが…。 ブログに書いた内容をmixiにも投稿したい場合に使うことを想定しています。 仕様は以下の通り。 RSSフィードの最初の一つを投稿する一個ずつ投稿する(たくさん連続投稿するとはじかれる) titleはYAMLで指定しない…

PRaggerを使ってみる

PlaggerのRubyクローンであるPRagger。面白そうなのでちょっと試してみました。 インストールは簡単。(要Subversion) svn co http://pragger.ikejisoft.com/svn/pragger/trunk/ praggerこれでYAMLファイルをサンプルの通りにでも作ってみればOK。 Plagger…

時間と日付の処理。システム時間を取得し、'DD-MON-YYYY', 'mm-dd-yyyy', 'dd/mm/yy'などに変換

こんなのでいいのかな…? now = Time.now puts now.strftime("%d-%B-%Y") puts now.strftime("%m-%d-%Y") puts now.strftime("%d/%m/%Y") 実行結果。 $ ruby ex09.rb 20-March-2007 03-20-2007 20/03/2007「新しい言語を覚えるため」だからその言語でのやり…

二種類の変数の値を入れ替える

a, b = 1, 2 print "a = #{a}, b = #{b}\n" a, b = b, a print "a = #{a}, b = #{b}\n" 出力結果 $ ruby ex02-change.rb a = 1, b = 2 a = 2, b = 1こりゃ楽ちん。

数字の中から最大値・最小値を探す

require 'pp' arr = Array.new 20.times { arr << rand(100) # 乱数の配列を生成 } pp arr puts 'max = ' + arr.max.to_s puts 'min = ' + arr.min.to_s 出力結果 $ ruby ex02-maxmin.rb [54, 44, 2, 64, 85, 69, 49, 87, 57, 63, 41, 85, 54, 64, 77, 82, 1…

フィボナッチ数列

def fib m,n,count if count > 1 return fib(m+n,m,count-1) else return n end end count = ARGV.shift.to_i if count && count > 0 (1..count).each {|i| print fib(1,1,i).to_s + ' ' } puts '' end 出力結果 $ ruby ex02-fib.rb 20 1 1 2 3 5 8 13 21 34…

配列の開始、中間、最後にアイテムを追加・削除する

require 'pp' arr = ['a', 'b', 'c', 'd'] e = 'e' pp arr.push(e) pp arr.insert((arr.size/2).truncate,e) pp arr.unshift(e) 出力結果 $ ruby ex14.rb ["a", "b", "c", "d", "e"] ["a", "b", "e", "c", "d", "e"] ["e", "a", "b", "e", "c", "d", "e"]

キーボードから文字列([a..zA..Z0..9])を入力し、これらの文字列を昇順・降順にソートする

こんなのでいいのでしょうか。(きっとsortも自分で実装すべきなんだと思うけど手っ取り早く) print 'input : ' output = STDIN.gets.chomp.split(//).sort.join puts 'result: ' + output 出力結果は以下の通り。 $ ruby ex03.rb input : u92ehuvcdifusbfd…

「新しいプログラミング言語を習得するための15の方法」をやってみる

新しいプログラミング言語を習得するための15の方法をやってみようと思う、Rubyで。文字列操作に有利なスクリプト言語のためじゃない、という言葉がどこからか聞こえてきそうだけど知らん振り。順番バラバラだけど順次更新して行く予定。 無限ループ内に1,2,…

RoRを使う際の事前準備

Railsでソーシャルブックマークを作ってみようかを試してみようと思って割りと序盤につまづいたので。ともに、 $ rake migrateを使用する際のこと。 MySQLのソケットを指定しておく データベースに接続するためのソケットのパスが私の場合は異なったので、co…

ComparableをMixinしてみる

今Rubyで作っているちょっとしたシミュレータでイベント管理をするために、イベント(Eventクラス)とイベント管理のテーブル(EventTable)をそれぞれちまちま作っていたのですが、最初は各イベントが自作オブジェクトなため、ちまちまリンクトリストみたいなの…

eRubyを入れてみた

環境はDebian GNU/Linux、Apache2。(玄箱) # apt-get install eruby # apt-get install libapache2-mod-ruby/etc/apache2/mods-enabled/ruby.loadができあがるので、そこに以下を追記。 # ===== eRuby(mod_ruby) の設定 <IfModule mod_ruby.c> # Ruby の(文字コードと)セー</ifmodule>…

do .. end と{}の違い

Rubyを使っていて、メソッドにブロックを渡す方法にタイトルのような2種類ある理由がいまいちわからなかった。そして私はそれを放置し、今まで好みだけで使い分けてきましたが、人に聞かれてわからなかったので調べてみました。・http://blade.nagaokaut.ac.…

nadokaのBOTを作ってみる

IRCプロキシmadokaのRubyクローンであるnadoka用のBOTプログラムを作成してみました。携帯などからIRCに発言できるものを作りたかったから。(keitaircを使えば簡単なんでしょうけど、一応Rubyの勉強がてら、ということで)今回作成したのは、外部からの発言…

Rubyでバイナリデータを扱う

Stringクラスにバイナリデータを突っ込んでも正しく動作するようです。(というか、Stringクラス以外でどうすればいいのかよくわからないのですが) data = [] data << [1].pack('c') # ASCII data << [234].pack('N') # ネットワークバイトオーダー(32bit /…

ローカルに立てたプロキシサーバに負荷をかけてみるテストスクリプト

一回目だけ接続先のサイトさんに我慢いただく。 #! /usr/bin/ruby -w require 'net/http' $proxy_addr = 'localhost' $proxy_port = 9080 th = [] 100.times do |i| th[i] = Thread.start { Thread.current["count"] = i host = 'www.trynt.com' path = "/bo…

RMagickをインストール(Fedora Core 6)

まず、ImageMagick-develのインストール。 sudo yum -y install ImageMagick-devel続いて、gemファイルをダウンロード、インストール。 $ wget http://rubyforge.org/frs/download.php/14051/rmagick-1.14.1.gem $ sudo gem install rmagick-1.14.1.gem

RMagickをインストール(Windows)

写真を表示するためのRailsプラグインfile_columnをインストールするには、RMagickが必要ですが少しハマりました。まず、基本的なインストール手順は以下の通り。 ZIPファイルをダウンロードして解凍 http://rubyforge.org/projects/rmagick バイナリのImage…

Plagger+CatalystをRubyでやると?

http://yusukebe.com/tech/archives/20061203/213028.htmlCatalystの部分はRuby on Railsだとして、Ruby版のPlaggerなるものは何かあるのだろうか。 newspipeやPlanetはPythonベースだと書いてあるので誰かRuby版Plaggerを作ってくれないかな。どっちにしろ…

InstantRailsとRadRailsを使ったRails開発環境

ここを参考に。ちゃっちゃとやってしまおう。 InstantRails ここからダウンロードして(私の場合は)C:\に解凍。そしてC:\InstantRails\InstantRails.exeを実行。(その際にApacheとMySQLが動いている場合は停止。XAMPPとか←一緒にしてしまいたいけど。。。) …

Ruby On Railsのインストール

なんかどこでもありそうなネタだけど自分のためにメモ。環境はFedora Core 6。 まずはRuby関係のインストール。 # yum install ruby ruby-devel irb rdocrubygemsをインストール $ tar zxvf rubygems-0.9.0.tgz $ cd rubygems-0.9.0 $ sudo ruby setup.rbRai…