タグ

Rubyに関するseuzoのブックマーク (287)

  • Ruby: dircmp command (Japanese)

    ■ dircmp コマンド ある日「Ruby を 256 倍使うための 極道(きわめみち)編 助田雅紀 著」を読んでいたら... dircmp コマンドと同様の cmpdir.rb というのを題材にしていました。 ということで、触発されてつくったのが dircmp.rb です。 Linux には入っていませんが System V 系のシステムには dircmp というコマンドがあります。 このコマンドとほぼ同等の機能を持っています。 どうでしょうあなたの ~/bin に入れていただけません? dircmp.rb は、引数で指定した二つのディレクトリを比較します。 比較した結果として二つのディレクトリ内で「異なるファイル」「同じファイル」「一方にしかないファイル」を出力します。 オプションを指定することで望んだ結果だけを得ることができます。 使い方 ソースコード 解説 履歴 ■ 使い方 引

    seuzo
    seuzo 2009/10/08
    dircmp.rb は、引数で指定した二つのディレクトリを比較します。 比較した結果として二つのディレクトリ内で「異なるファイル」「同じファイル」「一方にしかないファイル」を出力します。
  • kumaryu日記(2009-02-22)

    _ [Ruby] Test::Unitが変わってる Test::Unitで一つだけテスト動かす方法が全くわからなかったんだけど、ソースを見て分かった。 ruby test_foo.rb --name test_bar マニュアルには--name=test_barと書いてあるけど、1.9ではテスト用のライブラリが変わったとかで=を入れちゃだめになっていた。 _ [Ruby] utf8-macってなんだこりゃ 文字コードではまったのでメモっとく。MacPortsとか使わず自前で入れた1.9.1-p0でのおはなし。 ruby 1.9.1p0 (2009-01-30 revision 21907) [i386-darwin9.6.0] MacRubyを動かすと、ファイルシステムの文字エンコーディングはUTF8-MACとかになるらしい。 FreeTypeに文字をUTF-8で渡す所でString#e

    kumaryu日記(2009-02-22)
    seuzo
    seuzo 2009/10/07
    utf8-mac
  • sleep-until - 特定の時刻まで待ち続けるRubyスクリプト - http://rubikitch.com/に移転しました

    特定の時刻にコマンドを実行するには、cronやatがある。一定時間待つにはsleepがある。 特定の時刻まで待つコマンドがわからなったので、速攻でRubyで書いてみた。こんなのはぐぐるよりも書くほうが早いので。 #!/usr/bin/env ruby require 'time' time = Time.parse ARGV.join(" ") secs = time - Time.now puts "Sleep #{secs}seconds (until #{time})" sleep secs 使い方は引数に時刻文字列を書くだけ。 使用例 $ sleep-until 0:30 Sleep 448.72888seconds (until Tue Oct 06 00:30:00 +0900 2009) $ (sleep-until 10/10 15:00; 10/15の15:00に実行した

    sleep-until - 特定の時刻まで待ち続けるRubyスクリプト - http://rubikitch.com/に移転しました
    seuzo
    seuzo 2009/10/06
  • 第20回 Mitaka.rbの作り方 | gihyo.jp

    前回のおさらい 前回はRuby/Railsの地域コミュニティとは何か、日各地のコミュニティ、「⁠Seattle.rb」というロールモデル、様々な開催形態についてご紹介しました。 今回は地域コミュニティ「Mitaka.rb」がどのように開催されているか、主催者の立場からご説明します。あくまで一例に過ぎませんが、コミュニティへ参加したり、ご自分でコミュニティを立ち上げる参考になればと思います。 「Mitaka.rb」とは何か 「Mitaka.rb」は東京都三鷹市周辺で不定期に開催されているRuby/Railsの地域コミュニティです。参加者はRuby/Rails関係者、Webサービス関係者などです。 「たのしいRuby、おいしいMitaka」をコンセプトに三鷹市周辺の飲店を会場に開催しており、懇親会の後にLT(Lightning Talks)をするのが通例です。参加人数は20~40人で武蔵野

    第20回 Mitaka.rbの作り方 | gihyo.jp
  • Snow Leopardにアップグレード時のMacPortsとRuby開発環境について - 一分一秒真剣勝負!

    Snow Leopardが発売してちょっと時間が経ちましたが、発売してすぐに売り切れになってしまったので買えず、最近やっとインストールしました。そこで問題になるのがMacPortsとRubyの開発環境です。僕は何か開発する時はVMwareにCentOSを入れて開発することが多いので対応しなくてもいいんですが、動かないと気持ち悪いので「Snow Leopardにアップデートした後に気をつけること 主にMacPortsとrubygemsについて」を参考に開発環境をアップデートしました。以下はその時のメモ。 Xcodeをインストール Snow Leopardリリース直後は1.8の正式版が無かったようですが、今はありますね。 http://distfiles.macports.org/MacPorts/ ここから最新版をDLして、make installします。 $ tar xfz MacPort

    Snow Leopardにアップグレード時のMacPortsとRuby開発環境について - 一分一秒真剣勝負!
    seuzo
    seuzo 2009/09/19
  • Rubyのプログラムでsprintfを見る機会がほとんどない理由 - 福島餃子Ruby親方

    私もCとかやっていたので、sprintfの便利さは痛感していたのですが、 今でもRubyでsprintfを使ってしまう時があります。 しかし、先日naruseさんに指摘されたのを機会にメモっておきます。 sprintfを多くのRubyistが使わない理由は必要ないからです。 Rubyにもsprintfはもちろん存在していて、以下のように使います。 str=sprintf("price:%5d(tax:%d)",4000,200) こんな感じで文字列を生成できます。しかし、Stringには %というメソッドが存在していて、 str="price:%5d(tax:%d)"%[4000,200] このように書けてしまいます。%に渡す引数は1個である必要があります。 複数ある場合は配列を渡します。 つまり、 str="price:%5d(tax:%d)"%([4000,200]) と同じです。(あ

    Rubyのプログラムでsprintfを見る機会がほとんどない理由 - 福島餃子Ruby親方
    seuzo
    seuzo 2009/09/17
    Rubyのプログラムでsprintfを見る機会がほとんどない理由
  • mapee.jp

    This domain may be for sale!

  • Snow Leopardにアップデートした後に気をつけること 主にMacPortsとrubygemsについて - mizchi log

    DP版ユーザーとして先走って3ヶ月前から使っていました。たぶん修正されないであろう問題があったので、ここに書いておきます。 MacPortsやRubygemsが怪しい挙動を示すんですね。MacPortsが依存を解決せずに中断したり、gems が モノによっちゃrequireできなかったり・・・。この二つ、開発者にとっちゃ致命的な問題。MacPortsはpkgのバージョンチェックでこけたので自分でビルドしたんですが、それが悪いのかと思って調べていたところ、海外の方に既に報告されていました。(日だと全く情報がありませんでした) 参考 evolution - Snow Leopard with legacy macports and rubygems 超訳 LeopardのユーザーはおそらくOSに載っている標準のRubyを使っていて、既に大量のmacportsとrubygemsがあることだと思

    Snow Leopardにアップデートした後に気をつけること 主にMacPortsとrubygemsについて - mizchi log
  • 画像内で使用されている色の統計を取るサンプル - うなの日記

    RMagickを使って、画像内で使用されている色の統計を取得するサンプルを書いてみました。使用されている色ごとに割合を算出し、使用量の多い順に出力します。 require 'rubygems' require 'RMagick' imgs = Magick::Image.read("./kitten.jpg") img = imgs.first # 画像内で使用されている色の一覧を集計 histogram = img.color_histogram.inject({}) {|h,pair| color = pair[0].to_color( Magick::AllCompliance, false, 8, true ) h[color] ||= 0 h[color] += pair[1] h }.sort_by {|pair| pair[1]*-1 } #使用されている順にソート #割合を

    画像内で使用されている色の統計を取るサンプル - うなの日記
  • パセラで曲検索 - miauのブログ

    たまにカラオケに行くと、他の人が歌った曲で「いい曲だなー、あとでググろう」みたいなのが結構あります。 先日もカラオケに行ったんですが、普段なら気になった曲だけメモするところを、なぜか興に乗って全曲目を携帯でメモしてしまって。せっかくなので、そのメモを元に カラオケパセラ Σ-Search で検索を行うスクリプトを書いてみました。 携帯でのメモ cagayake girls ふ・ほ super nova ぴ 嘘 ふ princess primp ほ :(以下略)こんな感じで、曲名+スペース+歌った人をメモしてました。右側は歌った人の頭文字ですね。 スクリプト 汚いけど載せておきます。 $KCODE = "UTF8" # TODO:   の置換とか require "nkf" require "open-uri" require "cgi" # URL サンプル # http://p

    パセラで曲検索 - miauのブログ
    seuzo
    seuzo 2009/08/25
  • _why君、どこ行ってもうたんや・・・ - ずっと君のターン

    タイトルは気にしないでください。 Rubyistならたぶんみんな知ってる、一風変わったものを作らせたら超一流のwhy the lucky stiffがWeb上から消えてしまったらしい。今日は朝からRuby界隈がいろいろと騒がしかった。で、そんな_why絡みの文章の中にちょっといい感じの追悼文があったので訳してみる。 http://ejohn.org/blog/eulogy-to-_why/ _why追悼 残念ながらいまはあまり時間がない(今週あるプロジェクトをリリースしようとしてるんだ)。だけどハッカーでありアーティストでもあった_whyについて少なくとも2-3言述べておくべきだろう。 _whyがオンラインに存在したと言う証はもはや存在しない。彼のサイトも、コードも、全て消えてしまった。その中には次のものが含まれるが、これら以外にもまだあるかもしれない: http://twitter.co

    _why君、どこ行ってもうたんや・・・ - ずっと君のターン
    seuzo
    seuzo 2009/08/21
    Whyさんは、精神的な引っ越しをした。いつかまたどこかで逢えるだろう。
  • レーベンシュタイン距離を使って電話でのイライラを解決する - kenmazの日記

    電話で自分の苗字を伝えようとしても、電話相手に正しく伝わらないことがある。私が「松前です」と告げても、電話相手は「はい、増前さまですね」と間違って復唱しやがることがある。いずれ「夏前」とか「安前」とか「松苗」とか、いろいろ間違われるようになるかもしれない。このような不運な事故を回避するには、事前に間違えられやすい苗字を洗い出しておいて、ばっちり発音を練習しておく必要がある。 さて「松前」と似ている苗字を洗い出すにはどうすればよいだろうか。そんなとき使えそうなのが「レーベンシュタイン距離」である。 「レーベンシュタイン距離」とは、ある単語を、別の単語に書き換えるために必要な、文字の挿入/削除/置換操作の回数のことである。レーベンシュタイン距離を使えば、ある単語同士がどれくらい似ているか、ということが分かる。 レーベンシュタイン距離 http://ja.wikipedia.org/wiki/%

    レーベンシュタイン距離を使って電話でのイライラを解決する - kenmazの日記
    seuzo
    seuzo 2009/08/09
  • あえて言うがRuby会議はそろそろ一回終わってみるべき。

    表題のようなことを実は2007年のやつの後くらいから思ってて、今年はほとんど確信に近くなっている。Ruby会議2009最終日にうっかり角谷さんの電波(自称)を浴びてしまったせいで、当日は「あー、俺より角谷さんのほうがちゃんと考えてて、でも逃げてないんだなあ」とか思った。思ったが、一日たって冷静に考えてみたら、やっぱ逃げてもいいと思うよ。なので当初考えていたとおりに書くことにする。 (1) おまえらの仕事は品質過剰です。 Ruby会議は世間のカンファレンスの相場から考えると、クオリティに比して参加費が異常に安い。クオリティの高さに関しては素晴らしいとは思うが、それの費用は安すぎだと思う。 なぜRuby会議はあのクオリティで開催できるのか、一回きちんと考察してみるべきだ。俺には参加費の代わりにおまえらのモチベーションを削ぎ落としながら燃料にしてオペレーション回してるようにしか見えない。横から見

    あえて言うがRuby会議はそろそろ一回終わってみるべき。
  • Rubyのハッシュテーブルの仕組みを徹底的に理解する - ザリガニが見ていた...。

    ハッシュとは 一般的に理解すると抽象的で分かり難くなってしまうが、ハッシュとは、あるデータから、一定の計算をして求めた、目的に沿った数値、と思っている。それでは、どのような目的に利用されるのか?自分の知識で考えてみた。 暗号化 webアプリケーション等で、パスワードをDBに保存する時、生のパスワードをハッシュに変換して保存する。 Digest::SHA1.hexdigest等で求めたハッシュから、元のデータを復元するのが非常に困難という特性を利用する。 保存しているパスワードハッシュが、たとえ漏洩したとしても、不正利用を防止できる。 パスワードを照合するときも、ハッシュに変換して、保存しているパスワードハッシュと一致するかどうかで判断する。 同等の確認 長い文字列データを比較する時、全ての文字が等しいかチェックするのは非常に時間がかかる。 しかし、長い文字列データをハッシュに変換しておき、

    Rubyのハッシュテーブルの仕組みを徹底的に理解する - ザリガニが見ていた...。
    seuzo
    seuzo 2009/07/16
  • マルコフ連鎖で日本語をもっともらしく要約する - ザリガニが見ていた...。

    そもそも、マルコフ連鎖とは何なのか?全く聞いたこともなかった。そして、文章を要約するのはとっても高度なことだと思っていて、自分のレベルではその方法を、今まで思い付きもしなかった。 しかし、以下のようなシンプルなRubyコードでそれが出来てしまうと知った時、目から鱗である...。一体、何がどうなっているのだ?コードを追いながら、マルコフ連鎖を利用するという発想の素晴らしさを知った! 作業環境 MacBook OSX 10.5.7 ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0] mecab utf8環境でインストール済み マルコフ連鎖に出逢う rssを流し読みしていると、以下の日記に目が止まった。(素晴らしい情報に感謝です!) MeCabを使ってマルコフ連鎖 一体何が出来るコードなのか、日記を読んだだけではピンと来なかっ

    マルコフ連鎖で日本語をもっともらしく要約する - ザリガニが見ていた...。
  • RubyのMechanizeを解説 for 1.0.0 - きたももんががきたん。

    来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…

    RubyのMechanizeを解説 for 1.0.0 - きたももんががきたん。
  • Ruby Scraping - Mechanize

    自動google検索。 require 'rubygems' require 'mechanize' agent = WWW::Mechanize.new # インスタンス生成 agent.user_agent_alias = 'Mac Safari' # User-Agentの設定 page = agent.get('http://www.google.com/') # ページ取得 search_form = page.forms.with.name('f').first # "f"という名前のフォームを探す search_form.q = 'Hello' # テキストボックス"q"に"Hello"を入力 search_results = agent.submit(search_form) # フォームのsubmitボタンを押す puts search_results.body # 結果

    seuzo
    seuzo 2009/06/27
    ウェブサイトのアクセスを自動化するライブラリ。
  • CotEditorからはてなダイアリーに投稿するRubyスクリプト - Watsonのメモ

    CotEditorからmixiに投稿するRubyスクリプトというものを見つけ、はてなダイアリーに投稿できるようにはてなダイアリーのAPIを見ながら変更してみました。中身はほぼ同じです。 まずはWSSE認証用のライブラリをインストールします。 $ sudo gem install wsse 以下のスクリプトをCotEditorのスクリプトフォルダに保存して、実行権限をつけます。hatena_id、passwordは適宜書き換えてください。 #!/usr/bin/env ruby # # %%%{CotEditorXInput=AllText}%%% require 'rubygems' require 'wsse' require 'net/http' # Configuration -- hatena_id = 'user id' password = 'password' # -----

    CotEditorからはてなダイアリーに投稿するRubyスクリプト - Watsonのメモ
  • Rake - RubyによるビルドツールRakeの覚え書き。興に乗ったので詳しく書いてみた。

    RubyによるビルドツールRakeの覚え書き。興に乗ったので詳しく書いてみた。 2014/02/20 Rakeの作者、Jim Weirich氏が亡くなられました。安らかに… Rakeとは? インストール 単純なRakefile タスク ファイルタスク ルール ディレクトリ作成 タスクの説明 ファイルリスト クリーニング パッケージ作成 タスクの動的生成 テストタスク 複数のRakefileの連携 名前空間 参考URL Rakeとは? Rakeは、MakeをRubyで実装したものを超越したビルドツールである。 世間では、ビルドツールというとMakeやApache Antが有名で、よく使われている。 Rakeは、これらのいいとこ取りをした上で、特有のフィーチャーを追加した新しいビルドツールであり、複雑なビルドを柔軟に書きこなすことができる。その秘密は内部DSLという仕組みにあり、このおかげでビ

  • hatenadiary ライブラリ - 書き捨て御免

    gem にしてみました。インストールは(GitHub を gem の source として追加して) $ gem install arikui-hatenadiary何するかというと、mechanize を使ってはてなにログインしてはてダに投稿とかします。 自前のはてダラの一部を抜き出しただけです。 使い方: require 'rubygems' require 'hatenadiary' HatenaDiary.login 'はてなID', 'パスワード' do |client| # 投稿 client.post(2009, 6, 24, 'タイトル', "文\n") # ちょっとした更新 client.post(2009, 6, 24, 'タイトルそのに', "文そのに\n", true) # 削除 client.delete(2009, 6, 24) end # ブロックを抜ける

    hatenadiary ライブラリ - 書き捨て御免
    seuzo
    seuzo 2009/06/24
    rubyからhatenaダイアリーに投稿