Ruby

WEBrickって on-the-fly転送できるんだろうか?

NicoProxy2を使って面白いことやってるのでメモ。 ・年越しそばと初詣は絶対に欠かせない: NicoProxy2 と Squid を MacOSX 上で 組み合わせる WEBrickってon-the-fly転送する方法あるのかな。あったらいいな。ソース読むかな。 最近は仲間内でニコニコ動画の…

ニコニコ動画のキャッシュ共有、削除動画視聴、エコノミー回避をする NicoProxy2

わりとご好評頂いてるNicoProxyをバージョンアップしました。以下の機能があります。 再生した動画を自動キャッシュ エコノミー再生時の動画をキャッシュにすり替えて高画質化 削除動画をキャッシュから復活 HTTPサーバでキャッシュを共有 旧バージョンにあ…

CentOS5 のvimでRubyのオムニ補完を使う

オムニ補完は↑のような補完機能。RubyやRails開発で使えます。 http://vim-ruby.rubyforge.org/を突っ込めば使えますが、CentOS環境のvimはrubyinterpが無効になっているのでパッケージを入れ直す必要があります。手順は以下。 1. vimのrpmパッケージを作る…

Rails2.0でPaginateを使う

Rails2.0からPaginateが標準搭載されていません。ということで、pluginを導入してpaginationします。 Rails1.2と同様の物はclassic_paginationとしてplugin化されていますが、今回はwill_paginateを使います。 classicはこれからメンテされないとか、willの…

るびま23号リリース

るびま Rubyist Hotlinksが毎回楽しい。

文字列を降順にソートする

どうやるんだっけ? と思って直ぐに思いつかなった。 str = %w(9 7 5 8 4 6 1 3 2) # 昇順 p str.sort # 降順 p str.sort{|a, b| -(a <=> b)} 「数値じゃないとマイナス付けられない!」とか思い始めると、割とハマるようです。 計算量が気になるので、sort_…

ニコニコ動画ダウンロードAPIのリポジトリをCodereposで公開しました

ニコニコ動画ダウンロードAPIのリポジトリをCodereposで公開しました - にたまごほうれん草 id:emergentさんが面白げなことをしております。 commit権申請した方が楽しめるかな。

TmailでReturn-Pathを取得する方法

mail = TMail::Mail.parse(str) p mail['Return-Path'].to_s.scan(/<(.*?)>/)[0][0] こんなの? 一発で取得できるメソッドとかないだろうか。

ニコニコ動画 新着動画取得スクリプト修正

ニコニコ動画 新着動画を取得するスクリプト - unnecessary words で作成したスクリプトが動作しなくなっていたので修正しました。(via lapis) #!/usr/bin/ruby -Ku require 'rubygems' require 'nicovideo' module Nicovideo class Base def newarrival(p…

エラーメールをfrom以外のアドレスで受け取る

Rubyで普通にメールを送信する場合は以下のようになる。 #!/usr/bin/ruby -Ku require 'net/smtp' require 'rubygems' require 'tmail' mail = TMail::Mail.new mail.to = 'test@foo.com' mail.from = 'me@bar.com' mail.subject = 'test' mail.date = Time.…

ニコニコ動画 ダウロードの不具合修正 nicovideo gem0.1.3

最新のmechanizeでnicovideo gemが動作しない件&gemアップデート(ver 0.1.3) - にたまごほうれん草 0.1.2でmechanizeをアップデートした際の不具合が修正されたようです。 mechanize0.7.4 - 0.7.5で動作することを確認しました。 サンプルは以下のエント…

Rubyで形態素解析してみた

