Landscape トップページ | < 前の日 2003-04-14 2003-04-15 次の日 2003-04-16 >


* http の CONNECT メソッド

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

CONNECT メソッドを使った外部とのトンネリング。

- 172.16.4.1 の場合

$ telnet 172.16.4.1 17216
Trying 172.16.4.1...
Connected to 172.16.4.1.
Escape character is '^]'.
CONNECT www.google.com:443 HTTP/1.1
Host: www.google.com

HTTP/1.0 200 Connection established

Connection closed by foreign host.

- 172.16.4.2 の場合

$ telnet 172.16.4.2 17242
Trying 172.16.4.2...
Connected to 10.2.4.2.
Escape character is '^]'.
CONNECT www.google.com:443 HTTP/1.1
Host: www.google.com

HTTP/1.1 200 Connection established
Date: Tue, 15 Apr 2003 11:10:45 GMT
Age: 0
Connection: close
Via: HTTP/1.0 hostname (Traffic-Server/4.0.19 [c sSf ])

Connection closed by foreign host.


* http の OPTIONS メソッド

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

OPTIONS を使うと、そのサーバで使用可能なメソッドを取得できる。

$ telnet 10.3.31.90 80
Trying 10.3.31.90...
Connected to 10.3.31.90.
Escape character is '^]'.
OPTIONS * HTTP/1.1
Host: localhost

HTTP/1.1 200 OK
Date: Wed, 16 Apr 2003 02:35:15 GMT
Server: Apache/1.3.26 (Unix) PHP/4.2.1
Content-Length: 0
Allow: GET, HEAD, OPTIONS, TRACE

Connection closed by foreign host.

* proftpd のタイムアウトの設定

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

proftpd.conf にタイムアウトの設定を記述できる。

TimeoutLogin 300
TimeoutNoTransfer 3600
TimeoutStalled 3600
TimeoutIdle 3600

単位はすべて秒。
TimeoutLogin: ログイン時にタイムアウトになるまでの時間。
TimeoutNoTransfer: ログイン後、無通信状態でタイムアウトになるまでの時間。
TimeoutIdel: サーバーとクライアント間で何も通信が無い状態でタイムアウトになるまでの時間。
TimeoutStalled: 転送開始後にデータが流れていない状態でタイムアウトになるまでの時間。

* 日付と表題一覧を付加2

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

- 2003-04-15 に作った「日付と表題一覧を付加する」perl スクリプト、実はバグあり。

my @part_by_date = ($source =~ /^(\d{4}\-\d{2}\-\d{2}.*?)\n\n/msg);
これじゃ日付以外のところに \n\n があると、それ以降が無視されてしまう。
まあ使ってないからいいんだけど。

* 日付と表題一覧を付加

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

- 作ったけど適用してない。どこに適用するのが適切なのかを探す時間がないから。

$source は html エスケープなどのサニタイズが完了していることが条件。
my $tmplt_dt = '<dt>%s</dt>';
my $tmplt_dd_start = '<dd><ul>';
my $tmplt_dd_end = '</ul></dd>';
my $tmplt_li '<li>%s</li>';
my $html = '<dl class="subject_list">';
my @part_by_date = ($source =~ /^(\d{4}\-\d{2}\-\d{2}.*?)\n\n/msg);
foreach my $part (@part_by_date) {
  my $date = ($part =~ /^(\d{4}\-\d{2}\-\d{2})/)[0];
  $html .= sprintf($tmplt_dt, $date);
  $html .= $tmplt_dd;
  my @subject = ($part =~ /^\t\*\s+(.*?)$/mg);
  foreach my $subject_str (@subject) {
    $html .= sprintf($tmplt_li, $subject_str);
  }
  $html .= $tmplt_dd_end;
}
$html .= '</dl>';

* Postgres の VARCHAR(n) の文字数ってマルチバイト対応?

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

2003-04-14 の ChangeLog について調査。

- VARCHAR(n) の文字数とは、SQL92 の定義に則れば、

「処理系の定義する特定の文字集合」 の文字数である。

- しかし、7.2 未満の Postgres は上記仕様を満たしていなかった。

7.2 からは上記の仕様に準拠するようになった。
[pgsql-jp 23148] Re: VARCHAR(n)のn
http://ml.postgresql.jp/pgsql-jp-old/pgsql-jp/2001Sep/msg001 ...
もともとPostgreSQLのマルチバイト実装におい
ては,『処理系の定義する特定の文字集合』とは,データベースごとに決まる
エンコーディングです.日本のユーザならたいていEUC_JPでしょう.

- VARCHAR(n) の文字数とは直接の関係はないが、知っておくべき情報もいくつかあった。


- CHAR 型 はスペースでパディングされるために結構コストが高い。

[pgsql-jp 23075] Re: INSERT するときのサイズチェック
http://ml.postgresql.jp/pgsql-jp-old/pgsql-jp/2001Sep/msg001 ...
char型の場合、たとえばCHAR(10)で確保した列に100万行を挿入す
れば、その列にどんな長さの文字列を挿入しようとも、きっちり10
バイト×行数(この場合には1000万バイト)の領域が必要になりま
す。しかし、varchar型やtext型の場合には、実際に挿入した文字列
の長さ+4バイトしか使いません。ですから、長さがまちまちである
文字列を保持するのであれば、varchar型やtext型の方がリーズナブ
ルなわけです。

- CAHR と VARCHAR の違いと文字列長超過時のエラー

PostgreSQL 7.2.3 ユーザガイド Chapter 3. データ型
http://www.postgresql.jp/document/pg721doc/user/datatype-cha ...
SQL は 2 つの主要な文字データ型を定義しています。
character(n) と character varying(n) で、n は正の整数です。
これらのデータ型は 2 つとも長さにして n 文字分の文字列を保存できます。
超過している文字がすべてスペースの場合(この時は長さの限界で切り捨てられます)を除いて、
上限を越えた文字列をこの種の列に保存しようとするとエラーになります。
(この一風変わった例外は SQL 標準で要求されています。)
もし宣言された上限よりも文字列が短いときは character の値はスペースでパッドされ、
character varying の値は単により短く保存されます。
Note: PostgreSQL 7.2 以前では上限を越えた文字列は黙って切り捨てられエラーとはなりません。

あ、Postgres については調べられたけど、MS SQL Server については調べてないな・・・。
すべての記事の見出し (全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 はランドスケープと読みます。
ひらがなだと らんどすけーぷ です。