2007-10-01から1ヶ月間の記事一覧

gemのリポジトリが更新されない…

yahoo_jp_transitとtextwrapをバージョンアップしてRubyForgeに上げたんだけど、リポジトリのほうはまだ更新されてない。 まさか手作業でリポジトリの更新をやっているわけではなさそうだけど、いつ・どうやってリポジトリの更新が行われているか、よく分か…

組み込みのサンプル

LUA

ちょっとしたサンプル。2chの書き込みから。 #include <stdio.h> #include "lua.h" #include "lualib.h" #include "lauxlib.h" int main() { lua_State *L = lua_open(); luaL_loadstring(L,"function f(x, y) return x + y end"); lua_call(L, 0, 0); lua_getglobal(</stdio.h>…

AoR: ふりかえり

賞は頂いたけど、反省点も多いので振り返り。 正直、ShootingStarを使った作品が少なかったのが、受賞の要因じゃないかなぁ…と思う。講評でも今後に期待とのことだったし。 もっぱら一人で作ってて、ぜんぜんフィードバックを受けなかったのはイクナイ! 他…

link: 人名を冠したソフトウェア開発の19の法則

WEB

http://www.yamdas.org/column/technique/19laws.html

yahoo_jp_transit: Webサイトをアップ

http://yahoojptransit.rubyforge.org/ とりあえずrakeを使ってリリースとWebサイトのアップ。 ↓を参考にした。 http://eto.com/d/CreateRubyGemsPackage.html http://d.hatena.ne.jp/bellbind/20070605/1180979599 gemの名称とunix nameが違ったりして、少…

無理やり名前空間をネストする

クラス定義の柔らかさに依存するのってよくないよなー。 m = Module.new m.module_eval('class Foo; end') p m::Foo 文字列の変わりにブロックを使うと、スコープを共有しているせいか、トップレベルにFooが定義される。

小さな世界

小さな世界 (バーズコミックススペシャル)作者: 小路啓之出版社/メーカー: 幻冬舎コミックス発売日: 2007/09/22メディア: コミック購入: 2人 クリック: 23回この商品を含むブログ (33件) を見るイハーブの生活から5年かー。作風は相変わらず。 かげふみさん…

link: X41T…Officeでファイルを開くと待たされる

http://www.proteus.jp/MT/archives/2006/0726_1041_3393.php とりあえずOFFにした。

カレントの要素と次の要素で配列をまわす

つまりこんな感じ。 a = [1, 2, 3] a.zip(a.slice(1..-1)).each do |i, succ| puts "#{i} -> #{succ}" end 以前、はてブにあがっていたような。。。

"module private"な変数・メソッド

まれに欲しくなる。 > "module private" http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/41815

textwrap 0.1.1

http://rubyforge.org/projects/textwrap/ ~$ gem search -r textwrap *** REMOTE GEMS *** textwrap (0.1.0) Text wrapping and filling library like Python textwrap module.とりあえず、日本語に対応。 $KCODE = 'u' require 'textwrap' include Textwra…

AoR: Comet賞・審査員賞

http://rails.drecom.jp/award2007 AoRでComet賞と審査員賞を頂いた。わーい。 目録と副賞。 部屋がちょっと洗剤臭い。。。

content? contents?

http://q.hatena.ne.jp/1193281945 content派多し!ということでcontentに統一しようっと。 でも、Sticky Plus!はcontents…直すかなぁ。

明示的にロールバックする。

transaction do |transaction| david.withdrawal(100) mary.deposit(100) transaction.rollback! # rolls back the transaction that was otherwise going to be successful end

BackgrounDRbのスレッドまわり

