タグ

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

  • Xrea+にRubygems v1.0.1をインストールしてみた - Post-itみたいな

    RubyGems と scrAPI を XREA+ へインストールする手順です。 XREA+ では一般ユーザの権限で作業する必要があるため、 インストール先はユーザのホームディレクトリの配下です。 インストール終了後、標準ライブラリ (rexml) と追加ライブラリ (scrapi) の両方を使用したプログラムが動作することを確認します。 RubyGems, scrAPI インストール手順 - XREA+版 | Diaspar Journal というものを見つけましたので、早速トライ。俺が契約しているXrea+のサーバはs291です。上のページでは0.9.1ですが、ここでは現在最新版である1.0.1を試してみました。ディレクトリ構造が0.9.1と多少異なるため、新規インストールの時はちょっと変更する必要ありでした。 0.9.1と1.0.1の違い export PATH=$PATH:$HOM

    Xrea+にRubygems v1.0.1をインストールしてみた - Post-itみたいな
  • Rack::Utils#escapeがRuby1.9.1だと何かアレな件 : As Sloth As Possible

    sinatraとActiveRecordとERBでBBS作ったのでソースを公開してみる - だるろぐに触発されて俺もBBSを作ってみようと、ここ数日Sinatraをいじっていた。Sinatraさんは最近バージョンアップしてた気がするけど、どうやらちゃんとRuby1.9.1でも動くようだ。素敵。 で、順調に行くかと思ったんだけど、どうにも書き込みのspecが通らない。そこで初めて、POSTやGETでパラメータにマルチバイトの文字列が入ってると何かおかしいことに気付いた。 最初に書いたspecとアプリ側のコードを抜粋。 # coding: utf-8 require 'rubygems' require 'rack/test' require 'routes.rb' #sinatraアプリ set :environment, :test include Rack::Test::Methods

    Rack::Utils#escapeがRuby1.9.1だと何かアレな件 : As Sloth As Possible
    seuzo
    seuzo 2011/02/18
    「 warning: regexp match /.../n against to UTF-8 string」の回避
  • L'eclat des jours(2011-02-05)

    _ OSXのファイル名について教えてもらったこと 昨日の東京Ruby会議で、かわばたさんからNFCとかNFDとかについて教えてもらった。 Unicodeでは、文字の合成がサポートされている。たとえば「か」と濁点「゛」は合成することもできるし、「が」という1つの文字で登録もされている。しかし「あ」と濁点を組み合わせた1つの文字は登録されていない。でも「あ」と「゛」を組み合わせた「あ゛」も作れる。作った場合にどう表現するかはフォント(描画エンジンかも知れないな)に依存する(日語よりも、おそらくウムラウトとかを使う欧州言語のほうで意味を持つ仕様だと思う)。 ということは、「が」という文字が実際には登録されている「が」という1つの文字なのか、それとも「か」+「゛」なのかは、特に文字列の比較をする場合には問題となりうる。人間としては等価として扱いたいが、コンピュータとしてはかたや1文字、かたや2文

  • Nokogiriが文字化けするのの対策 - hitode909の日記

    そこらへんで拾ってきたHTMLをNokogiriに渡すと,文字化けすることがあって,困ってた. Nokogiriに文字コードを渡せるので,HTMLから正規表現でcharsetを取り出して,一番多く出現するcharsetをそのページのcharsetとして採用すると,うまくいった. ヒューリスティックにやってるだけだけど,だいたいうまくいく. こんな感じ. charset = io.scan(/charset="?([^\s"]*)/i).flatten.inject(Hash.new{0}){|a, b| a[b]+=1 a }.to_a.sort_by{|a| a[1] }.reverse.first[0] before "〓\u0082«〓\u0083¼〓\u0083\u0089〓\u0083\u0095〓\u0082〓〓\u0082〓〓\u0083\u0088!! 〓\u0083´〓\

  • httpsでBASIC認証する - 福島餃子Ruby親方

    るりまには httpでBASIC認証する方法 httpsを使う方法 が別々で載っているのですが、 表題のようにhttpsでBASIC認証する方法がついていないのでメモ。 require 'net/https' https=Net::HTTP.new("site name","443") Net::HTTP.version_1_2 https.use_ssl=true https.verify_mode = OpenSSL::SSL::VERIFY_NONE https.start do|http| req =Net::HTTP::Get.new('/members/xxxx') req.basic_auth 'username', 'password' response = http.request(req) print response.body end

    httpsでBASIC認証する - 福島餃子Ruby親方
    seuzo
    seuzo 2011/02/08
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    seuzo
    seuzo 2011/02/08
  • ruby の inject をわかりやすく説明してみる - Λάδι Βιώσας

    ruby の inject って慣れないと少し理解しづらいよなーと思ったので、極力わかりやすい説明をしてみるテスト。 わかりやすいかもしれない説明 さて、1 から 10 までの合計を求めるこんな↓コードがあった場合 sum = 0 (1..10).each {|i| sum = sum + i } p sum # => 55 inject を使ってこのよう↓に書けます。 p (1..10).inject(0) {|sum, i| sum + i } each と inject でどのように書き変わってるかを図で示すとこんな↓感じ。 injectの引数 0 は、ブロックローカルな sum 変数の初期値になってます。で、ブロックの実行結果の値が sum に代入されて、2回目以降のループを実行します。ループしている間の、各変数とブロックの中身はこんな↓感じ。 sum i ブロックの中身(sum

    ruby の inject をわかりやすく説明してみる - Λάδι Βιώσας
    seuzo
    seuzo 2011/01/25
  • slice_beforeで - smilerubyのブログ

    id:seuzoさんの『連続した日付を範囲形式でまとめる』を読んで自分も作ってみた。 いつまでも使い方が覚えられないEnumerable#slice_beforeを使ってみる。 Ruby1.9.2p136です。 # coding: UTF-8 require 'date' lists = " 2010-12-31 , 2011-01-01 , 2011-01-02 ,2011-01-10, 2011-03-02,2011-03-01,2011-02-28,2011-03-03,2011-03-05,2012-0-00 " sorted = [*lists].flatten.flat_map{|list| list.chomp.split(/,/)} .map{|e| Date.parse(e.strip) rescue nil}.compact.sort prev = sorted.fir

    slice_beforeで - smilerubyのブログ
    seuzo
    seuzo 2011/01/25
    slice_beforeで連続した日付を範囲形式でまとめる。すごいなあ。
  • hunspell-ffi | RubyGems.org | your community gem host

    seuzo
    seuzo 2011/01/14
    オープンソースのスペルチェッカー&ハイフネーション辞書「hunspell」のためのRubyライブラリ
  • Matzのコメント: DebianのRubyパッケージ管理者をやめちゃった方への - 方向

    DebianのRubyパッケージの管理者をやめちゃった方のBlogが何かと話題になっています。主にRubyコミュニティへの不満、特に日語偏重への不満が溜まっていたようです。 http://www.lucas-nussbaum.net/blog/?p=617 http://d.hatena.ne.jp/karasuyamatengu/20110103/1294014752(和訳・要約) その記事にMatzがコメントしていたので訳してみました。 Although I respect your decision, I think some of your problems could have been improved (or resolved) by communication. Maintaining software is a series of compromise between

  • irbでシンタックスハイライトやキー補完を実現するWirble - 元RX-7乗りの適当な日々

    今更なRubyネタですが、irbでシンタックスハイライトやキー補完を使うには、以下のようにWirbleをgemでインストールすればよい。 $ sudo gem install wirble 次に、"~/.irbrc"を編集して以下を追記します。 require 'rubygems' require 'wirble' Wirble.init Wirble.colorize これだけで、以下のように、irbでのシンタックスハイライトやTabによるキー補完が実現できます。 プロンプトをデフォルトに戻すには Wirbleデフォルトのちょっと味気ないプロンプト(">> ")をデフォルトのものに戻す方法は、コチラで紹介されていました。 "~/.irbrc"の"Wirble.init"の部分を以下のようにオプション指定した形で編集すればOK。 Wirble.init(:skip_prompt => :D

    seuzo
    seuzo 2010/11/14
  • Rubyで上位n件を求める - mjh.日記@渋谷 with TH55

    最近は仕事先以外でコードを書くことが多くなっている。 特にここ1・2ヶ月はパズルとかの問題を解くために実験的に多くの組み合わせの計算をRubyにさせることが多い。このときにしばしば欲しくなるのが「上位n件を求める」機能。配列に設定済みのデータであれば、Array#sortを呼び出した後に配列の先頭を見れば良いのだけど、以下の点が気になる。 上位10件を求めるときに100万件のデータを貯めておいて完全にソートするのはメモリと時間の無駄 Arrayで扱わない無限個のデータには対応できない 例えば、一万個の乱数を求めてその値の上位5件を表示させたいのなら、こんな感じで簡単に取り出したい。(以下、コードはすべてRuby 1.9) topn = TopN.new(5) 1.upto(10000).each do topn << Random.rand end topn.each_with_index

    Rubyで上位n件を求める - mjh.日記@渋谷 with TH55
    seuzo
    seuzo 2010/10/24
  • Rubyがそろそろ一回終わってみるべき10の理由

    いや、Rubyを取り巻く皆さんの生活まで終われとは言ってないですからね。終わってみるべきなのはRubyのコア部分の開発。 1) 百年の大計の欠如 https://twitter.com/yukihiro_matz/status/25168548474 によると、100年や200年続けるべきなんだそうだ。ふーん。100年って言ってみたいだけちゃうんか。200年後といえば人はおろかまつもとゆきひろと面識のある人間すら死に絶えている時期なんだけどな。そこまで続けたきゃどうするればいいか真面目に考えたことあんのかね。日国ですらこの120年で2回も憲法変わってんだぞ。惰性で200年もつわけがないだろ。 2) まつもとゆきひろがスケールしない 御存知の通りまつもとゆきひろのRuby開発に対するコミットペース(ここでいうコミットってのはソースコードをチェックインすることだけではなくて広く「関与」の意

    Rubyがそろそろ一回終わってみるべき10の理由
    seuzo
    seuzo 2010/10/16
    「この場合権限の移譲と分割統治が猛烈に進み、テトラルキアを経てまず東側がビザンツRuby帝国として分離。西側が神聖Ruby帝国と西フランクRuby王国に分離するまで共和制への移行からおよそ1500年」
  • RubyでJPEGファイルのEXIF情報取得 - 日々の報告書

    先週末、友達と4人で石川県に旅行に行ってきて、後日みんなで取り合った写真を交換したんだ。で、いざ写真を時系列で整理しようにも、複数のカメラで撮られたたくさんの写真をEXIF情報を参照しながら並び替えて、名前を変更するのは困難だった。そこで、RubyでEXIF情報を取得するライブラリを調査して、それを使って撮影時刻順に画像ファイルに名前を振るスクリプトを作成したので、そのメモ。 EXIF情報取得用Rubyライブラリ ちょっと調べてみたところ、extexif、exifr、ruby-exifなどが見つかった。このうち、extexifは拡張ライブラリを用いた実装、exifr、ruby-exifはピュアRuby実装。ピュアRubyの方が扱いやすい、かつ、最近でもメンテナンスされている点で、今回はexifrを導入した。 RubyForge: EXIF Reader: Project Info インスト

    RubyでJPEGファイルのEXIF情報取得 - 日々の報告書
  • rubyでsortする対象にnilが含まれてるとエラー - (゚∀゚)o彡 sasata299's blog

    2009年01月30日01:38 Ruby rubyでsortする対象にnilが含まれてるとエラー またrubyのsortではまりました!!以前はまったのはこちら。 今回はまったのはこんな感じのいたって単純なsortプログラムです。 以下のやり方はあまり良くありません。。>< ぜひコメントを参照してください。 #!/usr/bin/ruby array = [1, 4, 5, nil, 2] array.sort!{|a, b| a <=> b } 実行するとこうなります。 sort2.rb:5: undefined method `<=>' for nil:NilClass (NoMethodError) from sort2.rb:4:in `sort!' from sort2.rb:4 完全にエラーですね。。NilClassには<=>メソッドが無いからっぽいです。。(´;ω;`) 調

    seuzo
    seuzo 2010/09/29
    rubyでnumeric sortをする時、数値以外が入る可能性がある場合はa <=> bではなく、a.to_i <=> b.to_iを使う
  • O'ReillyのiPhone AppからEPUBファイルを抽出するRubyスクリプト - いたさんの日記

    404 Blog Not Found:perl - O'ReillyのiPhoneアプリからepubをぶっこぬくを参考に、Ruby版を作ってみるテスト。 #/usr/bin/env ruby def deleteall(delthem) if FileTest.directory?(delthem) then # ディレクトリかどうかを判別 Dir.foreach( delthem ) do |file| # 中身を一覧 next if /^\.+$/ =~ file # 上位ディレクトリと自身を対象から外す deleteall( delthem.sub(/\/+$/,"") + "/" + file ) end Dir.rmdir(delthem) rescue "" # 中身が空になったディレクトリを削除 else File.delete(delthem) # ディレクトリでなければ

    O'ReillyのiPhone AppからEPUBファイルを抽出するRubyスクリプト - いたさんの日記
  • 旧・Macの手書き説明書 - FC2 BLOG パスワード認証

    ブログ パスワード認証 閲覧するには管理人が設定した パスワードの入力が必要です。 管理人からのメッセージ https://mac-tegaki.comへ移転中 閲覧パスワード Copyright © since 1999 FC2 inc. All Rights Reserved.

    seuzo
    seuzo 2010/09/16
    AppleScriptとRubycocoaでサービスメニューにアスクセスできる。
  • Rubyの魔術 数々の“スペル”で高度なプログラミング − @IT

    2010/09/13 元JavaプログラマのPaolo Perrotta氏は、Rubyを使い始めた頃のことを振り返り、こう話す。 「私はJavaの世界からRubyに来た当初、とてもハッピーなプログラマでした。Rubyっていいね、かっこいいじゃん! と。ところが、最先端のイケてるライブラリの中を覗いてみたら、分からないところだらけだったんです……」。 RubyKaigi2010で「A Metaprogramming Spell Book」(あるメタプログラミング魔術の書)と題した講演を行ったイタリア人プログラマのPerrotta氏は、Ruby on Railsのソースコードを覗いてみたときの驚きをこう表現する。 「例えばalias_method_chainというメソッドは、一体どこにあるんだと探しました。どこにあるか分からないんです。こんなことJavaではあり得ません。結局、テキスト検索で発

  • Nokogiri で encoding error - tbrookの日記

    以下のファイルを Nokogiri で解析させるとエラー。 demo-1.html <?xml version="1.0" encoding="euc-jp"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html lang="ja" xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> <meta name="keywords" content="ロ" /> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /> </head> <body

    Nokogiri で encoding error - tbrookの日記
  • Rubyにおける==,===,eql?,equal?の違い - ぬいぐるみライフ?

    どれが何なのかたまに混乱するのでメモ. == オブジェクトの同値性のチェック クラスやオブジェクトの性質に合わせて再定義できる === オブジェクトの同値性のチェック(所属性を加味) case式で使われる クラスやオブジェクトの性質に合わせて再定義できる eql? オブジェクトの同値性のチェック(==より厳密) Hashで二つのキーが等しいかどうかを判定するのに使われる クラスやオブジェクトの性質に合わせて再定義できる 再定義した場合はhashメソッドも再定義しなければならない equal? オブジェクトの同一性のチェック object_idが一致するかどうかを調べる 再定義してはならない 比較表 効果使用場面再定義 ==同値性のチェック同値性のチェック○ ===同値性のチェック(所属性)case式○ eql?同値性のチェック(厳密)Hashキーの比較○(※) equal?同一性のチェック

    Rubyにおける==,===,eql?,equal?の違い - ぬいぐるみライフ?
    seuzo
    seuzo 2010/09/10