% pidof apache2 6405 6404 6403 6402 6400 6112 普通に便利だ。
図形言語で学ぶべき部分は何でしょうか? この言語では組み合わされたオブジェクトはリスト構造ではなく、手続きとして表現されている おそらくここが一番大事なのではないかと考えます。 ただ実際にコードを書いて動かしてみないと理解するのは正直厳しいです。 transform-painter (define (transform-painter painter origin corner1 corner2) (lambda (frame) (let ((m (frame-coord-map frame))) (let ((new-origin (m origin))) (painter (make-frame new-origin (sub-vect (m corner1) new-origin) (sub-vect (m corner2) new-origin)))))))これが直感的にかなり分か
Scheme のソースのコメントからドキュメントを生成する SchemeDoc を Gauche で動くようにしました。(一部いい加減な移植あるのはご容赦ください。) SchemeDoc は Doxygen と同じ種類のツールです。 SchemeDoc の特徴 2種類のドキュメント指示用のコメント形式がある ドキュメント生成のオプションをソースに埋め込める 複数の Scheme ファイルから1つのドキュメントを作れる ドキュメントから Scheme のソースファイルにリンクできる R5RS のドキュメントにリンクできる いろいろな方法で起動できる。(Schemeインタプリタや Emacsから) XML を使ってマニュアルを一から作ることもできるよ 索引を作れる マニュアルの内部形式ファイルを吐くのでそれを使うのもいいかも 独自のコメントタグを作れる インストール 以下 Gauche 特有の
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 Lisp auto-compile.el を公開しました。 これは何か? C, C++などのコードをEmacs上で編集しているときに、ファイルを保存したタイミングで、バックグラウンドで make コマンドが自動で実行されます。 以下のようなメリットがあると思われます。 いちいち terminal で makeしなくて良いので、開発効率があがる 保存時に行われるのでコンパイルエラーが早い段階で発見でき、開発効率があがる このような感じ C-x C-s で保存すると make が自動で実行されます コンパイルが終われば OK がでます(エラーが発生すれば表示されます) インストール方法 sf.netから auto-compile.el をダウンロードしロードパスが通っている場所に置く。 .emacsに (require 'auto-compile) ;; auto-comp
Emacs Lispを lisp ディレクトリに放りこんでおいて、Subversionでバージョン管理をしています。 その際に byte-compile された *.elc なファイルたちは当然バージョン管理下には置きません。 なので svn status などしたときにこいつらは無視して欲しくなります。(.cvsignore で*.elcを指定するのと同じ感じ。) そんなときは svn:ignore propertyを編集します。 nobita% EDITOR=jed svn propedit svn:ignore lispEDITOR環境変数は property を編集する際に使用するエディタを指定します。 開いたら *.elcと追記し保存します。 svn status を実行すると *.elc が無視されるようになったでしょうか。 もし不安であれば svn status --no-i
gcc を使う人は info gcc をくまなく読むべきだと言われたらそれでおしまいなのですが、info gcc の中で「Declaring Attributes of Functions」が面白かったので紹介します。 実は Mona のカーネル内で GDT(Global Descriptor Table) 関連のコードが最適化オプション -O2 では動くけど -O3では動かないという現象に出くわしました。 /* TSS. Mona has only one TSS */ setSegDesc(&g_gdt[4], (dword)g_tss, 0x00000067, SEGMENT_PRESENT | SEGMENT_DPL0 | 0x00 | 0x09);のように TSS を設定したあとに /* prepare dpl0 stack */ memset(g_tss, 0, sizeof(
昨日のDevelopment Environment Conferenceで最速の中の人がCSSを編集したら即座にブラウザに反映するってのをデモしていて「待ち時間が少ない方が効率が良い」的な話をしていました。 僕みたいなLLでない人は、冷静に考えると開発時間の10%位はビルドに要していて、しかもその時間は「ぼーっ」としているのが現状です ちょこちょこスクリプトを書いてこれを改善できれば、かなり開発の効率があがるのではないかと思いやってみました。 分析 まずは現在の作業を洗い出してみます。 1.~/mona/contrib-fast-gui/Misc/test/test.cppを編集します。 2.キリの良いタイミングで make && make installします。 3.エラーがあれば修正後、make しエラーがなくなるまでこれをくり返します。 4.~/mona/contrib-fast-
もはや技術者の必読書*1となりつつある「リファクタリング―プログラムの体質改善テクニック」ですが、 その作者であるマーチンファウラー氏のMartin Fowler's Bliki in Japaneseを読んでいてふと思った。 C++のリファクタリングブラウザ(リファクタリングツール)ってないのかなと。 全然詳しくないんですがVisual Studioにはリファクタリング機能がついているそうですが、僕は普段のコードがほとんどEmacsとg++なので探してみました。 C++は仕様がとても大きくて、他の言語と比べてリファクタリングブラウザを作るのがとても大変らしくなかなか見つかりませんでしたが、Refactoring Toolsで紹介されていたのがXrefactoryです。 Xrefactoryはシェアウェアで8日間試用出来るので試してみました。 インストール 1. http://xref-t
id:higepon:20060520:1148107781の続き。 奥さんが「ハッカーと画家 コンピュータ時代の創造者たち」を読み終わったそうだ。 開口一番の感想は Y「エンドユーザーっていう言葉あるじゃん?あれって今まで意味知らなくて」 H「うん」 Y「エンドなユーザーだから、きっと終わっているユーザーという意味かなと思っていて、少なくともあたしはエンドユーザーじゃないと思っていたんだけど」 H「wwwwwww」 Y「ハッカーと画家を読んだら、意味が分かって、エンドユーザーあたしことやん!って発見したよ!」 H「wwwwwww」 世の中平和ですね。 でも確かにエンドユーザーとかって業界(?)でしか聞かない言葉な気がする。 あとはプログラマの奥さんはハッカーと画家を読まない方が良いとのこと。 だんなが好き勝手やるのを全面的に容認するような本なのだそうだ。 「あたしはハッカーと画家読んでな
奥さんがJoel on Softwareを読みはじめた。 技術者が欲しかったら「ハッカーと画家」と「Joel on Software」をとりあえず読んで、プログラマの心理をある程度理解すればいいだけなのかもしれないw を読んで、プログラマの妻としてプログラマの心理を理解するために読んでみたくなったとのこと。 ちょwwwおまwwwwプログラマじゃないし ついでに「ハッカーと画家 コンピュータ時代の創造者たち」も読んで欲しいな(ぉ。 id:higepon:20051223:1135342695で僕が絶賛したときには全然興味を持っていなかったのですが、id:naoya恐るべき影響力。 追記 声もかけられないほど真剣に読んでいる。ゾーンにはいったっぽいw。 追記2 ユニコード勉強するとか言い出したwwww 追記3 「面倒だろうけど仕様書は書いたほうが良いよ。そのほうが生産性が上がるから」って言われ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く