タグ

Rubyに関するyzxのブックマーク (9)

  • Ruby で Pxem を動かせるライブラリを書いた - wktk's diary

    たしか 1 ヶ月くらい前に書いたんだけど忘れてた。 Ruby から Pxem を実行できる RPxem というライブラリを書いて公開した。 https://github.com/wktk/rpxem https://rubygems.org/gems/rpxemRubyGems です。 使い方 コマンドラインから `gem install rpxem` でインストールできる。 すると、下のように rpxem というコマンドが使えるようになる。 $ touch "Hello, world!.pxe" $ rpxem "Hello, world!.pxe" Hello, world! C++家インタプリタ、pxemi (pxem) と同じように使えるはず。 Ruby からも使える。 require "rpxem" RPxem.run("Hello, world!.pxe") 思った

    Ruby で Pxem を動かせるライブラリを書いた - wktk's diary
    yzx
    yzx 2012/12/29
  • Rubyとメモリリーク

    DoRuby! (ドルビー!) は現場のエンジニアによる、主にRubyなどの技術に関する様々な実践ノウハウを集めた技術情報サイトです。 ある日、mongrelプロセスのメモリ使用量を何となく見ていたところ、 同じ処理をしている他のサーバのものと明らかに違う数値を出していた。 これってもしかして、メモリリークってやつ? 言葉はよく聞くけど、自分自身があまりこれに悩まされた事がなかったため、 今回、ちゃんと正面から向き合う事にした。このメモリリークってやつに。  1. メモリリークとは? 今更だけど、要は使用可能なメモリ容量がどんどん減っていくこと。 アプリケーションが処理のために使ったメモリは、使い終わったら解放される のが普通だけど、これが何らかの理由で解放されずに残ってしまう事を言う。 借りたものを返さない・・・・どこの世界にも不適な輩はいるらしい。 勘違いしがちなのは、メモリをいっぱい

    yzx
    yzx 2012/03/20
  • Rubyistよ、irbを捨ててPryを使おう | Webシステム開発/教育ソリューションのタイムインターメディア

    Pryは結構前からgithubのリポジトリを追いかけている人達には認知されていましたが、RailsCastsでも紹介されたことから、Ruby界で一気に広がりを見せています。 ちなみに発音はpra'i(ぷらい)です。英単語で「覗く」などを意味します。 今回はそんな便利なPryについて少し紹介したいと思います。 Pryはirbの代わりになるREPL Pryを一言で説明すると、irbと同様にREPL環境を提供してくれます。 では、さっそくインストールしてみましょう。

    Rubyistよ、irbを捨ててPryを使おう | Webシステム開発/教育ソリューションのタイムインターメディア
    yzx
    yzx 2011/12/26
  • Ruby で DNS サーバを自作する - diary of a madman

    プログラマブルな DNS サーバが欲しくなったので、スクリプト系言語で DNS が実装できるかどうか調べてみた。 Perl であれば、CPAN に Net::DNS::Server というモジュールがあるので、これを使えば簡単に DNS サーバが実装できるようだ。 また、既存の実装では DNS Balance が「Ruby で実装された DNS サーバ」だということが分かったが、コードを見たところあまり流用したくなるような内容ではなかった。 そこで、RFC 1034, RFC 1035 を読みつつ*1、Ruby で自作してみることにした。 で、初版として作ったのが以下のプログラム。 require 'rubygems' require 'Net/DNS' require 'socket' sock = UDPSocket.new sock.bind('localhost', 10053)

    Ruby で DNS サーバを自作する - diary of a madman
    yzx
    yzx 2011/06/18
  • 僕たちが待ち望んでいた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/に移転しました
  • Rubyソースコード完全解説 / 青木峰郎

    $Id: index.html,v 1.6 2004/07/20 23:08:12 aamine Exp $ この文書は書籍『Rubyソースコード完全解説』のHTML版です。 ただし初校段階の原稿をベースにしているため、 書籍では修正されている間違いが残っている場合があります。 予め御了承ください。 2004-02-16 に全章を公開しました。 目次 まえがき 序章 第 1 部「オブジェクト」 第 1 章「Ruby言語ミニマム」 第 2 章「オブジェクト」 第 3 章「名前と名前表」 第 4 章「クラス」 第 5 章「ガーベージコレクション」 第 6 章「変数と定数」 第 7 章「セキュリティ」 第 2 部「構文解析」 第 8 章「Ruby言語の詳細」 第 9 章「速習yacc」 第 10 章「パーサ」 第 11 章「状態付きスキャナ」 第 12 章「構文木の構築」 第 3 部「評価」 第

  • rubyのスタックオーバフローに対処する - 2008-11-16 - 未来のいつか/hyoshiokの日記

    rubyのバグ(d:id:hyoshiok:20081106#p1)でsigsegvでrubyが異常終了するという話を書いた。その続き。 BINARY HACKSのHACK #76(pp. 291-300)、"sigaltstackでスタックオーバフローに対処する"が参考になりそうだ。 ということでsigaltstack(2)を使うというところを写経してみた。BINARY HACKSによれば、スタックオバーフローでSEGVした場合、通常のsignal(2)やsigaction(2)で処理することはできない。というのはスタックオバーフローした場合シグナルハンドラーを動かすスタックすら確保できないかららしい。なるほどね。そのため、スタックオバーフローを捕捉するために代替シグナルスタックを設定する必要がある。それには、sigaltstack(2)を使う。 http://www.linux.or.

    rubyのスタックオーバフローに対処する - 2008-11-16 - 未来のいつか/hyoshiokの日記
  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

    yzx
    yzx 2008/02/04
  • まつもと×笹田、Ruby 1.9を語る ― @IT

    2007/12/25 「そういえばあのretryの話、どう思う?」、「誰も使ってないから害悪が多いっていう話は説得力ありますよね」、「じゃあなくすか……、うん、なくしといて」、「あ、決まっちゃった(笑)」――。 まつもとゆきひろと、笹田耕一。いま、世界が注目するプログラミング言語「Ruby」の生みの親と、開発コアメンバーの2人は、こともなげにRubyの仕様を記者の目の前で変更してしまった。Rubyの開発はどのように行われ、どこへ向かおうとしているのか。現行のバージョン1.8系から大きく様変わりする次期開発版「Ruby 1.9」のリリースを12月25日に控えた2人に、師走の秋葉原で話を聞いた(文中、敬称略)。 Rubyの仕様は密室で決まる!? 冒頭に紹介した2人の会話は、「retry」というRubyの文法の2種類ある使い方のうち、これまでほとんど使われた形跡がない方を文法仕様から取り除くかど

  • 1