[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

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

  • もう 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-
  • 日本人の一週間 by Google さん - higepon blog

    曜日で Google 検索した場合のサジェストを並べてみました。素晴らしい結果。 おまけ ブラウザの言語をEnglish(US) にした場合。

    日本人の一週間 by Google さん - higepon blog
    lizy
    lizy 2010/10/08
    ホント、日本に生まれて良かった
  • 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
  • Key で sort 済みの Key-Value Storage を作り始めた - higepon blog

    タイトルの通り Key で sort 済みの Key-Value Storage を作りはじめました。 良くある DHT だと Key の Hash を取る事で分散させるので順序情報を失ってしまうのですが、それを Skip Graph という仕組みで順序情報を保持したまま分散させることが可能になります。 sort 済みだとうれしいのは KVS に対して Range Query が可能になること。 例えば、empno-999 以上の value リストを 最新10件、KVS に要求するみたいなことが出来るようになります。 従来の KVS では上記のような Range Query は不可能だったので、そこは RDBMS に任せていたと思うんですが。(RDBMS で Range Query 後、Key のリストを KVS に投げるなど) この辺りの RDBMS の負荷と分散しづらさを KVS 側

    Key で sort 済みの Key-Value Storage を作り始めた - higepon blog
  • プログラミングErlang 読了 - higepon blog

    プログラミングErlang を読み終えた。読んだきっかけは、rui さんによる Erlang のすすめだったと思う。 java.util.concurrent に感動して、Shibuya.lisp の宴会で、同じくJava並行処理プログラミングを読んだ ruiさんと「あれすごいよねー。という話に」。 Mosh のスレッド対応は java.util.concurrent のようなものにしたいと考えていると話したところ、「 それならば、まずその前に Erlang のプロセスモデルを勉強した方がいいよ」と教えてくださったのだ。 期待値がとても高かったのだが、それを上回って当にすばらしいと言語だった。一時期皆を熱くさせた理由もよく分かる。 Erlang は関数言語なのもあって、万人向けのではないが、自分が作るものには大きな影響を与えることは間違いない。 特にメッセージパッシングスタイルを採用

    プログラミングErlang 読了 - higepon blog
  • 良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog

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

    良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog
  • オンラインで動画・音声・教科書を無料で公開している大学の講義・授業まとめ - ひげぽん OSとか作っちゃうかMona-

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

    オンラインで動画・音声・教科書を無料で公開している大学の講義・授業まとめ - ひげぽん OSとか作っちゃうかMona-
  • gcc の -Wall 以外の警告オプション - ひげぽん OSとか作っちゃうかMona-

    以前同僚の光成さんが、以下の warning オプションを使っていると書かれていたのが気になったので調べてみました。 -Wall -W -Wformat=2 -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Wfloat-equal -Wpointer-arith もし上記以外にも良さげなオプションがありましたら教えてください<(_ _)> 情報源 man と info と http://sugarpot.sakura.ne.jp/yuno/?gcc%2Fwarning 。 最初は日語版の man だけを見ていたのですが、id:kazuhooku に info を見るべしと教わりました。 man も info もそうですが、日語版は情報が少なかったりするので注意。 LANG=C man gccなどとしましょう。 -Wforma

    gcc の -Wall 以外の警告オプション - ひげぽん OSとか作っちゃうかMona-
    lizy
    lizy 2008/05/05
  • Gauche(Scheme) でデバッグをする4つの方法 - higepon blog

    Gauche でコードを書いているときにコードが意図どおりに動かないことがあります。そのような場合にデバッグする方法を4つ紹介します。 前提 まず Gauche はリリースされている最新版を使った方が良いでしょう。Linuxのディストリビューションによってはパッケージが古い場合あります。 またScheme は関数型言語なので、デバッグの単位は関数(手続き)ごとに行うことが多いです。一つ一つの手続きが意図どおり動いているのか?を調べながら進めるのが基になります。 方法1 print デバッグ Gauche には今のところデバッガがありませんから基的には print デバッグがメインとなります。単純な print デバッグから見ていきましょう。 以下のような sum という手続きで print デバッグしてみましょう。 (define (sum n) (if (= n 1) 1 (+ n

    Gauche(Scheme) でデバッグをする4つの方法 - higepon blog
  • Scheme処理系 Gauche の最適化まとめ前編 - higepon blog

    shiro さんが開発されている Scheme 処理系 Gauche 0.8.12 の最適化処理を勉強のためにまとめました。 よく Gauche のコードは宝の山だと聞きますが、その一端を分かってもらえるとうれしいです。 基的にGaucheのコードのコメントをまとめただけです。 Scheme のソースコードと簡単な英語が読める人はこのまとめを読むより src/compile.scm を直接読んだ方が正確に理解できると思います。 前提1 コンパイルと実行の流れ Gauche はスタックマシン型の仮想マシンでコードを実行します。 そのため Scheme のコードはスタックマシンで実行可能なコードにコンパイルされます。 つまり Scheme のコード →(コンパイル) マシンコード →(実行) 結果 という流れでコードが実行されることになります。 今回取り上げる、最適化は上の流れの「コンパイル

    Scheme処理系 Gauche の最適化まとめ前編 - higepon blog
  • Scheme関連ブログリンク集 - ひげぽん OSとか作っちゃうかMona-

    読むと勉強になる Scheme 関連ブログを集めようと思います。日語/英語/自薦/他薦 問わずおすすめがありましたらぜひ教えてください。ここに追記していきます。 Shiro Gauche の作者 shiro さんのブログ 00000078 id:scinfaxi さんのブログ。Schemeのコンパイラを実装中のようです。 わだばLisperになる - cadrグループ Scheme ではないですが、Lisp の貴重な情報がたくさん書かれています。 programming: what's new online Reddit家。英語ですが Scheme の話題がよく上がります。 ディスカッション - comp.lang.scheme | Google グループ 同じく英語ですが面白いです。 PLT Scheme Blog id:sumiiiさんありがとうございます。 http://sche

    Scheme関連ブログリンク集 - ひげぽん OSとか作っちゃうかMona-
  • ひげぽん OSとか作っちゃうかMona- - Subversionを ssh 経由で使おう(ApacheもWebDAVも必要ないよ) - masatobito さんのコメント

    Subversionをローカルだけでなく格的にサーバーで使おうと思うといつも障害になるのが以下の誤解だ。(というか今日まで誤解していた) Apacheで難しい設定をしなくてはならない ⇒Apacheの使用は必須ではない。インストールにaprというApache由来のライブラリが必要なだけ。 WebDAVとかいうよく分からない仕組みを理解しなければならない ⇒同じく必須ではない svnserverとかいうサーバを常駐させる必要がある ⇒同じく必須ではない 結局すべて、誤解でだった。 個人で使うならば、もっと簡単(?)というか親しみやすい方法があり、それが「ssh経由でアクセス」である。 自分的に ssh の理解も怪しかったのであわせて手順メモを残しておきます。 subversionのインストールは yum でやっていますが環境に合わせて下さい。 1.ssh設定 以下ユーザー名は higepo

    ひげぽん OSとか作っちゃうかMona- - Subversionを ssh 経由で使おう(ApacheもWebDAVも必要ないよ) - masatobito さんのコメント
  • [life] プログラマのための退職に伴う年金・保険証・住民税の手続きメモ - higepon blog

    金曜日に退職し、すぐに働き始める訳ではないので、年金・保険証・住民税の手続きをやってきました。 忘れたり先延ばしにすると色々と面倒なのですぐにやってしまうのが良いです。 年金 会社に所属している間は厚生年金に加入していて「厚生年金保険」という項目で給与から年金の積立(?)が行われていました。 退職したので自分で払わなければいけません。 用意するもの以下の通り。 年金手帳(自分との両方) 退職証明書(勤め先が発行してくれたもの) これを持って区役所の年金コーナーへ。 係の人に事情を説明すると 夫婦揃ってこれからは国民年金に加入 手続き時点では厚生年金が加入中の扱いだったので退職証明書のコピーをとって手続きしてもらう 後日、年金の納付書が送付されるので支払いをすれば OK。 再就職した場合は 夫婦の年金手帳を次の職場に提出し手続きをしてもらう 夫は厚生年金に加入 は3号被保険者に変更 保険

    [life] プログラマのための退職に伴う年金・保険証・住民税の手続きメモ - higepon blog
  • ひげぽん OSとか作っちゃうかMona- - Subversionの話

    Subversion を使うようになって数年が経ちますが、最近 svn diff/status/log/merge などのコマンドに熟達してきた。 気軽に ブランチを作る マージする コードを元のバージョンに戻す 問題となるコードを diff で調べる などができるようになって、作業効率が上がったり、こまめにコミットさえしておけば、あとからどうにでもなるので精神的にもかなり楽になった。 この「気軽に」ってのがとても重要。 以前だって、マージの概念やいつでも好きなバージョンに戻せること、diff を表示することが出来るのは知っていたし、たまに使っていたりもした。 ただ使う場合は コマンドをWebで調べる おそるおそる試してみる 失敗して check out しなおしで時間をロス などがありストレスがたまりがちで、結果的にこれら有用な機能を使うのを無意識に避けていたなと、振り返ってみると気づく

    ひげぽん OSとか作っちゃうかMona- - Subversionの話
  • ひげぽん OSとか作っちゃうかMona- - 末尾再帰

    最近一部で盛り上がっている「末尾再帰」について自分の理解を確認するのも兼ねて書いてみます。 (そもそも自分がふったのがきっかけっぽいので)。 上級者の方は間違い等に厳しくつっこんでもらえると助かります:-) 背景 自分が末尾再帰を知ったのは多分Schemeの勉強を始めた頃だったと思います。 例えばSICPというでは20ページあたりにこっそりと出てきます。 そのころの理解はかなり浅いもので「ふーん。」程度でした。 さて後日Schemeの処理系を実装することになりR5RSというSchemeの仕様書を読んだところ Scheme の実装は真正に末尾再帰的(properly tail-recursive) であることが要求されている。これは,たとえ繰返し計算が 構文的に再帰的手続きで記述されているときでも,定数空間 でその繰返し計算を実行することを可能にする とあり末尾再帰のことを詳しく知る必要性

  • C++で関数呼出しを視覚化 コールグラフを出力してみよう - higepon blog

    「Graphvizによるファンクション・コールの視覚化」を参考に、今開発中の Scheme インタプリタのコールグラフを出力してみた。 pvtrace のインストール http://www.mtjones.com/developerworks/pvtrace.zip 大きめの trace をしたいのであらかじめいくつかソースを書き換える。 symbols.h #define MAX_FUNCTIONS 2000 // 元は 200 だった stack.c #define MAX_ELEMENTS 50000 // 元は 500 だった インストール $ make $ sudo make install graphviz のインストール $ sudo apt-get install graphviz ターゲットのコンパイル 今回は Scheme のインタプリタがターゲット。 CXXFLAGS

    C++で関数呼出しを視覚化 コールグラフを出力してみよう - higepon blog
    lizy
    lizy 2007/07/16
  • 1