Rubyに関するtmtmsのブックマーク (31)

  • Rubyの難読化へのさらなる一歩 - ぬいぐるみライフ?

    RubyではUTF-8文字の変数名を使うことができるということを@fusuianさんとの会話で思い出した. このことを利用すると,以下のように変数名を全角スペースにしてしまうこともできる. # -*- coding: utf-8 -*- = "Hello, world!" puts 読めない. また,どうやらRLO(文字列の順番を右→左の向きにするための特殊文字)も変数名として使うことができるらしく,このようなプログラムも書けてしまう.リンク先のソースではxの直後にRLO文字が入っている.そのせいで当は12345と書いてあるのに54321と書いてあるように見える.これはひどい. これらを使うことでもっと面白い難読プログラムが書けそうだ.

    Rubyの難読化へのさらなる一歩 - ぬいぐるみライフ?
    tmtms
    tmtms 2011/01/10
    誰得w
  • Rroongaで楽しく全文検索!!(RubyでXchatをもっと便利にするシリーズその3)

    今日も引き続きXChat-Rubyでプラグインを作る話である。そろそろ読者の皆さんも飽きて来た頃だろうかと不安を覚えつつも、「書きたいから書くのだ!」という強い信念をもって日もつっ走りたいと思う。さて、前回のエントリでは「自動的に挨拶をするボット」を作成した。実際に利用できるプラグインをどのようにして作成できるかをおおよそご理解頂けたかと思う。(まだ見てない人はすぐにチェックすること!) 今日はもう少し実用的な機能として、XChat上のメッセージを全文検索するためのプラグインを紹介しようと思う。 ※いろいろとツッコミを頂いたので追記しました。 Groonga!!まずは肝心の全文検索エンジンであるGroongaをインストールしよう。GroongaはSennaの後継である。Groongaの正式版は、Groongaのホームページから入手できる。Mecabを利用する場合にはMecabを事前にイン

    Rroongaで楽しく全文検索!!(RubyでXchatをもっと便利にするシリーズその3)
  • コンパイル済みのgemパッケージを作るRubyGemsプラグイン - Blog by Sadayuki Furuhashi

    拡張ライブラリを含んだgemパッケージから、コンパイル済みのバイナリを含んだgemパッケージを作るツールを作りました。 gem-compile@github Windows向けにコンパイル済みの拡張ライブラリを配布したいときに便利です。 コンパイラが入っていない環境に拡張ライブラリを含んだgemをインストールしたいときにも便利です。 実装はRubyGemsのプラグインになっており、インストールするとgemコマンドにcompileコマンドが追加されます: $ gem install gem-compile $ gem compile example-0.0.1.gem Windows向けバイナリgemの作成 MinGW環境でコンパイルすると、x86-mingw32環境向けのgemパッケージが作成されます。 例えば、MinGW環境でmsgpack-0.3.6.gemをコンパイルすると… $ g

    コンパイル済みのgemパッケージを作るRubyGemsプラグイン - Blog by Sadayuki Furuhashi
    tmtms
    tmtms 2010/09/14
    コンパイル済みのgemパッケージを作るRubyGemsプラグイン
  • GitHub製Resqueを使用したRubyでのバックグラウンド処理(バッチ処理) - Masatomo Nakano Blog - Web開発を極める

    そこそこの規模のWebシステムになってくるとバックグランド処理(batch処理)は欠かせないものになってくる。メールの送信、データの日次、月次、年次処理、削除(フラグ)データのpurgeやバックアップ、等々いろいろな物が出てくる。 現在はBackgrounDRbを使っているが、いろいろといまいちなので今回Resqueを評価してみた。ちょっと触った段階での第一印象をメモ。 まず、バッチ処理系で評価のポイントになってくる部分はなんだろうかと考えてみると、なんと言っても見通しのよさと異常系の処理だと思う。画面系と違い、バッチ処理は「見えにくい」ところで実行されるので、その二つが特に大事になってくる。「知らないうちに止まっていました」では困るのがバッチ処理。 たとえば、 異常時の処理無視?管理者に通知?リトライ? 復旧処理タスクの削除(問題を修復後)リトライ 状態の監視いくつのJobが残っているか

    tmtms
    tmtms 2010/08/19
    "「これ系のソフトウェアは使い方が難しい」という前提で、気合を入れて調査を始めたのだが、Resqueは非常に簡単だった"
  • [ruby-list:47278] RejectKaigi 2010 開催のお知らせ [ 8月29日(日)]

    tmtms
    tmtms 2010/08/02
    RejectKaigi 2010 開催のお知らせ
  • [ruby-list:47207] [ANN] Ruby 1.9.2RC1リリース

    Subject: [ruby-list:47207] [ANN] Ruby 1.9.2RC1リリース From: "Yuki Sonoda (Yugui)" <yugui@ g . > Date: Fri, 2 Jul 2010 20:15:45 +0900 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 こんばんはYuguiです。 Ruby 1.9.2 RC1をリリースしました。これはRuby 1.9.2のリリース候補です。 Ruby 1.9.2は下記を除いておおよそ1.9.1と互換となります。 * 多くの追加メソッド * 新しいsocket API (IPv6サポート) * 新しいエンコーディング * 幾つかの乱数生成をサポートするRandomクラス * 再実装されたTime。2038年問題は解消しました。 * いくつかの正規表現拡張 * $

    tmtms
    tmtms 2010/07/02
  • 長野県塩尻市立図書館の情報システム、「ルビー」使い導入費半減(ICT構築最前線) | NFC & Smart WORLD

    三セクが開発、期間も半分 長野県塩尻市立図書館が4月から稼働させた情報システムが、全国の自治体の注目を集めている。基設計を無償公開するオープンソースのプログラミング言語「ルビー」を使って開発したソフトを活用して、以前に比べシステムの導入費用を大幅に抑えたのが特徴だ。税収減などで地方財政の厳しさが強まる中、公共図書館情報システムの一つのモデルとなる可能性もある。 図書館情報システムは、職員が日々の業務で用いる基幹システムと、住民らが自宅のパソコンなどを通じて利用する蔵書検索システムで構成。の貸出・返却、予約・照会、蔵書・利用者の管理など図書館に関するありとあらゆる業務をカバーする。 富士通やNECといった大手IT(情報技術)企業のシェアが高いとされる分野だ。 しかし、塩尻市立図書館が発注先に選んだのは、まちづくり三鷹(河村孝社長)という東京都三鷹市の小さな第三セクターだった。まちづくり三

    長野県塩尻市立図書館の情報システム、「ルビー」使い導入費半減(ICT構築最前線) | NFC & Smart WORLD
    tmtms
    tmtms 2010/05/24
    「ルビー」ゆーな
  • RubyでEvent-DrivenなWebプログラミングを楽しむ環境が整ってきた件 - Tous Les Jours 攻防記

    という題で、RubyKansai勉強会#43で発表させていただきました。 使用したスライドは以下です。 Async Programming on Ruby View more presentations from Kazki Matsumoto. 発表でも紹介しましたが、非同期WebフレームワークであるCrampがすごく使い易い。使い方については以下のチュートリアルが参考になります。 http://m.onkey.org/2010/1/7/introducing-cramp また、非同期Webフレームワーク上から利用するための、ロックしないGearmanクライアントをEventMachine上で実装しています。 http://github.com/KazkiMatz/em-gearman-client ひどく荒削りな状態ですが、お役に立てば。

    RubyでEvent-DrivenなWebプログラミングを楽しむ環境が整ってきた件 - Tous Les Jours 攻防記
    tmtms
    tmtms 2010/05/19
  • Rubyの黒魔術

    NSEG第1回勉強会 http://kokucheese.com/event/index/1654/ で発表したネタRead less

    Rubyの黒魔術
    tmtms
    tmtms 2010/03/15
    タイトルで期待して中身でがっかりした人、ごめんなさい。
  • RspecとCucumberでTDD/BDDを極める (The Rspec Bookの紹介) - Masatomo Nakano Blog

    の紹介第2弾。少し前、Twitter上でTDD/BDDについて盛り上がっていたので、このを紹介してみたくなった。 「The Rspec Book: Behaviour Driven Development With Rspec, Cucumber, and Friends」という。 このは、RspecとCucumberを使い、どう考え、どうシステムを作っていくか、というをチュートリアルを交えながら紹介する構成になっている。 ただUnit Testを紹介するだけではなく、Unit TestツールであるRspecに、BDDツールであるCucumberを組み合わせて使うことで、Unit Testでカバーできない部分をCucumberで補い開発をする、というところがこのの肝になっている。 このを読み、実践することで、Unit Test*だけ*を書いてシステムを作っているときのモヤモヤ感

  • RubyがPHPに勝つにはメソッド呼び出しのための新しい演算子が必要 - kなんとかの日記

    PHPerがRubyを触り始めて最初に不機嫌になるのは、空文字列が偽ではないことだ。つまり、PHPなら「if ($var)」で済むのが、Rubyだと「if !var.empty?」と書かなければならない。これでPHPerは不機嫌になる (まあ気持ちは分かる)。 if ($var) ... # PHP if !var.empty? ... # Rubyそれだけならいい。もし値がnilである可能性があるなら、Rubyでは「if var && !var.empty?」と書かなければいけない。この時点でPHPerは不機嫌どころかブチ切れる。なんでこんなに書かなきゃいけないんだ!? PHPなら「if ($var)」で済むのに!! SHIIIIT!! if ($var) ... # PHP if var && !var.empty? ... # Rubyここで、「空文字列が偽になるような言語仕様こそク

    RubyがPHPに勝つにはメソッド呼び出しのための新しい演算子が必要 - kなんとかの日記
    tmtms
    tmtms 2010/02/01
    どこまで本気かわからない。釣りっぽいんだけど…。 obj.to_s.empty? じゃダメか。
  • Ruby の開発環境として ZenTest(autotest)を入れた - すがブロ

    この間 BPStudy#29 に参加してきました BPStudy - connpass そこで TDD とペアプロを行なってきました。 やってみた感想 TDDに関しては、言われた通りの事が実感できました。 たとえば、テストを書く時点でインターフェイスについて考えるとか。 ただ、絶望的な問題があった テストを実行するのが面倒という点。 編集する→テスト(テストコマンドを実行)する、というのはまったくもって刺身たんぽぽな作業であり、DRYですらない。 で、以前からZenTest というのは聞いていたので、その環境を構築しておくべきだった、と痛感した。 なので、環境をつくってみたよ autotest による RSpec の自動テストと、その結果を Growl に通知するように設定しました。 gemのインストール sudo gem install zentest sudo gem install

    Ruby の開発環境として ZenTest(autotest)を入れた - すがブロ
    tmtms
    tmtms 2010/01/31
  • [cucumber] cucumber-0.5.0へ上げるときの注意点 - ヽ( ・∀・)ノくまくまー(2009-12-21)

    ● [cucumber] cucumber-0.5.0へ上げるときの注意点 0.4.4 から 0.5.0 では以下の変更があり、featureファイル等を修正する必要があります。(0.5.0 は 2009-12-15リリース) 1. 多国語対応機能の変更 2. Rails サポートの分離 1. 多国語対応機能の変更 "--language / -l" オプションが廃止されました。これからは、"cucumber -l ja ..." と明示する代わりに、featureファイルにマジックコメントとして埋め込みます。

  • 日本Ruby会議 2010, 8月27日〜29日

    お知らせ 日Ruby会議2011「最後のRuby会議」は7月16日〜18日の3日間、練馬文化センター(東京都)で開催予定です。 日Ruby会議2010は全ての日程を終了いたしました。ご参加いただいた皆さま、ありがとうございました。 今後の参考にしたいためアンケートにご協力ください。 参加者向け情報とフロアガイド(PDF)を公開しています。 参加者の皆様へ: 入場に関する以下の情報を今一度ご確認ください 一般参加チケット・個人スポンサーチケットをお持ちの方の日Ruby会議2010編受付方法について 懇親会チケットを購入された方の日Ruby会議2010公式懇親会受付方法について イメージイラスト公募結果とおまけページを公開しています。 日Ruby会議2010に海外から参加するRubyistのためのメーリングリストを用意しました。海外からRuby会議2010に参加する方はもとより、海

    tmtms
    tmtms 2009/11/07
    RubyKaigi 2010 はつくばで 8/27-29
  • Video: 84-Year-Old Volunteer Rebuilds, Sends Linux Laptops to Africa - Linux.com

    Retired pastor James Anderson, age 84, has never worked in IT or had any formal computer training, but over the past two years he has rebuilt more than a hundred IBM ThinkPad laptops and sent them to schools and nonprofits in Africa – all running Linux. For the past nine years, Anderson has volunteered at FreeGeek, a Portland, Oregon-based nonprofit that recycles and rehabilitates old computers fo

    Video: 84-Year-Old Volunteer Rebuilds, Sends Linux Laptops to Africa - Linux.com
    tmtms
    tmtms 2009/10/30
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

    tmtms
    tmtms 2009/10/25
    ROMA
  • Route 477 - gemcutterの使い方まとめ (2009年秋)

    ■ [haskell] モナドって結局なんなの 社内勉強会でモナドについて発表しました。分かった気がするたびにすぐに手からすりぬけてしまう、それがモナド…! 追記: モナドそのものが何なのかとか考えないほうがいいんじゃないですかね! [Twitter / いーぐるとまとより引用] まさにその通りだと思います(笑)。IOの使い方、Maybeの使い方、Stateの使い方などを押さえておけば、 中がどうなってるかなんて知らなくても大丈夫。 でも、モナドの持つ「なんか秘技がありそうな感じ」が、中を覗いてみたくさせるんですよね。 この、どこまで掘っても自分の知らないことが出てくる感じがHaskellの魅力なのかも。 Haskell の当にすごいところは、「なぜなに」を問いかけることでいつまでもプログラマが成長できるところにある。 [ふぁぼったー / ikegami__より引用] 一問一答 Q. モ

    Route 477 - gemcutterの使い方まとめ (2009年秋)
  • 開発コアメンバが語るRubyの今とこれから(前編) - @IT

    Ruby 1.9は移行準備オッケー @IT yuguiさんは、2009年2月のDeveloper's Summitの講演で、そろそろRuby 1.8系から1.9系への移行を始めるべきだと主張されてましたね。 園田裕貴氏。裕貴のピンイン表記である「yugui」のハンドル名で知られている。Ruby 1.9系統リリースマネージャで、Rubyコミッタ。1981年生まれ。著書に『初めてのRuby』(オライリージャパン)がある。最近はRailsアプリケーションをよく書いているという yugui ええ、一般のRubyユーザーはRuby 1.9への乗り換えは慎重にという立場の人もいますけど、私はそろそろ移行を考える時期だと思います。 @IT もう1.9に移行してもオッケーだと。 yugui もう根的な仕様が変わることはないという意味でオッケーです。2007年12月に出た1.9.0は、仕様が煮詰まっていな

    tmtms
    tmtms 2009/07/26
  • Martin Fowler's Bliki in Japanese - ThoughtWorksでのRuby

    以下の文章は、Martin FowlerによるRuby at ThoughtWorksの日語訳である。 ThoughtWorksは、2006年から格的なプロジェクトRubyを使い始めた。2008年の終わりまでには、Rubyプロジェクトの数は41個になった。この経験から我々は何を学んだのか。QConの講演に備えて、私は調べてみることにした。ここでは、Rubyの生産性、スピード、保守性など、よくある質問に対する現時点での我々の考えについて述べていく。現時点での我々の結論としては、Rubyは十分に使えるプラットフォームであり、様々な形態のアプリケーションに利用することを真剣に考慮すべきである、というものだ。特に、Ruby on Rails を利用したWebアプリケーションにおいてはそうである。最後に、Active Record のテスティングに対する考えなど、技術的な教訓についても触れる。

    tmtms
    tmtms 2009/06/16
  • Ruby 1.8.7 - Bug #1556: irb does not save history from 1.8.7-p83 and later - Ruby Issue Tracking System

    けいじゅ@いしつかです. ruby-1.8.7 系のバグのような気がします. ファイナライザーが呼び出されな いような? 下記のプログラムで, --- obj = Object.new def fin proc{p 1} end ObjectSpace.define_finalizer(obj, fin) #obj = nil -- 1.8.7最新版のみファイナライザが実行されません. 他の, 1.8.8, 1.9系は呼 ばれます. ちなみに obj = nil を入れると呼び出されるので, その辺りの問 題では? In [ruby-dev:38563] the message: "[ruby-dev:38563] [Bug #1556] irb does not save history from 1.8.7-p83 and later", on Jun/02 21:47(JST) No

    tmtms
    tmtms 2009/06/06
    1.8.7 はファイナライザが効かない