Ruby

Rails 2.0のgenerateで複数形/単数形の違いを確認してみる

モデルは単数形でテーブル名は複数形だったかなとうろ覚えだったのだが、いざ使おうとするとやっぱり複数形/単数形の使い分けができてなかった。ちゃんと確認しておくメモ。 比較用のプロジェクトを生成 rails single rails plural モデルの生成結果を比較 …

Rails特訓中

本当はRubyCocoa使って蔵書管理兼はてダラみたいなアプリ作ろうかなと思ってたんだけど、社内ツールをRailsでつくれそうな雰囲気なので方針を変えて特訓中。タイミングよくというか悪くと言うかちょうどRails2.0が出たばかりでちょっと混乱する。というかそ…

認定試験

この度はRuby認定試験をご受験いただき、誠にありがとうございます。 採点の結果、第2回 Ruby認定試験の合否結果を以下の通り通知いたします。wktk2 ************ * 結 果 * ************ * 合 格 * ************ほっ。っていうかなんか気の抜ける表現…

win32/clipboard のインストールにてこずるの巻

ああもう、10分くらいで終わる見込みでやりかけた仕事が3時間もかかっちゃったじゃん!(1) gemから直接インストール以前はこれでOKだったのだけど・・・ gem install win32-clipboard ---- Building native extensions. This could take a while... ERROR: E…

railsが動きませんが・・・

どうもgemを0.9.5にあげたあたりからいろんなことがおかしい。Macでも。仕事でこっそりrailsネタが仕込めそうなので、自宅Macでちょっと試してみようと思ったのだが、いきなり動かない。もういいよ。最初からインストールしてあるgemなんて。 gem list | rub…

gem which

知らなかった!gem 0.9.5にwhichってコマンドが追加されてて、ライブラリを検索できる。 gem which rubygems (checking gem rubygems-update-0.9.5 for rubygems) /Library/Ruby/Site/1.8/rubygems.rbでもMacだと一部のライブラリがうまく探せないもよう。re…

SJISのコード表をUTF8に変換する

波ダッシュ問題とかで気になったので確認してみることにする。まず、検証用のhtmlを作ってみた。 UPPER = (0x81..0x9F).to_a + (0xE0..0xFC).to_a LOWER = (0x40..0x7E).to_a + (0x80..0xFC).to_a HEADER = <<_EOF_ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <table> _EOF_ FOOTER = <<_EOF_ </table> </_eof_></table></body></_eof_>

GraphvizRでCocoaReplをグラフ化してみる

びっずびずに(以下略)・・・興味本位でCocoaReplのグラフ化してみた話。ソースを見るとReplControllerにインスタンス変数がたくさんあって楽しげ。でもインスタンスをどこからたどるかわからなかったのでObjectSpaceから無理矢理探してみた。 # 環境変数と…

GraphvizRでオブジェクトをグラフ化してみる

びっずびずにしてやんよ!とりあえずArrayとHash、それからインスタンス変数のあるクラスに対応。あとはinspectでそれなりに。中身が長いと横に伸びすぎて大変なことに(アンパンマン風)なるのは気にしない方向でひとつ。vizviz.rb require 'rubygems' requ…

snippetEmuでdoo

コード補完のsnippetEmuが超便利そうだったんだけど、Rubyでdoの補完をすると do #←ここにカーソル end <{}> となってブロック引数書くのにわざわざカーソル移動しなくちゃいけなくて余計面倒じゃん!しかしどう考えてもそんなはずはないのでソースを見てみ…

requireできるライブラリ一覧

find `ruby -e 'print $LOAD_PATH.join(" ")'` -type f -name "*.rb"って書いてあるのを見かけた。たぶん普通のシェルだとバッククオートの中の改行は空白で結合されるから find `ruby -e 'puts $:'` -type f -name "*.rb"って書けるよね。それはそうと、Rub…

GraphvizRでRubyのクラス継承図を描いてみる

一番時間がかかったのはMacPortsの入れ直しだった・・・。 require 'rubygems' require 'graphviz_r' class ObjectSpace::GraphvizR attr_accessor :gvr def initialize(name = 'ruby_class') # GraphvizRのインスタンスを生成 @gvr = GraphvizR.new name # …

フォントファミリとフォントの名前一覧

NSFontManagerを使うと、利用可能なフォントファミリーやフォントの情報が得られる。例えばヒラギノ一族の場合、 require 'osx/cocoa' include OSX fm = NSFontManager.sharedFontManager fm.availableFontFamilies.each do |family| if /Hira/ =~ family pu…

LimeChat for OSXのフォントを変更する

ソースを読む。やべえ鼻血でそうwとりあえずフォントのカスタマイズ機能がまだないみたいだったので、調べてみた。 /Application/LimeChat.app を右クリック→パッケージの内容を表示 Contents/Resources/log.rb をエディタで開く 38行目あたりを以下のよう…

Leopardメモ - CocoaReplが動かなくてはまる

