タグ

ブックマーク / druby.hatenablog.com (9)

  • The dRuby Book. now in print. - @m_seki の

    RubyKaigi2007でPragDaveと話をしてからずいぶん経ちましたがついに英語版幸福の王子ことThe dRuby Bookが発売されました。わーい。 しばらく停滞してしまったけど、翻訳者の井上さんが参加して下さってから一気に加速(でも一年以上)して完成しました。私はなにかをやり遂げるエネルギーが少し足りないみたいなのですが、井上さんの力でゴールまで辿り着けました。 井上さんには当に感謝しています。みんなもして。 Div/Tofuの章がばっさりなくなったけど、代わりにDripが増えています。dRuby当は関係のないERBの章も書き下ろしです。 It’s a distributed world. But do you know how to effectively do distributed programming in Ruby? Let renowned Ruby pr

    The dRuby Book. now in print. - @m_seki の
    iR3
    iR3 2012/03/28
    .@m_seki 英語版The dRuby Book発売おめでとうございます♪
  • ロールプレイングゲーム - @m_seki の

    ここでは私が実践している、ちょっと良いプログラマになるためのコツを紹介します。まるで「理想のプログラマ」のように仕事をするための簡単なアイデアです。チームでプログラミングするお仕事に就かれているみなさんが、このアイデアで昨日よりも気分よく過ごせるようになれば幸いです。 多くの達人が「理想のプログラマ」とはどういうものか、よいプログラマのあるべき姿、立ち振る舞いを説いてきました。おそらく、みなさんも達人たちが理想のプログラマについて書いた文章を読まれたのではないでしょうか。そして達人たちの示す理想のプログラマ像を想像してそんな人物になろうとしましたよね。みなさんは実際にそうなれたでしょうか。その振る舞いを実践するのはちょっと難しかったりしませんでしたか。 「理想のプログラマ」といった「理想の何か」になるために、来の自分を変えて別な自分になる必要があります。しかし変身は痛みを伴うものです。

    ロールプレイングゲーム - @m_seki の
    iR3
    iR3 2012/02/18
    「ちょっと良いプログラマになるためのコツ」
  • オブジェクト指向入門をもう一度 - @m_seki の

    プログラミングが好きでTDDが好きで昔話に興味があるあなたに「オブジェクト指向入門」を勧めます。 いまさら「オブジェクト指向」に「入門」なんて、と思うかもしれません。ちょっと控えめなタイトルのこのは、私のプログラミングスタイルにとても大きな影響を与えました。 私はこのから著者メイヤーの説く多くの概念を学んだだけでなく、言語デザインからその意図や主張を汲み取ることの楽しさも教わりました。私にとってはプログラミングの指針を両面から得られた、プログラミングの入門書でした。それから、やり過ぎに注意、という教訓も得たような気がします。 メイヤーはEiffelという言語を用い、「モジュール」を出発点として様々な議論を展開します。インターフェイスの重要さ、契約/表明を使ったデザイン、開かれてかつ閉じている開放/閉鎖原則を満たす型システムなどなど、「正しいソフトウェア」を構築するためのさまざまな概念を

    オブジェクト指向入門をもう一度 - @m_seki の
    iR3
    iR3 2012/02/07
    Eiffelってなつかしい
  • とちぎRuby会議04で使ったスライドを公開しますね - @m_seki の

    Drip Instant Reply / http://www.druby.org/DripReplay.pdf RubyKaigi2011で話したスライドの前半(PTupleSpace)を抜き、Dripの実装の説明を追加しました。 toRuby 59.5th / http://www.druby.org/tochirk04.pdf 懇親会でのtoRubyセッションで使ったtoRubyのポジペの紹介と他のRegional RubyKaigiさまへの熱いメッセージです。

    とちぎRuby会議04で使ったスライドを公開しますね - @m_seki の
  • 画期的なバグ票分析→だいたい探索型テスト支援システムをちゃちゃっと書いてみた。 - I like Ruby too.

    私は最近のバグの傾向、キーワードを組み合わせて連想したネタでバグを見つけることが多いです。見つけないことも多いけど。 これを機械にやらせたらおもしろそう。 https://github.com/seki/Drip/blob/master/sample/tw_markov.rb オフレコなんだけど、githubのDripのsample/に、自分のツイートのログからマルコフ連鎖つかって自分っぽいツイートを生成するスクリプトがあるじゃん?この自分のツイート風文章作成の辞書をバグ票から作ればそのシステムに出てきそうなバグが作れるはず。 んで、やってみた。(あまりに短いのでスクリプトは載せません) うちのRWikiに入ってる数万のストーリーから直近の数千のバグっぽいチケットを集めてきて辞書を作って、バグ報告風文章を作成するシステムを書いてみたですよ。確かにそれらしいバグ報告が生成されます。次はそのバ

    画期的なバグ票分析→だいたい探索型テスト支援システムをちゃちゃっと書いてみた。 - I like Ruby too.
  • マルコフ連鎖用の小さな集合 - @m_seki の

    西那須野図書館で久しぶりに恋するプログラム―Rubyでつくる人工無脳借りてきました。マルコフ連鎖の辺りを読んでましたけど、あの例は原データの出現頻度とか数えるのに重みに使わないのね。Array#sampleが新しくなるのは待てないのでそーゆーのを支援する小さな集合書いてみたー。 @dict = BagInBag.new { BagInBag.new { Bag.new } } @start = Bag.new こんな風に使う。 下のは自分のツイート(Drip上に集めておいたやつ)を元に自分風の文を生成する例。 https://github.com/seki/Drip/blob/master/sample/tw_markov.rb コードを使いこなせる上司になろう。 初刷な気がしますね、大家さん。レンタカーとかも当然だめだよ! あ。シキジカだけでなく、frozenなStringに対しても動作

    マルコフ連鎖用の小さな集合 - @m_seki の
  • ReVIEW - @m_seki の

    書籍を書く予定は当面ないのだけど、青木さんのReVIEWがまた人気っぽいのでtarを展開してみた。 フォーマッタを見かけたらWikiを作りたくなるので、さっそく練習。 とりあえず文字列を与えてHTML片を返してもらうことに。ファイルを作らずに変換させたかったけど、自然に書けなかったので一時ファイルを作るようにしました。 require 'review/env' require 'review/compiler' require 'review/htmlbuilder' require 'monitor' require 'fileutils' class ReHTML include MonitorMixin def initialize(dir='work') super() @dir = dir FileUtils.rm_r(@dir, :force => true) FileUtil

    ReVIEW - @m_seki の
    iR3
    iR3 2010/10/24
  • 2010-04-02

    いろいろ考えてるわけではなくて、時系列で書くとこんな感じ。 JaSST, SWTESTの洗礼をうけ、ギャップに驚く。 (2004) 西さんと西那須野で宴会 (200?) 西さんと西那須野でまた宴会がしたい。(2009) 西那須野公民館辺りで、テスト臭のするイベントをやりたい。(2009) id:Yoshiori がきっかけで俺TDDブーム再来。テスト屋さんとプログラマ風の人とのギャップを再認識 (2010) id:goyoki が良いまとめをした。 いい機会なのでイベント熱が再燃。id:t-wada id:goyokiも軽く誘ってみる。 TDDっぽいイベントが南関東でありそうなので、イベント開催を遠慮してみるが勘違いだったみたい。 やっぱりやるか。趣意書がないとだめらしい。 ← いまここ 大場さんに話を聞いてもらえない。 やりたいこと。 テスト方面とプログラマ方面のどちらからもはみ出てる人

    2010-04-02
    iR3
    iR3 2010/04/02
  • とちぎRuby会議01のtoRuby勉強会で使ったスクリプトを説明したい。 - @m_seki の

    恥ずかしいけど。 require 'rinda/tuplespace' require 'erb' require 'webrick/cgi' require 'rbtree' require 'nkf' require 'digest/md5' require 'enumerator' たくさんrequireする。enumeratorはeach_sliceを使いたかったから。 class Page include ERB::Util def initialize @color = create_color end def create_color Hash.new do |h, k| md5 = Digest::MD5.new md5 << k.to_s r = 0b01111111 & md5.digest[0] g = 0b01111111 & md5.digest[1] b = 0

    とちぎRuby会議01のtoRuby勉強会で使ったスクリプトを説明したい。 - @m_seki の
    iR3
    iR3 2009/10/24
  • 1