IBMのLotus Symphonyを使ってみた

IBMが無償で提供しているオフィスソフト「Lotus Symphony」を使ってみました。あまりMicrosoft Office製品をマスターしていない自分としては、非常に魅力的なソフトでした。基本的な文書や表、プレゼンテーションの作成は不自由なく作成できて、PDF出力も可能です。Microsoft Officeとも一応互換性があるとのことなので、試しに手持ちのOfficeファイルをロードしてみたところ、最初に警告が出るものの、問題なく表示されました。とにかく無償というのが最高です。
最近Microsoft Officeがあまりに高額でボリュームライセンス欲しいな〜と思っていたのですが、個人的にはこれで十分のような…。とりあえずもっと使ってみます。

※日本語版の場合、Language Packと合わせてダウンロードする必要があります。

JavaScript メソッドの定義

JavaScriptの復習。
1つのオブジェクトに定義するべきメソッドが多い場合、簡単に次のように書けます。

var Object = {
    hoge : function() {
        alert("Objectのhogeメソッド");
    },

    afo : function() {
        alert("Objectのafoメソッド");
    },

    bar : function() {
        alert("Objectのbarメソッド");
    }
}

この場合は3つですが、コンマで区切ればいくつでも宣言することができます。

Object.hoge();    // Objectのhogeメソッド
Object.afo();     // Objectのafoメソッド
Object.bar();     // Objectのbarメソッド

ウインドウ制御

ウインドウは、データの受信側がデータを一時的に保存しておくためのメモリ領域(バッファメモリ)のことです。
ここでは本に載っていた例「Windows XPマシンがWindows Meマシンにコネクション確立要求を行う様子」でおさらい。

  • Windows XPマシン:ウインドウサイズ初期値64240バイト
  • Windows Meマシン:ウインドウサイズ初期値16384バイト


1.まず、XPマシンはTCPヘッダに自分の受信ウインドウサイズの64240を書き込み、さらにMSSの値1460を書き込みます。

MSS = イーサネットのMTU 1500バイト ー ヘッダ 40バイト


2.要求を受け取ったMeマシンは、通知されたMSSと自分のMSSを比較して、小さいほうをMSSとして決定します。(この場合は同じなので1460)
そして、このMSSから自分の受信ウインドウサイズを計算。

16384 ÷ 1460 = 11.2219… ≒ 12
(ウインドウサイズをMSSの整数倍にするために切り上げる)

1460 × 12 = 17520バイト(受信ウインドウサイズ)

つまり、12個のTCPセグメントが連続して受け取れることになります。
Meマシンは、自分の受信ウインドウサイズとMSSをXPマシンに通知します。


3.XPマシンは、通知されたMSSと自分のMSSを比較して、小さいほうをMSSとし、さらに受信ウインドウサイズを計算します。

64240 ÷ 1460 = 44
1460 × 44 = 64240バイト(受信ウインドウサイズ)

つまり、XPマシンは44個のTCPセグメントを連続で受け取れることになります。
そして、自分の受信ウインドウサイズをMeマシンに通知します。


少し気になるのが、MSSの通知が2度手間なような気が…。また調べてみます。

firebugでのdocument.write()

firebugデバッグなどをするときに、document.write()を使いますが、

document.write("Hello, World !!");

としただけでは、たぶんページがずっと「読み込み中...」になってしまいます。
これは、document.write()した時点でdocument.open()が実行されているのが原因みたいです。なので、コードの最後にdocument.close()を追加してあげれば、この現象を防ぐことができます。

document.write("Hello, World !!");
document.close();

「Google Sites」が一般公開

熱で3日間ぶっ倒れているので、軽めに…。

Googleが、今まで企業団体向けだった「Google Sites」を一般ユーザにも公開しました。ユーザはHTMLとかCSSなどの難しい(?)知識がなくても簡単にWebページを作成して編集できるようになりました。ページ内の要素として、Google CalendarYouTubeGoogle Docsのデータなどを組み込むことができ、全世界に公開することも、特定のユーザだけに公開することもできます。
Googleのアカウントを持っていれば、ログインしてすぐにページの作成が可能です。ちなみに今回試してみたのは英語バージョンでしたが、日本語はまだ出てないのかな?

将来的にHTMLの知識とかいらなくなるんですかね〜

ポート番号

ここはだいたい把握しているので確認のために。
ポート番号は、データの受け入れ先のアプリケーションを識別するために使われます。大きく分けて、サーバ用のポート番号とクライアント用のポート番号があります。

  • サーバ用(ウェルノウンポート)

 ※使える番号は0〜1023番まで。

    • FTP(データ転送)…20
    • FTP(制御)…21
    • SMTP…25
    • DNS…53
    • HTTP…80
    • POP3…110
  • クライアント用
    • 1024〜65535番までがアプリケーションごとに使用される。Windowsは1024から順に割り当てていく。

どのアプリケーションが何番のポートを使用しているかはソケットに記録しておきます。まあソケットと言いつつも結局はコンピュータのメモリなんですが。

firefoxが落ちる…

ubuntu8.04でfirefox3が不安定なので、firefox2を入れ直したところ、急に落ちてしまう現象はなくなりました。個人的には3を使ってみたかったんですが…
ところが、コマンドから

$ firefox www.hatena.ne.jp

とかでfirefoxを起動しようとするとfirefox3を呼びに行ってしまいます。でも、3はパッケージごと削除してしまっているので、「インストールされていません」というエラーメッセージが表示されます。
そこで、.bashrcに「firefox = firefox-2」というエイリアスを貼ってシェルを再起動。そして再びfirefoxをコマンドから起動してみるとうまくバージョン2が起動できました。

でもこれではその場しのぎ的な感じがするので、なんとか元をいじらなきゃいけない気が…
頑張って調べてみます。