Landscape トップページ | < 前の月 2003-06 2003-07 次の月 2003-08 >

Landscape - エンジニアのメモ 2003-07

月ごとの記事一覧
2007年: 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2006年: 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2005年: 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2004年: 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2003年: 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2002年: 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
日ごとのページ
2003-07/ 1日 2日 3日 4日 5日 6日 7日 8日 9日 10日 11日 12日 13日 14日 15日 16日 17日 18日 19日 20日 21日 22日 23日 24日 25日 26日 27日 28日 29日 30日 31日

2003-07-31 (Thu)

* SQL Server の UNIQUE 制約は SQL 標準に準拠してない

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [MS SQL Server]

SQL Server2000 では、NULL 同士でもユニーク制約 (一意性制約)にひっかかる。SQL Server2000 にこんな落とし穴があるなんて思わなかった。危ないところだった。

PostgreSQL 7.3.2 ユーザガイド Chapter 2. データ定義 2.4.3. 一意性制約
http://www.postgresql.jp/document/pg732doc/user/ddl-constrai ...
一般に、制約の対象となる列について、同じ値をもつ行が 2 行以上ある場合は、
一意性制約違反になります。
しかし、ここでは NULL 値は等価とは見なされません。
つまり、複数列での一意性制約では、制約対象の列の少なくとも 1 つに
NULL 値をもつ行を無限に格納することができるということです。
この振る舞いは SQL 標準に準拠していますが、この規則に従わない
SQL データベースもあるそうです。
ですから、移植する予定のアプリケーションを開発する際には注意してください。

- 検証 SQL

DROP TABLE uniq_test;
CREATE TABLE uniq_test(
  int1 int,
  int2 int,
  UNIQUE (int1, int2)
);
INSERT INTO uniq_test (int1, int2) VALUES (NULL, 1);
INSERT INTO uniq_test (int1, int2) VALUES (NULL, 1);

- PostgreSQL 7.2.1 での結果

