Ruby
require 'rubygems' require 'igo-ruby' mes = ARGV.join(' ') unless ARGV.empty? mes = "引数にparseしたい文章を入れて起動してね" unless mes tagger = Igo::Tagger.new('/usr/local/share/ipadic') puts tagger.wakati(mes) p tagger.parse(mes).map{|i…
FizzBuzzまったく書けない人がいるとか、じゃんけんの方がルール難しいしおかしいだろとかバカにしてたけど、一度も書いたことなかったので書いてみた chatに残ってたログといっしょにコピペする まず原型 #!/usr/bin/env ruby (1...100).each do |i| (puts …
久しぶりにmemcache-client gemを使ったら動かなくて困った。 http://www.sssg.org/blogs/naoya/archives/1940 にmemcache関連のgemが解説されている。今はmemcachedというのが良いらしい。 memcache-clientは非推奨になり、Dalliに引き継がれたり、memcache…
くれるスクリプトを書いたので昼寝する #!/usr/bin/env ruby # -*- coding: utf-8 -*- require 'net/http' require 'uri' uri = URI.parse('https://github.com/') loop do puts "watch ... #{Time.now}" res = nil begin Net::HTTP.start(uri.host, uri.por…
libxmlとlibxsltが必要なのよく忘れる sudo apt-get install libxslt1-dev libxml2-dev gem install nokogiri
これ使いたい http://code.google.com/intl/ja/apis/documents/ google docsの中身のテキストを取得したい。 gem install gdocs4ruby http://cookingandcoding.com/docs/gdocs4ruby/ http://cookingandcoding.com/gdocs4ruby/ DocList API2.0を使うらしい"あ…
100の階乗を求める puts (1..100).to_a.inject{|a,b|a*b} puts 1.upto(100).inject{|a,b|a*b} puts (1..100).map{|i|i}.inject{|a,b|a*b} arr = (1..100).to_a func = lambda{|i,arr| return i if arr.empty?; i*func.call(arr.shift, arr)} puts func.call(…
#!/bin/sh exec 2>&1 exec setuidgid sho bash -c ' rvm_path=/Users/sho/.rvm source /Users/sho/.rvm/scripts/rvm rvm use 1.8.7 ruby /Users/sho/src/ruby/img-server/img-server.rb ' http://blog.monoweb.info/archives/936
両方EventMachine::Connectionで書く serverとclientどちらが先に起動しても良い clientはserverから切断されたら自動再接続する unbindイベント内でreconnectしたらできた clientは適当な文字列を送信して、1秒sleepする。 serverはclientから受信した文字…
ruby1.8の標準ライブラリのrss/makerでいける require 'rss/maker' rss = RSS::Maker.make("2.0") do |rss| rss.channel.about = 'http://shokai.org/rss.xml' rss.channel.title = "橋本商会" rss.channel.description = "橋本商会のrssです" rss.channel.l…
こっちが正しい http://d.hatena.ne.jp/shokai/20110603/1307052038 crontabの一番上の行に SHELL=/bin/zshこれを書いておく。よく忘れてはまる。.zshrcにrvmを使う設定が書いてあるので、それを読み込むため。これ書くと、~/.zshrcを読み込んでくれる。 そ…
なんか問答無用でhttpアクセスした瞬間に落ちる (eval):2:in `method_missing': undefined method `associate_callback_target' for #<Thin::Connection:0x102753d40> (NoMethodError) from /Users/sho/.rvm/gems/ruby-1.8.7-p334/gems/eventmachine-0.12.10/lib/em/connection.rb:39:in `n</thin::connection:0x102753d40>…
newgem(1.5.3)コマンド使うと /Users/sho/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:55: uninitialized constant ActiveSupport::Dependencies::Mutex (NameError)エラーでる。 適当に2.3系で新しいactivesup…
ProcessingはMacとWindowsとLinuxで簡単に動かせて、どの環境でも同じコードで一番楽にUSBカメラを扱えるので愛用してたんだけど Javaなのでいろいろネットワークまわりの所に俺が慣れてない。 今回はwebcamで撮影して簡単な画像処理をして、httpでform-mult…
limitとskipでpagingに便利 #!/usr/bin/env ruby # -*- coding: utf-8 -*- require 'rubygems' require 'mongo' $KCODE = 'u' page = 5 per_page = 10 m = Mongo::Connection.new('localhost', 27017) db = m.db('skype') db['chat'].find({:from => /ozawa/…
EventMachineで色々な処理(socketとかシリアルポートとか)をしているworkerに、httpからも一部機能を使えるAPIがほしかったので調べたらevma_httpserverを使うとヨサゲだったので調べた。 gem install eventmachine_httpserver0.21が入った。windows用には…
http://blog.livedoor.jp/dankogai/archives/51573012.htmlrubyはhugeurl使うといい tinyurlやbitlyとか主要なのは展開できる ruby -rubygems -e 'require "hugeurl";puts URI.parse("http://bit.ly/d4VYD2").to_huge'
卒論シーズンなので texファイルの文字数を数えるワンライナー 一応頭に\と%の行はカウントしない。 ruby -e 'just=ARGV.map{|a|a.size}.max;total=0;ARGV.each{|arg|words=0;open(arg){|f|f.each{|line|words+=line.chomp.strip.split(//u).size unless lin…
javaで実装された形態素解析エンジンのigoがrubyに移植されたのを使ってみた 最初から辞書がビルドされてるなら、pure rubyだからgemで一発でインストールできるから楽だな。 http://igo.sourceforge.jp/ http://kyow.cocolog-nifty.com/blog/2010/12/igorub…
blogのインデックスページとかで、新着5件とかをforで回して表示する時、それぞれの記事にidを振ったりとかしたい。 先にまとめ 先頭に - がある行はrubyスクリプトとして評価される tagの後に = があると、それ以降はrubyスクリプトとして評価される。 tag…
http://rubyforge.org/tracker/download.php/61/321/9924/1800/ruby-serialport-0.6.0-mswin32-gem.zip にパッチ適応済みのruby-serialport 0.6.0がある 0.7はlinux/macで使い方がよくわからなかったので俺は0.6を使ってる。特に問題ないし。windowsでも0.6…
oauthとか使うとエラー "no such file to load -- openssl" 解決した sudo apt-get install libssl-dev~/.rvm/src/ruby-1.8.7-p302/ext/openssl ruby extconf.rb make make install どうやらaptで必要なパッケージを入れる前にrvmでrubyを作るとこうなるらし…
ubuntu10.04にrvmで入れたruby1.8.7, 1.9.2でirbを使ったら Readline was unable to be required, if you need completion or history install readline then reinstall the ruby. You may follow 'rvm notes' for dependencies and/or read the docs page h…
exiftoolを入れる sudo port install p5-image-exiftoolgem install mini_exiftool#!/usr/bin/env ruby require 'rubygems' require 'mini_exiftool' exif = MiniExiftool.new ARGV.first w = exif['ImageWidth'] h = exif['ImageHeight'] rot = exif['Rotat…
ruby -e 'IO.open(IO.sysopen("/dev/cdrom",File::NONBLOCK)){|io|io.ioctl(0x5309)}'ruby -e 'IO.open(IO.sysopen("/dev/cdrom",File::NONBLOCK)){|io|io.ioctl(0x5319)}'参考 http://d.hatena.ne.jp/n9d/20090122/1232592242
ruby-1.8.7-p302 > ERB::Util.url_encode 'http://ああああ' => "http%3A%2F%2F%E3%81%82%E3%81%82%E3%81%82%E3%81%82" ruby-1.8.7-p302 > CGI.escape 'http://ああああ' => "http%3A%2F%2F%E3%81%82%E3%81%82%E3%81%82%E3%81%82" ruby-1.8.7-p302 > URI.enc…
git clone http://github.com/yoidoreorg/ffi-mecab.git cd ffi-mecab rake package gem install pkg/ffi-mecab-0.1.2.gem
Ruby4Skypeを使う require "rubygems" require "skype" puts "start" app_name = "test_app" Skype.init app_name Skype.start_messageloop Skype.attach_wait s = Skype::Application.new(app_name) s.invoke("MESSAGE shokaishokai hello") # 相手を指定し…
環境はUbuntu10.04skype apiを使うためにvncサーバーを起動する tightvncを使ってたんだけどキーボード配列がおかしい。adgjを押すとasdfと出る。真ん中の段はズレがわかるけど他の段はメチャクチャ vnc4serverに換えたらokだった sudo apt-get remove tight…
rb-skypemacのソース読んでたら、 Skype.send_(:command => "コマンド") で生のSkypeAPIに触れられる事がわかった。apple scriptのインタフェースを使っているらしい。chat系はrb-skypemacはラッパーが用意されてないけど、send_使えば http://developer.sky…