Entries from 2010-01-01 to 1 year

SICP4章を読んでscheme処理系書いてみた

SICPの4章読んでscheme処理系書いてみました。 ほとんど教科書の丸写しですけどね。 でも処理系の基本的な動きは理解出来たと思います。 いやー楽しいですね。SICPおもしろい。 (driver-loop)を評価すると実行できます。 MIT-schemeで動作確認したのでgauch…

カーネルをブートするまで

OS

OSの勉強のためにOSを実装していく事にしました。 電源投入してから何の処理もしないカーネルの処理を呼び出すところまで書いたのでまとめます。今回作成したファイル: boot.nasm FDDから起動した際に最初に呼び出されるコード。loader.nasmとカーネルをメモ…

The Art of Multiprocessor Programming 練習問題6と7と8

練習問題6 上限は2.5倍 Mの性能向上率は(- (/ 5 3) (* (/ 7 3) (/ 1 n))) Mの割合は(- 1 (/ (* 5 n) (- 3 n)))きっと間違ってるんだろうなぁ。自信ありません。練習問題7 アムダールの法則に n = 2を代入してS2の式を作り、変形すると P = (- 2 (/ 2 S2)) に…

The Art of Multiprocessor Programming 練習問題3と4と5

1章の問題です。練習問題3 ○----------------------------------- Alice Bob ------------------------------------○こんな感じに Alice の窓辺に缶を置いてBobの家まで紐を伸ばす。 同様に Bob の窓にも缶を置いて Alice の家まで紐を伸ばす。 Alice は窓…

The Art of Multiprocessor Programming 練習問題1と2の言い訳

The Art of Multiprocessor Programming 1章の練習問題1をやってみました。有名な哲学者とデッドロックの話をデッドロックを回避して実装せよって問題です。 セマフォを使って常に一人だけ処理を行わないようにして、デッドロックを回避します。 コードは以…

Mercurial チュートリアル hginit.com の和訳 (Repository Architecture)

Mercurial はリポジトリ設定に関する膨大な柔軟性を与えてくれる。結果としてマージは非常にうまく動き、あなたはそれに依存出来るようになるため、 特別な目的のリポジトリを手元に置きながらあなたの開発プロセスに適応させるといったことも可能になる。 R…

Mercurial チュートリアル hginit.com の和訳 (Merging)

時にはマージが衝突することもある。普段ならこれを修正するのは簡単だが、それを解決する必要があったり、複数の head を持っていたりすることもあるだろう。 一体誰が複数の head を望むのだろうか? Merging バージョン管理で重要な事の一つは、同じコード…

Mercurial チュートリアル hginit.com の和訳 (Contents)

このチュートリアルは Joel Spolsky さんの書いた http://hginit.com の和訳です。 わかりやすくて楽しいチュートリアルを書いてくださった Joel Spolsky さんに感謝します。 Mercurial はモダンなオープンソースの分散バージョン管理システムで、Subversion…

Mercurial チュートリアル hginit.com の和訳 (Fixing Goofs)

Mercurial によって得られる最も大きな恩恵の一つは、プライベートなクローンを使って実験を試してみたり、 新しい機能を開発する事が出来ることだ。もしそれらが失敗したとしても、あなたはすぐにそれを元に戻すことが出来る。 Fixing Goofs Mercurial は自…

Mercurial チュートリアル hginit.com の和訳 (Setting up for a Team)

Mercurial を使うことで得られる恩恵の一つはチームで同じコードを担当できることだ。 Mercurial はそれぞれ別々に作業させてくれるし、変更があればそれを一つにマージさせてくれる。 Setting up for a Team Mercurial を使った共同作業で最も一般的な方法…

Mercurial チュートリアル hginit.com の和訳 (Ground up Mercurial)

あなたが一人で働いていたとしても、あなたはバージョン管理の恩恵を得るために Mercurial を使うべきである。 このチュートリアルではあなたが古いバージョンを簡単に追跡できるように、どれだけ簡単に Mercurial でディレクトリをチェックインできるかを説…

GW中に hginit の訳をアップするつもり

GW中に hginit の訳を全てアップするつもりです。 hginit は Joel on Software で有名な Joel Spolsky さんの書いた Mercurial のチュートリアルです。 Joel on Software の和訳は こちらで青木靖さんがやっておられます。今回の一連の和訳はJoel Spolsky さ…

Mercurial チュートリアル hginit.com の和訳(Subversion Re-education)

もしあなたが Subversion を使ったことがあるなら、Mercurial で混乱することになるだろう。 このチュートリアルでは、Mercurial の動作における最大の違いについてカバーする。 あなたが Subversion を使ったことが無いのであれば、ここは飛ばして次に行こ…

sicp 3.18, 3.19

問題 3.18 です。「ループしてるか調べましょう」って問題ですね。 基本戦略は 3.17 と同じです。 リスト構造を下っていき、調べたことのある pair を見つけたら「ループあり」です。問題なのは 3.19 の方です。 問題 3.19 一定量のスペースしか使わないアル…

sicp lite#13 に参加させていただきました。 いろいろなお話を聞くことが出来てとても楽しかったです。ありがとうございました。さて、 sicp lite #13 は前回の宿題だった問題 3.17〜3.20 をやりました。 問題 3.17 は「リストを引数に取り、リストの中に含…

2010-4-27

とりあえずテスト #include <iostream> int main() { std::cout << "hello" << std::endl; return 0; }</iostream>