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

JSでRSA

JSでRSA暗号が使えるやつ使ってみた http://cryptico.wwwtyro.net/鍵作る var pass = 'kazusuke'; var rsa_key = cryptico.generateRSAKey(pass, 1024); var pub_key = cryptico.publicKeyString(rsa_key); 'hello'を暗号化 var enc = cryptico.encrypt('hel…

scansnapして即gyazoに送る

Macはファイルが作成された時にフォルダアクションが実行できる フォルダアクションはAutomatorで作れる Automatorからshell scriptが実行できる フォルダアクションを作った automator内のshellscriptからワンライナーを呼び出す /usr/bin/ruby -rubygems -…

数字を3桁ずつ区切る

通貨みたいな表示 1234567890.to_s.reverse.split(/(\d{3})/).select{|i|i.size>0}.join(',').reverse => "1,234,567,890"1234567890.to_s.reverse.gsub(/(\d{3})/,'\1,').reverse => "1,234,567,890"

アプリのアイコンを作る

Mac

sipsっていうコマンドラインツールがMacに入っているので、それを使うとすぐ作れる sips -s format icns icon.png -z 128 128 --out appIcon.icns

git pushしたらProject description file hasn't been setと言われた

新しいMacからgit pushしたら remote: *** Project description file hasn't been set remote: error: hook declined to update refs/heads/master ! [remote rejected] master -> master (hook declined)こういうエラーがでてpushできない。リモートリポジ…

rvmを切り替えつつ実行

RVM

rvm default do ruby hoge.rbとか rvm system do gem listとか rvm jruby-1.6.7 do ruby -vすればいい

公開したgemをrubygems.orgから削除する

yankコマンドはgemcutterに入ってたのか gem install gemcutter gem yank goldfish-poi -v 0.0.1 名前とバージョンを指定いて削除する

Hashie::Mashおかしい

(解決した、下に書いた)これ実行すると #!/usr/bin/env ruby require 'rubygems' require 'hashie' arr = Array.new 3.times do |i| arr.push Hashie::Mash.new(:count => i, :text => 'test'*i) end arr.each do |i| p i puts "count : #{i.count}" puts …

gemを全て新しいRubyに入れなおす

rvmで、新しいrubyに乗り換える時によくやる。ruby-1.8.7-p352 → 1.8.7-p358にしたとする。 rvm get latest rvm reload rvm list known rvm install 1.8.7-p358 gem listを保存しておいて gem list | ruby -lane 'puts $_.split(/\s/)[0]' > ~/gems.txt あた…

herokuセットアップ、sinatraを動かす

herokuでsinatra動かした。 参考にした http://devcenter.heroku.com/articles/quickstart http://devcenter.heroku.com/articles/ruby http://www.machu.jp/diary/20111002.html#p01 サインアップ https://heroku.com でサインアップ、メールが来るのでconf…

mini_magickとImageMagickで画像を切り取る

capybara-webkitで撮影した縦長のwebページスクリーンショット(PNG)を、1:1.41のA4縦長で印刷できるサイズ(JPEG)に分割する。 https://github.com/probablycorey/mini_magick brew install imagemagick gem install mini_magick mini_magick版 #!/usr/bin/en…

画像をpdfファイルにまとめる

今までhomebrewで入れれるpdfjamを使っていたのだが、macportsにしかないpdflatexに依存しているのであまり使いたくない。 prawn(https://github.com/prawnpdf/prawn)を使うとRubyだけで作れるので、乗り換えることにした。 prawnはpngを入れると遅くなるの…

capybara-webkitでwebページのスクリーンショットを撮る

capybara使うと簡単にキャプチャできる。もともとjsのheadless testの為のツールなのでjsも実行されるし良い。 Macの場合 brew install qt gem install capybara capybara-webkit #!/usr/bin/env ruby require 'rubygems' require 'capybara-webkit' driver …

画像のサイズを求める方法

ImageMagick imagemagickについてくるidentifyコマンドを使う identify ファイル名結果 ファイル名 PNG 1200x4702 1200x4702+0+0 8-bit DirectClass 890KB 0.000u 0:00.000 mini_magick ImageMagickのRubyラッパー。 gem install mini_magick#!/usr/bin/env …

webページのスクリーンショットを撮影

phantomjsでやろう http://d.hatena.ne.jp/Jxck/20111102/1320230249 と思って、インストールしたのだが brew install phantomjs一緒にwebkit2pngというpythonで書かれたツールがついてきた。 キャプチャしてみる webkit2png http://shokai.org/blog/ いろい…

ターミナルから印刷する

Mac

applescriptで印刷もできるのだが、地獄のような事になっているので原点に帰ってlpr プリンタ一覧を取得 lpstat -s USBやsambaで接続したプリンタもでてきた プリンタを指定してファイルを印刷する lpr -P プリンタ名 ファイル名印刷の設定は、そのプリンタ…

diffをファイルに書き出し

commitのdiffをgrepしたいのだが、gitだけで検索する方法がわからなかったのでとりあえず~/diffに全commitのdiffを書きだした mkdir ~/diff git log | grep '^commit' | ruby -lane 'puts $F[1].strip' | ruby -lane 'arr=ARGF.to_a.map{|i|i.strip}; for i …

ある日付のcommitのIDだけ抜き出す

git-id-date.rb #!/usr/bin/env ruby require 'date' if ARGV.size < 1 STDERR.puts "ruby #{$0} 2011-08-15" STDERR.puts "ruby #{$0} 2011-08-15 2011-09-30" exit 1 end date_start = Date.parse(ARGV.shift) date_end = ARGV.empty? ? Date.today : Date…

camelcaseとsnakecaseの変換

いろいろ丁寧に変換するようにした --to_snake 'ShoHashimoto' => 'sho_hashimoto' 'sho_hashimoto' => 'sho_hashimoto' 'shokai' => 'shokai' 'SHOKAI' => 'shokai' 'This is a pen' => 'this_is_a_pen' 'EventMachine::HTTPRequest' => 'event_machine_htt…

8queen問題

http://ja.wikipedia.org/wiki/エイト・クイーンすげー悩んだけどわりと綺麗にできた。 再帰+lambda渡しは再帰を巻き戻さないで良いので書きやすい。 変な書き方しないようにしたけど20行きった。 #!/usr/bin/env ruby def put(size=8, queens=[], &block) b…

清一色の配牌パターン数を調べる

mlab(masui lab)はmajan labになりました。 清一色の配牌パターン数を調べる。 1が0〜4枚、2が0〜4枚...9が0〜4枚、で合計14枚になるのが正しい配牌なので、ならば富豪的に5進数を使おうchin-itsu.rb for i in 0..(("4"*9).to_i(5)) res = i.to_s(5) puts '0…