WHITELEAF:Kindle応援サイト

KindleでWEB小説を読もう! Narou.rb 公開中

access hash

Hash をアクセスする際に Fixnum, Symbol, String を使う場合の比較です。Hash ではなく Array を使った結果もつけておきます。 require "benchmark" class Test def initialize @num_table = {} @sym_table = {} @str_table = {} @array = [] 100.times { |…

Server VM でも試してみました。オプションはよくわからないのでかたっぱしから速くなりそうなのを……。--fast はエラーが出てダメでした。 >jruby --server -v -J-Djruby.compile.frameless=true -J-Djruby.compile.position less=true -J-Djruby.compile.th…

ダブルクォーテーション or シングルクォーテーション

require "benchmark" Benchmark.bm { |bm| bm.report("double") { 20000000.times { a = "strings" } } bm.report("single") { 20000000.times { a = 'strings' } } } ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-mswin32] user system total real double…

1liner?

require "benchmark" def f1 return false || true end def f2 true unless false return false end Benchmark.bm { |bm| bm.report("f1") { 20000000.times { f1 } } bm.report("f2") { 20000000.times { f2 } } } ruby 1.8.6 (2008-08-11 patchlevel 287) …

少しでも速くするために

こまか〜いことでも、意外と速度に響いてくることがよくあります。響かないときもあります。思いついたときに実際にベンチーマークを取ったものをこまめにメモっておくことにします。[Rubyベンチ]タグをつけておいて分かりやすいようにしておこう。

続 Min-in 駆動型ゲームライブラリ

前回は method_missing とか使ったりして、ヒドイもんだったけど今回はちょっと真面目(当社比) ライブラリが揃っていたと仮定して、ゲーム部分はこんな感じになりす。 require_relative "framework" require_relative "unit" require_relative "mixinlibra…

元ネタ:http://twitter.com/mirichi/status/16602971260 ここまで書いてわけわかんなくなったので終了。やりたい事と違う…… (ruby 1.9.1 以上が必要(たぶん)) require "dxruby" module MetaGame module Core @@initialize_parameters = {} @@handler_names …

元ネタ:http://twitter.com/hikaruna/status/16547039623 class Module def attr_class_accessor(name) eval(%Q( def self.#{name} @@#{name} ||= nil end def self.#{name}=(value) @@#{name} = value end )) end end class A attr_class_accessor :a end …

SFont

by http://d.hatena.ne.jp/mirichi/20100619/p1 (Twitter で reply したんだけど気づかれなかったようだ lol)更新。 てきとうなコードを書いた( http://twitter.com/mirichi/status/16531632255 )お詫び(?)にちょっと真面目に書いてみました。 Image#draw…

Ruby でゲーム

Ruby を覚えるために最初に作ったプログラムであるゲームをちょろっと公開してみる。Falling Tower Ruby http://ux.getuploader.com/whiteleaf/download/2/fall.zip名作 Falling Tower を Ruby で再現。実装は記憶のみで行ったために挙動はオリジナルとはか…

Fiber の評価