hiroaki=> DROP TABLE uniq_test;
DROP
hiroaki=> CREATE TABLE uniq_test(
hiroaki(>  int1 int,
hiroaki(>  int2 int,
hiroaki(>  UNIQUE (int1, int2)
hiroaki(> );
NOTICE:  CREATE TABLE / UNIQUE will create implicit index 'uniq_test_int1_key' for table 'uniq_test'
CREATE
hiroaki=> INSERT INTO uniq_test (int1, int2) VALUES (NULL, 1);
INSERT 31376096 1
hiroaki=> INSERT INTO uniq_test (int1, int2) VALUES (NULL, 1);
INSERT 31376097 1

- SQL Server2000 での結果

(1 件処理されました)

サーバー : メッセージ 2627、レベル 14、状態 2、行 1
UNIQUE KEY 違反、制約 'UQ__uniq_test__65851878': オブジェクト 'uniq_test' には重複したキーは挿入できません。
ステートメントは終了されました。

NULL は NULL なんだから重複って概念はおかしい。

2003-07-29 (Tue)

* SQL の COALESCE

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [SQL] [Postgres] [MS SQL Server]

COALESCE() は、引数のうち NULL でないものを返す。CASE や NULLIF を使っても同じことができるけど、こっちの方が簡潔。可変長の複数の引数を指定できて便利。

- COALESCE リファレンス

PostgreSQL 7.3.4 ユーザガイド Chapter 6. 関数と演算子 条件式
http://www.postgresql.jp/document/pg734doc/user/functions-co ...
6.12.2. COALESCE
COALESCE(value [, ...])
COALESCE 関数は、NULL でない自身の最初の引数を返します。 データを表示の目的で取り出す際、NULL 値の代わりにデフォルト値を使う場合、時として便利なことがあります。 その例です。

SELECT COALESCE(description, short_description, '(none)') ...

COALESCE
http://www.microsoft.com/japan/msdn/library/ja/tsqlref/ts_ca ...

- COALESCE のスペルが覚えられない

ところで、私は COALESCE のスペルがなぜか覚えられないため、この記事を書いた。COLESE とか COALESE とか COLESCE などと書いてしまい、文法エラーになることが多かった。最近では MS SQL Server 付属のクエリアナライザで SQL を書くようになり、キーワード色づけの恩恵を受けるようになったため間違いが減ったけど。それでも時々忘れることがあって、そのときはクエリアナライザの顔色を伺いながらタイプしている。キーワードに色が付いたら正解スペル、色が付かなかったら間違いスペルだ。まさに顔色を伺ってる感じだ。

COALESCE の発音は「こぅあれす」なんだけど、「す」のところが SCE になっていることが覚えられない原因だと思う。最初は「こぉりーす」と誤読していたこともスペルミスの原因かも。

coalesce goo 英和辞典
http://dictionary.goo.ne.jp/search.php?MT=coalesce&kind= ...

2003-07-24 (Thu)

* Windowsに超特大ホール SQL Slammer 以上の被害の恐れ

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Windows]

2003-07-22 (Tue)

* C# で printf デバッグ

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [C#]

// DBG
foreach (object obj in result_row.ItemArray) { //DBG
    Console.WriteLine(obj.ToString());
}

2003-07-21 (Mon)

* perl の join を C# でやってみる

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [C#]

動的に拡張できる配列があり、その中身を join するという処理を
C# で書いてみた。perl だとすごく簡潔だけど、 C# だと型の変換が面倒。
StringBuilder か何かを使えばもっと簡単に書けるのかもしれない。

static void Main(string[] args)  {
    ArrayList al = new ArrayList();
    for (int i = 0; i < 5; ++i) {
        al.Add(i);
    }
    string str = String.Join(@" OR ", (string[])al.ToArray(Type.GetType("System.String")));
    Console.WriteLine(str);
}

あ、string の配列へのキャストは、文字列定数を使わなくて済むので以下の方がきれいかな。

(string[]) al.ToArray(typeof(string));

2003-07-20 (Sun)

* C# の正規表現クラスと Group クラス

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [C#] [.net]

http://www.atmarkit.co.jp/fdotnet/basics/regex02/regex02_01. ...

C# だと、正規表現によるキャプチャを実行した場合、マッチした部分を格納するリストの0番目の要素には、マッチした部分全体が格納される。

以下のサンプルコードのように複数箇所をキャプチャする場合、最初のカッコでキャプチャした文字列が格納されるのは m.Groups[1].Value である。また、マッチしなかった場合、m.Groups[0].Value には空文字 "" が格納されてしまう。

マッチした個数によって処理を変える場合、「リストの要素数が 1より大きいかどうか」で判定しなければならない。perl と異なるので要注意。

- 正規表現によるキャプチャのサンプル

正規表現によるキャプチャのサンプル。

string str2 = "栃木県真岡市一万人町一万人プール二丁目";
string REGEX_PATTERN = @"^(栃木県|東京都)(.*)";
Match m = Regex.Match(str2, REGEX_PATTERN);
Console.WriteLine(m.Groups[0].Value);

m.Groups[0].Value は "栃木県真岡市一万人町一万人プール二丁目"、
m.Groups[1].Value は "栃木県"、
m.Groups[2].Value は "真岡市一万人町一万人プール二丁目" になる。

- 没になったコード

/*
MatchCollection mc = Regex.Matches(address1, REGEX_GET_PREF);
string s = mc[0].Value;
Console.WriteLine(s);
s = mc[0].NextMatch().Value;
Console.WriteLine(s);

Match ms = Regex.Match(address1, REGEX_GET_PREF);
Console.WriteLine(ms.Groups[0].Value);

string str2 = "栃木県真岡市一万人町一万人プール二丁目";
string REGEX_PATTERN = @"^(栃木県|東京都)(.*)";
Match m = Regex.Match(str2, REGEX_PATTERN);
Console.WriteLine(m.Groups[0].Value);
*/

2003-07-19 (Sat)

* 宮崎吐夢の今夜で店じまい

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [メモ]

http://kodansha.cplaza.ne.jp/frames/tom/

「ねぇー、かーいこくしてくださぁーいよぉー」のペリーや、「バスト占いの歌」で有名な宮崎さんのネタ披露サイト。

2003-07-18 (Fri)

* プレステの str/xa 吸い出しツール

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ゲーム] [音楽]

* PostgreSQLで学ぶSQLデータベースの操作

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Postgres]

特集:第1回 PostgreSQLで学ぶSQLデータベースの操作
http://www.itmedia.co.jp/enterprise/0307/18/epn20.html
Tomcat(JSP)との連携も解説する予定だそうな。

* PostgreSQL チューニング

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Postgres]

【連載 】PostgreSQL パフォーマンスチューニング
https://www.stackasterisk.jp/tech/dataBase/postgresTuning01_ ...

2003-07-17 (Thu)

* winny の匿名性についての47氏の意見

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [winny]

つまり、winny の匿名性の肝は転送によるファイルの一次公開者の隠蔽にあるということ。

MXの次はなんなんだ? Part165
http://tmp.2ch.net/test/read.cgi/download/1058199380/51
51 :47 ◆KbtLZwerNc :03/07/15 01:57 ID:hsfdr3mD

ちなみにβ5.01→β5.02でBBSのハッシュ値が変わるので5.02に変えた直後は
5.01が放出したキーが消えるまで同じスレが二つに見えるはずです。

あと、匿名性がまた話題になっているようですが、nyの匿名性に暗号はほぼ関係ありません。
もしWinnyのソースを全て公開して暗号を全て取り除いた状態でもnyの匿名性は変わりません。

通信内容、キャッシュなどを全て解析しても匿名性は保たれように設計されています。
Winnyの匿名性の肝は転送動作であって暗号ではないからです。

わざわざ各所を暗号化したり本体の改造を困難にしたり、通信内容を暗号化しているのは
単に解析を困難にさせるためです。そして、なぜ解析を困難にするかというと、
解析されて改造されるとファイル共有効率が落ちるからです
(ただ、キャッシュの暗号化は管理責任の問題があるかな?)

あと、Winnyが起動されているノード情報はもちろんTCPでコネクション繋いでいる以上
ログを取れば判明しますが、これは初期ノードリスト解析することと同じことです。

ここは一番暗号の弱いところで解析されてもほとんど影響の無い部分です。
初期ノードを暗号化しているのは気分的な問題(公開の際の心理的影響考慮)であって、
ここはデコードされてもほぼ匿名性に影響ないと思います。
それでわかるのはそこでnyが起動されているということだけですので。

* SQL でのエスケープ ' と LIKE

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [SQL]

- SQL ではエスケープしなければならない文字がある。

今回は、MS SQL Server での文法をメモする。
Postgres での文法は、以下を参照。

[pgsql-jp: 26535] % で始まる文字の LIKE 検索
http://ml.postgresql.jp/pipermail/pgsql-jp/2002-June/001677. ...

PostgreSQL 7.3.2 ユーザガイド Chapter 6. 関数と演算子
http://search.net-newbie.com/pgsql/functions-matching.html

- ' のエスケープ

クエリ中に ' がある場合、' を付加する。
例)
クエリが I'll be back のとき

SELECT * FROM table WHERE string = 'I''ll be back';

- LIKE で使われるメタ文字のエスケープ

クエリ中に以下の文字列がある場合、# を付加する。

% (パーセント)
_ (アンダーバー)
[ (角カッコ)
] (角カッコ)
^ (ハット)
# (エスケープ文字自体をエスケープするには、同じ文字を続ける)

# を選んだ意味は特にない。他の文字でエスケープしたければ、 ESCAPE 句で指定できる。
ESCAPE '#'

例)
クエリが 100% のとき。
LIKE '%100#%%' ESCAPE '#'

クエリが 100# のとき。
LIKE '%100##%' ESCAPE '#'

クエリが K's dining #100 のとき
LIKE '%K''s dining ##100%' ESCAPE '#'

- テストに使った SQL

CREATE TABLE esc (string VARCHAR(100));
INSERT INTO esc (string) VALUES ('100%');
INSERT INTO esc (string) VALUES ('it is ');
INSERT INTO esc (string) VALUES ('%');
INSERT INTO esc (string) VALUES ('%%%');
INSERT INTO esc (string) VALUES ('[');
INSERT INTO esc (string) VALUES (']');
INSERT INTO esc (string) VALUES ('^');
INSERT INTO esc (string) VALUES ('^ff');
INSERT INTO esc (string) VALUES ('10_');
INSERT INTO esc (string) VALUES ('_');
INSERT INTO esc (string) VALUES ('others');
INSERT INTO esc (string) VALUES ('表');
INSERT INTO esc (string) VALUES ('#1');

SELECT string FROM esc;
SELECT string FROM esc WHERE string LIKE '%#%';
SELECT string FROM esc WHERE string LIKE '%##%' ESCAPE '#';

2003-07-16 (Wed)

* sync for me, sync for you, sync for god

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Linux]

