タグ

ブックマーク / nari.hatenablog.com (17)

  • パーフェクトなCRubyを目指して - 1行のバグ修正に潜む苦労 - - I am Cruby!

    この記事はパーフェクトRuby Advent Calendar 2013 - Adventar の9日目です。 前の日のエントリーはパーフェクトRuby Advent Calendar 2013(8日目) Let's Sinatra Life - たちブログです。 まだ参加できますので、みなさまもぜひ。 パーフェクトRuby Advent Calendar 2013 - Adventar パーフェクトRubyRubyの仕様に大変詳しい同僚への献をインターセプトして読ませていただきました。 さまざまな機能をまとめたとてもよいだと思います。 著者のみなさまの苦労が偲ばれました。パーフェクトRuby (PERFECT SERIES 6)作者: Rubyサポーターズ,すがわらまさのり,寺田玄太郎,三村益隆,近藤宇智朗,橋立友宏,関口亮一出版社/メーカー: 技術評論社発売日: 2013/08/1

    パーフェクトなCRubyを目指して - 1行のバグ修正に潜む苦労 - - I am Cruby!
    InoHiro
    InoHiro 2013/12/09
  • RubyKaigi感想 - I am Cruby!

    箇条書き 1日目 Openingの角谷さんの喋り方がエモくてグッと来た いろんなアナウンスを英語でもされていてスゴイと思ったRuby歴史 イイハナシダナーKeynote 1人で開発してた時の話がとても重要だと思った Inside RubyMotion llvmあたりの話までしてくれて超楽しいトークだった あとで聞いたらMacRubyの資産をかなり使ってるそうな(JITの部分) だからC++で書かれてる Two Legal Bodies about Ruby and its projects 漫談よかった。Grantは今年もやるそうな TWO CARTOON FOXES: the _why documentary (Japanese Subtitled) _whyのプレゼン動画の最初と最後だけ使ってるのがいいなあと思った _why自身に優しい作りというか。いっぱい人シーンがあると_why

    InoHiro
    InoHiro 2013/06/02
  • 桐島、Rubyやめるってよ #odrk03 - I am Cruby!

    大江戸Ruby会議03の招待講演として発表してきました。たのしかったです!! 桐島、Rubyやめるってよ from Narihiro Nakamura 「思いっきりエモい(emotional)、コードが一行も出てこないプレゼン」をRubyKaigi系列で一度やってみたいという思いがあり、上記のようなネタを考えてみました。 ただ、かなり幅広い層に見られる(古参Rubyist、初心者Rubyist、コミッタ)こともあり、いずれの層にも楽しんでもらえる話にしなければ、と思って、だいぶネタを練りました。 特に超練度が高いRubyistたちにどのように受け入れられるか心配ではあったのですが、artonさんや咳さんに「面白かった」と言ってもらえてホッとしました。 懇親会等ではありがたいことにみなさんから絶賛系のコメントをいただくことが多く、逆に心配になるくらいだったのですけど、akrさんだけは「目的オ

    InoHiro
    InoHiro 2013/03/17
  • SPDYと「やったー、net-http-spdyできたよー」の話 - I am Cruby!

    SPDYを知るSPDYという実験的なプロトコルがありまして、 SPDY - The Chromium Projects HTTP2.0はSPDYをベースに作られるかも、みたいな話も風の噂で聞いたりするのでじゃあどんなもんかなあと仕様を読んで見ました。 SPDY Protocol - Draft 2 - The Chromium Projects SPDY Protocol - Draft 3 - The Chromium Projects SPDYv2とSPDYv3というのがあって、基的にはSPDYv3の方を読んどけばいいのかなあとは思います。 ただSPDYv2もすでにいろんなところで使われていますので、仕様書の「7.Incompatibilities with SPDY draft #2」の部分もチェックしておきましょう。 HTTP Layering over SPDYSPDYというの

  • ソースコードを読むときの3カ条 - I am Cruby!

    GCを読んでいく上で実際に使っているソースコードの読み方を紹介してみます。 個人的に大事にしているのは以下の3カ条です。 小さい疑問から先に倒すべし 正しいツールを選択するべし 必ずメモするべし 小さい疑問から先に倒すべし なんとなく読みたい時は疑問の分析からソースコードってなんとなく読みたくなるということもありますよね。 ただ、その状態でいきなり対象のソースコードを読みはじめるのはよくないです。 小さなプロジェクトだと問題ないかもしれませんが、大きなプロジェクトだと時間がかかりすぎます。 そういうときは最初にドキュメントなどを読んでみましょう。 そうすると、対象のソースコードが持つ機能が書いてあります。 機能がわかれば「どうやってこれを実装しているのか?」という疑問が浮かびます。 たとえば、G1GCの場合は論文がすでに公開されていたので、最初に論文を読みました。 読み終わったあとに論文内

  • CRubyGCの並列世界 - RubyKaigi2011 - I am Cruby!

    rubykaigiえっと、真面目な方の資料はこちら。 CRubyGCの並列世界 View more presentations from authorNari 動画: Ustream.tv: ユーザー rubykaigi: 16S05, 16S05. 会議 書くの忘れていたのですが、ソースコードは以下で公開してます。 authorNari/ruby - GitHub 資料をかなり作り込んで大変だったのだけど、個人的にはたぶん今までで一番いいできのプレゼンというか、かなり自分の理想に近いものになったかなぁ。 まぁ、たぶん聞いてる方はそんなでもなかったでしょうが…。 時間オーバしてごめんなさい。あとのささださんにご迷惑かけてしまいました。ツイートする

  • 円環の理(Garbage Collection) - 闇RubyKaigi - I am Cruby!

    yamirubykaigi闇葬られたスライドを公開しておこう。 円環の理(Garbage Collection) View more presentations from authorNari leakyは以下のURLからダウンロードできる。 authorNari/ruby at leaky - GitHub ※ただし、minirubyまでしか作れないので注意だ。 みなさんお馴染みのhell world.rbを書こう p a = "welcome! hell world!" a.free ようこそHell worldへ。 finalizeもすぐ実行 a = 'a' proc = Proc.new{ p (a = 'do_finalize'); a.free } ObjectSpace.define_finalizer(a, aProc=proc) a.free # => 'do_final

    InoHiro
    InoHiro 2011/07/19
    "カジュアルかつファッショナブルなSEGV"
  • おしまいのはじまりの日 - I am Cruby!

    rubykaigi 前の日、お酒を飲み過ぎて大分駄目な感じで会場へ。 あんどうさんのparse.yのお話し ココまで話してもらったんだから自分のruby作るべし おれはleaky作ったもんねー :) eeeendはイイと思うんだけど、ruby-coreでマジメにfetureリクエストとかどうでしょう。 ucnvさんのglitchの話 正しい仕様で壊さなければならぬ。glitch画像については「よいお手前ですね」みたいに褒めることが重要。 一旦壊すことで実装の差異が浮かび上がるというのは面白い。 andrewのお話し eigenってそう言うことなんだ! いっとくけどREE単体で使ってもあんまり意味ないと思うんだよね。僕の知る範囲だと。 日語を頑張って喋っていた。これは素晴らしいよ。ほんとに。こういうのを感動というんだなぁ。 makoto_inoueさんのお話し 一歩間違えると大批判をらい

  • Redmineのチケットをコマンドラインで扱う「redcuine」 - I am Cruby!

    rubyRedmineのチケット操作って絶対ブラウザつかわないといけないので面倒ですよね…。どうせならコマンドラインでスコーンと登録したい。 以前はコマンドラインでメール投稿してチケット登録するツールを作ってたんですが、登録されるタイミングとか微妙でどうも使いづらかった。会社のRedmineが1.1に上がったので調べてたらREST APIを見つけて、そっちに乗り換え。どうせなら公開しようと思って、昨日夜なべして作り上げました。 authorNari/redcuine - GitHub gem install redcuine で入ると思います。ドキュメントとかほぼないし、テストもないので(酷い)、使う人はexperimentalだと思って使ってください。 Issueの取得、登録、更新、削除と一通りできます。Redmine1.1でしか試してないので、1.0系だと動かないかも。

  • hudsonでrvmを使ってrails3アプリを継続的インテグレーション(CI) - I am Cruby!

    hudson, rails前々から興味があったhudsonをrails3のアプリケーションで使ってみた。rvmを利用して綺麗な環境でビルドすることが目標。 hudsonの起動第1回 Hudsonの導入|gihyo.jp … 技術評論社を参考にしました。すんなり動くかと思いきや、HTTPサーバが起動しない。しかもエラーも吐かないものだから困った。 原因を調べるとhudsonが悪いワケじゃなかった。winstoneの中でIPv6localhostにconnectしているところでシーンという感じ。ip6tablesを見るとloが空いてなくて、パケットがことごとく捨てられてたみたい。 ping6 ::1 すら何も帰ってこなかった…。タイムアウトに時間がかかるのでエラーが吐かれる前に手で止めてて、エラーが確認できなかったのです。しくしく。 とりあえず、IPv4を優先的に使うようにする。 $ jav

  • EmacsでのRails開発にrinariを使い始めた - I am Cruby!

    Rails, Emacsemacs-railsを捨てて,rinariを使い始めた.理由はコードネームにnariが入っていて,好感をもったから.emacs-railsのココが好き flymakeが使える riが引ける rdocが引けるemacs上でテストが実行できる TAGが作れるemacs-railsのココが嫌い デカイ 読み込むだけでruby-modeを汚染する メソッド単位のテストができない そこでrinariの登場 メソッド単位のテストができる 検索が賢い flymakeは自分で設定すればいける素晴らしい紹介があるので,あとはこちらで.emacsとRinariで快適Rails開発! - おもしろWEBサービス開発日記 設定など ;; C-c ' がprefixキー (setq rinari-minor-mode-prefixes (list "'")) (require 'rinar

  • 「ガベージコレクションのアルゴリズムと実装」という本を書きました。

    gcbook, gcai, GCGCLoverのみなさん、お待たせしました。「ガベージコレクションのアルゴリズムと実装」の情報公開です。 書名:ガベージコレクションのアルゴリズムと実装 著者:中村 成洋/相川 光 監修:竹内 郁雄 ページ数:472ページ 体価格:3,200円 発売開始日:2010年3月17日(水) ※地域・書店によって遅れることがあります ISBN:978-4-7980-2562-9 C3055 読み所 書は次の2つのテーマを扱います。 1.GCのアルゴリズム(アルゴリズム編) 2.GCの実装(実装編) アルゴリズム編では、これまでに考案されてきた数多くのGCアルゴリズムの中 から、重要なものを厳選して紹介します。伝統的かつ基的なものから、やや 高度なアルゴリズムを選定しています。GC独特の考え方や各アルゴリズムの特 性などを理解していただくのがアルゴリズム編の最大

    InoHiro
    InoHiro 2010/03/03
    期待せざるを得ない
  • もっとコード読もう - I am Cruby!

    programmingみんなコード書いてばっかりで、読んでないんじゃないかなぁと思う所があって、なんとなーく新年あけましてだしぃ、ちょっと書いてみました。 コードを読むのは辛いそもそも、ソースコードは他人にわかるような面白い読み物として書かれていません。ソースコードは人間とPCが理解できるような中間のものとして書かれているからです。そのため、ソースコードには、小説のように順序立てられた物語はありません。 したがって、他人のソースコードを読むは大抵の場合「苦痛」を伴います。すごく長い関数とか、GCとか、GCとか…。まぁ、とにかく理解するのには時間が掛かるわけです。 コードを読む理由今、ネット上には世界中の優秀なプログラマが書いたソースコードがタダで公開されています(いい世の中ですね)。そのようなソースコードには必ず「発見」があると思うのです。「おぉっ、こんなやり方があったか」と唸るような「発

  • GC黄金時代ー関西Ruby会議02にてー - I am Cruby!

    関西Ruby会議02 発表資料GC黄金時代View more documents from authorNari. 反省GCについての電波を放出しすぎた 1分間に5回「GC」と言えなかった parse.yよりgc.cアルゴリズムの説明がうまくできなかった 欲張りすぎるのはよくない 猛省 謝辞関西Ruby会議スタッフの皆様お疲れ様でした。そして、素晴らしいイベントをありがとうございました。また、私なんか呼んで貰っちゃってありがとうございました…。(交通費も非常に助かりました。ありがとうございます) また、参加者の皆様、セッションを聞いてくださった皆様。ありがとうございました! 神まとめこのログが神のごとくまとまってますけどっ!?2009-11-07 - 総合的な学習のお時間

  • 1.9最新版にプロセスサイズ削減パッチが取り込まれている - I am Cruby!

  • ヒープ細分化、プロセスサイズ削減パッチを作った - I am Cruby!

    Ruby, GCwhat thisHeapをこまめにfreeしてやりたいというパッチRubyのプロセス省メモリ化に役立つもの why今までのHeap管理は足りなくなれば前回付け足したHeapの1.8倍をmallocで確保して使用していた。しかし、オブジェクトのフラグメントが発生すると中々解放されない。贅沢にメモリを確保しすぎる傾向にあった。 attack plan一度にmallocするHeapサイズを32KBに決め、複数割り当てる 32KBという根拠はbenchmarkでバランスがよかったバランスとは解放されるHeap数と速度のバランスfreeを開始するのは全体の65%にmarkが付いていない場合のみ 65%という数字も経験則によるものadd_heapはrb_new_objの際にインクリメンタルに行う どうせmallocを分割して行うなら、インクリメンタルにやろうということheapをfre

  • 発表資料 RubyのGC改善による私のエコライフ - I am Cruby!

    rubykaigi2009RubyのGC改善による私のエコライフView more documents from authorNari.  動画TODO: ニコニコ?に載ったらココに貼りますね.  感想こんなにホームだったのは初めてです.というのも「GCに興味ある人」っていったら100人くらいいる人がみんな手を挙げたんだから(T-T) コミッタの方々が前にいらっしゃって,とても緊張した.たぶん今までのプレゼンで一番の緊張だった気がする.ドキドキ. GCの話.手を挙げて貰ったこれも80人くらい買うよと言って貰えた.ちょ!「これが全員なんじゃない?」というツッコミがあって笑ってしまった. なぜか,45分くらい時間があって,30分の資料しか作っていなかったので,やっぱり15分時間が余った.「質問タイムナウ」となって,いっぱい質問をいただく.ありがとうございます.この質問タイムが予想以上に盛り上

    InoHiro
    InoHiro 2009/08/02
    GC本きたい
  • 1