ブックマーク / route477.net (17)

  • Route 477

    ■ [ruby] gistを使って小さなgemを公開する方法 http://jeffkreeftmeijer.com/2011/microgems-five-minute-rubygems/ 「bundlerがあれば、rubygems.orgにアップロードしなくても公開gitリポジトリさえあればgemとしてインストールできる」 「gistにはgitコマンドでファイルをチェックアウトする機能がある」 1.2.より、gistを使えばrubygems.orgにアップロードしなくてもgemを公開できる という話。 サンプルはこちら:https://gist.github.com/1232884 Gemfileに以下のように書けば、bundle installでこのgemがインストールされる。 gem 'bang', :git => 'git://gist.github.com/1232884.gi

    Route 477
  • Route 477

    ■ [git] どの段階で混入したのか全く分からないバグが発生したので、git bisectを使ってみた 気づいたら、BiwaSchemeのmakeが通らない状態になっていた。 java -jar bin/yuicompressor-2.4.2.jar lib/biwascheme.js -o lib/biwascheme-min.js [ERROR] 16082:51:invalid property id [ERROR] 1:0:Compilation produced 1 syntax errors. 数日前までは通っていたんだけど、それから結構な回数コミットを行ったので、どれが原因なのか分からない。 でも大丈夫、こんな時こそ(存在は知っていたけど使う機会のなかった)git bisectを使うチャンスだ。 git bisectは、「OKなコミット」と「NGなコミット」の2点の間を二分

    Route 477
  • RubyKaigi2011「Rubyマスターへの道」 - BiwaSlide

  • Route 477

    ■ [ruby][event] 「Rubyマスターへの道」@RubyKaigi2011 スライドをアップしました。 http://route477.net/files/rk11/ 最後なので、普段あまりしないプログラミング論について語りました。なんかいろんな人にほめられたので嬉しかったです。 (追記:動画です。 http://vimeo.com/26550795 vimeoにまだないやつはustreamの録画があるようです 大ホール 小ホール) ■ [ruby][event] 「Enumerable#lazy」@松江RubyKaigi03 上げそびれていたこっちも。 http://route477.net/files/matrk03/ Enumerable#lazyがあると何がうれしいのか?というのを1週間くらいちゃんと考えた結果、 大きすぎるデータ・終わりのないデータ・終わりの分からない

    Route 477
  • Route 477

    ■ [vim] Ubuntu 10.10でVim 7.3をコンパイルする http://d.hatena.ne.jp/hosikiti/20100910/1284079341 この手順通りにやったら普通にコンパイルできました。 ■ [ruby] rak 1.0を1.9に対応させる方法 gems/rak-1.0/bin/rakを直接編集して以下のパッチを当てるととりあえずエラーは出なくなる。 https://github.com/danlucraft/rak/commit/08a9bd1cfb407a37c49152009b3086a342a5560e 「これが最善かどうか分からないから」という理由でマージされてないけど。 まあ、オプションでエンコーディングを指定できるようにするのが良いんでしょうね。 デフォルトはEncoding.default_externalで。 ■ [ruby] Ra

    Route 477
  • Route 477

    ■ [rails] Railsのテストを高速化するやつ ちょっと調べた。導入はわりと簡単なので試してみると良いです。 spork Railsをロード済みのテストサーバを立てることによって、テストの起動時間を短縮する。 https://github.com/timcharper/spork Twiwt:Blog / jugyo : spork でサクサク RSpec on Rails3 Rails 3対応。Rails 2の場合はspork 0.8.xを試せと書いてある。 テストフレームワークはRSpec、Cucumberに対応。Test::Unitを使う場合は https://github.com/timcharper/spork-testunit を入れる(ただし1.9未対応…)。 parallel_tests テストを複数のプロセスで実行することによって、テストの実行時間を短縮する。 (

    Route 477
    pekepekesamurai
    pekepekesamurai 2011/01/30
    [[あとで読む]]
  • Route 477

    ■ [git][ruby] github gemからgit-hub gemに乗り換えた 自作のプロジェクトgithubで公開するとき、わざわざWeb画面からリポジトリを新規作成していませんか?hubコマンドをインストールすれば、「hub create」一発でできますよ。 githubのリポジトリをコマンドラインから操作するのにgithubコマンド(github gem)を使っていたのだが、ある時からcreate-from-localが動かなくなってたり、Ruby 1.9に未だに対応してなかったりするので おかしいなと思ったら、もっと新しいツールがあったらしい。 https://github.com/defunkt/hub $ gem install git-hub でインストールすると、hubというコマンドが使えるようになる。例えば現在のディレクトリからgithubリポジトリを新規作成す

    Route 477
    pekepekesamurai
    pekepekesamurai 2011/01/24
    [[あとで読む]]
  • Route 477

    ■ [rails] Rails3でrails newとgit initをまとめて行う方法 Railsのテンプレート機能を使う。 1. rails3_template.rbみたいなファイルを用意しておく puts "removing unneeded files..." run 'rm public/index.html' run 'rm public/favicon.ico' run 'rm public/images/rails.png' run 'rm README' run 'touch README.mkd' puts "checking everything into git..." git :init git :add => '.' git :commit => "-m 'initial commit'" puts "done." 2. $ rails new myapp -m

    Route 477
  • Route 477

    ■ [ruby] nyacusでpikを使う方法 nyaos で pik を使う設定と pik の動作原理 - *Trace Output* ちゃんと動きました!(nyaosユーザではないのに)ありがとうございます。 以下の設定を _nya に記述することで nyaos で pik が利用できるようになります。 pik{ pik_runner.exe pik.bat %* if exist "%USERPROFILE%\.pik\pik.bat" then source "%USERPROFILE%\.pik\pik.bat" 2> nul endif } [nyaos で pik を使う設定と pik の動作原理 - *Trace Output*より引用]

    Route 477
  • Route 477

    ■ [prog] STM(ソフトウェアトランザクションメモリ) JOI 春合宿の講義資料 - 純粋関数型雑記帳 関数プログラミング入門 の後半が面白かったのでメモ。 CPUのクロック数が頭打ちに → これからは並行処理しないと速くならない時代 でもロックはいろいろ大変… ロック過剰→性能低下 ロック不足→再現しずらいバグ デッドロック 組み合わせ問題 (スライドp.86-) そこでSTM (ソフトウェアによるトランザクションメモリ)ですよ データベースのトランザクションに似たもの 実行してみて、競合してたらやり直し 性能的には劣るが扱いやすい トランザクションの中ではIOとかやっちゃだめ(複数回実行されることがあるから) 気をつける (Clojure等) 型システムで、トランザクション中にIOがないことを保証 (Haskell) ←かっこいい

    Route 477
  • Route 477

    ■ [ruby] 文法最速(略)について 普段ニッチな記事しか書かないので全体のhotentryに入ることってないんですが、Rubyの話でも間口が広ければちゃんと入るんですね。間違いはこっそり直しています。ご指摘ありがとうございます。 実はtDiaryの1日分がまるごと1エントリになってるんですが、これはブックマークの分散を防ぐためと、ネストが深くなりすぎるのを防ぐためでした。 Ruby基礎文法最速マスターっていうのが書かれたみたい - Perl入門〜サンプルコードによるPerl入門〜 「基礎としてどのような項目が必要十分か?」を考えるのが一番大変なところであって、 僕はそれに乗っかっただけなので楽させてもらいました。他の人もどんどん 「Common Lisp基礎文法最速マスター」とか「Clojure基礎文法最速マスター」とか「R6RS基礎文法最速マスター」とか書けばいいと思います(Lis

    Route 477
  • Route 477

    Perl基礎文法最速マスターをだいたいそのまま、Rubyに置き換えてみました。 他の言語をある程度知っている人はこれを読めばRubyの基礎をマスターしてRubyを書くことができるようになる…かも知れません。無保証です。 参考: オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (1.9.2) オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (1.8.7) ■ 1. 基礎 インタラクティブRuby (irb) irbを使うと、Rubyのプログラムを簡単に練習することができます。 /Users/yhara $ irb irb(main):001:0> puts "hello" hello => nil irb(main):002:0> 1 + 1 => 2 以下の説明は、irbを起動して、自分で試しながら読むと習得が早いと思います。 表示 (print,

    Route 477
  • Route 477

    ■ [ruby] 大規模Railsサイトのための新しいHTTPサーバ、Unicorn githubの中の人が、ブログで「Unicorn使い始めて一ヶ月くらい経つけどいい感じだよ」と書いています。 適当に要点だけ拾ってみました。 Unicornって何よ? UnicornはRubyのためのHTTPサーバ。MongrelやThinのようなものだけど、全く違う設計と思想を持っている ありがちな構成 [mongrel] [mongrel] .. [nginx] -> [haproxy] -> [mongrel] [mongrel] .. [mongrel] [mongrel] .. 問題点: あるactionの処理に60秒以上かかったとき、Mongrelが当該スレッドをkillしようとして固まることがある メモリが一定量を超えたときMongrelを再起動するのが遅い。 デプロイ時に9個のmongre

    Route 477
  • Route 477

    ■ [tDiary] highlight.rbがうまく動いていない 気づいたら、highlight.rbによる<title>編集が動かなくなってますね。なんでだろ。 どうりで被ブクマに長いタイトルが多いと思ったw ■ [ruby] Ruby関係の英語ブログをウォッチする手っ取り早い方法 50+ Ruby-related Blogs to Read という記事があるので、LDRでまとめて登録すると楽です。 以下のリンクからどうぞ。 http://reader.livedoor.com/subscribe/?url=http%3A%2F%2Frubylearning.com%2Fblog%2F2009%2F03%2F12%2F50-ruby-related-blogs-to-read%2F&extract=on

    Route 477
  • Route 477

    ■ [ruby] RubyからJavaScriptのテストも行うためのライブラリあれこれ RailsなどのWebフレームワークでは、「rake test」一発でWebアプリのテストが走ってくれて楽ちんなわけですが、 JavaScriptのテストは手作業でやってたりしませんか? 「rake test」でJavaScriptのテストもやってしまうためのライブラリがいろいろ出てきてるようなので、列挙してみました。 ブラウザを使うもの 実際にブラウザを起動し、それをRubyからコントロールすることでWebアプリのテストを行う。 Selenium 有名ですね。 調べてないんだけど、Rubyからも使えるし、JavaScriptを操作したりもできるんじゃないですかね(投げやり)。レポート求む。 Watir (RubyForge) #どっちが公式サイトなんだろう Rubyからブラウザを起動し、操作する。

    Route 477
  • Route 477

    ■ [esobook] ソースコードがダウンロードできるようになりました サポートサイトの方から、書のソースコードをzip圧縮したものがダウンロードできるようになりました。 どうぞご利用ください。(そして、遅くなって申し訳ありません) 4839927847

    Route 477
  • Route 477

    ■ [ruby] RubyのWebフレームワークについて最近調べたこと Rails 知ってるよね? merb ポストRails命馬として日でも盛り上がってきたところで、Railsに取り込まれることが発表された。 ちょっとサンプルアプリでも書いてみるかーと思ったけど、別のにするか…。 Railsに対抗するだけあって、機能的は十分。 ModelやView用のライブラリを自由に選べる。デフォルトはDataMapperとerb。 「なるべくモジュラーにする」というポリシーのせいか、インストールされるgem数がやたら多い。まあ、実害はないっちゃないけど…。 小規模から大規模まで。 ramaze 中規模アプリ向け。 ModelやViewだけでなく、Loggerやサーバなどなんでも自由に取り替えられる。ControllerとRoutingが体。 ソースコードがわりと綺麗。example/以下に例が

    Route 477
  • 1