ひ日誌 - CocoaRepl の便利なおまけ機能 Leopard解体新書--第1回:RubyCocoaでWebページ表示:スペシャル - ZDNet Japan 前から気になってたCocoaReplを使ってみるかあ、とXcode3.0を入れてビルドしてみたが、エラーとなってコンパイルができない。Xcode2.4に…

LeopardのRubyサポート

実はあんまり理解していない、というか調べてもいなかったので、「300の新機能」から抜き出してみた。 Scripting BridgeがObjective Cに対応 新しいScripting Bridgeアーキテクチャでは、Ruby、Python、Objective Cなどの言語を使って、AppleScript対応アプ…

Windowsでコマンドラインパスなんちゃらのほげほげ

今売りのるびまを見ていたらこんなのを発見。 RubyForge: Win32::Console: Project Info ENABLE_ECHO_INPUTというのがあるので、これを使えばいいんじゃないかなあ。 require 'win32/console' console = Win32::Console.new mode = console.Mode console.Mod…

Ruby on Rails講師養成講座

Ruby on Rails講師養成講座 一瞬くらっときたが、37万8千円というのを見てくらくらした。

Ruby検定予想問題をやってみた

申し込みページが前日にforbiddenだったRuby検定、当日にはちゃんとページができてて出題範囲も出てた。予想問題でも考えてみるかな・・・と思っていたらすでに作ってる人がいたのでやってみた。 _ [Ruby] Ruby 技術者認定試験の問題を予想してみました - Do…

Ruby検定

プログラミング言語「Ruby」の資格認定試験を開始 へー。Ruby本体ならそこそこ自信あるんだけど15,750円はちと高いかも。Railsとかいわれるとつらいなあ。あ、標準添付のライブラリも使ったことないやつが結構ありそうだ。 ところで申し込みは明日かららしい…

Windowsでコマンドラインパスワードのマスク

先日のエントリで pw = gets puts "\n" * 50 みたいな恥ずかしいパスワード入力処理を書いてしまったのが気になって眠れなかったので調べてみた。 なんか「Unixだとsystem('stty -echo')だよ」みたいな古典的回答で結局知りたいことがわからない一連の流れが…

MechanizeでサイボウズOffice6のメールを一括ダウンロード

こんな感じ。

メソッド定義の引数に@をつけると?

メソッド引数をそのままインスタンス変数にセットすることがよくある*1。こういうふうに。 class A def initialize(func, with, too, many, params) @func, @with, @too, @many, @params = func, with, too, many, params end end んで、ふと思ったのだがメ…

Mechanizeの罠

今使ってる某グループウェアのメール機能が、正直ひどすぎる。どのくらいひどいかは以前日記に書いた気がするので省略するが、非常に困るのが、一括で振り分けしたり削除したりするメール整理機能が極めて貧弱で、エクスポートにいたってはそもそも機能がな…

Digest::MD5の仕様が(随分前に?)変わってた

サーバリプレースの派生作業で昔作ったスクリプトの動作確認をしていたら、Digest::MD5でエラーがでて動かない。 Rubyリファレンスマニュアル - Digest::MD5 にあるように、newして文字列を渡しているだけなんだけど。おやおや?ってことで調べてみると・・…

RubyでGoogleMapsするメモ

夏休みの自由研究はGoogleMapsでぐりぐりするかRubyCocoaでぺたぺたするかだと思っていたら、どっちも手がつかないうちに夏休みが終わろうとしている罠。 正確にはあまり調べもせずにGoogle Maps APIv2活用リファレンス作者: アイティティ出版社/メーカー: …

IronRubyメモ

Silverlightからは、まだIronRubyは使えないのかな?ちょっと調べきれなかった。たぶんまだ。 なので、ここんとこさぼっていたIronRuby関係の情報を集めてみる。 はてなブックマーク - タグ IronRuby マイクロソフト、Ruby言語インプリ「IronRuby」をリリー…

そして10年後、父と娘の会話

娘「ねえ、RubyのHashって昔は順序つきじゃなかったんでしょ?」 父「ああ、確かそうだったな。1.9が出る前頃まで、順序が保証されなかった。」 娘「へー。でもハッシュなんだから順序がないほうが自然なのに、どうして順序つきになったんだろ。」 父「あ…

Rubyと地球温暖化

最近ruby-listで順序付きハッシュの実装方法について盛んに議論がなされている。 どのくらい盛んかというと最初の投稿から10日で80を超えるレスがつく巨大スレッドに成長、これのどこがruby-listやねんというツッコミが業界各所からなされるのを尻目にru…

Mechanizeでファイルをアップロードする

某所で質問が出ていたのでソースをたどってみたら、WWW::Mechanize::FileUploadというクラスを発見。 ・・・というか、flickrに画像を投稿する例がサンプルに入ってるじゃん。 WWW::Mechanize::GlobalFormにfile_uploadsというのがあって、これを使えという…