まだコードに組み込んで使ったわけじゃないんで実際の使用感ではないですが。 f = Fiber.new do 300000.times do Fiber.yield false end Fiber.yield true end t = Time.now until f.resume end puts Time.now - t ruby 1.9.1p378 (2010-01-10 revision 2627…

Fiber はGCに負荷がかかる

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/46901大量の Fiber は生成コスト自体は無視できるくらい軽いが、GC的には非常に重いらしい。 しかし500個程度の Fiber ならさほど重くないので実用的には問題はなさそうである。

ocra + Ruby/SDL

Ruby/SDL を ocra で exe 化した際にはまったのでメモしておきます。 (Ruby1.9.1を想定しています。1.8 なら exerb でいいんジャネ?)Ruby/SDL を使用したスクリプトを ocra で exe にまとめようとすると、 sdl_ext.so が見つからないというエラーが発生しま…

Ruby1.9速すぎワロタ

abstract method

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/15841 こちらを書き直し class AbstractMethodCallError < NotImplementedError end class AbstractNotImplementedError < NotImplementedError end class Module @@_abstract_methods = {} def…

Ruby/SDLでウィンドウをセンターに

SDL にウィンドウを操作する機能が皆無なので、自分でやる必要があるようです。 # Windows 限定 require "Win32API" SWP_NOSIZE = 1 SM_CXFULLSCREEN = 0 SM_CYFULLSCREEN = 1 def window_align_center(width, height) get_active_window = Win32API.new("us…

はてなダイアリーがニコニコ動画のサムネイル貼り付けに対応

id:hatenadiary:20080306 (via id:marinba:20080307)というわけではてなダイアリーでの niconail.info 終了のおしらs(ry いつか対応するのは予想通りだったので、ニコニコ標準サムネイルじゃできないことをやって差別化をしていきましょうかね。ちなみに…

ニコニコ動画が外部プレイヤーに対応

niconail.info 終了のお知らせ('-')まぁさすがに紹介動画全部はりつけるわけじゃないだろうし、コメントできないしまだ需要はあるかも!?

サムネイルが表示されていなかった件について

今日は忙しくてまったく気づきませんでした orz とりあえず表示はできるように速攻で修正。ただしまだおかしいので今から直します・・・。 とりあえず前のには戻ったはず。 XMLのほうでやろうと思ったけど、今日朝はやいのであとでということで・・・。 TODO…

転送量が

転送量が 5G こえてtsikiiさんのところからすごいアクセスがww 普段もすでに1Gこえてた状態だったんですが、一気に膨れ上がりました。もしかしたらサーバの会社に文句言われるかも・・・?まぁ来るまで気にしない方向で

異常なアクセスが・・・

リクエスト件数 バイト (%) ホスト 8906 20.62% ***.cty-net.ne.jp なんだこれは・・・ リクエスト件数 URL 7924 http://blog122.fc2.com/control.php なぜコントロールパネルからこんなリクエスト件数になるんでしょうか('д`;) 明日も同じようだったらアク…

J(´ー`)し < niconail.info じゃなくて Niconail.info です

結構どうでもいい話

自分の所でしか宣伝してない Niconail.info ですが、地味に転送量が増えてきました。六日前と比べると約5倍です!12/17の時点でリクエスト数は1日12000、転送量は380MBほどです。 負荷はかかってなさそうですが、もう少し転送量を抑える工夫を考えたいと思い…

Niconail.info ちょっとバージョアップ

オプションで画像サイズを変更できるようになりました。最大サイズ700x700までいけるようにしてあります。デフォサイズに戻したい場合は隣の RESET を押してください。 あと img タグの alt 属性に動画のタイトルも入れるようにしました。オプションではずせ…

ニコニコ動画のサムネイルページのコードが変わった

ニコニコ動画のサムネイルページの、HTMLの記述がいつの間にか変わっていたようで、Niconail.info 側の解析失敗で一時的に表示にエラーが出ていました。現在は対応して正常に表示できています。ちなみに、変わったところは、スタイルシートをちょろっと変え…

Niconail.info ニコニコ動画サムネイルジェネレータ

excite ブログやはてなダイアリなどは、ニコニコの紹介用サムネイルが iframe タグを使っていてそのまま貼ることができないので、imgタグで表示できるように出力するやつを作ってみました。 a タグと img タグが使えるところならどこでも使えます。サンプル …

prototype.js 1.6.0RC1 リリース、Class と Event API の変更 etc

Prototype 1.6.0 RC1: Changes to the Class and Event APIs, Hash rewrite, and bug fixesRC0 から RC1 にしただけで手元のスクリプトが動かなくなったわけですが、DOMContentLoaded なイベントの名前が変更されたようです(ほかにも命名が変わってますが)…

imagefttext の オプション引数 extrainfo について

PHP

PHP で TrueType フォントの描画については、2種類の関数があります。それが imagettftext と imagefttext です。 両者共通するのが文字の描画間隔についての設定がまったくないということで、特に文字の左右の間隔の設定がないのが非常に困るわけですが、マ…

PHP4 で image_type_to_extension()

PHP

image_type_to_extension() という関数、PHP5 から実装されてるようなので、PHP4 でも使えるように。 "gif", IMAGETYPE_JPEG => "jpeg", IMAGETYPE_PNG => "png", IMAGETYPE_SWF => "swf", IMAGETYPE_PSD => "psd", IMAGETYPE_BMP => "bmp", IMAGETYPE_WBMP…

技術系の記事ははてなに移行します

exblogはだらだら書くのにはいいんだけれど、ソースコードが書きづらいったらありゃしない(゚д゚)!