« 2008年2月 | トップページ | 2008年4月 »

2008年3月の5件の記事

2008年3月18日 (火)

黄金の扉を開ける賢者の海外投資術

今回の橘玲はかなり濃い目です。

はじめに 金融2・0という革命
序章 さよなら、プライベートバンカ
第1章 究極の投資vs至高の投資
第2章 誰もがジム・ロジャーズになれる日
第3章 ミセス・ワタナベの冒険
第4章 革命としてのヘッジファンド
第5章 タックスへイヴンの神話と現実
終章 億万長者になるなんて簡単だ
あとがき

橘玲の魅力は、金融に関する豊富な知識のみならず、様々なリアルな「経験」と、世界の暗部を見せてくれるところ、そして、近視眼的にならずに、抽象的で冷徹な視点で現実を見せてくれるところです。今回も、最後のプライベートバンカーの話、初めての日本人口座開設者の話、送金小切手の話、など、楽しくなる話から暗い話までエピソードを織り交ぜながら、資本主義社会の、あまり知られていない、しかし重要な(なにしろお金がかかっている!)ルールについて教えてくれます。

一番の読み所は第4章の最後、金融技術の進歩した近未来について語る部分です。将来の原油の値上がりの不安をあおるテレビニュースに対して、

だがもしも石油価格が確実に上昇するなら、原油先物かガソリン先物を買っておけばいい。

と冷静に語ります。投資信託やら株でなにを選ぼうか悩んでいる人、先物をやろうとしている人、そしてなによりFXなど海外に投資をしようとしている人は、まず、資本主義の世の中がどうなっているかを知るという意味で、ぜひ本書を熟読することをおススメします。

あ、オプションの話は難しくて良くわからなかったので、もう一度頭を冷やして挑戦してみます。

| | コメント (0) | トラックバック (1)

2008年3月15日 (土)

Inside Linux Software

先日makeについてエントリを書いのですが、書きたかったこと(以上のこと)が本書に載っていました。タイトルからはなんとなく、カーネルだとか、ディストリビューションの構成について書かれた本のように想像してしまいますが、そうではなく、筆者がはじめにに書いている通り、オープンソースの世界に貢献するための、技術的な一般教養について語った本です。ただ、gccがコンパイルとリンクでどのようなことをするのか、makeはどのように実行されるのか、パッチの作り方や当て方はどうするのか、などについて背景や仕組みから詳細に述べられており、オープンソースに限らず、Linux上で開発を行っているプログラマ全般にとって、ステップアップのために有用だと思いました。特にgccがコンパイルとリンクで何を行うのかについては恐ろしく詳しく書いており、大変ためになりました(プリプロセス後のソースの出力の仕方、コンパイル後のアセンブリコードの出力の仕方、静的/動的ライブラリの作り方、両者のメリット/デメリット、動的ライブラリの検索パスの決まり方、などなど)。gccって、いろんなツールを呼び出してコンパイルやリンクをしてたんですね。知りませんでした。

さて、本書は以下の6章からなっています。

  1. プログラムのコンパイルとリンク
  2. ビルドの自動化とautotools
  3. ソフトウェアの国際化
  4. パッチの作成と適用
  5. ドキュメントの記述
  6. RPMによるソフトウェア管理

続きを読む "Inside Linux Software"

| | コメント (0) | トラックバック (0)

2008年3月 7日 (金)

make

makeが難しいのは、依存関係というのが分かりにくいからです。どっちがどっちに依存してるの?依存してるってどゆこと?
依存関係を矢印で表現するとして、どっち向きに矢印を書くべき?
ターゲットが更新されないようなルールを書く事ができるけど、矛盾が生じないの?

依存関係をツリー構造と考えて、ルールは枝に紐付けられたコマンドだと考えるとスッキリします。

| | コメント (0) | トラックバック (0)

gdb

へっぽこプログラマである僕ですが、最近使うようになったのが、gdbです。へっぽこでしょ。デバッガーには苦手意識を持っていたのですが、使い始めてみて、すっかり気に入りました。機能が良く分っていないと、やっぱり好きになれませんね。内面が大事ですよ。

