タグ

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

  • 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
    tuto0621
    tuto0621 2012/09/08
    webアプリにバックグラウンドプロセスを組み込みたいので読んで勉強
  • Rubyのpでメソッドチェーンを覗き見よう! - hp12c

    Rubyでメソッドチェーンの途中経過を覗き見るには Kernel#tapが便利だよね (1..10).tap{ |x| puts x.inspect } .to_a.tap{ |x| puts x.inspect } .select { |x| x % 2 == 0 }.tap{ |x| puts x.inspect } .map { |x| x * x }.tap{ |x| puts x.inspect } # >> 1..10 # >> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # >> [2, 4, 6, 8, 10] # >> [4, 16, 36, 64, 100] tapのブロックにはもちろんいろいろな手続が書けるけど やっぱり出力系メソッドがよく使われると思うんだ それならいっそのこと それらのメソッドがselfを返すようにして しかも引数を取らないとき

    Rubyのpでメソッドチェーンを覗き見よう! - hp12c
    tuto0621
    tuto0621 2011/07/13
    すごいすごい、名前を別名にすればpもそのまま使えていいかも。(がtappなのか?)
  • 知って得する21のRubyのトリビアな記法 ~ 21 Trivia Notations you should know in Ruby - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 知って得する21のRubyのトリビアな記法: melborne.github.com - ちょっとトリビアだけど 知っていると意外と便利なRubyの記法を 21個拾ってみたよ(Ruby1.9限定) 君なら全部知ってるかもしれないけど.. 1. 動的継承 Rubyのクラス継承では < 記号の右辺に クラス定数だけでなくクラスを返す式が書けるよ class Male def laugh; 'Ha ha ha!' end end class Female def laugh; 'Fu fu fu..' end end class Me < [Male, Female][rand 2] end Me.superclass # => Female Me.new.laugh

    知って得する21のRubyのトリビアな記法 ~ 21 Trivia Notations you should know in Ruby - hp12c
  • Crayovasで塗り絵しようよ! - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 Crayovasで塗り絵しようよ! : melborne.github.com - 前の投稿でHTML5のCanvasを使った Crayovasというデモサイト作ったと書きました Ruby製クレヨンでお絵描きしようよ! - hp12c http://crayovas.heroku.com/ Crayovasでは Crayolaクレヨン275色を使ったお絵描きができます ほとんど機能といった機能はないのですが それでもたくさんの色を使って絵を描けるというのは 想像以上に楽しいことです しかし一方で楽しくない発見もありました そう 自分の画力の無さを 思い知ることになったのです! 確かにマウスは描画に適したデバイスとは言えません ペンタブレットを使えばもう少しマシに

    Crayovasで塗り絵しようよ! - hp12c
  • Rubyでcalをカラフルに - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 Rubyでcalをカラフルに : melborne.github.com - 世界はすっかりGUIに支配されました コンピュータといったらWindowシステムのことです 人々を魅了したのはその操作性だけではありません 人々はそのカラフルな世界に魅了されたのです 確かにCUIの世界には色はありません 辛うじて環境変数LSCOLORSをセットして 色の付いたファイル名を眺めるだけの 暗くて地味な そしてそれを使う人を孤独にさせる世界です しかしそんな世界にTermtterが登場しました TermtterはANSIカラーを引き連れて CUIの世界に一条の光を差しました まるでGB末期に登場したポケモンの如くに!*1 それ以来 僕の中ちまたでは ターミナルのカラー化が流

    Rubyでcalをカラフルに - hp12c
  • キー配列を最適化してプログラミングの生産性を倍にしよう! OSX限定 - hp12c

    現代のキーボードの配列は アルファベットを中心にしたQWERTYが主流です これは1882年に完成されたそうです*1 もちろんコンピュータが生まれる以前です 一方プログラミングでは アルファベット以外の記号を頻繁に打鍵します 例えばRubyでは _ = - + : [ { ( . ? ' " などの記号の使用頻度はとても高いです ところがUSキーボードを使っている場合 上記のうち : [ { . ? ' " は良いですが _ = - + ( が最上段に位置していて タッチタイピングしづらいです US Keyboard これはプログラムの生産性に大きく影響しそうです なぜならこれらのキー入力が出現するたびに 目視でその位置を確認するか当て推量で外すかして それによって入力のリズムが崩れてしまうからです つまりこれらのキーの配列を ホームポジションで所掌できる範囲内に収めることができれば プロ

    キー配列を最適化してプログラミングの生産性を倍にしよう! OSX限定 - hp12c
  • 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
    tuto0621
    tuto0621 2010/11/22
  • ((Rubyで) 書く (Lisp) インタプリタ) - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 ((Rubyで) 書く (Lisp) インタプリタ) : melborne.github.com - Peter Norvigさんの((Pythonで) 書く (Lisp) インタプリタ) という記事(青木靖さん訳)がすごい 100行ほどのPythonコードで Schemeのインタプリタの基部分を書いている Pythonのコードは見た目がRubyのコードとよく似ているので Rubyしか知らない僕でも何となく読める この記事を解読してRuby版Schemeインタプリタを書いたら インタプリタ Pyhon Scheme それからRubyのことも もう少し分かるようになるかもしれない こんなお得な勉強方法はないぞ きっと そんなわけで... 以下では上記記事を参照し

    ((Rubyで) 書く (Lisp) インタプリタ) - hp12c
    tuto0621
    tuto0621 2010/11/22
  • ApplescriptとRubyでもう僕は移動しない - hp12c

    忙しい社会では無駄な労力というのはとても嫌われます そしてコンピュータネットワークの発達した現代では 「移動」は無駄な労力の1つとみなされています ネット世界の住人は特に移動を嫌います 物を買うにも友と語らうにも移動を避けます 移動は無駄に時間を消費するからです そう現代ではマウスクリック1つで問題は解決するのです ところが彼らの中にはそれでは満足できない一群がいました 彼らは言うのです 「マウスに腕を伸ばすのも時間の無駄である」 極論ですが一理あります 確かにマウスの使用は腕の移動を伴います そんなわけでGUIに完全に制圧されたこの世界でも キーボードだけで何とか事を解決しようと試みる人たちはいます 彼らはQuickSilverでアプリを立上げ VimEmacsでエディットし Vimperatorでブラウズし livedoorReaderでブログを読み Termtterでツウィットし

    ApplescriptとRubyでもう僕は移動しない - hp12c
  • Rubyでアニメーション・グラフを作ろう! - hp12c

    ベルマンフォードのアルゴリズムで実行される結果も逐次表示 - Seeking for my unique color. を見てGraphVizの出力からアニメーションgifを作りたくなった Rubyにはruby-graphvizというGraphVizのinterface libraryと RMagickというImageMagickのinterface libraryがあり これらを使えば目的は達成できるみたいだ ruby-graphvizのinterfaceは自分にはわかり辛かったので これをラップする形でGraphAz*1というクラスを書いて 上のアニメーションgifを出力してみた 用途が限定的で実装にも問題がありそうだけれど GraphVizのDOTデータの出力としても使えるので 無責任無保証で使ってくれる人がいればうれしい 使い方 コードを見るのが早いと思うので 簡単な例を示した ま

    Rubyでアニメーション・グラフを作ろう! - hp12c
  • 1