タグ

rubyに関するtrashsuiteのブックマーク (200)

  • Rubyで作る奇妙なプログラミング言語

    このページは書籍「Rubyで作る奇妙なプログラミング言語」のサポートサイトです。 第二版 第二版が出ています。初版との違いは、誤植が修正されていることと、Rubyのインストール方法の項をアップデートした点です(つまり内容的には同じです)。

  • MerbがRails 3に統合、人気Rubyフレームワークが合体へ | OSDN Magazine

    Rubyフレームワーク「Ruby on Rails(RoR)」と「Merb」の各リード開発者は12月23日、両開発プロジェクトをマージし、MerbをRoRの次期バージョンとなる「Ruby on Rails 3」に統合させることをそれぞれのブログで発表した。Rails 3は、来年5月にベータリリースの予定という。 RoRの作者、David Heinemeier Hansson氏は公式ブログで、Merbの開発チームがMerbの開発アイディアと作業をRails 3に統合させることになったと明かした。Merbのリード開発者、Yehuda Katz氏も同様の発表を行っており、Hansson氏は「クリスマスプレゼント」、Katz氏は「きわめて重大な瞬間」と記している。 これにあたり、Katz氏はRailsのコアチームに参加し、その他のMerb開発者もRailsの取り組みに参加する。Hansson氏は、

    MerbがRails 3に統合、人気Rubyフレームワークが合体へ | OSDN Magazine
    trashsuite
    trashsuite 2008/12/24
    こうコロコロと仕様変更が入ると,使う側としては結構困るんですが><
  • 浮動小数の誤差 - 中継地点

    2進計算による浮動小数の誤差について意識なく平気で演算したり比較するケースをよく見かけます。 大抵はあまり問題は発生しないのですが、特殊なケースで予想と反する結果となります。 色々と試してみました。 Ruby(irb)の場合 irb(main):001:0> 1-0.9 == 1/10 => false RubyでFixnum型での浮動小数は2進数計算となるようです。 小数表現が内部的に2^nであらわされているために発生する問題です。 10進で値を保持するbigdecimalを使用するのが妥当な解決策と思われます。 irb(main):001:0> require 'bigdecimal' irb(main):002:0> n1 = BigDecimal("1") irb(main):003:0> n09 = BigDecimal("0.9") irb(main):004:0> n10 =

    浮動小数の誤差 - 中継地点
  • L'eclat des jours(2008-01-03)Railsは吹き溜まりだね

    _ Railsは吹き溜まりだね Rails Is A Ghetto なんとなく読んだので、要約のつもり(いや、誤訳しそうなところはすっ飛ばしたものをさらに要約してるので、おおはずれかも)。 ●Rails Is A Ghetto(Railsは吹き溜まり) 会社や個人を特定してばんばんやるぜ。こいつら寄ってたかっておれのことをこけにしやがった。文句あるなら、リングの上で待ってるぜ。このくそめらめが。 まずはケビンクラークだ。こいつは、おれをサポート扱いしやがったうえに、間抜けあつかいしやがった。 でも、すべての原因は、このばかが、リポジトリ上のconfigureファイルを消しちまいやがったことにある。これじゃ、チェックアウトしてビルドできるわけないじゃん。それをおれが間抜けなせいだといいやがりやがった。 Rails界隈はこんなくずばかりだ。 ●Tied To The RailsRailsべっ

    L'eclat des jours(2008-01-03)Railsは吹き溜まりだね
  • はてなブログ | 無料ブログを作成しよう

    来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…

    はてなブログ | 無料ブログを作成しよう
  • 面白いgemのインストール方法を知りますた。 - railsでhogehogeを作ってみる。

    で。 will_paginateを調べていて、見出しの通りです。 普通、ターミナルで $ sudo gem install hogehogeな訳なんだけれども。 will_paginate wikiのInstallationを見てみると、Rails 2.1なら、config/environment.rbに次のように書け、とか書いてある。 Rails::Initializer.run do |config| config.gem 'mislav-will_paginate', :version => '~> 2.2.3', :lib => 'will_paginate', :source => 'http://gems.github.com' end んん? で、ググってみる。 Railsにページング機能を追加するwill_paginateをインストール - Ruby Study Goから繋

    面白いgemのインストール方法を知りますた。 - railsでhogehogeを作ってみる。
    trashsuite
    trashsuite 2008/12/21
    バージョン指定まで出来るのかー,便利だなぁ
  • はてなブログ | 無料ブログを作成しよう

    聖蹟桜ヶ丘へ 今年度の授業が全て終了した。最後の授業はテスト返却とその確認作業の後は特に何をしろとも言われていなかったので、『耳をすませば』の後半、お姉さんと雫が言い争いをする場面を生徒と皆で見た。 この場面。あの場面、お姉さんは雫に「今しなきゃいけないことから逃…

    はてなブログ | 無料ブログを作成しよう
    trashsuite
    trashsuite 2008/12/21
    『頭文字Pの、使ってると怒られる方の言語』で吹いたw / そういえば Amazon から発送メールこないなぁ… konozama な予感…
  • Rack用HTTPデーモンの複数起動を制御するスクリプト - 岩本隆史の日記帳(アーカイブ)

    RailsでいうところのMongrelClusterのような、複数のHTTPデーモンを起動したり停止したりする仕組みがRackにもあったら便利だなーと思い、Daemonsを使う方法を考えてみました。 以下、サンプルコードに注釈をまじえながら。 まずはrequire require 'rubygems' require 'rack' require 'daemons' コマンドラインオプションで渡しそうなものをとりあえず変数で定義 app_dir = '/path/to/app' port = 3000 number = 3 command = 'start' # or 'stop' or 'status' or 'run' この例では、3つのポート(3000、3001、3002)でlistenします。 commandは、「start」なら起動、「stop」なら停止、「status」ならステ

    Rack用HTTPデーモンの複数起動を制御するスクリプト - 岩本隆史の日記帳(アーカイブ)
  • [ruby]JRubyのコードをexeファイルにする方法とMacの.app形式にする方法

    JavaとかJRubyはインストールしておいてください。 やり方は省略です。 rawrをインストールします 私はMatzRubyがメインなので、jruby -Sでgemやrakeを操作します。 gemとかrakeとか打つと、MatzRubyが起動してしまいますので。 jruby -S gem install rawrrawr-1.1.2のgemパッケージにはjruby_fetch.rbの入れ忘れがあるので、 rawr-1.1.2/libのディレクトリにwgetで入れてしまいます。 http://gitorious.org/projects/rawr からとって来てください。 wget http://gitorious.org/projects/ 途中省略 /lib/jruby_fetch.rb 実行するスクリプトを用意します rubyの実行ファイルはmain.rbという名前にし、 lib/

    [ruby]JRubyのコードをexeファイルにする方法とMacの.app形式にする方法
    trashsuite
    trashsuite 2008/12/21
    ほうほう
  • Capistrano は思ったよりシンプルで思ったよりすごい - あーありがち (2008-12-18)

    システム管理者のみなさん、こんにちは。今日は Rails アプリの deploy ツールとして有名な(らしい)Capistrano についてです。紹介? いえいえ。紹介はすでに有名な人たちによってなされています。ワタシがしたいのは検討。こいつはどこにどのように使えそうか。 Capistrano: Home システム管理の話なのになんで Puppet じゃないの?と思うかもしれません。それは、以前 Puppet の OSX 対応があまりよくなかったことと、また自分の環境が PPC Mac だったため、仮想マシンを使って他の OS を動かすのも現実的でなく、面倒になってしまっていたからです。 で、巡り巡って Capistrano って実は deploy 以外にも結構使えそうじゃない?と思えましたよというお話。想定しているバージョンは Capistrano 2.5.3 です。 なお、例によって嘘

    trashsuite
    trashsuite 2008/12/20
    2.0 の頃から全然さわってないから大分変わってるんだろうなぁ…そろそろ追っかけないと
  • 2008-09-04

    railsでユーザ認証を行うためのモデルを実装してみました。データベース上では、パスワードは平文ではなく、MD5で暗号化したかたちで格納されるよう実装しました。 モデルの生成 railsのgenerateスクリプトでUserモデルを生成します。 % ruby script/generate model User テーブル定義と生成 生成されたmigrationのソースにテーブルの定義を行います。入力される平文パスワードのカラムは用意せず、暗号化したパスワードのカラムとsaltのカラムを用意します。 class CreateUsers < ActiveRecord::Migration def self.up create_table :users do |t| t.column :name, :string, :limit => 32, :null => false t.column :c

    2008-09-04
  • [ruby]HTTPのドキュメントのタイトルを取得

    trashsuite
    trashsuite 2008/12/20
    タグの記述が結構いい加減なサイトも多いので,こんな感じの方がいいかな /<title(?:\s*)>([^<]*)/im
  • Threadの話 - GIOの日記

    最近Rubyでクローラを書いた。 なかなか気合いの入った動きをみせ、一晩で3Gバイトものデータをダウンロードしてくる。 また、それに比例して処理も遅くなる為、Threadを使うことにした。 RubyでのThreadはグリーンスレッド、つまり1つのカーネルスレッドに対して複数のユーザースレッドが動作している為、並行的には動作できるが、並列には動かない。つまり速くならない。 しかしクローラのようにボトルネックがネットワークとディスクIOの場合、待ち時間に他の処理ができるのでそこそこ有用です。 問題としてRubyのThreadはとにかく遅い。コストが高すぎ。スイッチング遅すぎ。 来は (1..10000).map { |e| Thread.start { e**2 } }.map{ |th| th.value } みたいにThreadを使い捨てにしたい。楽だし。 でもリソースがもったいなさ過ぎ

    Threadの話 - GIOの日記
  • Route 477(2008-12-18)

    ■ [ruby] -- この記事はobsoleteです Github上でのgem生成機能は終了しました。rubygems.orgを使いましょう。 GitHubに自作gemを置く方法 Rubyでライブラリをインストールする手段といえばgemコマンドなわけだけど、 $ gem sources -a http://gems.github.com としておくとgithubで公開されているライブラリをgem installでインストールできるようになるのはご存じだろうか? 例えば上の状態で $ gem install yhara-ruby-sl とすると、http://github.com/yhara/ruby-sl/tree/master のgemがインストールされる {[fn "されない場合はrubygemsのバージョンが古いかもしれない。とりあえず1.3以降なら大丈夫だと思う。"}。「(ユーザ

    Route 477(2008-12-18)
  • Ruby拡張ライブラリ作成チュートリアル

    目次 準備 まずはC言語プログラムを呼び出す 簡単な数値のやりとり NArray配列を渡す Swigを使ってお手軽変換 参考文献 準備 このチュートリアルではRuby 1.8系列の使用を前提にしています。 確認はすべてRuby 1.8.4 [i386-Cygwin]で行いました。 NArrayはVersion 0.5.8を用いています。 またそれ以外に以外に以下のものが必要です。 Cコンパイラ Rubyのコンパイルに用いたものと同じものが必要です。 バイナリパッケージを導入した場合はどのコンパイラでビルドされたものか 知る必要がありますが、UNIX系ではたいていgccです。 ruby.h, mkmf.rb Rubyをソースコードから自分でビルドした場合はインストールされていると 思いますが、バイナリパッケージを導入した場合はruby.hやmkmf.rbがあるか 確認する必要があります。開発

    trashsuite
    trashsuite 2008/12/19
    1.9 系では話が違ってくるのかな
  • http://www.machu.jp/posts/20060727/p01/

  • Railsだけじゃない,多様なフレームワークが登場---Ruby Conference 2008レポート

    2001年から毎年開催されているRubyのイベントInternational Ruby Conference(通称RubyConf)。2008年はフロリダ州のOrlandoで現地時間11月6日から8日まで行われた。今回もキーノートな どの一部の発表をのぞき3トラックが並列する形式で,それぞれの部屋で白熱した議論が交わされた。 Waves,Ramaze,Sinatra,Merb,Rails---さまざまなフレームワーク まつもとゆきひろ氏は基調講演で,RubyユーザーがRubyを選択する理由について分析した。まつもと氏自身がRubyを選ぶのは自分の作品だ から当然だが,ユーザーはそうではない。Rubyの何が支持されているのか,として,氏のBASICやLispにおけるプログラミング経験から, 「BASICではパワー不足だしLispは難しすぎる。RubyはDSLも作成できるパワーが支持されている

    Railsだけじゃない,多様なフレームワークが登場---Ruby Conference 2008レポート
    trashsuite
    trashsuite 2008/12/18
    Itojun 氏って Rubyist だったのか.それとも IPv6 関連のコードを書いてくれたからってことかな
  • [Rails] Metal, Metalの戦闘力 - ヽ( ・∀・)ノくまくまー(2008-12-16)

    ● [Rails] Metal Rails edge に Metal という新しい機能が追加された。これは Rack を用いた高速な Controller であり、Rails の色んな機能は捨ててでも、兎に角、単純で速いレスポンスがどうしても必要だ!という局面ではもの凄い助けになるだろう。 http://github.com/rails/rails/commit/8c3a54366435eebc2c8aa63b63e1349ce74a7b38 作成 場所は app/metal。metal ジェネレータが用意されているので、controller と同じ感覚で使える。既存のコントローラ(top1)と速度比較をするので、こちらの名前はtop2にしてみる。 従来のコントローラ的思想でいけば top2_metal.rb が作成されそうなものだが、そうはなっていない。この辺あたりに Merb 臭が少し

    trashsuite
    trashsuite 2008/12/17
    うわ,Thin はえぇなぁ…
  • Infosia, Inc. » Blog Archive » Ruby から Q4M を使ってみる

    前回、Q4M(Message Queue for MySQL) を Debianにインストールできたので、今度は実際にキューを使用するアプリを書いてみたいと思います。 まずはキューに URL を入れてそれを取り出すだけの簡単なプログラムを作ってみます。使用言語は Ruby。キューへのアクセスには ActiveRecord を使って簡単なライブラリにしてみました。 まずはテーブル作成、初期データ投入。 CREATE DATABASE q4m; USE q4m; CREATE TABLE queue (url text) ENGINE=queue; INSERT INTO queue(url) VALUES('http://www.infosia.co.jp/'); 続いてアプリ側。 require 'rubygems' require_gem 'activerecord' ActiveRec

  • RubyのCursesを使ってコンソールを制御する:CodeZine

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    RubyのCursesを使ってコンソールを制御する:CodeZine
    trashsuite
    trashsuite 2008/12/17
    なんとなく,コードが Ruby っぽくないなぁ