タグ

rubyに関するocsのブックマーク (14)

  • Rubyでフィボナッチ数列の演算が遅い問題についてのその後の考察。@解決編 - CanI's diary

    @Python編?何それおいしいの?(ぁ ついに解決! ずっと、ここ一連のエントリで、Rubyの多倍長演算の遅さについて嘆いてきたわけですが、何度かささださんからアドバイスをいただきつつも、ついにボトルネックを発見し、解消することができました。 ボトルネックの正体。 過去のエントリでは、Pythonとほとんど同じ処理だよ?おかしいね?とか言ってたわけですが、かなり煮詰まってきて、静的にコードを眺めてるだけじゃどうにもいかなくなったので、実行時のプロファイルをとってみることにしました。 使用したプロファイラはgprofです。 Ubuntu 9.04で、 make CFLAGS=-pg とかして、(cygwinでは-pgオプションつけるとmake通らなかった><) 適当に、スクリプトを実行、 ./ruby hoge.rb その後、 gprof ruby gmon.out とかしてあげると、Cレ

    Rubyでフィボナッチ数列の演算が遅い問題についてのその後の考察。@解決編 - CanI's diary
    ocs
    ocs 2009/08/08
  • Post by @shyouhei

    表題のようなことを実は2007年のやつの後くらいから思ってて、今年はほとんど確信に近くなっている。Ruby会議2009最終日にうっかり角谷さんの電波(自称)を浴びてしまったせいで、当日は「あー、俺より角谷さんのほうがちゃんと考えてて、でも逃げてないんだなあ」とか思った。思ったが、一日たって冷静に考えてみたら、やっぱ逃げてもいいと思うよ。なので当初考えていたとおりに書くことにする。 (1) おまえらの仕事は品質過剰です。 Ruby会議は世間のカンファレンスの相場から考えると、クオリティに比して参加費が異常に安い。クオリティの高さに関しては素晴らしいとは思うが、それの費用は安すぎだと思う。 なぜRuby会議はあのクオリティで開催できるのか、一回きちんと考察してみるべきだ。俺には参加費の代わりにおまえらのモチベーションを削ぎ落としながら燃料にしてオペレーション回してるようにしか見えない。横から見

    Post by @shyouhei
    ocs
    ocs 2009/07/21
  • Re: ','.join() がなぜキモイのか - まめめも

    ref: http://d.hatena.ne.jp/methane/20090615/1245025996 よいまとめ。Ruby の Array#join は 1. 自然言語の文法とあわないのがキモイ 2. 勝手に型変換 (to_s) するのがキモイ 3. 文字列べったりのメソッドが Array にあるのがキモイ 4. Enumerable ではなく Array なのがキモイ ということのようです。 1 については、ぼくに英語の感覚がないせいか、どっちでも特に違和感はないです *1 。Ruby というと英語風 DSL が有名ですが、Ruby 自体は英語文法とのアナロジーをそれほど意識してないと思います *2 。 2 と 3 については全くその通りで、Rubyist から見ても Array#join に違和感はあります (ぼくだけ?) 。 4 については、Enumerable#join

    Re: ','.join() がなぜキモイのか - まめめも
  • ','.join() がなぜキモイのか - methaneのブログ

    Ruby厨とPython厨が平行線の議論をしていたので、まとめてみる。 オブジェクト指向的にキモイ? str.join() 処理での登場人物は2人いる。連結文字(区切り文字=separator)、連結される文字列の列だ。 この二つを比べると、「連結される文字列の列」が情報的に重要な場合がほとんどだろう。それを元に文字列の列が主役で連結文字はオマケと考えると、「joinが主役でない連結文字側のメソッドになる何てキモチワルイ」となる。 でも、別の視点で「連結する側とされる側」というように分類すると、「区切り文字 join 連結される文字」が素直な能動態で、「連結される文字列 (is) join(ed by) 連結される文字」だと無理やりな受動態になるので、''.join() の方が素直だ。 Rubyの場合は「配列が要素をjoinする」と配列が主体となっているので、後者の考え方はしにくい。なので

    ','.join() がなぜキモイのか - methaneのブログ
  • はてなブログ | 無料ブログを作成しよう

    猛暑を乗り切った服・小物・その他 とにかく2025年の夏は暑かった。 と、毎年言っている気がするけど、今年は特別暑かったのではないか。これが地球温暖化なのだと見せつけられているような気がする。スノーボーダーとしてはそれに全力で抗う必要があるんだけど、自分の態度がまだ追いついていない。 生…

    はてなブログ | 無料ブログを作成しよう
    ocs
    ocs 2009/03/17
  • ライブドアブログ|無料で豊富な機能が充実

    【愚痴】一番下が幼稚園入ったら働いてほしいって嫁に行ったら「働く分少しは家事の分担と育児も今より関わって」と言われたんだが… 【えぇ…】友達とフードコートへ→私「ポテト買って二人でべる?半額持ってくれるなら私のと一緒に注文するけど」友達「今日は別の店のポテトにする」私「了解」→結果

    ライブドアブログ|無料で豊富な機能が充実
    ocs
    ocs 2008/12/07
  • Route 477(2008-08-23)

    ■ [ruby] bitclustに関するメモ Ruby合宿中に聞いとけばよかった…。 ディレクトリ構成はとりあえず % ls bitclust/ doctree/ db-1_8_7/ みたいにする。 まずDBフォルダを作る。 % ./bitclust/bin/bitclust.rb -d ./db-1_8_7 init version=1.8.7 encoding=euc-jp encoding=utf8とかしても、入力を自動的にUTF8に変換してくれたりはしないので注意(今のところ)。 次にリファレンスを読み込む。svn upを忘れずにな。 % ruby -I bitclust/lib/ bitclust/bin/bitclust.rb -d ./db-1_8_7/ update --stdlibtree=./doctree/refm/api/src 末尾に「&& echo ^G」(^

    Route 477(2008-08-23)
    ocs
    ocs 2008/09/02
  • Collection & Copy - Rubyについて全てのJavaプログラマが知るべき10の事柄

    翻訳原文:10 Things Every Java Programmer Should Know About RubyJim Weirichコンサルタント / Compuwarejim@weirichhouse.org Copyright 2005 by Jim Weirich (All Rights Reserved)自己紹介ジム・ワイリック (Jim Weirich)Compuware社コンサルタントJavaのプログラマRubyの熱狂的支持者大事なことを、まず先に私は以前、大規模製造会社の従業員に就業後のC言語コースを教えていました。提出されたCのコードのスタイルをちょっと見ただけで、生徒が以前にどんな言語を利用していたかを簡単に当てられました。全くもって当のことです。「どの言語でも、君はFORTRANを書けるね」 Rubyを調査中のJavaプログラマなら、Rubyが色々な点でJav

    ocs
    ocs 2008/06/02
  • Python の嫌いなところ - kなんとかの日記

    ちょっと古いけど。 デブサミ会場で、雑談していると「PythonはDISらないんですか」と柴田さんから。なんか自虐的じゃない? とは言うものの、Pythonは基的に良い言語で、 不満な点はかなり微妙だ。一般人にはどーでもいいような点だと思う。 一応リストを。 式と文の区別が明確。 インデントベースだとeRubyのようなテンプレートが難しい ブロックを含む式を持てない。Haskellみたいにブレースを使えば式にできるといいのに reduceがなくなる generator難しい。yieldを書くと戻り値が変化するってのはどうよ list comprehensionが難しい。英語人には人気みたいだけど Matz日記:PythonをDisる。 「Python は基的によい言語」には同意。Rubyist でも、使ってもないのに Python を DIS る人がいるのは残念。インデントベースが嫌い

    Python の嫌いなところ - kなんとかの日記
  • Python の好きなところ - kなんとかの日記

    Python の好きなところ。主に Ruby との対比。 微妙なものも混ざっているけど、ご容赦ください。 ・キーワード引数を装備している。 これは Ruby と比べて大きなアドバンテージ。Ruby の、Hash を使った疑似キーワード引数も悪くはないんだけど、使用できるキーワードが引数に明示されないので readability が低い、キーワードを間違ってもエラーにならない、という欠点がある。やはり Ruby でも物のキーワード引数が欲しい。 しかしキーワード引数を持っている言語って、そう多くはないんだよね。Ruby だけでなく、PerlPHP も JS も持っていない。もう 21 世紀なんだから、これからの言語は持っていて欲しいな。 ・仕組みが単純である。 Python は、全体的に仕組みが単純である。たとえばメソッドやインスタンス変数に対して public, protected

    Python の好きなところ - kなんとかの日記
  • スーパーマリオブラザーズをRubyで作ってみた - I am Cruby!

    Ruby2008/8/7にやんわり修正しました。 ソースコードsvnは svn co http://svn.coderepos.org/share/lang/ruby/nario Codereposにあげているので自由に触ってください。 環境設定Windowsであれば、ファイル内のrskit/game.exeで、フルスクリーンで動作します。linuxであればruby/sdlを動く環境を作成して、 ruby nario.rb で大丈夫です。 Ubuntuで動作確認していただきました。 SUPER NARIOをプレイしてみた(最速レビューをめざして) - きみのハートを8ビットキャスト 操作方法十字キー ←↑→↓Aボタン ABボタン B終了 ESC(フルスクリーンで動かすときは特に覚えておいたほうがいいです) Todoきのことか成長系、他のマップ、BGM、SEただ、1-1を作って非常に疲れたの

    ocs
    ocs 2008/04/24
  • Rubyを使ってPaSoRi経由でSuicaの乗車履歴を取得し、GoogleMapsやGoogleEarthで表示する

    #include #include "libpasori.h" int main(void) { pasori *p; felica *f; uint8 d[16]; p = pasori_open(NULL); pasori_init(p); f = felica_polling(p, 0xfe00, 0, 0); felica_read_without_encryption02(f, 0x170f, 0, 0, d); printf("%d¥n", d[14]*256+d[15]); pasori_close(p); return 0;} require 'dl/import' module Pasori extend DL::Importable dlload '/usr/local/lib/libpasori.dylib' typealias 'uint8', 'unsigned

    ocs
    ocs 2008/03/26
    こんなことができるとは
  • WindowsでRailsのログをカラー表示する - @jitteの日記

    ないはずがないと思っていたが、やっぱりあった。 RubyForge: Win32::Console: Project Info 先日調べたときは見つけられなかったんだけど、今日たまたまRubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)を読もうとして発見。いますぐ gem install win32console するべし。 script/server で win32console を使う gems/rails-2.0.2/lib/commands/servers/base.rb の先頭に require 'win32/console/ansi' ついでに、ログをUTF8で残している人は12行目を - print contents + print NKF.nkf('-s', contents) としておくと

    WindowsでRailsのログをカラー表示する - @jitteの日記
    ocs
    ocs 2008/02/14
  • プログラミング言語Ruby ― ありえるえりあ

    方針 Rubyをまったく知らない前提で始めます JavaJavaScript、elispのようなメジャーな言語と対比しながら説明します なるべく手を動かして目に見える形で説明を進めます 次回Ruby on Railsの勉強会をするので、それにつながることに重点を置きます 逆に言うと、RoRであまり使わない知識は流します。例えば、ファイル操作周りやスレッド周りなど 開発環境(2) .emacs.elに書くべき記述 ; ruby (autoload 'ruby-mode "ruby-mode") (setq auto-mode-alist (cons '("\\.rb$" . ruby-mode) auto-mode-alist)) (setq interpreter-mode-alist (append '(("ruby" . ruby-mode)) interpreter-mode-al

    ocs
    ocs 2007/11/16
  • 1