Windows上で、Rubyから外部プロセス*1を起動〜終了監視する方法のメモ。 Windowsでプロセス起動〜終了制御を行うならwin32-processが便利。 しかしこれはノンブロッキングモードをサポートしておらず、終了監視メソッドwaitpid()はスレッドをブロックしてしまう。例えばDRbの内部で使うと、起動したプロセスが終了するまでDRb全体が応答しなくなる。それは困る。 そこで、Win32APIを直接呼び出してプロセスを制御することで回避。 require 'rubygems' require 'win32/process' require 'windows/synchronize' require 'windows/process' require 'windows/handle' include Windows::Synchronize include Windows::
「ふぁぼられったー for Mac」をWindowsでも動かしてみるため、Windowsな環境にnokogiriをインストールしようとしたら、盛大にハマってしまった。 以下そのメモ 環境 WindowsXP SP3 ActiveScriptRuby 1.8.7 (patch level: 72) な環境でnokogiri(1.3.2)を動かした記録 nokogiriのインストール gem install nokogiri -rでインストール。 一度、libxsltが無いと言われて cyg-apt で libxslt-devel をインストールしたが、うまくいかず、結局手作業でインストールしたらインストールできた。このあたりの手順は省略。別エントリとして起こすつもり。 <追記> Cygwinでは、cyg-apt でのlixml2-develとlibxslt-develパッケージをインストール
Rubyスクリプトをexeにできる。 試しにRuby本体もgemもアンインストールしてみたが動いたので、exe内にruby本体とrequireしたファイル全てが収まっているみたいだ。 少し古いけどRuby on Railsをexe化する記事もあったので、使い道があるんじゃないですかね。 RubyScript2Exe – A Ruby Compiler から、rubyscript2exe.rb をダウンロードしてきてexe化したいrubyスクリプトと同じディレクトリに置く。 今回は試しにfeed-normalizer – 橋本詳解をexe化してみる。 引数で渡したURLのRSS/Atomフィードを表示する簡易Feedリーダー。引数なしではこのblogのfeedを読み込む。 rss.rb として保存(Windows用に出力文字コードだけshift_jisに変更した) require 'ruby
日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。
意外と知られていないかもしれない、rubyからわずか3行でダイアログボックスを表示する方法。ただしWindows限定。 Win32OLEという標準添付のライブラリを使ってWindowsのシェル(WSHShellオブジェクト)を操作します。 rubyから3行でダイアログ 最低限必要なのはこれだけ。 require 'win32ole' wsh = WIN32OLE.new('WScript.Shell') wsh.Popup("3行でダイアログ") 実行するとこうなる。 ダイアログを表示 オプションとしてダイアログのタイトルや、ボタンとアイコンの種類も設定できます。詳しくはMSのWSH解説ページをご覧あれ。 RubyでGUIというとRuby/Tkなどが有名ですが、別途Tcl/Tkのインストールが必要であったりして若干不便。 単純にダイアログを表示する程度であればWSHも活用できるのではないか
http://www.atok.com/useful/developer/api/ ATOK ダイレクト API が公開され、Ruby/Perl で ATOK プラグインが作れるようになったので、早速簡単かつ何でもできるプラグインを作ってみました。 http://rails2u.com/misc/atok_plugin_ruby_eval.zip セットアップし、ATOKダイレクトAPIがつかえ、Ruby の実行環境があると、ATOK で入力中に Ctrl + Insert で Ruby の実行結果が変換されて返ってきます。たとえば電卓っぽくりようしたいときには 24*24と入力したときに Ctrl+Insert を打つと 576な文字列が返ってくるので、電卓としてつかえて便利! また 'korehabenri'.split(//).join(' ')をCtrl+Insert で変換すると
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く