外貨預金についての悩み相談室

■Infomation

外貨購入

実勢レートが想定のレートになり、且つ今後は円安方向に推移すると思えば(この見極めがポイント)、銀行の外為窓口で外貨を買って外貨の普通預金に入れてください。上の例では1ドル=100円になったら1,000ドル買う(買値が1ドル=100円なので、公表仲値=101円)ので、必要な日本円は100,000円。最近では、銀行窓口ではなく、銀行のATMやインターネットバンキングで外貨を購入すると、為替手数料が安くなる場合もあるようです。詳しくは各銀行に相談ください。 外国為替証拠金取引か静的かとは別に、ライブラリはプログラム間で共有される方式でも分類される。動的ライブラリは何らかの共有をサポートしており、複数のプログラムが同時に同じライブラリを使用することができる。静的ライブラリは各プログラムにリンクされるため、共有することはできない。 共有ライブラリ (shared library)は、やや曖昧な用語であり、ふたつの概念を含む。第一はディスク上のコードを複数の無関係なプログラムが共有することを意味する。第二の概念はメモリ上のコードの共有であり、ライブラリのロードされた物理メモリページが複数のプロセスのアドレス空間にマップされ、同時にアクセスされることを意味する。一般に後者を共有ライブラリと称するのが推奨され、この方式には様々な利点がある。例えばOPENSTEPでは、アプリケーションの多くは数百Kバイトで即座にロード可能であり、その機能の大部分はライブラリ上に実装されていて、共有可能であるためにOSが別のプログラム用にメモリにロードしたコードイメージがそのまま使用できる。しかし、マルチタスク環境で共有されるコードは特別な配慮が必要であり、そのために性能が若干低下する。 外国為替の共有ライブラリはUNIXではPosition Independent Code(位置非依存コード)を使って実現される。これは柔軟なアーキテクチャだが複雑であり、Windowsなどでは使われていない。Windowsなどは、DLL毎にマップすべきアドレスを事前に決めておくなどしてメモリ上で共有可能にしている。WindowsのDLLはUNIXから見れば共有ライブラリではない。(訳注:UNIXでもライブラリのマップすべきアドレスを決めている場合がある。ただしそれは性能向上目的であり、基本的にはPIC化されている。) 最近のOSでは共有ライブラリは通常の実行ファイルと同じ形式になっている。これにはふたつの利点がある。第一はひとつのローダで両方をロードできる。それによってローダが若干複雑化するが、十分コストに見合う程度である。第二はシンボルテーブルさえあれば実行ファイルをDLLとして使うことができる点である。このようなファイル形式として、ELF (UNIX)と PE (Windows)がある。Windowsではさらに進んでいて、フォントなどのリソースも同じファイル形式になっている。OPENSTEPでもほとんど全てのシステムリソースが同じファイル形式になっている。 DLLという用語はWindowsやOS/2で主に使われる。UNIXでは「共有ライブラリ」が一般的である。 マルチスレッド環境下でライブラリを使用するにあたっては、上述とは別の共有問題が発生する。ライブラリルーチンがデータ領域としてスタックのみを使う場合は問題ないが、ライブラリ内のデータ領域を使う場合、そのデータ領域がスレッド毎に用意されていないことが多い。したがって、そのようなライブラリルーチンを使う場合、実行ファイル側で同時に複数のスレッドが同じライブラリルーチンを使わないように注意しなければならないことがある。 1980年代終盤に開発された動的リンクは1990年代初期にはほとんどのオペレーティングシステムで使用可能となった。ほぼ同時期にオブジェクト指向プログラミング (OOP)が市場に出回り始めた。OOP は従来のライブラリが提供していなかった情報を必要とした。それは、あるオブジェクトが依存しているオブジェクトのリストである。これはOOPの継承という機能の副作用であり、あるメソッドの完全な定義は複数の場所に分散して配置される可能性がある。これは単純化すればライブラリ間の依存関係ということになるが、真のOOPシステムではコンパイル時には依存関係が明らかでなく、そのために様々な解決方法が登場した。 同じころ、多層構造のシステムの考え方も出てきた。デスクトップコンピュータ上の表示プログラムが汎用コンピュータやミニコンピュータの記憶装置や演算機能を利用するものである。例えばGUIベースのコンピュータがミニコンピュータにメッセージを送り、表示すべき膨大なデータの一部を得るというものが考えられた。RPCは既に使われていたが、それは標準化されていなかった。 ライブラリは、汎用性の高い複数のプログラムを、再利用可能な形でひとまとまりにしたものである。一般にライブラリは、それ単体ではプログラムとして動作させることはできないので実行ファイルではない。ライブラリは他のプログラムに何らかの機能を提供するコードの集まりと言うことができる。ソースコードの場合と、オブジェクトコード、あるいは専用の形式を用いる場合とがある。たとえば、UNIXのライブラリはオブジェクトコードをarと呼ばれるアーカイバでひとまとめにして利用する。 また、ソフトウェア以外の再利用可能なものの集合について使われることもある。 工業的に効率的に分離するための原料としてサケの白子やホタテガイの生殖巣などが利用されている。 DNAの反復領域の違いをもとに、血液その他から人物の特定などを行う。犯罪捜査や親子鑑定に利用される。 医療 遺伝子治療やオーダメイド医療という一人ひとりの個性に合った治療が可能になる。 工業 DNAの二重らせん構造を使って、微細な有機分子を捉えるフィルターが開発されている。 健康食品 健康食品として錠剤、粉末、水溶液のものが市販されているが、有効性や効果は不明。また、DNA関連の健康食品を販売する一部の会社では、マルチ商法(MLM)の形態で販売をしているにも関わらず明文化していなかったり、癌やアトピーが治るといったオーバートークが用いられるなどの問題点も見受けられる。もっとも、これはDNA関連の健康食品会社に限った話ではない。 主要なミニコンおよび汎用機メーカーがこれら二つの問題に関してプロジェクトを結成し、どこでも使えるOOPライブラリ形式を開発した。このようなシステムをオブジェクト・ライブラリ (object library)と呼んだり、リモートアクセスが可能ならば分散オブジェクト (distributed objects)と呼ぶ。マイクロソフト社のCOMは分散機能のないオブジェクトライブラリであり、DCOMはリモートアクセスを可能としたバージョンである。 一時期、オブジェクトライブラリはプログラミングの世界の「次の大きな出来事」とされた。様々なシステムが開発され、競争も激化した。例をあげると、IBMのSOM/DSOM、サン・マイクロシステムズのDOE、NeXTのPDO、DECの ObjectBroker、マイクロソフトのComponent Object Model (COM/DCOM)、そして様々なCORBAベースのシステムがある。 結局、OOPライブラリは次の大きな出来事ではなかった。マイクロソフトのCOMとNeXT(現在はアップル)のPDO以外は、ほとんど使われることも無くなったのである。 Javaではオブジェクトライブラリとして主にjarが使われている。その中には(圧縮された)クラスのバイトコード形式が格納されていて、Java-VMや特殊なクラスローダがそれをロードする。