[linux-users:30811] Re: about warm and cold reboot
http://search.luky.org/linux-users.3/msg00811.html

紅茶を淹れるときのおまじないに、
One for me, one for you, one for pot (god). というのがある。
ロンドンの水は硬水なので、最後の one for pot がないと
よく抽出できないことから、このおまじないができたそうだ。

これを sync に置き換えたものが sync for me。
sync; sync; sync; shutdown ...
と入力することへの言葉遊びといったところか。

2003-07-15 (Tue)

* .NET Frameworkがサポートする正規表現

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [.net]

スマートな文字列処理のための正規表現入門(前編)
http://www.atmarkit.co.jp/fdotnet/basics/regex01/regex01_01. ...

* MS-SQL Server での日付計算

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [SQL]

- 昨日の日付を持つレコードを SELECT する Transact SQL。

SELECT product_id FROM product
WHERE CONVERT(CHAR(10), product.last_update, 111) =
CONVERT(CHAR(10), DATEADD(DAY, -1, CURRENT_TIMESTAMP), 111);

2003-07-14 (Mon)

* 複数行を単位としたログを grep する perl one liner

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Perl]

ログというのは行単位が基本。しかし、一部には複数行にまたがって出力されるものもある。そんなときにどう grep するかを考えた。JM で grep の man を見てみたが、良さそうなオプションは無かった。こんなときは perl で one liner を書くと楽だ。

