RubyGems.org is the Ruby community’s gem hosting service. Instantly publish your gems and then install them. Use the API to find out more about available gems. Become a contributor and improve the site yourself. RubyGems.org is made possible through a partnership with the greater Ruby community. Fastly provides bandwidth and CDN support, Ruby Central covers infrastructure costs, and funds ongoing
http://github.com/technohippy/Pongo/tree/master 先週のRubyKaigi2009で「Rubyで*1何か作りたい欲」を激しく刺激されたので、前から欲しかった物理エンジンをRubyに移植してみた。本気アプリならChipmunkのRubyバインディングでFAっぽいけど、ピュアRubyのもあればあったで嬉しいっしょ。 物理エンジンと言えば前にBox2DのAS3版をJSに移植したことがあるんだけど、Rubyの場合はJSみたいに単純に置換ってわけにいかないから難度高すぎ。30分ソース眺めて諦めた。で、もうちょっとシンプルそうなエンジンということで移植のターゲットとしてはAPE (Actionscript Physics Engine)を選択。ちなみに今回は置換じゃなくてちゃんと目視&手打で移植したっす。 移植してみて分かったのは、APEはホントにシンプル
空から何かが降ってくるので、カーソルキーで左右に移動してよける。スペースキーでジャンプ。3回当たったら終了。まるで横スクロールみたいだけどスクロールしません。どこにも行けないし何も起きません。ゲームと呼ぶには楽しくなさ過ぎるわけですが、せっかく物理エンジンを移植したので、とにかく何かそれっぽいことに使ってみたくて・・・。 とりあえず背景とキャラクタに画像を表示して、キー操作に応じて動かして、衝突を判定するところまではわりと簡単ということが分かった。根性さえ見せればまともなゲームを作るのにも使えなくはないかなと。 触ってみたいという奇特な人がいたら、ここからソース落として来て $ shoes sample/shoes/game.rbで実行できます。なお上のコマンドを見れば分かるように、要Shoes2。いやーShoesでGUI作るのはホント楽でいいっす。さすがwhyプロダクツ。 ちなみに、これ
http://github.com/technohippy/Pongo/tree/master あとなんかいろいろとバグがあったので修正。目視・手打で移植すると当たり前だけどいろいろ間違えるっすね。p1とp2、一文字違いに気づくのに2日かかって心が折れかけた・・・。 ともあれ、これでLinuxな人はRubyさえあればあとは何もインストールしなくても物理エンジン試せるはずなのでぜひぜひ。 ついでに本家にあったCarDemoも移植。AS3版についてくるデモが二つとも動いたので、たぶん致命的なバグは残ってないんじゃないかなと。 ちなみに前回Shoesで書いた例をRuby/Tk用のレンダラ使って書き直すと、こう。 require 'tk' require 'pongo' require 'pongo/renderer/tk_renderer' require 'pongo/logger/stand
Rubyパッチ袋 まあ、おまえらもmatz基調講演を聞いて「意外にも思いつきではなくちゃんとパッチが管理されている」ことに衝撃を受けたことだろう(実は前から日記とかで言及されてはいたが)。あれを見てそろそろgit使い始めようかとか思いだしたかもしれない。しかし、じゃあといってRubyのレポジトリをgit svn cloneしようとすると果てしなく時間がかかる(ネットワーク状況などにもよるが30時間くらい?一日以上なのは確実)ので、多くの人はここでめげてしまう。 ところが案外知られていないけどgit-svn(1)は実はよくできていて、git svn cloneってのは毎回みんながやる必要はなくて、本当はだれかがどこかで一回やればいいのである。他の人はそいつをgit cloneすればいいの。その誰かさんのgitレポジトリってのはみんなが見れるところにないといけないわけだが、そこはもちろんgit
PostGISとRubyをsequelでつなぐとシンプルで気持ちがよいです。 sequel をインストール sequel というのは、the database toolkit for ruby という名前を持ち http://sequel.rubyforge.org/ でホストされているプロジェクトです。次のようにしてインストール可能です。 sudo gem install sequel コマンド sequel でデータベースにアクセス sequel をインストールすると sequel というコマンドラインツールが動かせます。psql よりもモダンで、簡単であるように感じます。d:id:hfu:20090616 の規約に従うと、次のような感じで動かすことができます。 $ sequel postgres://happier:more_productive@localhost/fitter Y
以前作成したRuby Script Chrome Extension Packaging Script - 枕を欹てて聴く を整理してgemにし, 公開しました. Constellation's crxmake at master - Github http://github.com/Constellation/crxmake/tree/master install gem取得先にgithubを登録していない場合, gem sources -a http://gems.github.com として, sudo gem install zipruby sudo gem install Constellation-crxmake とすることでinstallできます. githubがgem作ってくれなくなったのでgemcutterに移行しました. gem取得先にgemcutterを登録していない
d:id:hfu:20090716 の続きとして、基盤地図情報パーザーを改善しました。 改善項目 改善項目は、次のとおりです。 XML を読む部分で、REXML::StreamListener を使っていたが、基盤地図情報が Shift_JIS で書かれているためか、REXML::ParseException が発生することがあった。速度の向上も期待して、nokogiri を使用するように変更した。 ZIP ファイルの中でフォルダを作成してデータが格納されているパターン(FG-GML-03201-ALL-Z002.zip)が発見されたので、この場合でもデータを読むように変更した。 現在読んでいる ZIP ファイル中のファイル名称から、Parser#city_code, Parser#type, Parser#dev_date, Parser#serial を読めるようにした。 改善後 #
少し前のエントリで、GAE/JRuby上でRackアプリを動かす手順を書きました。 Google App Engine上でRubyアプリを動かす手順 - しばそんノート このときの手順は、Java SDKをインストールして、GAE SDKをダウンロードして、jruby-complete.jarをコンパイルして…と、やや煩雑なものでした。この当時はおそらくこれが一般的な手法だったのではないかと思います。 しかし、今や時代は変わりました。今GAE/JRubyでRackアプリを作るのに必要な作業は、たったひとつのgemのインストールだけです。 GettingStarted - appengine-jruby - Getting Started with JRuby on Google App Engine - Project Hosting on Google Code 有志によってGAE/JR
jeweler とは rubygems 作成支援ツールとでも言えば良いのでしょうか。 こいつ自体は gem install jeweler でインストールできます。 くわしくは Route 477 - gemspecの作り方がわからない?ならばjewelerだ 前提条件 このエントリを読む人は以下を満たしていると良いかもしれません github にアカウントを持っている(もってない人はさっさと取ってきなさい) jeweler がインストールされている rubygems でインストールさせるライブラリ等を作りたい github 用の プロジェクトのスケルトンコードの作成 まだ github のプロジェクトは作っていないので、jeweler に作ってもらいましょう。 jeweler のオプションに --create-repo オプションを追加すると、スケルトンコードの他に github 上のリ
Arduinoネタは、まだまだ続く。 Arduinoの出力先としてProcessingもいいが、Rubyで取れるようにしておいた方が、ファイル出力したり、Webに流し込んだりが楽そう。高価なEthernet Shieldに頼らなくても済むし。 ところで、環境は最近買ったMac Book(Mac OS X 10.5.7)で開発環境もスッカラカンだったので、そこから始める。 rubygemsを1.2以降にする ruby-serialport 0.7.0のREADMEを見たらgemでインストールする方法が書いてあるのだが、Mac OS X(10.5.7)に最初から入っていたgem 1.0.1でインストールしようとしたら、1.2以降を要求されたので、まずgemのアップデートから始める。 sudo gem install rubygems-update 上記コマンドで1.3.4になった。 もしgem
RubyKaigi2009 お疲れ様でした! スタッフをはじめ、皆様どうもありがとうございました! さて、僕は今回 RejectKaigi にて「require 'php'」というタイトルで発表いたしました。内容は以下のような Ruby プログラムを実現するライブラリの紹介です。 p 42 == '42' # => false require 'php' p 42 == '42' # => true 開始早々にトラブルが起きて*1プレゼン資料が表示できず、デモだけで強引に乗り切りました。しかしながら、スライドを用いないで発表することでむしろ良かったなあと思える点があって、それは、我々の共通語である Ruby 語のみを用いることで、自ずと国際的な発表になったんじゃないかなあということです。海外の方からも「病的だ」「身の毛もよだつ」という評判をいただきました。ありがとうございました。 php.
まず、リスト1のようにJRubyから呼び出されるJavaのクラスを作成します。今回は「c:\work\jruby_sample\sample」以下に配置します。 リスト1:SamplePerson.java package sample; import java.util.Map; public class SamplePerson{ private String name; private int age; private Map items; public void setName(String name){ this.name = name; } public String getName(){ return name; } public void setAge(int age){ this.age = age; } public int getAge(){ return age;
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く