Landscape トップページ | < 前の月 2002-09 2002-10 次の月 2002-11 >

Landscape - エンジニアのメモ 2002-10

月ごとの記事一覧
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月
日ごとのページ
2002-10/ 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日

2002-10-24 (Thu)

* a 要素の href 属性に使って良い文字

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

href の中身は URI を書く。URI に使って良い文字は ASCII。
引用符で括られた値は CDDATA (厳密には RCDATA) なので、まず html エスケープする。そのあと URI エスケープする。

2002-10-23 (Wed)

* カンマの前に全角スペースでパディングしてある csv をキレイにする one liner

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

$ perl -p -i.bak -e 's/ *,/,/g' test.csv
全角スペースの2バイト目が連続する部分にマッチしちゃいそうな気もするが、まあいいか。

2002-10-22 (Tue)

* Perl で HTML エスケープ

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

perl で HTML エスケープする方法。大崎さんのperlメモから。

Namazu でインデキシングする HTML の場合、< > & ” “ もエスケープすること。
Namazu が奇妙な変換をするため。http://www.namazu.org/ml/namazu-users-ja/msg02528.html 参照。
# HTML エスケープする
sub HtmlEscape {
  my $content = $_[0];
  my $eucpre = qr{(?<!\x8F)};
  my $eucpost = qr{
      (?=
      (?:[\xA1-\xFE][\xA1-\xFE])* # JIS X 0208 が 0文字以上続いて
      (?:[\x00-\x7F\x8E\x8F]|\z)  # ASCII, SS2, SS3 または終端
      )
  }x;
  my @escape_from = qw(& > < " ');
  my @escape_to = ('&amp;', '&gt;', '&lt;', '&quot;', '&#39;');
  for (my $i = 0; $i <= $#escape_from; $i++) {
    $content =~ s/$eucpre\Q$escape_from[$i]\E$eucpost/$escape_to[$i]/g;
  }
  return $content;
}

2002-10-16 (Wed)

* 特定の文字列に囲まれた文字列を配列に格納する

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

マッチした部分をリストコンテキストで受ける。
入れ子なしの単純な html タグに囲まれた文字列を抜き出したいときとかに便利。
# 本文から小見出しとパラグラフを分離して返す
# 引数 : 本文
# 返り値: ハッシュ
sub SplitBody {
  my $body = $_[0];
  my %splitted_body;
  my @header = ($body =~ m|<!-- MARKER_HEADER -->(.*?)<!-- MARKER_HEADER -->|isg);
  my @paragraph = ($body =~ m|<!-- MARKER_BODY -->(.*?)<!-- MARKER_BODY -->|isg);

  $splitted_body{'header'} = \@header;
  $splitted_body{'paragraph'} = \@paragraph;

  return %splitted_body;
}

2002-10-15 (Tue)

* 特定の文字列に囲まれた部分をインデックスの対象外に

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

html.pl を改造して、特定の文字列に囲まれた部分をインデックスの対象外にする。
これにより、ヘッダ部分やロゴ部分を検索の対象から外すことや、
要約に表示したくない部分を削除することができる。

# Remove contents above <body>.
sub erase_above_body ($) {
    my ($contref) = @_;

    $$contref =~ s/^.*<body>//is;

    # For ProSearch
    my $EXCLUDE_TAG_START = '<!-- EXCLUDE_MKNMZ_INDEXING_START -->';
    my $EXCLUDE_TAG_END = '<!-- EXCLUDE_MKNMZ_INDEXING_END -->';
    $$contref =~ s/$EXCLUDE_TAG_START(.*?)$EXCLUDE_TAG_END//gs;
}
これだけ。http://www.y-min.or.jp/~nob/FreeBSD/namazu.html を参考にした。

2002-10-10 (Thu)

* hdparm による IDE ハードディスクのチューニング

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

hdparm を使うと、IDE ハードディスクの設定を確認したり変更したりできる。
$ /sbin/hdparm -a128 -c1 -d1 -m16 -f -t -T /dev/hda
ベンチマークは、 -f -t -T オプションを付けて行う。

pro setting
/sbin/hdparm -a128 -c1 -d1 -X34 -m16 -k1 /dev/hda
/sbin/hdparm -a128 -c1 -d1 -X34 -m16 -k1 /dev/hdb

UDMA33 に対応していそうなものだが、現在の 環境では
使用不可なので、-X34 setting xfermode to 34 (multiword DMA mode2) とした。

dmesg を見ると、以下のようなエラーがものすごい勢いで記録されていく。
カーネルまたはドライバが悪いのか、ハードウェアが悪いのかはわからない。
hdb: timeout waiting for DMA
ide_dmaproc: chipset supported ide_dma_timeout func only: 14
hdb: irq timeout: status=0x59 { DriveReady SeekComplete DataRequest Error }
hdb: irq timeout: error=0x84 { DriveStatusError BadCRC }
ide0: reset: success

- sonic のセッティング

/sbin/hdparm -a128 -c1 -p4 -X34 -m16 -k1 /dev/hda
/sbin/hdparm -a128 -c1 -p4 -X34 -m32 -k1 /dev/hdb

sonic の hdb はマルチカウントが 32 という特徴がある。

-u1 は クラッシュの原因になっているようなので使わない。
-f -t -T によるベンチマークは無事完了したが、
いざmknmz しながら、samba で書き込みしたら IDE がパニック。
詳しいエラーメッセージは覚えてないが。
-u1 が犯人、という根拠は特にないが、「同時割り込みを許可する」というところに不穏な空気を感じる。

- 起動時に自動設定

/etc/rc.d/rc.local に書いておく。

2002-10-02 (Wed)

* IE で JavaScript の有効 / 無効 を設定する

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

ツール(T) -> インターネットオプション(O) -> 「セキュリティ」タブ ->
「レベルのカスタマイズ」ボタン -> 「スクリプト」 の
「アクティブスクリプト」で「有効にする」を選択。

すべての記事の見出し (全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 はランドスケープと読みます。
ひらがなだと らんどすけーぷ です。