- 複数行にわたるログの例。

架空のものだけど。
Date: 11/Jul/2003:09:05:21 +0900
Protocol: HTTP/1.1
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ja-JP; rv:1.4b)
Status: 200
--------
Date: 11/Jul/2003:09:05:30 +0900
Protocol: HTTP/1.1
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ja-JP; rv:1.4b)
Status: 304
--------
Date: 11/Jul/2003:09:06:00 +0900
Protocol: HTTP/1.1
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ja-JP; rv:1.4b)
Status: 304

- デリミタ(区切り文字)で split する

明確な区切り文字があれば、そこで分割してから grep してやればいい。以下、デリミタが -------- で、linux という文字列が入ってるブロックを grep する例。
grep したいファイルが単数の場合
$ perl -0777 -ne 'print grep(/linux/i, split("--------", $_));' log.2003.07.10

grep したいファイルが複数の場合
$ perl -0777 -ne 'print grep(/linux/i, split("--------", $_));' log.2003.07*

- デリミタが改行2つの場合 \n\n

\n\n\ は、http リクエストやレスポンスにおいてヘッダとボディを分ける時にも使われる。
$ perl -0777 -ne 'print grep(/linux/i, split("\n\n", $_));' < log.2003.07.10.2lf_delimiter

デリミタが改行2つなので split() したら改行が消えて行が繋がってしまって残念な思いをするのを回避したい場合。なんか世話が焼きすぎな気もするが、以下のようにさらに \n\n で join() してやればいい。

$ perl -0777 -ne 'print join("\n\n", grep(/linux/i, split("\n\n", $_)));' < /cygdrive/n/pfexport.txt

- 解説

-n で全行を標準入力から取得している。
-0777 で セパレータを無効にしている。すなわちファイル全体が一つになる。

-n と -e だけだと、-e で指定したスクリプトが標準入力から一行読み込まれる度に実行される。一方、-0777 と -n を組み合わせると、とりあえず標準入力から全行を読み込み、$_ に格納し、一度だけスクリプトが実行される、という動きをするようだ。
$ perl -ne 'print "enjoy perl!"' < /cygdrive/n/pfexport.txt
としたとき、enjoy perl! は行数分 print されたが、
$ perl -0777 -ne 'print "enjoy perl!"' < /cygdrive/n/pfexport.txt
だと一度だけしか print されなかった。

