タグ

rubyに関するmakura_aのブックマーク (59)

  • Procを制する者がRubyを制す(嘘)

    RubyのProcの説明は巷に溢れているから今更感があるけどここ数回Procを使ったネタを書いていたらProcがかわいくなっちゃってもっとみんなにもProcのこと知ってもらいたいという欲求が生まれてきたからProcについての基的なことを僕なりのやり方でここに書くよ。長いよ。 Rubyの関数(メソッド) Rubyにおいて関数(メソッド)はファーストクラス(オブジェクト)ではありません。つまり文字列や数字や配列などの他のオブジェクトとは異なって、Rubyではそれを直接変数に代入したり、他の関数に渡したりすることはできません。 def square(n) n * n end sq = square # squareメソッドを変数sqに代入してみる # ~> -:1:in `square': wrong number of arguments (0 for 1) (ArgumentError)

    Procを制する者がRubyを制す(嘘)
  • 数万のソースコードから目的の一行を一瞬で見つけ出す、Milkode - ブログのおんがえし

    最新バージョンはコチラです。 Milkode(ミルコード)はソースコード検索エンジンです。手元にある大量のソースコードを登録し、ブラウザで閲覧したり検索することが出来ます。20000ファイル位であれば1秒位で特定の一行を見つけることが可能です。 Rubyで書かれており、使っているライブラリも含めてRubyGem経由でインストールすることが出来ます。 OSX, Unix $ sudo gem install milkode Windows(32bit) $ gem.bat install rroonga --platform x86-mingw32 $ gem.bat install milkode Windows(64bit) ※ 事前に64bit版rroongaのインストールが必要です。 $ gem.bat install milkode詳しいインストール方法はホームページをご覧下さい。

    数万のソースコードから目的の一行を一瞬で見つけ出す、Milkode - ブログのおんがえし
  • Webページの本文抽出 (nakatani @ cybozu labs)

    Webページの自動カテゴライズ の続き。 前回書いたとおり、パストラックで行っている Web ページのカテゴライズでは、Web ページの文抽出がひとつの鍵になっています。今回はその文抽出モジュールを公開しつつ、使っている技法をざっくり解説などしてみます。 モジュールの利用は至極簡単。require して analyse メソッドに解析したい html を与えるだけ。文字コードは UTF-8 です。 【追記】大事なこと書き忘れ。モジュールは Ruby1.8.5 で動作確認していますが、特別なことはしていないので、1.8.x なら動くと思います。 $KCODE="u" # 文字コードは utf-8 require 'extractcontent.rb' # オプション値の指定 opt = {:waste_expressions => /お問い合わせ|会社概要/} ExtractCont

  • mapee.jp

    This domain may be for sale!

  • るびじゃん!〜Rubyで麻雀開発その1(和了判定編) - 5.1さらうどん

    5月になってやることもなくなってきたので、あまりにも麻雀が弱い僕が麻雀開発を始めたよ!(その1)目標としては、「5月中にAIに関してはオールツモ切りでもいいからとりあえずゲームができるところまで完成させる」です。 せっかくなのでアルゴリズムや設計の解説なども交えていきたいと思う。プログラミングも麻雀も少しだけ知っている僕が、麻雀を知らない人、プログラミングができない人向けに書いていきたいなと。 脱衣麻雀「いただきじゃんがりあん」の「宇宙麻雀」とか一昨年のクソゲーオブザイヤーで有名な「ジャンライン」の「亜空カン」なんかに代表されるように、麻雀ゲームってのは、ルールが複雑で、バグが発生しやすく、実装が大変らしい。麻雀は覚えたてなので、ルールの勉強を兼ねてがんばって作ってみる。 初めに・とりあえず和了っているかの判定だけなので、副露(いわゆる鳴き)については今のところ考えていません。・完成しなく

  • Typhoeus: A High Speed, Parallel HTTP Library for Ruby

    Ruby Weekly is a weekly newsletter covering the latest Ruby and Rails news. Paul Dix, of Feedzirra fame, strikes again! This time with Typhoeus (Github repo), a high-speed, parallel HTTP request library for Ruby. At first glance, you could be forgiven for wondering what the point is when we already have John Nunemaker's awesome HTTParty to build simple HTTP clients, but Typhoeus is, in many ways,

  • 僕たちが待ち望んでいたRubyスクリプトをデーモン化する方法 - http://rubikitch.com/に移転しました

    Rubyでは、簡単にデーモンが記述できる。その方法は簡単!Ruby 1.9だと Process.daemon と書くだけだ。その行の後は制御端末が切離され、デーモンとして実行される。Ctrl+Cで終了できないので、永遠に実行を続けるスクリプトは「pkill -f」などで殺す。 既存のスクリプトをデーモン化するには、この一行を加えればいいだけなのだが、常にデーモンにしてしまうとデバッグが困難になってしまう。そこで、テスト時はふつうに実行して、普段はデーモンにしてしまえばいい。その方法もまた簡単!上の一行を daemonize.rb というファイルに保存すればいい。だけどこれだけだとつまらないので、ついでにRuby 1.8にも対応させてみる。 if Process.respond_to? :daemon # Ruby 1.9 Process.daemon else # Ruby 1.8 req

    僕たちが待ち望んでいたRubyスクリプトをデーモン化する方法 - http://rubikitch.com/に移転しました
  • 統計的に正しいランキングを行う方法 - Hello, world! - s21g

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ポジティブ/ネガティブ投票による正しいランキング方法が以下の記事で紹介されています。 How Not To Sort By Average Rating この計算方法では、投票数が少ない場合には分散が大きく不正確な評価で、 投票数が多くなるにつれて分散が小さく正確な評価が得られているという事を考慮しています。以下数式 これはScoreの信頼区間を表しています。 この信頼区間の下界をランキングのスコアにすれば良い事になります。 ここで、は、 です。全体に占めるポジティブ投票数の割合ですね。 は標準正規分布上の 信頼区間の有意確率です。 さて、五段階評価によるRatingに同様のテクニックを適用する場合はどうしたらいいでしょうか

  • はてなキーワードからMecCab辞書を生成する(Ruby版)

    文脈IDは-1を指定すれば自動採番してくれるという噂だったのですが、実行したら「自動で探したけど、対応するのが見つからなかったよ」と言われた為(文字コードの問題かな)、自前でシステム辞書ディレクトリ内の「left-id.def」と「right-id.def」を探して、それっぽいIDを拾ってきました(当にこの方法で良いのか未確認)。 辞書によってIDは変わってきて、IPA辞書の「名詞,一般」は、我が家の環境では1285になっていました。バージョンによっても違う可能性もあるので注意が必要です。 読み・発音については、はてなのファイルの読みは全て平仮名で記述されているので、NAISTの辞書に合わせる為に片仮名に変換して登録します。発音は来「アマクサシロー」になるべきですが、その辺は変換してると面倒なのでこのままで。 参考URLでは、CSVの末尾に「はてなキーワード」と入れて、はてなの辞書が使

  • [ruby-list:14752] Re: gsub("'", "\\'")

    Subject: [ruby-list:14752] Re: gsub("'", "\\'") From: Koji Arai <JCA02266@ f . . > Date: Thu, 3 Jun 1999 02:01:34 +0900 References: 14746 In-reply-to: 14746 新井です。 >>> From: Toshihiko SHIMOKAWA / 下川俊彦 <toshi / csce.kyushu-u.ac.jp> >>> Date: 02 Jun 1999 19:31:46 +0900 >>> Subject: [ruby-list:14746] gsub("'", "\\'") > 簡単なことのような気もするのですが、分からないので質問させてください。 いやぁ、これはよくハマりますからね。 > 文字列中の ' 一文字を \' の二文字に置換しよう

  • Rubyから外部プログラムを呼び出す方法 - Hello, world! - s21g

    Rubyから外部プログラムを呼び出して、 パイプを使ったプロセス間通信をする方法の紹介です。 Rubyから外部のプログラムを起動して、標準入力からデータを入力し、 標準出力から結果を取り出したいという場合には、 IO.popenを使うと便利です。使い方は以下のとおり。 1  IO.popen('/usr/bin/command', 'r+') do |io| 2  io.puts "something to input" 3  @result = io.gets 4  end

  • HpricotからNokogiriに乗り換え:お題目うぉっち

    2009年07月31日 HpricotからNokogiriに乗り換え スクレイピングを行うためにHpricotを使ったところ、どうやってもbuilder.rbというモジュールで segmentation fault が出てしまうという事態に遭遇した。Hpricot を最新のバージョンである 0.8.1 に上げたが変化なし。 調べてみたところ、これはRuby体のバグが原因であり、「配列のサイズが途中で変わると起きる」らしいことが分かった(るびまの記事)。が、Hpricot内部の話なので、こちらではどうしようもない。 そこで、最近よく名前を耳にする、Hpricot互換の Nokogiri に乗り換えてみた。HpricotとNokogiriは使い方は非常に似ているのだが、まったく違いがないわけではないので、下記の点を変更した。 ■ require すべきものが当然変わるrequire 'hpr

  • 「BASIC認証をクリアしたい」(1) Java Solution - @IT

    IT 会議室 Indexリンク Windows Server Insider Insider.NET System Insider XML & SOA Linux Square Master of IP Network Java Solution Security & Trust Database Expert RFID+IC リッチクライアント & 帳票 Server & Storage Coding Edge @ITクラブ Cafe VB業務アプリケーション開発研究 @IT SpecialPR

  • HWPS! » open-uri を Basic認証のあるサイトに使う

    Ruby の便利標準ライブラリ筆頭(個人的感想)である open-uri ですが、 いまだに「open-uri はBasic認証のあるサイトには使えない」という都市伝説(?)が。 こんな風に :http_basic_authentication オプションを与えることでできるよ。 require 'open-uri' open('http://www.example.com/authenticated_page/', :http_basic_authentication => ['username', 'password']) 現在のマニュアルには載っていない ので注意。 新しい方にも特に書いてはいないみたい。 ちなみにプログレスバーのために :content_length_proc と :progress_proc が使えるが、簡単に作るとこんな感じに。 open(downloading

  • net/httpの例外捕捉方法(2) - OVERT MEMO

    先日のNet::HTTPの例外補足方法、 rescue Timeout::Error だけではエラーを捕捉しきれませんでした。*1 たしかErrnoの何かかEOFErrorだったはずなのですが、うっかりエラーメッセージを記録しわすれてしまったうえに、サーバの調子が悪い時にしかお目にかからないのでなかなか再現できません。 あれこれぐぐってみると、EOFErrorもErrnoも起きるような雰囲気。rescue Timeout::Error を指定するときには rescue もしくは rescue Exception の併用が欠かせませんね。 begin Net::HTTP.get(url) rescue puts "exception on HTTP: StandardError #{$!}" rescue Timeout::Error puts "exception on HTTP: Tim

    net/httpの例外捕捉方法(2) - OVERT MEMO
  • 糞ネット弁慶

    糞ネット弁慶 日声優統計学会/声優統計についてはこちら

  • Ruby 用 JSON パーサーを更新、 JSON への変換も追加 - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 以前公開した前バージョンにはたくさんのアドバイス、リンクなどいただきまして、ありがとうございます。少々時間が経ってしまいましたが、あれからいろいろと勉強しまして、 strscan なる便利なライブラリが Ruby の標準ライブラリに含まれていることも知りました。それらをきちんと使えばコードをだいぶシンプルにできそうだったので、思い切って書き直してみました。まだまだ

  • 凉山亢兰汽车维修投资有限公司

  • 2007-02-16

    id:mzp:20070214:1171465153の続き。RubyNet::HTTPでのクッキーの扱い方。 クッキーの受信 クッキは、Set-Cookie:というフィールドに書かれている。 ただし、複数のSet-Cookieフィールドが存在することが普通なので、Net::HTTP#get_fieldsを使って配列の形で取得する。 require 'net/http' Net::HTTP.start('www.tohoho-web.com'){|http| response, = http.get '/cgi/wwwcook.cgi' p response.get_fields('Set-Cookie') } 実行例: ["KAISUU=2; expires=Tue, 1-Jan-2030 00:00:00 GMT;", "HIZUKE=2007%2F02%2F16%2021%3A46%

    2007-02-16
  • Net:HTTPとCookie

    ログインが必要なサイトなどを、Net::HTTPモジュールを利用して取得する際にCookieを設定しなければならない場合がある。 require 'net/http' http = Net::HTTP.new('www.example.com', 80) ## ログイン処理 req = Net::HTTP::Post.new('/login') res = http.request(req, 'id=yuanying&password=PASSWORD') # Cookieの取得 cookie = res['set_cookie'] ## いろいろ req = Net::HTTP::Get.new('/content/show/02') req['Cookie'] = cookie res = http.request(req) puts res.body