タグ

2008年6月4日のブックマーク (9件)

  • Emacs Lisp の構造化 - あどけない話

    忌み嫌われているグローバル変数/関数をなるべく使用しないために、もう一つ小さな空間を用意している言語があります。僕のイメージでは、この空間はゆりかごです。ゆりかごの実現方法として、以下のようなものが挙げられるでしょう。 C++Java ならクラス JavaScript なら関数、あるいはオブジェクト・リテラル Scheme なら手続き(関数) Emacs Lisp も Lisp なんですから、ある関数をゆりかごにして、中に関数を定義したいところです。でも、これはできません。さて、どうするかという話です。 defun で defun defun の中で defun したいところですが、これはうまく行きません。外側の関数が実行されると、内側の関数がグローバル空間に定義されてしまうからです。 (defun foo (n) (defun bar (n) (1+ n)) (bar n)) (fbo

    Emacs Lisp の構造化 - あどけない話
    gan2
    gan2 2008/06/04
  • Ruby beyond Rails - 書評 - まるごとRuby! : 404 Blog Not Found

    2008年06月03日23:00 カテゴリ書評/画評/品評Lightweight Languages Ruby beyond Rails - 書評 - まるごとRuby! インプレス石橋様より献御礼。 まるごと Ruby! Vol.1 [インプレスのページ] これはまた思い切ったなあ、というのが第一印象。 「まるごとPerl! Vol.1」や「まるごとJavaScript & Ajax! Vol.1」より、脱初心者度が一段高い。 私には絶好の難易度だったのだけど、想定読者のレベルが高すぎるのではないかと少し心配。 書「まるごと Ruby! Vol.1」は、インプレスの「まるごと」シリーズの最新版。今までPHP, Perl, JavaScript (+ Ajax)と続いてきたこのシリーズは、確かに初心者卒業者向けのシリーズで、「ふつうの奴らの上を行く」((c) Paul Graham)ム

    Ruby beyond Rails - 書評 - まるごとRuby! : 404 Blog Not Found
    gan2
    gan2 2008/06/04
    もう一つの Ruby 入門が頭にあるのはあんまりよくないなと思った
  • Googleで隠しゲームが遊べる「魔法の言葉」を知ってますか?

    Googleらしいユーモア Googleの検索窓に「ある言葉」を打ち込むと、ちょっとしたミニゲームで遊ぶことができる――という裏技をご存じだろうか。 その「ある言葉」とは、“google easter eggs”の3語。これを入力して、「I'm Feeling Lucky」ボタンをクリックすると、あら不思議。通常の検索結果画面には飛ばずに、かわいいウサギとタマゴのミニゲームが始まったはずだ(JavaScriptをオンにしておく必要があるのでご注意を)。 ゲーム自体は、マウスを左右に動かして中央のEaster Bunny君を操作し、上から降ってくる「G」、「O」、「O」、「G」、「L」、「E」の文字が描かれたタマゴを順番にキャッチしていくだけ――というごくシンプルなものだが、知っているとなんとなく得した気分になれる、なんともGoogleらしいプレゼントではある。他にもGoogleには、「人生

    Googleで隠しゲームが遊べる「魔法の言葉」を知ってますか?
    gan2
    gan2 2008/06/04
    “google easter eggs”を入力して、I'm Feeling Lucky
  • Ruby diff

    BasicObject 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.9.0-0 1.9.0-1 1.9.0-r16734 parent

    gan2
    gan2 2008/06/04
    バージョンごとの差異
  • Rails初心者はどうやって他人のRailsコードを読めばいいか - ミームの死骸を待ちながら

    先日のエントリ などなかったかのように別の話題です。 (どうやらRails 1.1の知識で書いてしまったらしく、浦島太郎状態。最新版の読み方にちまちま変更していく) Railsは過保護なのでたくさんの決まりがあり、ユーザーはその決まりに則ってアプリを作る。CoC (Convention over Configuration) というやつ。決まりを覚えてしまえばラクチンなのだが、まだいまいち覚え切れていない時に「完成品」を見せられると混乱する。 つまり、他人が書いたコードを見ても、どこまで自動生成され、どこからその人が書いたコードなのか区別が付きにくいのです。 そこで、自分で入門するのではなく他人の書いたコードを読む必要が出たRails初心者のために最低限必要な知識をまとめた。というか、まぁ、バイトで社員さんの書いたRailsコードを読むところから始めているので、復習がてら、八割がた自分のた

    Rails初心者はどうやって他人のRailsコードを読めばいいか - ミームの死骸を待ちながら
    gan2
    gan2 2008/06/04
  • GreasemonkeyをWidget化するGreasemonkey (Kanasansoft Web Lab.)

    widgetをドラッグして位置を変更する事ができます。 タイトルバーをダブルクリックする事でwidgetをたたむ事ができます。 タイトルバー右のボタンをクリックしてwidgetを閉じる事ができます。 タイトルバー左のボタンをクリックしてwidgetの設定を変更する事ができます。 widgetの設定には、現段階でwidgetの固定方法があります。 widgetの固定方法は、ブラウザの表示領域のどの角を基準にしてwidget位置を固定するかを選択できます。 widgetをたたむ時、表示されたままになるタイトルバーの位置はwidgetの固定方法に依存します。 ブラウザのウィンドウやタブ間でwidgetの位置を同期します。 setting widgetでDockの表示位置を変更できます。 Dockに表示されているアイコンをクリックすることで、widgetの表示/非表示を切り替える事ができます。 G

  • 影武者(kagemusha)というスタブフレームワークはテスト時以外にも使えるかも… - http://rubikitch.com/に移転しました

    Time.nowのテスト? それMochaでできるよ - http://rubikitch.com/に移転しましたを書いてるとid:ujihisaより「kagemusha」というgemを教えてもらった。 require 'rubygems' require 'kagemusha' birthday = Time.local(1993, 2, 24) Time.now # => Tue Jun 03 01:59:14 +0900 2008 Kagemusha.new(Time).defs(:now) { birthday }.swap do Time.now # => Wed Feb 24 00:00:00 +0900 1993 end Kagemusha#defはインスタンスメソッドの定義をすりかえ、Kagemusha#defsはクラスメソッドの定義をすりかえる。これらはselfを返す。

    影武者(kagemusha)というスタブフレームワークはテスト時以外にも使えるかも… - http://rubikitch.com/に移転しました
    gan2
    gan2 2008/06/04
    swap のときだけっていうのがいいなぁ。後半は alias を使わないメソッドの書き換え
  • Rubyにおけるモックとスタブについて - http://rubikitch.com/に移転しました

    Mochaが楽しそう - LukeSilvia’s diary スタブはただ偽装するだけ、モックは引数や呼ばれた回数等のチェックを行う。 チェック機能がほしいときにモックを使って、そうじゃなけりゃスタブを使う。 require 'test/unit' require 'rubygems' require 'mocha' class TestMock < Test::Unit::TestCase def test_stub o = stub # foo(*args) -> 2 なる偽装をするだけ o.stubs(:foo).returns(2) assert_equal 2, o.foo(9999) end def test_mock klass = Class.new do def foo(x) bar(x*2) end def bar(x) x*3 end end o = klass.n

    Rubyにおけるモックとスタブについて - http://rubikitch.com/に移転しました
    gan2
    gan2 2008/06/04
    「スタブはただ偽装するだけ、モックは引数や呼ばれた回数等のチェックを行う。チェック機能がほしいときにモックを使って、そうじゃなけりゃスタブを使う。」
  • IPA - masayang's diary

    先日以来、「IPAの存在意義ってなんなのか」を考えている。 で、今回RailsConf 2008に参加したことで、自分なりに結論が出た。 「IPAに存在意義はなく、存在そのものが害悪である」と... Rubyは日人matzが生み出したけど、それを支持してRailsとして育て、Agile開発と結びつけて、さらには「Big Rewrite」などということに挑戦している人の多くは日以外の人達なんだよ。彼らにとってはIPAなど無関係。情報処理試験も受けたことはないはず。でも、彼らはどんどん技術を進化させているし、実プロジェクトでも活用を進めている。 こういう「日々進化していく」領域に役所が(IPAは役所ではないことになっているけど、みんな役所だと思ってるよね?)介入すると、結局は進化の芽を摘み取ることになる。 役所が介在すると、「こういう技術領域が必要だ」「こういうスキルセットが必要だ」「こう

    IPA - masayang's diary
    gan2
    gan2 2008/06/04
    映画「Idiocracy」