昨日の晩あたりから、形態素解析したい気分だったのでやってみました。 形態素解析というのは以下のようなもの。 対象言語の文法の知識(文法のルールの集まり)や辞書(品詞等の情報付きの単語リスト)を情報源として用い、自然言語で書かれた文を形態素(M…

gruffでグラフ描画してみる

ある程度スマートに動いたのでまとめ。 前回の問題点。 フォント関連のエラーがでる。 gruffライブラリ自体に手を入れないと動かない。 フォントはImageMagickコンパイル時にオプションを指定して直った。gruffライブラリの問題は0.3.0→0.3.1にアップデート…

gruff0.3.0でグラフ描画してみる→何か変だ

↑のようなグラフは出力できたけど、何か変なのでメモ。 環境はUbuntu 7.10 Serverです。 rmagickの導入。 % sudo gem install rmagick Updating metadata for 19 gems from http://gems.rubyforge.org ................... complete Building native extensi…

ニコニコ動画のタイプ判定をURL以外でやってみる

ヘッダのfilenameから拡張子を取得してみた。Content-Typeでの切り分けも可能。URL判定より、こっち方が仕様変更に強そうな気がする。 今回はnicovideo gemを使わずに作成。 #!/usr/bin/ruby -Ku # nicodown2.rb require 'rubygems' require 'mechanize' vid…

ニコニコ動画 新着動画を取得するスクリプト

頼まれたので作成。 相変わらずnicovideo gem拡張。こいつは本当に便利な奴。 #!/usr/bin/ruby -Ku require 'rubygems' require 'nicovideo' module Nicovideo class Base def newarrival(pagenum = 1) Newarraival.new(@agent, pagenum ) end end class New…

NicoProxy ニコニコ動画SP1に対応しました

最新 -> ニコニコ動画のキャッシュ共有、削除動画視聴、エコノミー回避をする NicoProxy2 - unnecessary wordsNicoProxyをSP1に対応させました。その他にも色々変更。 通常モードで再生した動画をキャッシュ エコノミー再生時の動画をキャッシュにすり替えて…

ニコニコ動画 swf、mp4、flvをダウンロードする for Windows

Windowsで昨日のスクリプトを動かすまでの手順です。Rubyのインストールから、ファイルの取得まで。 需要があるようなので、これを機にRubyユーザを増やしてしまおう計画。 1.ActiveScriptRubyをインストールする http://arton.hp.infoseek.co.jp/indexj.h…

ニコニコ動画 swf、mp4、flvをダウンロードする

昨日書いたエントリに、「swfも忘れないであげて!」と言われたので修正します。動画タイトルの「‐ニコニコ動画(SP1)」が邪魔とも言われたので、そっちも修正。 #!/usr/bin/ruby -Ku # nicodown.rb require 'rubygems' require 'nicovideo' module Nicovideo…

ニコニコ動画 mp4(H.264)動画をダウンロードするスクリプト

Rubyで作ってみた。 nicovideo gemを利用。mp4の判定部分のみ追加。 #!/usr/bin/ruby -Ku # nicodown.rb require 'rubygems' require 'nicovideo' module Nicovideo class VideoPage def mp4? @params ||= get_params pattern = %r!^http://.*\.nicovideo\.j…

ニコニコ動画 タグ検索スクリプト

昨日に引き続き、nicovideo gemのサンプルを作成します。 尚、GEMのバージョンが0.1.1になっているので、忘れずにバージョンアップしましょう。id:emergentさん早速の修正ありがとう御座います。 本日は、タグ検索機能のサンプルです。

ニコニコ動画 ランキング取得スクリプト

・ニコ動ダウンロード用gem更新(ver 0.1.0) - にたまごほうれん草 nicovideo gemがバージョンアップ(0.0.6 → 0.1.0)したようです。エコノミー動画の判別機能の取込みありがとう御座います。 新機能(ランキング取得機能)のサンプル書いてみました。 #!/u…

RubyのIO.getcが遅い件

IO.readで比較、IO.getcで比較、最後に両ファイルのMD5を計算という実験をしてみました。 getc >>> read > MD5 と予想してたのに、結果はread > MD5 >>>>>>>>>> getcといった感じに。 以下は220MBの同一ファイルを比較したときの速度。 1回 2回 3回 4回 5回 …

携帯電話/FOMAカード(UIM)の製造番号を取得する

タグにutn属性付加して、UserAgent見れば付いてるらしい。とりあえず、以下のコードでFOMA端末の動作は確認。 #!/usr/bin/ruby -Ku print <<EOB Content-type: text/html <html> <head> <title>TEST</title> </head> <body> <form action="#" method="POST" utn> <input type="submit" value="送信" /> </form> <a href="test.cgi" utn>LINK</a><br /> EOB p ENV['HTTP_US…</body></eob>

ニコニコ動画へのリンクを抽出して flv ファイルを自動取得するクローラ

登録したサイトから、ニコニコ動画へのリンクを抽出して flv ファイルを取得するクローラ(?)を作ってみました。これと組み合わせると、 エコノミー時間帯に帰宅して通常画質で視聴 削除された動画を視聴 とかできて便利じゃないかと思われます。 ソース #…

ニコニコ動画 flvをダウンロードしてみる

Rubyforgeに使えそうなgemがあるので利用させてもらう。 % sudo gem install nicovideonicovideoライブラリのお陰で、とても簡単にflvが取得可能。 以下のスクリプトで 『少し楽しくなる時報』 がダウンロードできる。 #!/usr/bin/ruby -Ku require 'rubygem…

ファイルリストをリンク付きでHTMLに書き出す

Indexes設定では都合が悪かったので作成。 #!/usr/bin/ruby -Ku require 'find' require 'uri' def create_filelist_html(root) Find.find(root) do |path| if File.directory?(path) title = path.split('/')[-1] open("#{path}/index.html", "w") do |io| …

ニコニコ動画 削除された動画を視聴する

最新 → NicoProxy ニコニコ動画SP1に対応しました - unnecessary wordsnico_proxy機能追加。 削除された動画のキャッシュがあれば視聴できるように変更。 キャッシュ呼ぶだけなので変なアクセスはしないです。あくまで一度視聴してキャッシュを保持してない…

Rubyのライブラリ検索

ロードパスにあるライブラリのパスを表示。 #!/usr/bin/ruby -Ku require 'rbconfig' def lib_list(name) $:.each do |path| next unless FileTest.directory?(path) dlext = RbConfig::CONFIG["DLEXT"] Dir.open(path) do |dir| dir.each do |file| if file…

ニコニコ動画 高速化&エコノミー回避プロキシを作ってみた

最新 → NicoProxy ニコニコ動画SP1に対応しました - unnecessary wordsニコニコ動画のエコノミー回避と、キャッシュ利用で再生を高速化します。 機能 通常モードで再生した動画をキャッシュ エコノミー再生時に動画ファイルをキャッシュにすり替える キャッ…