あとは全体を指定したデリミタで split() して、配列に格納。配列を grep() してマッチした要素だけを取得して print してる。

一度にファイルを読み込んでしまうなど、効率の面ではあまり良くないけど、気にするな。

2003-07-13 (Sun)

* Behind the Sun / Chicane

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [音楽]

Behind the SunBehind the Sun

Chicane
発売日: 2005/11/14


amazon で詳しく見る

amazon のウィッシュリストに追加。収録曲は旧版と同じだが、PV の入った DVD が付いている。

2003-07-12 (Sat)

* nfs を使えるようになった

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Linux]

今までできなかったけど、google で調べてちょっと設定したら使えてしまった。
http://web.archive.org/web/20030422054541/http://www.niwa.dn ... や Redhat のマニュアルが参考になった。
2002-08-30 に一度試みて失敗してるから、足かけ約一年。何やってるんだ私は。

ちなみに、公開してるのはこれだけ。
/home/samba/public/music (ro,all_squash)

- サーバー側の設定

NFSサービスがインストールされているか確認する。
#rpm -qa |grep netcfg-nfsexports
#rpm -qa |grep nfs-utils
#rpm -qa |grep portmap

いずれもインストールされていなかったら新規インストールする。

exportsファイルにエクスポートするディレクトリ/homeを指定する。
#vi /etc/exports
----------------------------------------------
/home 192.168.xxx.0/255.255.255.0(rw,no_root_squash)
----------------------------------------------
保存終了する。

turboserviceでportmapサービスを開始する。
nfsサービスを開始する。
nfslockサービスを開始する。

NFSが動作しているか確認する。
#rpcinfo -p
これでportmapper,rquotad,mountd,nfs,nlockmgr,statusがリストにあればOK。
もし,/etc/exportsを再編集したらnfsdに再読み込みさせるために次のコマンドを実行する。
#exportfs -ra
turboserviceでランレベル3のportmap,nfs,nfslockを有効にする。

- クライアント側の設定

portmapperとnfsロッキングが動作しているか確認する。
#rpcinfo -p
portmapper,nlockmgrがリストにあればOK。
もしなければturboserviceでportmapとnfslockを開始する。

マウントポイントを作成する。
#mkdir /mnt/server

マウントする。
#mount -t nfs server:/home /mnt/server

以上でLinuxクライアントからNFSサーバーのエクスポートディレクトリにアクセスすることができる。

/etc/fstabに次の記述を追加する。
--------------------------------------------------
server:/home /mnt/server nfs defaults 0 0
--------------------------------------------------
turbofscfgで/mnt/serverのマウントポイントをマウントする。
turboserviceでランレベル3,4,5のportmapを有効にする。

- 以前出てたエラーは何だったのかわからないけど

2003-07-12 で出てたエラーの原因は、今となってはわからない。おそらく、RPC サービスが立ち上がっていなかったか、/etc/hosts.allow でアクセスを許可する記述が欠けいていたかのどちらかだと思う。ちなみにエラーメッセージは以下の通り。
nfs: server 10.3.31.54 still not responding
nfs_get_root: getattr error = 5
NFS: cannot create RPC transport.
nfs: server 10.3.31.54 is not responding

HP のサイトにトラブルシューティング情報があったのでメモ。
[10.X/11.X] NFSマウント時のエラー server not responding
http://www3.jpn.hp.com/cgi/service/knavi/doc_disp.cgi?catego ...

- OS 起動時に自動で nfs マウントする

/etc/rc.d に以下の行を追加。

mount -t nfs 10.69.130.204:/music /mnt/sonic-server/root_music
mount -t nfs 10.224.68.204:/home/hiroaki/music /mnt/sonic-server/home_hiroaki_music
mount -t nfs 10.158.212.89:/backup /mnt/sfu_nfs

* nych Winny BBS Gateway

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [winny]

winny2 の掲示板機能をウェブ上で提供するサイト。

http://nych.info/
当サイトではP2Pを利用した匿名掲示板、WinnyBBSをWEB上から回覧する為のゲートウェイページを設置しています。

2003-07-11 (Fri)

