前置き 数ヶ月前にPanasonicデジタルビデオカメラ W570M というやつを購入した。 ビデオカメラ自体はワイプ撮影機能があってなかなか楽しいんだけど、バックアップというかアーカイブというか、PCへの取り込みがどうもいまく行かないんだよね。Panasonic HD…
旅先で「妖怪ウォッチともだちウキウキペディアをやろう!」と思って公式サイトの「遊べるお店」ページ( http://www.ukiukipedia.com/shop/)を見ても、デキがイマイチで全然探せない。。 近場のどこにあるのかをサクッと知りたいだけなのに、公式ページさ…
Kindle PaperwhiteでPDFを表示するとき、けっこう余白が取られているみたい。 縦画面の場合は、mobiで658x905にするのが良いみたいだけど、 (ASSIOMA(アショーマ) » Kindle Paperwhite と ChainLP で自炊した書籍を読む方法) 横画面で読むようの設定はまとめ…
Tumblrの画像を取りまくるツールを書いていて、ふと「ちゃんと画像が取れているのか?」と気になったのでチェックするコードを書いてみた。 アルゴリズムというか考え方 JPEG については、ファイルが "0xFF 0xD8" で始まり、"0xFF 0xD9" で終わることをチェ…
入門Chef Solo - Infrastructure as Code - 達人出版会 を読みながらChef Soloを実験中。 Chefでコンフィグファイルを書き換えるときは template リソースを使うんだけど、 いきなり書き換えちゃってバックアップ取らないのは怖いなぁと思っていたら、 templ…
久しぶりに「はてなダイアリー」を書こうと思ったら普通には「はてなダイアリー」にはたどり着けなくなってるんだね。せっかくなので「はてなブログ」に移行してみた。 インポートツールが充実してて良いですね。ブクマまでインポートしてくれるとは。 それ…
Rails3で多対多関連を作ってみて、ハマったところがあるのでメモしておく。 しかし多対多関連はいつのまにか has_many :through するのが当たり前になっているんだなぁ。 1.関連モデルを作る 基本的に「Rails3 レシピブック」通りだけど、モデルの attr_acce…
今日MacVim-kaoriyaの自動アップデートしたら、MacVim-kaoriyaがSnow Leopard非対応になって起動しなくなってしまった。macvim-kaoriya - MacVim KaoriYa - Google Project Hosting古いOSでは自分でビルドせよってことなのでビルドしてみたけど色々ハマった…
特定の親の下でユニークな名前にしたい場合 validatesのuniquenessに:scopeを入れる。 class Parent < ActiveRecord::Base has_many :children end class Children < ActiveRecord::Base belongs_to :parent validates :name, :uniquness => {:scope => :par…
秀丸でchangelogする環境を作ったので、まとめ。 dropboxと組み合わせるとすごく快適! changelogの書式 一般的な書式はchalowの図(http://chalow.org/)だが、多少変更する。 変更内容は、以下2点。 曜日を入れた。 item毎に時間を入れた。時間は[hh:mm:ss…
Jude/Think!を使ってみようかなぁと思っている。 とりあえず試用版をダウンロードしたが、文字がギザギザギザス。゜(゚´Д`゚)゜。起動バッチ(C:\Program Files\JUDE-Think\jude-think.bat)を書き換えてアンチエイリアスが効くようにしてみた。 JRE bundle ver…
ActiveScriptRubyがいつの間にか1.8.7に上がっていたので、喜んで1.8.7に入替えたところ、redmineで不具合が出るようになってしまった。Rails2.0.xは、Ruby1.8.7非対応だそうで。。 redmineがRails2.1.xに対応するのを待ちつつ、暫定対処を探ると、404 Not F…
Windows上でEclipseを使ってプログラムを書いていて、全体的にSJISというかCP932で通していれば特に困ることもなかったのだけれど、RspecのStoryはどうもSJISで書くとうまく動かなそう。。という感じになってきたので、プログラムを全体的にUTF-8に変更して…
0.前提 specコマンドを使うことを前提とする。 C:/ruby-1.8/lib/ruby/gems/1.8/gems を $GEMHOME と略記する。 1.specコマンドを起動する 内部で「C:/ruby-1.8/bin/spec」を呼んでいる。中身は以下。 C:/ruby-1.8/bin/spec #省略 gem 'rspec', version # こ…
Rspecは単体テストだけでなく、機能テストも出来る。 最近「ユースケース実践ガイド―効果的なユースケースの書き方 (OOP Foundations)」を読んでいて、もしやこれバイブル?と思っているのだが、この本で言う「ユースケース」をStoryと捉えて自動テストでき…
調べてみた。 ネストしていてもあまり気にせず、it単位でbefore/afterが入るみたい。 で、before(:all)/after(:all)はネストされたdescribe単位になる。 describe "レベル1" do before(:all) do; p "レベル1 before(:all)"; end before do; p "レベル1 befor…
アホみたいにカスタマイズ可能でかつ超強力な秀丸メールですが、カスタマイズしないと使いづらいという難点も持ち合わせています。 ちょっと使ってみて、使い辛い!と投げ出してしまうにはモッタイナイ秀丸メール。。 元Becky!使いの人向けのおすすめ設定を…
ごくごくフツーに書くとtestしづらいので、無理矢理class化する。 class部とコマンド部を1ファイルにしておくと、rspecのパース時か何かにおかしくなるので、別ファイルにする。 #lib/MyCommand.rb class MyCommand def main(args) # ARGVをrspecでテストで…
地の文からインデント下げして書く。そうするとquoteされるみたい。 #* 見出し # # indented = [ # array1, # array2, # ] という感じ。Rdocはインデントをかなり意識しているようで、こんなのはダメ。 #* 見出し # # indented = [ array1, # array2 ] こん…
Rubyはハッシュのネストが簡単にはできないので、メソッド定義しないと駄目っぽい。 #counterに入っているHash配下に、pathで示されたHashのネストを作成する。 #末尾のHashオブジェクトはHash.new(0)となって、カウンタに使う。 #戻り値は末尾のカウンタ用H…
超便利CUI風ランチャー fenrir設定のメモ 1.まとめwiki http://fw.ampll.org/index.php?fenrir 2.ポリシー 拡張子は手当たり次第に登録しておく。ただ、そうすると全スキャンがやたらと重たくなるため、全スキャンの範囲は極小化しておく。新しいフォルダな…
NetBeans6.1をインストールしたメモ at Windows XP. JDKが1.5になっている JDKが1.5では↓のフォントアンチエイリアスが設定できないので、1.6に上げる必要がある。 普通にJDK6をインストールするだけではNetBeansの設定は変わらないので、 C:\Program Files\…
Enumerable.injectの意味がよく分からないので調べてみる。まずリファレンス。http://www.ruby-lang.org/ja/man/html/Enumerable.html#inject inject([init]) {|result, item| ... } (ruby 1.7 feature) 最初に初期値 init と self の最初の要素を引数にブロ…
Arrayの重複チェックに手間取ったのでメモ。 普通に考えると、ユニークにして元のものとの差分を取ればいいやと思うのだけど、うまく行かない。 irb(main):001:0> a = [1,1,1,2,2,3] => [1, 1, 1, 2, 2, 3] irb(main):002:0> a - a.uniq => [] ※ここで[1,1,2…
KCSVのrdocを作ろうとしていて、ふと気付くとrdocのバージョンが1.0系だったので、 > gem install rdoc でrdocをインストールした。が、cmd.exeでrdocを叩くと、やっぱりバージョン1.0のまま。 なぜだ・・と悩むこと数十分。調べた結果、C:\ruby-1.8\bin\rdo…
Windowsでrakeでrdocを自動生成しようとして、なかなかうまくいかなかったのでメモ。 普通にRakefileをこんな感じで書くと。。 RDOC = "rdoc" task :default => "doc" task "doc" do sh "#{RDOC} *.rb --main KCSV -c sjis" end こんな感じのエラーになって…
パワーポイントで同じ色のオートシェイプを形状に関係なく選択する方法(マクロのソースコードなど)をお教えください。また、同じ色で同じ形状のオートシェイプのみを選択する方法もすぐにわかれば合わせてお願いできると助かります。これは素晴らしい。 自…
Rubyの標準CSV解析が遅い。かといってFasterCSVを入れるのもいまいち・・。 ということで高速にCSV解析するコードを作成した。 PureRubyながら、FasterCSVの2倍ほど速い。 使用パーサ user system total real 自作パーサ 13.313000 0.140000 13.453000 ( 13.…
iTunesをいじっていて、何気なくダブルクリックしたら実ファイルの情報とiTunes上の情報が同期されていなくて突然ジャンルが変わってしまったりすることが頻発したので、全トラックの情報を一括で最新化するスクリプトを書いた。 と言っても単にiTunes COM A…
RubyGemsでrubyzipをインストールする必要がある。 > gem install rubyzip 圧縮の仕方 Zip::ZipFile.open("zipファイル名", Zip::ZipFile::CREATE) do |zf| zf.add("zipファイル中のパス(相対パスでもOK)", "元ファイルのパス") zf.mkdir("zipファイル中の…