タグ

ブックマーク / higepon.hatenablog.com (10)

  • ひげぽん OSとか作っちゃうかMona- - post-commit hookを試す

    Subversionではコミットの前後などに hook してスクリプトを実行する機能があります。 スクリプトはリポジトリ側のhooks/ディレクトリに配置し、リポジトリ側で実行されます。 hookポイント以下のようなものがあり結構細かいです。 start-comit pre-commt post-comit pre-revpop-change post-revrop-change pre-lock post-loc pre-unlok post-unlck 早速やってみましょう。 まずはテスト用のリポジトリを作成します。 cd tmp mkdir testrepos svnadmin create ~/tmp/testrepos mkdir src cd src svn checkout /home/taro/tmp/testrepos . svn checkout file://home

    ひげぽん OSとか作っちゃうかMona- - post-commit hookを試す
  • 良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog

    Java並行処理プログラミングを読み終えた。ここ 1 年に読んだ技術書の中でダントツのベスト。(2位はWorking Effectively With Legacy Code) 「Javaだから関係ない」と思った人にこそ読んで欲しい。僕もここ数年 Java のコードなど一切書いていないが、このを読んで得たものは非常に大きかった。 このでは マルチスレッドプログラミングにおける問題と背景、その対処方法 Java が提供している API の設計と実装 を解説している。分かりやすさとレベルの高さを兼ね備えたとても良い。翻訳も最高。 僕はこのを読んで、Java の並行処理プログラミングは、想像を遙かに超えて進化している事に驚きを隠せなかった。何回も twitterJava すげーと叫んだ。 これを読んでしまうと、最近僕が熱心な Scheme も含めて、自分の身の回りにあるプログ

    良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog
  • Autotools の configure.ac と Makefile.am をさらしてみる - higepon blog

    多くの方に助けていただきながら、Autotools と格闘し何とか動くようになりましたので configure.inconfigure.ac と Makefile.am をさらします。 公開の意図ですが 初級以上の中級以下のサンプルがとても少ない(初級だと物足りず、オープンソースの大きなプロジェクトのものは読めない) 特殊な事情をどう乗り切ったかも合わせて分かる 実際に動いている新しいものである(Autotools はバージョンアップが激しく Web 上の資料が古くなっている場合が多い) 参考になるドキュメント 以下のドキュメントを参考にしました。 資料を読んでいて手元のものと動作が違うようでしたら資料が古いことを疑った方が良いです。 新しめの Autotools (Autoconf&Automake) を使ってみよう Automake の index Autoconf の index h

    Autotools の configure.ac と Makefile.am をさらしてみる - higepon blog
  • もう flex 使わない、これからは re2c - ひげぽん OSとか作っちゃうかMona-

    flex & bison をやめて re2c & bison にしたらパーサが速くなった。re2c は UTF32 の入力に対応しているので非常にすっきり書けるし設計も歪まない。 re2c is a tool for writing very fast and very flexible scanners. Unlike any other such tool, re2c focuses on generating high efficient code for regular expression matching. re2c は flex とは互換がなく独自のマクロなどを定義しなくてはいけないので注意。サンプルとドキュメントの少ないのもマイナスポイント。 それこそ UTF32 を利用している例なんて見つけられなかった。 re2c で多分難しいのは YYFILL (flex でいうところ

    もう flex 使わない、これからは re2c - ひげぽん OSとか作っちゃうかMona-
  • オンラインで動画・音声・教科書を無料で公開している大学の講義・授業まとめ - ひげぽん OSとか作っちゃうかMona-

    オンラインで授業を公開している大学とその講義の一覧のまとめです。 もし他にもご存知の方がいらっしゃれば、コメントやトラックバックなどで教えていただけるとうれしいです。 まとめ 英語ができるならば MIT 最強。国内は東大が比較的がんばっています。 (追記)国内ではWIDEのSOIががんばっているとのご指摘をいただきました。確かに素晴らしい講義がたくさんです。(表に追加しました) 講義はすぐそこに開かれているので、あとは「勉強方法」に従い講義を受けるだけだと思いました。 大学名のリンク先が講義公開 URL になっています。([高等教育シリーズ] 大学で勉強する方法) 大学名 公開形式 講義の例 備考 MIT 動画、講義資料 East Asia in the World、Japan in the Age of the Samurai 1800以上の講義が公開。中国語やポルトガル語に翻訳されてい

    オンラインで動画・音声・教科書を無料で公開している大学の講義・授業まとめ - ひげぽん OSとか作っちゃうかMona-
  • 勉強方法を勉強して分かった僕に足りなかった3つのこと - ひげぽん OSとか作っちゃうかMona-

    勉強方法を勉強して分かった僕に足りなかった3つのこと。 それは 時間割 マインドマップ 復習 の3つ。 1.時間割 勉強をコンスタントに長期的に続けるならば時間割は大変有用。 時間割を作り実践してみて分かったが「次に何をやるべきか」に迷う時間は振り返ればとてももったいなかった。 時間割を作ればほぼ迷わない。迷うとすれば超イレギュラーな事が起きたときだけ。 時間も節約できるしペースもつかめる。 また時間割を家族と共有していれば「20:00になったから勉強してくる」と言うだけで理解してもらえるようになる。 ただし時間割は時が経ち「見慣れて目に入らなくなる」「実態に合わなくなる」事があるので注意が必要。 僕は毎週手書きで描き直している。 時間割の有用性についてはレバレッジ勉強法が詳しい。 2.マインドマップ 正直 マインドマップ を馬鹿にしていた。何で皆あのようなものに踊らされているのかと。それ

    勉強方法を勉強して分かった僕に足りなかった3つのこと - ひげぽん OSとか作っちゃうかMona-
  • Ubuntu 用に ATOK X3 for Linux をインストール - higepon blog

    Ubuntu 用に ATOK X3 for Linux買いました。 これで話すように書けるぞ。(今までは書くように書くだった。) とってもとっても快適だ。UbuntuでSCIM+Anthy とか使っている人は買うと良いかも。 長い文章を書くと快適さが全然違います。 最近の ATOK はほぼ初体験なので、こういう使い方しているよなんてのを教えてもらえるとうれしいです。 ここにまとめていこうと思います。 インストール 自分はダウンロード版を購入したのですがインストールの手順をまとめておきます。 ダウンロードした atokx3.tar.gz を解凍します。 tar zvxf atokx3.tar.gz ATOKX3 にある以下のマニュアルを読みます。 readme.html install_guide.pdf 同梱されている install_guide.pdf は古いので[037228]Ubun

    Ubuntu 用に ATOK X3 for Linux をインストール - higepon blog
  • ひげぽん OSとか作っちゃうかMona- - Emacs + GLOBALでソース読みを快適に

    ネットワークサーバー実装のためにuIPのソースを読もう。 NICドライバの移植のためにFreeBSDのソースを読もう。 ということで以前使っていた etags を使おうと思ったがキーバインド忘れた。 そして etags はなんだかいろいろ不満点があった気がするので GLOBALを使ってみることに。 以前GLOBALは出力をHTMLにして使ったことがあるのだが、最近EmacsにどっぷりなのでEmacsから使ってみることに。 0.GLOBALって何? GNU GLOBAL は、ソースコードに索引付けを行うことで、大規模システムのハックやレビューを効率化するソフトウエアです。 ソースファイル中の指定したシンボルを高速に見つけ出し、素早くその場所に移動することができます。多くのサブディレクトリからなり、#ifdef や main() 関数を沢山含んでいるような、いわゆる巨大なプロジェクトをハックす

    ひげぽん OSとか作っちゃうかMona- - Emacs + GLOBALでソース読みを快適に
  • ひげぽん OSとか作っちゃうかMona- - ハッカー養成塾:ハッカーへの遠回り

    オープンソースマガジン2007年1月号に向けて書いた記事の元の原稿です。 前回のアルファギーク舘野君から、バトンを渡されたひげぽんです。 Mona OSというオープンソースOSを開発しています。 僕はハッカーと呼ばれるには実力不足ですが、知り合いのスゴ腕ハッカーに少しでも追いつこうと日々実践していることをいくつか紹介します。 ハッカーに学ぶ オンラインでもオフラインでも構いません、自分よりも優れているハッカーを探してお手とすることから始めましょう。 彼(または彼女)が何を勉強し、発言し、考えているかを観察することで多くのことを学べるはずです。 周りにハッカーがいなければ、勉強会・カンファレンスに参加したり、ブログを利用してコミュニケーションをとるのもひとつの方法です。 「ハッカーに交わればハッカーになる」とまではうまくいきませんが、周りは自分より優秀な人ばかりであるという環境を作り上げる

    ひげぽん OSとか作っちゃうかMona- - ハッカー養成塾:ハッカーへの遠回り
  • Emacs で正規表現を使うなら re-builder を使おう - higepon blog

    Emacs で正規表現を使うならば re-builder を使うことをおすすめします。 例えば、正規表現を良く使うシチュエーションとして置換があります。 M-x replace-regexpで置換対象文字列を正規表現で指定し、何に置換して欲しいかを指定するわけです。 行頭に // を追加してソースをコメントアウトしたいのであれば M-x replace-regexp Replace regexp: ^ ← ^ を入力 Replace regexp ^ with: // ← // を入力のように置換をします。(この場合は、comment-region が最適解ですが) 例に挙げたような簡単な正規表現であれば、間違いようもなく問題ないのですが、ちょっと複雑な置換になると話は変わります。 以下のようなコードがあるとしましょう。 byte* buf = new byte[32]; unsigned

    Emacs で正規表現を使うなら re-builder を使おう - higepon blog
    emergent
    emergent 2007/02/13
    へーこれは便利そう
  • 1