* LVMによるディスクパーティションの動的化(前編)

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Linux]

http://www.itmedia.co.jp/enterprise/0307/11/epn01.html

LVM は今まで全く使ったことがない。そもそも使う必要がなかったし。
でもスナップショットは素晴らしい機能だと思う。業務では役に立ちそうな予感。
kernel 2.6 では LVM 2.0 が搭載される。その頃には使ってるかもしれないな。

2003-07-10 (Thu)

* Linux で自動ログイン

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Linux]

[redhat:12685] Re: LinuxでのAuto Loginは可能でしょうか?
sl.sakura.ne.jp/archives/redhat/?12685

http://www.otsune.com/diary/2003/07/10.html#200307104
/etc/gettytabにal=ユーザー名を追加すれば常にログイン状態。

2003-07-09 (Wed)

* ifconfig のネットワーク転送量カウンタ

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Linux]

cat /proc/net/dev の値を使っているようだ。確認した環境は以下の通り。
[hiroaki@sonic hiroaki]$ uname -a
Linux sonic 2.2.18-2 #1 Wed Mar 14 12:38:41 JST 2001 i586 unknown

32bit で宣言されているようなので、4GB を超えると 0に戻ってしまう。64bit になれば 2^64 = 18446744073709551616 byte = 16384 Peta byte まで増えるので、長期稼働しているファイルサーバでこの値を見て、「たくさん仕事したね」と褒めてあげられるんだけどな。

2003-07-08 (Tue)

* SPC

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [音楽]

SPC Archive
http://www.zophar.net/zsnes/spc/

zophar さんのところには nsf や gym や psf などもある。

2003-07-05 (Sat)

* SONY MDR-E931LP と CD-RW メディアを購入

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [買い物]




どちらもコジマ NEW 東店で購入。
MDR-E931LP はシルバーが欲しかったけど、在庫はブラックのみだった。5%税込み2079円。
CD-RW は MITSUBISHI の700MB 5枚パック。5%税込み609円。安くなったものだ。

2003-07-02 (Wed)

* TCP 3ウェイハンドシェイク時の SYN ACK の正式名称

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ネットワーク]

TCP の 3ウェイハンドシェイク (3way handshake) の SYN や ACK の略称ではない名前。

SYN: synchronize
ACK: acknowledge

RFC 793 TRANSMISSION CONTROL PROTOCOL

- 3ウェイハンドシェイクによる接続の流れ

クライアントが SYN をサーバに送信する。
サーバは SYN + ACK をクライアントに返信する。
クライアントは ACK をサーバに送信する。これで TCP 接続が成立する。

すべての記事の見出し (全1029件)
全カテゴリの一覧と記事の数
カテゴリごとに記事をまとめ読みできます。記事の表題だけを見たい場合は、すべての記事の見出し (カテゴリ別表示) へ。

直近30日分の記事
2007-04-23 (Mon)
2007-03-07 (Wed)
2007-02-27 (Tue)
2007-01-17 (Wed)
2007-01-15 (Mon)
2007-01-14 (Sun)
2007-01-08 (Mon)
2006-12-01 (Fri)
2006-11-22 (Wed)
2006-11-20 (Mon)
2006-11-19 (Sun)
2006-09-30 (Sat)
2006-08-29 (Tue)
2006-08-04 (Fri)
2006-07-27 (Thu)
2006-07-23 (Sun)
2006-07-17 (Mon)
2006-07-10 (Mon)
2006-07-06 (Thu)
2006-07-03 (Mon)
2006-06-29 (Thu)
2006-06-28 (Wed)
2006-06-27 (Tue)
2006-06-25 (Sun)
2006-06-19 (Mon)
2006-06-18 (Sun)
2006-06-15 (Thu)
2006-06-11 (Sun)
2006-06-01 (Thu)
2006-05-30 (Tue)
プロファイル
斎藤 宏明。エンジニアです。宇都宮市に住んでいます。
リンク
RSS
スポンサードリンク
Powered by
さくらインターネット

© 斎藤 宏明 Saito Hiroaki Gmail Address
Landscape - エンジニアのメモ http://sonic64.com/
Landscape はランドスケープと読みます。
ひらがなだと らんどすけーぷ です。