new_worker()はBackgrounDRb側のプロセスで実行される。 ぱっと見る限り、スレッドが並列して動くように見える。 各ワーカはスレッドセーフになるように気をつける必要があるのかな? def new_worker(opts={}) @mutex.synchronize { job_key = opts[:job_key…

3桁区切り

"10000000".scan(/(\d+?)(?=\d{3}*$)/).join(",") #=> "10,000,000"

例外を整形する

すでに別の関数が用意されていそうな気もする。 def format_exception(e) backtrace = e.backtrace head = "#{backtrace.first}: #{e.message} (#{e.class})" rest = backtrace.slice(1..-1).map {|i| "\tfrom #{i}" } ([head] + rest).join($/) end def foo…

レシーバを変える

f = lambda do p self end f.call String.new.instance_eval(&f) String.module_eval(&f) main "" String追記 レシーバにかかわらず、コンテキストは憶えている…と。 def make_f a = 100 lambda do p self p a end end f = make_f f.call String.new.instanc…

tag cloud

ぱっと見で「なにが流行っているのか?」を知るにはいいとも思うけど、インデックス的なインターフェースとしては使いやすいのかなぁ?

yahoo_jp_transit 0.1.1

http://rubyforge.org/projects/yahoojptransit/ 駅名検索をできるようにした。 しばらくしたら、0.1.1がgemでインストールできるようになるはず。 yahoo_jp_transit (0.1.0) Scraping library for Yahoo! route information.(http://transit.yahoo.co.jp/) …

link:不在の証明、ミニクジラ

WEB

http://selfkleptomaniac.org/archives/359 よくわかる。

gemにjruby

もうこんなところまで。。。と感心してしまった。 ~/work$ gem install hpricot Need to update 5 gems from http://gems.rubyforge.org ..... complete Select which gem to install for your platform (i386-mswin32) 1. hpricot 0.6 (mswin32) 2. hpricot…

rails_async_callback: データベースに触る

以下のような感じで、データベースに触ることは出来た。 Bookをクロージャ内で評価するとワケワカなことに。。。 class FooController < ApplicationController def index AsyncCallback.invoke(Book) do |book_class| book_class.find(:all).each do |book|…

Yahoo!路線情報ライブラリ

http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/yahoo_jp_transit/lib/yahoo_jp_transit.rb?root=svn&view=markup 訳あって作成。しばらくしたらRubyForgeに登録する予定。 サンプル require 'yahoo_jp_transit' searcher = YahooJpTransit::Searcher.ne…

yahoo_jp_transit

http://rubyforge.org/projects/yahoojptransit/ とりあえず、リリース。 ~$ gem search -r yahoo_jp_transit *** REMOTE GEMS *** yahoo_jp_transit (0.1.0) Scraping library for Yahoo! route information.(http://transit.yahoo.co.jp/)

plugin: rails_async_callback

http://www.railsify.com/plugins/88-rails_async_callback とりあえず、こっちもリリース。追記 DBアクセスがうまくいってないっぽい、、、直さないと。 インストール ~/foo$ ruby script/plugin install http://railsasynccallb.rubyforge.org/svn/trunk/r…

死んだスレッドのコンテキスト

死んだスレッドのコンテキストって、記憶されてるのかなぁ。。。と思ったので、すこし実験。 fib = nil th = Thread.fork do a, b = 1, 1 fib = lambda { t = a a, b = b, a + b return t } end th.join 10.times { puts fib.call } 一応、動いてはいる。 ス…

シンプルに処理を非同期にする

この程度で事足りる処理も多いと思う。 AsyncCallbackはenvironment.rbとかてきとーなトコで生成。 controller class BarController < ApplicationController def index ASYNC_CALLBACK.invoke('あれあれ', 'しょりが', 'おくれて', 'はしるよ?') {|*args| …

シンプルに処理を非同期にする その2

Railsっぽく、スレッドセーフじゃない感じにしてみる。 async_callback.rbはLoadingModuleが勝手に読んでくれるとこに置いとく。 developmentモードだと何度も読み込まれるのが微妙な感じ… async_callback.rb class AsyncCallback @@queue = Queue.new Threa…

textwrap

http://rubyforge.org/projects/textwrap/ textwrapモジュールのへなちょこRuby版。 ~$ gem search -r textwrap *** REMOTE GEMS *** textwrap (0.1.0) Text wrapping and filling library like Python textwrap module. 使い方 require 'rubygems' require …