すがブロ

sugamasaoのhatenablogだよ

ruby

str == "" と str.empty?

どっちが効率的なのか 個人的には明示的にメソッドを使っている方を好むのだけど、速度的にはどうなのか。 10回ずつ試してみた。 str == "" の場合 /tmp% time ruby -e'str=""; 10000.times { str == "" }' ruby -e'str=""; 10000.times { str == "" }' 0.01…

Ruby on Rails にほんのちょぴり触れた

久しぶりに触ってみた Rails といえば誰も使わないブックマークシステムだよね。というわけで、ちょっと試してみた。 bookmark という DB を作って、 rails コマンドでスケルトンを作成。 テーブル定義はこんな感じ。 mysql> desc bookmarks; +---------+---…

Apache で Rails を動かす(メモの続き)

こんなページがあった この間の続き(http://d.hatena.ne.jp/seiunsky/20080318/1205857026) RoR 勉強がてらみていたら Webサーバの話も載っていた。素晴らしい。 http://tam.qmix.org/wiki/Minki12.html 結局のところ、Apache + FCGI/FastCGI が妥当なところ…

Apache で Rails を動かす(メモ)

あとで試す http://ujihisa.nowa.jp/entry/4d57e24df4 rubyneko - 誰でも30秒ぐらいでできるrailsのデプロイ http://webos-goodies.jp/archives/50818102.html Ruby on Rails : Apache で動作させる - WebOS Goodies 色々方法があってよくわからん。 極限の…

プログラム数カウントしちゃうよ

なんか作りたくなったので作ってみた ruby のスクリプトの空行とコメントと実際の行数を計算する。 複数行のコメント分(begin 〜 end)だとうまく計算できないけれど、あまりコメント形式として使われないから良いよね^^ base = '/tmp' ext = '.rb' result …

require は繰り返すのか?

require すると、require 先のファイルも呼んでくれる たとえば、以下のような2つのソースがある場合 # test1.rb class Test1 puts "Test1 require" def test1 puts "test1" end end #test2.rb require 'test1' class Test2 puts "Test2 require" def test2…

vimの自動補完

今更ながらやってみた http://uk-studio.net/2008/02/15/vim_ruby_on_rails/ 以下の内容はコピペ厨のわたしがいけませんでした><詳しくは「追記」以下を参照。 ここを参考にしてやってみたのだけど、エラーがでる。 ~/.vimrc ファイルにリンク先をそのまま…

変数スコープについて

やばい 今更ながら違いを意識した。いままではなんなく無くても動くけどあった方が安心できるんじゃね? みたいな感じで認識していたんだが/(^o^)\ モジュール定義の場合に実験 module TestModule def get_test puts "get_test.id = #{@test.object_id}" r…

ちょっと

ニコニコ動画を搾取したい 簡単に Ruby でできるかと思いきやログイン部分があったり(当たり前だ)、正規の API が無かったりするので思ったほど簡単にはできなそう。 とりあえず、できるであろう目処はついたのだけど。 そんなことよりもうちょっと Mac の…

C言語から Ruby を呼びたい><

C言語がメインで、サブルーチンとして Ruby を呼びたいのです パフォーマンスを出したいので C 言語で実装したい。だけど、利便性を考えて少し Ruby のライブラリを読んで処理を噛ませたい! http://www.sb.soft.iwate-pu.ac.jp/~yushi/memo/ruby_ext.html …

文字コードファッキング

文字コード変換 Ruby に限らずだと思うけど、以下のように、”波ダッシュ”や”全角ダッシュ”のような文字を NKF でUTF-8 にエンコードする際に文字化けする。 環境としては、入力文字は Windows で入力。プログラムの実行は Solaris 10 で行ってる。 require '…

数字をゼロ詰めにするには

使わないようでたまに使いたい局面があるんだ で、例えば二桁のゼロ詰めとかを愚直に書くとこんな感じだろうか(元々の値が文字列か数値かで変わるだろうけど)。 num = "0" if num.to_i < 10 num = "0" + num end ただ、なんか頭悪いなーって思う Ruby でこ…

Mac で Ruby on Rails を極めて女子にモテモテになる記録(5)

写経しながら学ぶ http://tam.qmix.org/wiki/Minki03.html どうやら、rails は URL を以下の規則で分けているらしい。 http://hogehoge/controller名/action名/ページ名(id) erb view でむかーし調べた erb を使う。 写経するのでとりあえずボチボチキーボ…

Mac で Ruby on Rails を極めて女子にモテモテになる記録(4)

rails を動かす DBの準備ができたので、適当に database を作る。 create database test_rails ついでに、テスト用にユーザも作っておく。 GRANT ALL PRIVILEGES ON *.* TO test@localhost IDENTIFIED BY 'test' WITH GRANT OPTION; flush privilages; これ…

Mac で Ruby on Rails を極めて女子にモテモテになる記録(3)

mysql を入れてみたよ Mac OS X 10.4 (x86)用の mysql 5.0.45(パッケージ版)をダウンロードして、インストールしたみた。 マウントして中身の .pkg からいわれるがままにインストール。何かよくわからないけど、パッケージが2つあったから2つとも入れて…

Mac で Ruby on Rails を極めて女子にモテモテになる記録(2)

MySQLインストール http://dev.mysql.com/downloads/mysql/5.0.html#macosx-dmg ここをみたら Mac OS X (package format) downloads (platform notes) Mac OS X 10.3 (PowerPC, 32-bit) 5.0.45 66.2M Pick a mirror MD5: 24aeeb5f992284acb73101d28b0acb7a |…

Mac で Ruby on Rails を極めて女子にモテモテになる記録

Mac に Ruby on Rails 入れる 最初は Ruby on Rails が入っていないのでインストールする。 まずパッケージの確認 gem list中略rails (1.2.3) Web-application framework with template engine, control-flow layer, and ORM. rails で入れれば良いっぽい。 …

これってどっちが早いの(3)

懲りずに もう一つパターンを追加してみた。 そもそも何をしたいのかと言うと、「AというファイルからXXXという文字列を含む行を抽出して、行数をカウントしたい」ということ。 Ruby で実装したいので、シェルスクリプトとかでやった方が……と言うのはなしの…

好みの問題

こんな風な戻り値を返すメソッドがある場合 # この is_hogehoge は bool 型の値を持っている if is_hogehoge return true end return is_hogehoge # この場合の is_hogehoge は false の場合のみ こーいうのを見ると、なんかこう、むずむずしてくる。 戻り値…

TestRunner

使いこなせない こんなプログラムがあって、それをテストしたいんだよ、という時の話。 class Aaaa def aaa return "aaa" end end これをテストするプログラム require 'test/unit' require 'Aaaa' class TC_Aaaa1 < Test::Unit::TestCase def setup end def…

RUnitで

AutoRunnerを実行する際に setup 的な処理をしたい RUnit の AutoRunner で読み込んだテストプログラムをすべて実行しているんだけど、その読み込んだプログラムを実行する毎にある処理を実行したい。 つまり AutoRunner を実行して、各テストプログラムを実…

カバレッジ測定

なんかすごい面白い ああやって可視化されるのは強烈に面白い。 これは単体開発時にやってるとかなりモチベーションに差が出るんじゃないかな(Trac のタイムラインとチケットみたいな雰囲気で)。 ……問題なのは今のプロジェクトは単体フェーズどころか開発…

Rubyでのコードカバレッジ

RUnitを使った開発で コードカバレッジを測定するツールというのは無いだろうか。 Javaとか C# だとあったと思うんだけどな。やっぱり動的言語だと難しいとかそーいう理由があるのだろうか。。。

これってどっちが早いんだろう(2)

指摘して頂いたので 前回のコメントで教えてもらった正規表現を使う時の定石パターンも追加してもう一度測定しなおしてみたよ。 恥ずかしい話 only としたいところが onry になってた!><恥ずかしくて死にたい\(^o^)/ あと そこらへんは脳内補完してね…

これってどっちが早いんだろう

ふと考えてみたんだけど あるファイル(以下A)から特定の値(以下X)が入っている行だけ抽出して、その結果を処理したい、という時はどっちが早いのか。どっちも大差ないものなんだろうか。 ※ただし、プログラムは Ruby から起動しなくてはいけないものとす…

RUnit を調べようと思ったけど、良い機会なので RSpec について調べちゃったよ

RUnit を調べようと思った経緯 実際に RUnit を書いたときに「何を期待してそのテストプログラムを書いたのか?」ということがソースから読み取れない事があったりして、テストメソッド名なりコメントなりにそーいうことがわかるように記載しなきゃいけない…

( ゚д゚ )

ソースが読めません アプリの動きではなくて Ruby のプログラム自体(というかプログラム一般について)なんだけど、このような出来事があった。 後輩「ここが意図しない動きなんですけど」 おれ「まず、ここのシングルトン*1メソッドでどんな値(オブジェク…

Ruby に出てくる :xxx という記述

symbol というんだけど Ruby を使い始めた時にシンボルを使われているソースを見たんだけど、その時はいったい何をしているのかわからなかった。ハッシュのキーにしていたからなんとなくの用途は予想できたものの、具体的に文字列でハッシュのキーにしている…

なぜなに object_id

オブジェクトに付与される個別のIDのはずが あるオブジェクト同士をLinux上で比較すると別々なのに、 Unix 上だと同値になるという現象っぽいことが発生した。 なんでだろう。 ちなみに、 Linux は RedHat3 で、 Unix は Solaris10 なんだけど。 Ruby のバー…

はてなダイアリーから RSS のデータを取得してみる(3)

助言を頂いた 前回:id:seiunsky:20070816:1187303569 前回のコメントで id:hatecha 氏から ↓require ’rss’にしたら取れるようです http://www.cozmixng.org/~rwiki/?cmd=view;name=RSS+Parser%3A%3ATutorial.ja と教えていただいた。 require 'rss' とする…