タグ

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

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

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

    j0hn
    j0hn 2007/08/16
  • Ubntu EdgyにSubversion 1.4.2 - higepon blog

    意外といろいろハマったのでメモ。 sudo apt-get remove libsvn0 sudo apt-get remove subversion sudo apt-get install libneon25 libneon25-dev sudo apt-get install libapr1.0-dev sudo apt-get install libaprutil1.0-dev sudo apt-get install libdb4.2-dev sudo apt-get install libdb4.2 sudo apt-get install libsqlite3-0 sudo apt-get install libsqlite3-dev sudo apt-get install libldap-dev sudo apt-get install libpq-dev wget ht

    Ubntu EdgyにSubversion 1.4.2 - higepon blog
    j0hn
    j0hn 2007/01/09
  • rails.el まとめ - ひげぽん OSとか作っちゃうかMona-

    rails.vim の情報は→id:secondlife:20061222:1166781841へどうぞ。 最近お仕事で初めてRailsのコードを書いているのですが、書きはじめて1週間くらい経ってからやっと rails.el の存在に気付きました。 僕に Rails を教えてくれる、はてのくんは Vim 使いだったり、そもそも rails.el はもはや常識なので、僕が素のEmacs + ruby-mode で苦労しているのに気付かなかったという。 インストールして使ってみたらとても便利だし、開発効率があがりそうだったので備忘録がてらまとめてみました。 インストール 3つ必要です。 rails.el一式(http://rubyforge.org/projects/emacs-rails/) find-recursive.el (http://www.webweavertech.com/ov

    rails.el まとめ - ひげぽん OSとか作っちゃうかMona-
    j0hn
    j0hn 2006/12/22
  • M-x align が便利すぎる件 - higepon blog

    まだ知らない基機能にこんな便利なものがあったとは!。 int x; int* p; char* message;M-x align 発動 int x; int* p; char* message;素晴らしい 追記 はてな社内で二人ほど、それvimでもできるよ厨が釣れました。 Align.vimで出来るらしいです。

    M-x align が便利すぎる件 - higepon blog
    j0hn
    j0hn 2006/09/13
    10年以上使ってていまだに知らない機能が満載だなemacsは
  • コーディングや設計で難所に出くわした時にすること - higepon blog

    仕事趣味でコードを書いているとき、設計をしているときに難所に出くわすことがあります。 そんなときに僕が意識的に心がけていることを紹介します。 もっと良い方法があったらぜひ教えてください。→皆様。 難所に出くわす前に「もうすぐ難所だな」と気づいているときは、すでに冷静な状態で心構えができています。 この場合はきちんと対処ができることが多いです。 何度も考えがループしていたり、難しすぎて他の事に逃避しているときは集中力がないか、難所にさしかかっているサインなので、難所の場合は以下の5つを順番に試しています。 絵を描く 人に言葉にして説明する 思考の流れをテキストにする 散歩する 次の日に持ち越す 絵を描く 設計やコーディングに関して、分かっていることを絵や図にあえて描いてみます。 分からないところは箱を描いて中に? とでも書いておけば良いです。 絵を書く過程で、自分がどこが分かっていないかが

    コーディングや設計で難所に出くわした時にすること - higepon blog
  • 関数型言語の勉強方法について - higepon blog

    id:higepon:20060330:1143714380で関数型言語の勉強方法について人力検索で質問しました。 その結果、たくさんの回答(コメント欄での回答や、飲み会でのアドバイスも含む)をいただきました。ありがとうございます。 質問自体は単純で、逆に回答する立場からすると範囲が広すぎてとても答えづらいものだったと思います。 その中でも特に印象に残り、質がとても高いと感じた回答の一部を引用したいと思います。 id:practicalschemeさんによる回答です。(全文はhttp://q.hatena.ne.jp/1143714236#a507995)。 なかなか難しい質問です。一冊あるいは一サイト、決定版と言えるようなものは思い当たりません。しかし関数型言語やそのアプローチについては最近関心が高まりつつあるようで、ギャップを埋める入門書が徐々に出てくると思われます 略 [とっかかり]

    関数型言語の勉強方法について - higepon blog
  • 誰がどのファイルを開いているか調べる方法 - higepon blog

    誰がどのファイルを開いているかを調べる方法を2つ紹介します。 openfiles Windows XPには openfilesというツールがあって誰がどのファイルを開いているか列挙することができます。 まず cmd.exe で openfiles /local onとして、ファイルのトレースができるようにします。(再起動が必要です)。 その後 openfilesと打ち込むと ローカルで開いているファイル: --------------------- ID プロセス名 開いているファイル (パス\実行可能ファイル) ===== ==================== ================================================== C:\..6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9 64 wscntfy.e

    誰がどのファイルを開いているか調べる方法 - higepon blog
    j0hn
    j0hn 2006/03/21
  • Emacsできれいな日本語フォントを使いたい【解決編】

    多くの人のサポートがあり、ついに解決しました。アドバイスを下さった皆様ありがとうございました。 結局ひげぽんがXやフォント周りの仕組みを一切理解していなかったことが原因ではまっていたというオチでした。 ただ同じようにはまる人はいると思うのでできるだけ詳しく書いておこうと思います。 実現したかったことと経緯 coLinuxのubuntuをセットアップしてcygwinのXWin.exeでデスクトップ環境の利用をはじめた。 その際にemacsの日フォントがとても不恰好でどうにかしたいと思った。 そこで以下のようにフォントをインストールした。 apt-get install ttf-sazanami-gothic apt-get install ipafont apt-get install xfonts-shinonome で、.Xdefaultsに使用するフォントを書けばよいらしいというこ

    Emacsできれいな日本語フォントを使いたい【解決編】
    j0hn
    j0hn 2006/03/16
  • ひげぽん OSとか作っちゃうかMona- - Emacs + GLOBALでソース読みを快適に

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

    ひげぽん OSとか作っちゃうかMona- - Emacs + GLOBALでソース読みを快適に
    j0hn
    j0hn 2006/01/08
  • 1