というわけで、gdbに関するメモ

  • 対象プログラムは、-gオプションつきでコンパイルすること
  • まず、以下のようにgdb起動すること

$ gdb targetprg

色々表示される

(gdb)  ←gdbのコマンドプロンプト

  • プログラムを走らせるのは、run(r)コマンドを使う。コマンドラインオプションも指定できる。ほとんど(全部?)のコマンドは1文字に省略できる。runコマンドなら、rで良い。括弧内が省略形。

(gdb) run options

  • これだと、プログラムが普通に動きだして終わるだけなので、途中でとめるためにはbreak(b)を使ってあらかじめブレークポイントを設定しておく。

(gdb) break 100   # 100行目でストップさせる

(gdb) break source.c:23  # ソースファイルsource.cの23行目でストップさせる。

(gdb) break function # 関数functionに入ったところでストップさせる。

  • プログラムを1行ずつ進めるためには、next(n)コマンドを使う

(gdb) next

  • nextコマンドだと、関数を呼び出すとき、その関数の中まで入って見に行かない。中に入ってみたい場合は、step(s)コマンドを使う

(gdb) step

  • 次のブレークポイントまで一気に進めたい場合は、continue(c)コマンドを使う

(gdb) continue

  • 今の関数の最後まで行きたい時はfinish(f?)を使う

(gdb) finish

  • 変数の値を表示したい時は、print(p)を使う。ポインタの先にある値や、アドレスや、配列(文字列)を適宜表示してくれる。

(gdb) print size_of_array

(gdb) print *pointer

(gdb) print &length

(gdb) print string

  • 変数に値を設定したい時はsetを使う

(gdb) set number_of_books = 10

(gdb) set array[0] = 1

(gdb) set array[1] = 2

# 配列を一気に設定できるのかしら?

  • 関数から、指定した返り値で抜けたい時はreturnを使う

(gdb) return 100

  • Ctrl-pやCtrl-nなどのemacs系というか、bash系のキーバインドで履歴検索やコマンド編集ができる
  • 単純にenterを押すと、前のコマンドが入力されたことになる。(next連打とかで役に立つ)
  • 他にも、条件付breakとかあるみたいだけど、うまく使いこなせてません。

(gdb) break xxx if index == 4

gdbを使って萌えるのは、printコマンド、setコマンド、returnコマンドですね。あー、ここでこの変数の値何が入ってるんだろう?とか、あー、ここでこの変数にこの値が入ってたらどうなるだろう?とか、あーこの関数からこの値を返したら、呼び側ではどう動作するんだろう?とか、萌えます。

例によって良くわからないこともメモ

  • -g オプションにはどんな意味がある?バイナリにソースを埋め込んでいる?それとも、ソースファイルへのリンクを埋め込んでいる?バイナリよりもソースが新しくなってるとかってメッセージが出てた気がするのだけど。。。
  • 一行戻るとかできない?将棋の待ったみたいに。。。
  • 関数の返り値を変数に代入して、その変数でエラー判定をしている場合、その変数を表示できなかった。これは-Oによる最適化のせい?(変数に入れずに返り値を直接判定するような最適化をしている?)
  • stepの使い方がイマイチ分らない。関数の呼び出し行が表示されたところで、nではなくsって入力すればいいのかな。

では、また。

| | コメント (0) | トラックバック (0)

2008年3月 1日 (土)

ロートレック展

六本木はサントリー美術館でやっているロートレック展に行ってきました。

途中、PCが2台置いてあって、サントリー美術館の過去のイベントや展示物を検索できるようになっていたのですが、なんとそのキーボードがMajestouch Miniかな文字無し版でした。流石です(?)。色々意味も無く検索キーワードを打ってみたところ、うちのMajestouchよりもキーの表面が滑らかでいい感じです。delキーの位置が右下ってところに慣れれば、コンパクトで使いやすいかもしれません。

| | コメント (1) | トラックバック (0)

« 2008年2月 | トップページ | 2008年4月 »