http://jp.rubyist.net/magazine/?0022-RubiMaGolf 200.upto(1e3){|v|p -10*v} で 25バイトかなと思ったけど、 ?ネ.upto(1e3){|v|p -10*v} を Shift_JIS で保存して 24 バイト。
『るびま』は、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 直
■ [ruby][event] Ruby/Rails勉強会@関西-21 行ってきた。 久しぶりの神戸で、まつもとさんが来られるということもあって、 初めての方がいつもより多かった模様。また京都や大阪会場にもいらしてくださいね。 最初のセッションのロガーをしたので、ログを以下に貼っておきます。編集中 編集終わりました。長文警報発令中。 ■ [ruby] Rubyでtwitterの新着を読み上げさせてみる 編集中につき小ネタでもひとつ。 Mac の say コマンドがうらやましかったので調べてみた - ema log (2007-12-16) Macにはsayという音声合成で喋ってくれるコマンドがあるのだが、gem install win32-sapi でWindowsでも似たようなことが できるとのこと。ema++ で、ついでなので声を変えられるようにしてみた。 手元では-n 0 はデフォル
■ [ruby][event] Ruby勉強会@関西-16「30分でわかるcallccの使い方」 先週末のRuby勉強会@関西で、Rubyにおけるcallccの使い方について発表させていただきました。 スライド: pdf ppt 継続の説明については「なんでも継続」がよく参照されるんだけど、 ちょっと説明がボトムアップすぎると思うので(僕も最初に読んだときは全然分からなかった)、「callccで何ができるか」という応用面から攻める 構成にしてみました。 最初は「継続かわいいよ継続」「それをすてるなんてとんでもない」と思ってたんだけど、 いろいろ調べてるうちになんでcallccが嫌われるのかが理解できてしまった。callccはかわいいけど、非常に手のかかる奴らしい。 しかも、面白い利用例はいっぱいあるけど実用的な例があんまりないんだよね^^;。 callccが無くなるとRubyの「かっこよさ
PerlのXML::Atom, XML::Atom::Service, XML::Atom::Ext::Threading, AtompubをRubyにportingしてみました。 atompubというネームスペースは既に確保されてた(ネームスペースだけ8月に確保されてて、具体的なファイルやリポジトリは何も無い…)ので atomutilという名前にしておきました。 RubyForge RDoc gem install atomutil まだDocumentやTestが足りず、非常にバギーだと思いますが、試してみたい方はどうぞ。 使い方はPerlのものとほぼ一緒です。詳しくは上のリンクからRDocを参照して下さい。 entry = Atom::Entry.new entry.title = 'My Entry' entry.summary = 'Summary' entry.updated
RubyInject is a Mac OS X framework that allows you to inject at runtime the Ruby interpreter into any running application, using the mach_star∞ mechanism. It will spawn a new thread on the remote process, initialize the Ruby interpreter, start a new DRb server that exposes an expression evaluator object, and advertises the DRb server URI on Bonjour. A client is provided, inject.rb, that waits on
2007年12月05日16:51 by 山崎泰宏 atom-toolsを使ってOpenSocialのサーバサイドを書いてみた カテゴリRubyJavaScript Tweet sparklegate Comment(0)Trackback(1) OpenSocialの勉強も兼ねて、People/Friendsのところだけ少しコードを書いてみた。 勘で書いているので、「なんかちげーよ!」って気付いた人はぜひお教えくだしあ。 route.rb:map.connect 'feeds/people/:id/friends', :controller => 'opensocial', :action => 'feeds_people_friends' map.connect 'feeds/people/:id', :controller => 'opensocial', :action => 'fe
■ [event][prog] LiveCoding#5に出演しました 土曜日に大阪で行われたイベントLiveCoding#5に、 LiveCoderとして出演してきました。 事前に、LivePromoter(※主催者のことらしい)であるujihisaさんから できるだけマニアックな方がいいというオーダーを受けていたので、 Ruby + Javascript + Scheme + Zu という無茶な構成にしてみました(笑)。 *1 BiwaSchemeで 「ず」のインタプリタを作るというテーマだったのですが、 予想外に手間取ってしまい、パース結果をRubyのCGI経由で取ってくるとこまでしか行きませんでした。 解説のnaoya_tさん、Abeさんごめんなさい(><) 敗因 Ajaxのクロスドメイン制約を忘れていた CGIはサーバに、htmlはローカルに置くつもりだったんですが、どちらかに統
OreScript時代の幕開け - yukobaの日記 http://d.hatena.ne.jp/yukoba/20071108/p1 巷で OreScript ブームが巻き起こる中、某所ではさらに局地的に Javascript での言語実装ブーム。 ××さんが ******* を試作したり、西尾さんが python4js を試作したりして、うーむこんなおもしろそうなお祭りは看過できんでわないか。Ruby 成分の多い中谷としてはここはやっぱ Javascript で Ruby かっ!? そういえばだれか Javascript でパーサ書いてはったよなあ。それを使わせてもらえば Ruby の構文木をさっくり得られて、ちょこちょこっとインタプリタ書いたら、FizzBuzz くらいなら動くんじゃないの? という思いついてしまったからには、もう作ってみるしか。 というわけで言った者勝ち(笑)の
東工大の准教授で、Javassist開発者の千葉 滋 先生のゲスト講演 ReflectionとMetaobject(後のAOPである)の歴史 クラスローダの話 と来て、動的言語vs静的言語の比較→落とし所を提供するGluonJというものの紹介をしていました。 静的言語vs動的言語 静的言語 動的言語 Reliability(信頼性) Productivity(生産性) Java,C#… Ruby,PHP…,LISP 型付 型無し 高速実行 マシンは毎年速くなる(から実行速度は遅くても良い) 分析、設計、実装 Rapid Prototyping 大規模チーム 少数精鋭チーム Avoid coding Enjoy coding 静的なJavaでもHotSwapを使えば、すでにロード済みのクラスを再ロード可能だが、 メソッドの中身は変更できても、新メソッド・新フィールドの追加はできない。 そこは
Seasar Conference 2007 Autumnで、千葉先生は言語特性の動的と静的について話したらしい。私ゃ見に行かなかったけど、みんなその話はしてた。あと、 文殊堂さんのレポート を読んだ。 曰く、 ロード時までにクラス書き換えできれば十分じゃないの? うん。Railsはね。だから、私は思っている。みんなもっと Module#freeze を使えばいいのに。……と、リンクしようと思ったらリファレンスマニュアルに載ってないじゃん。riには載ってるけど。そりゃマイナーなわけだ。 Module#freeze するとメソッドの追加削除ができなくなる。だから、VMはfrozen classの利用を検出したらメソッド探索をインライン展開したりとかいう最適化の余地があるんじゃなかろうか。その適切なタイミングを検出させるのは難しくてもあるいは、 GC.start みたいに YARV::Opti
どうもDSLが気持ち悪くて。。スンマセン。 dependencyにRubyInlineの3.6.3があるので、普通にgemやるとエラーが起きます。 % sudo gem install scrubyt % sudo gem install RubyInline --version '= 3.6.3' % sudo gem uninstall RubyInline --version '=3.6.5' なんか間違ってる気がするけど気にせず小さなコードを書いてみた。tumblrのfollowings url list。 #!/opt/local/bin/ruby -Ku require 'rubygems' require 'scrubyt' require 'yaml' login = YAML.load_file('login.yaml') data = Scrubyt::
RDToolを弄ってたら久々にRubyでVisitorパターンを見た。 起源の古いライブラリではVisitorも見るけど、最近のRubyライブラリではあまり多くない気がする。 そう言えばVisitorパターンは GoF には、「継承階層への追加を困難にするかわりに振る舞いの追加を容易にする」と書いてある。 継承階層のノードに応じて様々な挙動をするのは本来は多態性の役目だ。ところが、Visitorパターンではメソッドのシグネチャ自体を変えることによりノードを区別する。ノードを追加するにはVisitorの提供するインターフェースに新しいメソッドを追加しなくてはならないので、追加は困難となる。 一方、違う振る舞いをしたければ違うVisitorを渡せばよい。通常は違う振る舞いをしたかったら継承階層に新たにメソッドを追加しなくてはならなくて、これが再コンパイルをもたらすような言語では巨大な階層にメソ
For engineers by engineersWe recently had a situation where we had to search a big list of 500 million hashes against a list of 40 million hashes. The 500M hashes were stored in flat, unsorted text files on 5 DVDs, so there was no easy way to search that list. The 40M hashes were stored in a MySQL database. Some benchmarking showed that it would take something like 20 days to run every one of thos
今仕事でRailsアプリケーションを組むときに、test/unitじゃなくてRSpecを使ってる。mock周りの使い勝手がいいとか、語彙が馴染みやすいとかいろいろ魅力があるんだけど、その「可読性」を保つにはなかなかコツがいると思う。言うまでもなくRSpecはRubyのコードを「英語の表現として自然に見える」ようにすることを意図して語彙や書き方を決めている。これは英語圏のエンジニアには非常に素敵なことではあるんだけど、英語が苦手で英作文なんて始めて数分で泣きたくなるようなへたれ外国語学部生にとっては正直やっかいだし、周りの人達の大半は英語に慣れていない人達*1だったりするので、せっかく可読性が高い綺麗な表記でさえむしろ意図を理解する妨げになったりする。いっそドイツ語で書いて「お勉強」に活用してやろうかという衝動に駆られたけども、誰一人として読めない上に一週間後の俺ですら理解に苦しみそうなので
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く