タグ

ブックマーク / keyesberry.hatenadiary.org (8)

  • irbから学ぶRubyの並列処理 ~ forkからWebSocketまで - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 irbから学ぶRubyの並列処理 ~ forkからWebSocketまで : melborne.github.com - 世の中は並列化花ざかりだよ 人間はシングルタスクのままなのに プログラミングするときは マルチタスクが要求されるなんて 世知辛い世の中になったものだね でも情報革命は始まったばかりだから 愚痴ってばかりもいられないよ 自分がその波にうまく乗れないとしても うまく乗ってる人の様を 間近で見てみたいと思うんだ そんなわけで.. Rubyのfork Thread Reactor EventMachine WebSocketなどの並列化について少し学んだので 自分の理解をここにまとめておくよ REPL irbはRubyにおける対話型の実行環境だよ こ

    irbから学ぶRubyの並列処理 ~ forkからWebSocketまで - hp12c
    czblue
    czblue 2011/09/30
  • Rubyで論理プログラミングしようよ! - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 Rubyで論理プログラミングしようよ! : melborne.github.com - 人生は選択の連続だよ 1つの選択が君の未来を変えるよ そして残念なことに 後からその失敗に気がついても 選択をやり直すことは人生ではできないんだよ.. コンピュータプログラムにも似たようなところがあるよ プログラムは一度走り出したら止まらないから 途中の分岐で選ばれた選択を 後から変えるのは得意じゃないんだ 問題1 例えば次のような問題を考えてみるよ xが1,2,3の何れかで yが4,5,6の何れかであるとき x + y = 7 となるx, yの組みを求めよ x, yには複数の選択肢があって xの決定はyの決定に影響を与えるから その組み合わせを決めるためには 人間がするのと

    Rubyで論理プログラミングしようよ! - hp12c
  • SinatraはDSLなんかじゃない、Ruby偽装を使ったマインドコントロールだ! - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 SinatraはDSLなんかじゃない、Ruby偽装を使ったマインドコントロールだ! : melborne.github.com - Sinatraのサイトを開くとSinatraはDSLだと書いてある Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort: (SinatraはRubyで手早くWebアプリケーションをつくるためのDSLです) DSLというのはDomain-Specific Language つまり特定の目的に特化した言語のことだ 確かにSinatraはWebアプリケーションという 特定の目的のために作られたものだけれども それは言語じゃない

    SinatraはDSLなんかじゃない、Ruby偽装を使ったマインドコントロールだ! - hp12c
    czblue
    czblue 2011/06/04
  • Rubyを使って「なぜ関数プログラミングは重要か」を解読しよう!(その3) - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 Rubyを使って「なぜ関数プログラミングは重要か」を解読しよう!(その3) : melborne.github.com - 引き続き「なぜ関数プログラミングは重要か」を Rubyを使って解釈し自分の理解に基づいて解説してみます 誤解が有るかも知れません いやきっとあります ご指摘いただければ助かります プログラムの貼り合せ(遅延評価) 次に関数プログラミングの2つ目の強力な糊 つまりプログラムを貼り合せる糊について説明する いま2つのプログラムfとgがあって 入力inputをこれらに適用する場合を考える g (f input) プログラムfは入力inputを受け取ってその出力を計算し その出力はプログラムgの入力として使われる 一般的なプログラム言語ではfからの

    Rubyを使って「なぜ関数プログラミングは重要か」を解読しよう!(その3) - hp12c
    czblue
    czblue 2011/02/20
  • IRB それはRubyistの魔法のランプ - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 IRB それはRubyistの魔法のランプ : melborne.github.com - IRB*1 名前を聞けば誰でもわかる 超有名なライブラリ IRBを知らなけりゃ それはもぐりのRubyist :$ IRB 全部のRubyに付いてくる あなたとRubyの対話の窓口 できないことがあるのなら irbと打ってみよう rubyと打ってもダメですよ IRB それはRubyistの魔法のランプ こすれば何かが現れる IRB それはRubyistの魔法のランプ こすって願いを叶えよう I RuB you I RuB you :TO IRB 色気がないのはご愛嬌 色がいるなら .irbrcしてください 補完だってインデントだって そうしたいならプロンプトだって あなた

    IRB それはRubyistの魔法のランプ - hp12c
    czblue
    czblue 2010/11/17
  • Rubyのブロック(クロージャ)はローカル変数をインスタンス変数に変えるマジックだ! - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 Rubyのブロック(クロージャ)はローカル変数をインスタンス変数に変えるマジックだ! : melborne.github.com - Ruby クロージャ - ソースコード備忘録を読んで 自分のRubyにおけるブロックと変数の理解が怪しいことがわかった でちょっと普通とは違うアプローチからの整理を試みて 理解できた気がするので書いてみます 誤りを教えてくれればうれしいです ローカル変数 プログラムコードはプログラマの意思をインタプリタに伝えるものだ Rubyでは オブジェクトに処理を依頼する形でプログラムを組成するけど そのとき変数はプログラマが 対象のオブジェクトを指し示すためのラベルとして用いられる すなわち変数はオブジェクト参照ラベルだ 複数の手続きブロッ

    Rubyのブロック(クロージャ)はローカル変数をインスタンス変数に変えるマジックだ! - hp12c
    czblue
    czblue 2010/02/21
  • SchemeとRubyでリストの操作を学ぼう - hp12c

    引き続き「計算機プログラムの構造と解釈」を使って 今度はSchemeとRubyでのリストの操作を見ていこうと思います なおSchemeのコードは書からの抜粋で 説明は自分の要約です リスト要素の参照 Schemeにはデータオブジェクトの並びを表現する リストというデータ構造がある リストはlist手続きで作ることができるが これはconsを入れ子にしたものと等価である list 1 2 3 4 (1 2 3 4) (cons 1 (cons 2 (cons 3 (cons 4 nil)))) (1 2 3 4) だからconsを順にcdrダウンしていけば リストの各要素にアクセスできる これを使って リストのn番目の要素を返す手続きlist_refを定義する リストは0番から始まる (define (list_ref items n) (if (= n 0) (car items) (l

    SchemeとRubyでリストの操作を学ぼう - hp12c
  • QuickSilver、君はランチャーなんかじゃない、実行統合環境だ! - hp12c

    QuickSilver 君は最高だよ だって僕がやりたいことをすぐさせてくれるし 僕が行きたいところにすぐ連れて行ってくれる 僕が少し喋りだしただけで 君には僕のやりたいことがすべて分かるんだね Media Labのネグロポンテが鹿内信隆氏の通訳にびっくりしたように 僕は君にびっくりしているよ 日ではねこれは”あうんの呼吸”といって 夫婦間の究極のコミュニケーションとされているんだ 外国人である君が会ったこともない日人の僕のことを どうしてそんなによく分かるのか不思議でならないよ でもね僕はね君のことを理解するのに正直苦労しているんだよ 君は難しい人だよ とても君のことをすべて理解したなんて思えないよ それでも君は僕にとっては最高の存在なんだよ 離れられそうにないよ だからみんなにも君のことを紹介するよ ネット・検索関係 'LivedoorReader'を開きたい QSを起動 'lr'

    QuickSilver、君はランチャーなんかじゃない、実行統合環境だ! - hp12c
  • 1