タグ

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

  • 桐島、Rubyやめるってよ #odrk03 - I am Cruby!

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

  • プログラマなら押さえておくべき「ソフトウェアライセンス」の話 - I am Cruby!

    読書感想文ソフトウェアライセンスの基礎知識作者: 可知豊出版社/メーカー: ソフトバンククリエイティブ発売日: 2008/09/25メディア: 単行購入: 7人 クリック: 62回この商品を含むブログ (30件) を見るGW帰省(電車の中)で読んだがこれ。 この時期だし新米プログラマに良いだと思うので紹介しておく。 ソフトウェアライセンスはプログラマの基礎知識ほとんどのプログラマはOSSのライブラリを使用して、ソフトウェアを作るはず。 そこで使用するライブラリのソフトウェアライセンスには気を遣わなければならない。 例えば、GPLv2のソフトウェアに動的リンクする場合はコピーレフトが適用されてしまう。 「しゃーねぇ、じゃあ公開したろうか」と思うと、実はGPLv2とは互換性のないライセンスがすでに適用されてしまっていた。 チェックメイツッ!!! ソフトウェアライセンスは敵じゃないよ!そう

  • JikesRVMで「Hello World」 - I am Cruby!

    JikesRVM-GCJikesRVMでGC作り - I am Cruby! えらい日語の情報が少ないJikesRVMについてちょっとずつ調べながら説明するシリーズ。 JikesRVM とはなにかJikes RVM - Home  簡単にいえば「すごくいじりやすいVM」かな。 JikesRVMの、「RVM」は「Research Virtial Machine(研究用VM)」の略です。 名前からわかる通り、JikesRVMはVM自体を改良するためのいろいろなAPIが用意されています。 たとえば、GCをJavaで書けちゃったりするらしい。    なので、JikesRVMの目標は「閃いたアルゴリズムを簡単に実装させてやりたい!」なのではないかと。 「じーしーつくりたいけど、しーができないとだめとかありえない(白目」とはいわせませんよと。 インストールJikes RVM - Care and F

  • はじめての並行プログラミング(1) - I am Cruby!

    第53回 社内勉強会に使用したテキストファイル「はじめての並行プログラミング(1)」 今回話すことスレッド? 並行プログラミングの難しさ 複数の仕事を同時に『並行プログラミング』とあるプログラムで何かの処理を同時におこないたい 方法は大きく分けて二つプロセススレッド(軽量プロセス)※ スレッド in プロセス の関係。プロセスとスレッドの違い(簡単に言えば)プロセスは「資源を共有しない」。スレッドは「資源を共有する」。スレッドが共有するもの メモリアドレス空間、ファイルハンドルなどスレッドが共有しないもの プログラムカウンタ、スタック、ローカル変数スレッドを使うメリットよいとこ 一つのプロセス内で並行処理が可能 非同期な処理とか 起動も低コスト データの同期が低コスト グローバル変数で受け渡しなどわるいところ 共有データの扱いが難しい(超重要)スレッドの安全性(safety)スレッドセーフ

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

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

  • org-mode、remember-modeでいろいろしたい!! - I am Cruby!

    emacs今までclmemo.elを愛用してきましたが、org-modeに乗り換えることにしました。org-mode、remember-modeについてはid:rubikitchさんの以下の記事を参考にしました。org-mode + remember-mode でEmacs内で瞬時にメモをする→コードリーディングに生かす・メモ検索する - (rubikitch loves (Emacs Ruby CUI)) 僕の org-remember-templates は以下のように落ち着きました。 (setq org-remember-templates '(("Task" ?t "** TODO %?\n %i\n %a\n %t" nil "Task") ("Work" ?w "** TODO %? :work:\n %i\n %a\n %t" nil "Task") ("Idea" ?i "

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

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

  • もっとコード読もう - I am Cruby!

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

  • マイ.emacs探訪 - I am Cruby!

    Emacs(Emacs Advent Calendar jp: 2009 : ATNDの参加記事。すいません、私なんかがトリなんです。昨日はshugoさん。最初はk1LoWさんでした。)みなさん。メリークリスマス。こんな暇な日は自分の.emacsを見ながらニヤニヤすることにしましょう。emacsでメモclmemoemacsのメモはclmemoを愛用しています。clmemoはプログラマお馴染みのChageLogの書式を使ってメモを取るelispです。 (autoload 'clmemo "clmemo" "ChangeLog memo mode." t) (setq clmemo-file-name "~/memo/clmemo.txt") (global-set-key "\C-xM" 'clmemo) 重要なメモはココに集結させています。clmemoが便利なのは、メモを取る先が一つのテキ

    lugecy
    lugecy 2009/12/25
  • 自由を作る自在に生きる - 森博嗣 - I am Cruby!

    抜粋 目指すものは自分で決めなければ意味がない。 当の自由はそこから始まる。 「人の目を気にする」人間の大半は、「自分の周囲の少数の人の目を気にしている」だけである。 自分が何に支配されているのかをよく考えることが必要だ。 一人静かにこもるのも自由だ。 しっかりとした理由があって、これには反対だというものに関して は、嘘の笑顔で流さず、意見をしっかりと出すべきである。 ただ、意見を伝えるだけで、仕事の進行に抵抗してはいけない。 仕事をきちんとこなさなければ、通る意見も通らない。 単なる反対は意見ではない。 自分にとって合理的な理由で判断すること。 周囲の評価、定説、噂、世間体、そして常識、といったもので選ぶな、ということ。 自由を得るためには、毎日少しずつでも良いから前進する作戦が最も有効だと思う。 諦めなければ挫折は訪れない 自由をつくる自在に生きる (集英社新書 520C)作者: 森

    lugecy
    lugecy 2009/12/08
  • メモリ破壊の現場を見つけるTips - I am Cruby!

    RubyAdventJP, GC, Ruby(この記事はRuby Advent Calendar jp: 2009 : ATNDの4日目です。前日はmrknさんでした) 健全なるRubyistであれば、RubyのGCをいじることが週に一度はあるでしょう。そのときに困るのが、GCをいじってしまったことによるバグの修正です。GCをいじるというのは想像以上に難しく、少しでも書き間違えるとメモリ破壊が発生します。そのときに使えるTipsをこの記事で書くことにします。 みなさんご存じの通り、メモリ破壊というのは原因を特定するのが困難です。これは問題が発覚する場所とメモリ破壊が起こった現場が位置的に遠いことに起因しています。偉大なるハッカーのまつもとさんですら、その発見は困難です。 [ruby-dev:38628] Re: [BUG: trunk] called on terminated objec

  • 1