タグ

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

  • weakref.rb - I am Cruby!

    RubyRuby勉強会in松江午後の部に参加. みんな気の赴くままに,Rubyの何かをするという形式で非常に有意義だった.  weakref.rb今回はRubyの標準ライブラリであるweakrefについて調べてみた. 弱い参照を作るライブラリで,C++で言う所のweak_ptrの様な動きをする.  サンプルコード require 'weakref' require 'pp' foo = "123" bar = WeakRef.new(foo) bar "45" pp bar #=> "12345" pp foo #=> "12345" foo = nil # kill only ref GC.start pp bar # should raise exception (recycled) こんな動きをするんだって. 実装はどうなっているのかどうやってRubyで実現しているかと言うと,wea

  • パーフェクトな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!
  • 桐島、Rubyやめるってよ #odrk03 - I am Cruby!

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

  • 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というの

  • mrubyのGC解説まとめ - GC Advent Calendar - I am Cruby!

    Garbage Collection Advent Calendarの25日目の記事です。 ついに、か、完走したぞ!!うぉぉー。はあ、つかれた。もう来年はいいです。 ということで今日の分のスライドもあわせて、まとめてこの記事にはりつけておきます。 (あーあ、はてなダイアリーにslideboom埋め込めないのか…) mrubyのTri-color incremental mark & sweep GC 解説 その1 mrubyのTri-color incremental mark & sweep GC その2 mrubyのTri-color incremental mark & sweep GC その3 しかし、スライドのアニメーションとGCの解説って相性いいですねえ。 Impressでpptを吐いているのですが、それなりにslideboom上でも動いてびっくりしています。ツイートする

  • 『徹底解剖「G1GC」実装編(β版)』を公開しました!! - I am Cruby!

    全国数千人(GC売上調べ)のGCファンのみなさま、おまたせいたしました。 『徹底解剖「G1GC」実装編(β版)』を以下のURLに公開しました! 徹底解剖「G1GC」実装編(執筆中) (PDFやEPUB,mobiもリンク先から辿れます) なかなか面白い内容になったと思いますのでぜひぜひ読んでみてください! β版と銘打っていますが、書きたい部分はすべて書いたつもりですので正式公開になっても内容が大きく変わる可能性は低いです。 ただ読者様から重大な指摘があったりすると困るのでとりあえず1ヶ月くらいはβ版とし公開させていただきます。 ぼちぼち書きながら休みながら結局完成にさせるのに半年もかかってしまいました…。 ページ数も140ページくらいいってしまったし…。 書きは書き始めてからちゃんと終わらせることが一番大事なことのように思います。 いやー終わらせられてよかった(遠い目)。ツイートする

  • Lang-8の添削機能はお手軽に日本人の英語力を上げてくれる、と思う!! - I am Cruby!

    English最近、Lang-8を改めて使い始めた。このLang-8、私は日人が英語を学ぶのに非常に適したサービスだと思う。  日記は書かない私の使い方はちょっと特殊で、まず日記を書かない。なぜかというと、日記を書けるほどの英語力がまだないからだ。辞書を引き引きしながら日記を書くのは大変だ。私はそんな労力を使って日記など書きたくない(えっへん!)。 「面倒」というのは勉強の大敵であると思う。面倒なものは長続きしない。長続きしなければ知識は定着しないので、「簡単」であることが勉強には求められる。(もちろん、勉強に対する「自分の情熱」があれば、それが一番よい)  人の日記の添削結果を見る私は主に「他人がどのような添削をされたか」を見る。マイホームの「あなたと同じ言語を学習している人の日記」を開き、添削があった日記を読むのだ。私の場合は「英語」の日記がでてくる。そのため、ほとんどが日人が書い

  • Rails2系 => Rails3.0系移行時の実践的まとめ - I am Cruby!

    railsrails3.1系になるとまた大きく変わりそうだけど(特にJavaScript周り)、一旦まとめておこう。 routes.rb /:controller/:action/:id はroutes.rbに記述されなくなった。RESTを使え。 代わりに以下のコメントを外すとレガシーなものも使える。 match ':controller(/:action(/:id(.:format)))' routes.rbの記述形式は他にもいろいろ異なる。 Ruby on Rails Guides: Rails Routing from the Outside In find周りArelを使うならfind(:all, ...)系は基的に使わない。 すべてwhere(...)やallを使った方がいい。 ただし、find(1) や find_by_name('hoge') みたいなものは今後も消えないだ

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

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

  • Passenger+Railsでファイルダウンロードを三倍早くするアレの話 - I am Cruby!

    Rails, Ruby 結論:x_sendfileを使う。  調査内容Passenger(mod_rails | mod_rack)でApacheのx_sendfileが正常に動作するか。 PassengerについてApacheでアプリケーションサーバを介さずにRailsを動作させる拡張モジュール。Rackも動作します。構造としては、mod_rubyと違い、ApacheにRailsRuby)は取り込まないようです。PassengerSpawnサーバというRubyで動くサーバがApacheのWorkerProcessと連携する構造になっており、そのSpawnサーバで、Railsと、アプリケーションが二層に渡ってキャッシュされる仕組みになっています。 以下のサイトに、日語訳の技術的な概要について乗っています。http://lab.koshigoe.jp/en2ja/passenger/Ar

  • 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

  • RailsデプロイはRailsを使う人なら買っておくべき本 - I am Cruby!

    読書感想文, RailsRailsデプロイを全部読み終えました.Railsデプロイ作者: Ezra Zygmuntowicz, Bruce A. Tate, Clinton Begin, 前田修吾(監訳), 橋将(監訳), 小倉正充(監訳), 牧野聡出版社/メーカー: オライリージャパン発売日: 2009/03/16メディア: 大型 このはこんな賞賛の声で始まります. 書を購入するまでは,私はこの種の情報を求めて何時間もWebを探し回っていました. 書には求めていた情報すべて(しかも正確に)納められており,Railsプロジェクトを成功裏に 稼働させる上で非常に役立ってくれました.どうもありがとう! --- Eric Kramer (Nationwide Children's Hospital. プログラマ) 私も仕事Railsを扱うようになって最初にとまどったのが,世の中に溢

  • ymlでERDを書けるymldotを作ったのですが... - I am Cruby!

    ERD, Rubyそういえば,ちょっと前に「ymldot」というのを作りました.  なに?(What?)どうやって?(How?)楽々ERDレッスン 第1回:「お持ち帰りご注文用紙」編:CodeZineで紹介されているERDを書くときに # reference http://codezine.jp/article/detail/154?p=1 config: font: MSUIGOTHIC.ttf tables: - name: 顧客 columns: - 名前 - 電話番号 foreignkeys: has_many: - 注文 - name: 注文 columns: - 注文数 - name: 商品 columns: - 名前 - 金額 - 税 - 商品区分 foreignkeys: has_many: - 注文 - name: 商品カテゴリ columns: - 商品カテゴリ名 f

  • 1