(2005-05の一覧)
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2005-05-29 Sun (他の年の同じ日: 2007 2011)

htaccess で digest 認証
2005-05-29-2 / カテゴリ: [linux][Apache] / [permlink]

% htdigest [-c] .htdigest username
-c は、.htdigest の新規作成を行う。
で、
AuthType	Digest
AuthName	"strings"
AuthDigestFile	/hoge/foo/bar/.htdigest
require user foo
(require valid-user)
Basic認証と異なるのは、AutyType のタイプと、ファイルを指定するための AuthDigestFile ディレクティブ名

…って、さくらのサーバ、htdigest 使えないし!! いけてない (/_-)
http://sakura.ne.jp/support/manual/rs/tech_htaccess.shtml

メールのセキュリティはそこそこなのに、Web系はダメだなぁ…

0603 追記
コマンドの引数が足りない
% htdigest [-c] .htdigest realm username
でした。
Referrer (Inside): [2005-08-09-2] [2005-07-08-3]

pipe でプロセス間通信
2005-05-29-1 / カテゴリ: [perl][programming] / [permlink]

pipe(READ, WRITE);
select((select(WRITE), $|=1)[0]);

if ($pid = fork) {
  close WRITE;
  while (<READ>) {
    print;
  }
  exit;
}
elsif (defined $pid) {
  print WRITE "foo\n";
  print WRITE "bar\n";
  print WRITE "baz\n";
  exit;
}
まぁ、単純化してこんな感じ
バッファのフラッシュはしておかないと、反応が鈍い。

…あれ? Perl はしばらく書かなかったんじゃ??>自分
Referrer (Inside): [2005-06-03-1]

printf(char*)と printf("%s", char*)の違い
2005-05-28-1 / カテゴリ: [c][perl][programming] / [permlink]

(いや、チョー基本的なことなんだろうケド)
char* の中身に % が含まれていたときに意図した動きをしない。

…あ、Perl もだ。printf なんてほとんど使わないから気づかんかった。
2005-05-27 Fri (他の年の同じ日: 2006)

source のインストール
2005-05-27-3 / カテゴリ: [win][c][programming][cygwin] / [permlink]

インストーラのパッケージ選択画面で、Source を選択すると、/usr/src/package-version 以下にダウンロードされる。

お勉強用に、more(1) のソースを眺める。割と面白い。more.c しかないのが敷居が低くて良いかも。

パッケージの中身リスト(dpkg -L package)
2005-05-27-2 / カテゴリ: [win][command][cygwin] / [permlink]

$ cygcyeck -l package

Code Reading オープンソースから学ぶソフトウェア開発技法購入
2005-05-27-1 / カテゴリ: [programming][diary][] / [permlink]

昨日amazonで「プログラミング+設計」で検索してたときに偶然見付けた書籍。レビューを見る限り面白そうだったので買ってしまいました。

http://www.amazon.co.jp/exec/obidos/ASIN/4839912653/qid=1117 ...

他人のソースを読んで勉強…。言われてみれば当然なはずなのに、仕事で触れる(私の入社前に外注が書いた)ソースコード(Perl)があまりにも腐ってる(現在形)ので、今までそんな風に考えることができなかった…。
(上司が新人にそのコードのチェックをさせようとした時に「教育上よくない」と止めた程)
4ページ目より引用
低品質のコードは、次の点に着目すればすぐ見分けることができます。
  • コーディングスタイルに一貫性がない
  • 意味もなく複雑な構造や理解不能な構造が使われている
  • 明らかな論理ミスや手抜きがある
  • 移植性のない構造が多用されている
  • 保守されていない
おぉ……、全部当てはまってる…。
低品質なコードを見分けるスキルは見に付いてるってことか??
2005-05-26 Thu (他の年の同じ日: 2004 2006)

rewind と fseek(先頭)の違い
2005-05-26-2 / カテゴリ: [programming][c] / [permlink]

rewind では、FILEオブジェクトが保持している、ファイルopen後のエラーの状態(ferrorで取得できる状態->ファイルエラー指示子)をクリアした上で、先頭へ移動する。
先頭への移動そのものは、fseek(FILE*, 0L, SEEK_SET)と同じ。

独習C 読破
2005-05-26-1 / カテゴリ: [programming][c][diary][] / [permlink]

買って5日なのに…速いって。もったいない…。
ここ最近、通勤電車中でプログラミングの本ばっか読んでるなぁ。ポインタが理解できない理由も読破したのは電車の中だったし。
けど、「本を読む」量は多いけど、「コードを書く」量が少ないのは問題…。電車の中でコードを書くのは…できなくもないけど。座ってるから。どうしよっかな。

はやくハリーポッター文庫版の続き、出ないかなぁ
2005-05-25 Wed (他の年の同じ日: 2011)

ファイルIOで1行ずつの処理は
2005-05-25-1 / カテゴリ: [programming][c] / [permlink]

fgets を使って、\nまで読んだのか、\0まで読んだのか、そうでないのかをチェック
  input_buf = (char *)malloc(sizeof(char) * cur_mem_size);
  if (input_buf == NULL) {
    perror("memory alocate error(input_buf)\n");
    exit(1);
  }

  // EOF まで読み込み
  while (!feof(fp)) {
    if (fgets(read_buf, INPUT_BUFFER, fp)) {
      strcat(input_buf, read_buf);

      if (!feof(fp) && input_buf[strlen(input_buf) - 1] != '\n') {
        // EOFでなく かつ 行の途中までしか読めなかった
        cur_mem_size += INPUT_BUFFER;
        printf("%d\n", cur_mem_size);
        input_buf = (char *)realloc(input_buf, sizeof(char) * cur_mem_size);
        if (input_buf == NULL) {
          perror("realloc error\n");
          exit(1);
        }
      }
      else {
        // EOFまたは行末まで読んだ
        printf("[%s]", input_buf);  // 行に対する処理
        input_buf[0] = '\0';
      }
    }
  }
cur_mem_size ずつファイルを読み込み、行末までよんでなかったら、バッファを realloc して更に読む、というやり方。こんなんで良いのだろうか。
2005-05-24 Tue (他の年の同じ日: 2006)

Perl の略は
2005-05-24-1 / カテゴリ: [perl] / [permlink]

Pathologically Eclectic Rubbish Liste
病的折衷主義ガラクタ出力装置
という説も
2005-05-22 Sun (他の年の同じ日: 2011)

独習C
2005-05-22-1 / カテゴリ: [c][programming][diary][] / [permlink]

日曜日だとゆーのに、深夜の電話番。電話がならなければただの夜更し(ぉぃ)。ぃゃ、別に起きてなくても良いんだけど、睡眠中に鳴るケータイに反応できる程、敏感ではないので、徹夜せざるを得ない身体がうらめしい。

ただ起きててもアホらしいので、独習CでC言語のお勉強。一気に200ページ程読んでしまった。
2年生子ちゃんが(押えるべきポイントを)見て分かりやすいように、(自分は理解できてる範囲も含めて)テストに出そうな項目(笑)にマーカーをどんどん引いて行く。

switch-case って、Perl 使いだったせいか、イマイチ使いどころがわからん。
2005-05-21 Sat (他の年の同じ日: 2004)

独習C 購入
2005-05-21-1 / カテゴリ: [c][programming][] / [permlink]

1年前位に買った「猫でも分かるCプログラミング」だと、ちょっと情報が足りなくなってきたので、初・中級用のつもりで購入。割と読みやすい。
「C言語 ポインタが理解できない理由」を一通り読んでたおかげかな?

2年生の子にはちょっと敷居が高いかもしんないけど、猫わかに載ってない範囲で勉強するには良いかな?

ちょうど、すぐわかるPerl + 独習Perl と同じ体制になったな(笑

うるう年の判定
2005-05-20-2 / カテゴリ: [programming] / [permlink]

yが4の倍数なら「とりあえず」うるう年.
yが100の倍数なら4の倍数ではあるが平年.
yが400の倍数なら100の倍数ではあるがうるう年.
なんで
if ((y % 400 == 0) || ((y % 100 != 0) && (y % 4 == 0))) {
  うるう年
}
else {
  うるう年ではない
}
何を今更…

Zeller(ツェラー)の公式で曜日の判定
2005-05-20-1 / カテゴリ: [programming] / [permlink]

年 + 年/4 - 年/100 + 年/400 + (13*月+8)/5 + 日 を7で割ったときの
あまりが、0ならば日曜、1ならば月曜・・・6ならば土曜になります。
perl:localtime の第6引数を使う方法しかしらねー…
2005-05-19 Thu (他の年の同じ日: 2012)

thunderbird 検索フォルダ機能で仮想フォルダ
2005-05-19-3 / カテゴリ: [win][mozilla] / [permlink]

http://www.mozilla.gr.jp/forums/?mode=al2&namber=19348&no=0& ...
私の場合、検索フォルダを使って複数のフォルダの
未読メールをまとめて表示させています。

検索フォルダの条件は、[状態] [が次と異なる] [既読] としています。

検索フォルダについては

を参照してみてください。
検索対象: [選択(H)]から、対象フォルダを選択するのを忘れずに!
便利だ!

telnet コマンドの強制停止
2005-05-19-2 / カテゴリ: [command][network] / [permlink]

telnet 実行中に応答がなくなったとき
> ^]
で、telnet プロンプトに切り替わるので
> telnet> quit
すれば抜けれる(と良いなぁ)

C言語課題
2005-05-19-1 / カテゴリ: [programming][diary] / [permlink]

一緒に仕事している、2年生のかけだしCプログラマ(♀)のための、プログラミング課題を考える。…なにも思いつかない。
Perlだとフィルタとか文字列処理用途で使用頻度も高くて、実用的な練習課題は作りやすい(というか、いくらでも作れる)けど、Cってどんな問題が適してるんだ?? それ以前に、Cの実績がゼロに近くて、問題作れないんですが ^-^;;;
結局、大学のときの演習課題(のtar.gz)を紐解いて、なんか良いのがないのか探してみる。なんか、.p なファイル(pascal)なんかあってなつかしい。というか、「なんの課題か」のコメントがない…。ちゃんと書け>x年前の自分

最低でも、「それが何のプログラムか」のコメントは必要だな>今の自分。
Referrer (Inside): [2005-11-24-1]

qpopper(PAM認証)インストール (RHEL3)
2005-05-10-1 / カテゴリ: [linux][アプリ] / [permlink]

# ./configure --enable-specialauth --with-pam=qpopper
# make
# mkdir /usr/local/man
# mkdir /usr/local/man8
# make install
# vi /etc/xinetd.d/pop3
service pop3
{
  disable = no
  socket_type = stream
  wait = no
  user = root
  server = /usr/local/sbin/popper
  server_args = -s
}
# cd /etc/pam.d
# cp xdm qpopper
# /etc/init.d/xinetd restart
# telnet localhost 110
ただし、uid 10 未満は NG (認証できない)ぽい (rootとか)
2005-05-08 Sun (他の年の同じ日: 2006)

SMTP auth の設定
2005-05-08-1 / カテゴリ: [linux][メール][wanderlust] / [permlink]

.wl に
(setq wl-smtp-posting-user "smtp auth user name")
(setq wl-smtp-authenticate-type "mechanism")
と。
mechanism のとこは、"cram-md5" とか "plain" とか
http://www.gohome.org/wl/doc/wl-euc_95.html
2005-05-04 Wed (他の年の同じ日: 2004 2011 2012)

AltIME から KeySwap for XP へ乗り換え
2005-05-04-1 / カテゴリ: [win][アプリ] / [permlink]

デスクトップ PC は、HHK Lite2 なので、必要ないが、ノート PC はとりあえず、Ctrl キーの位置を a の左にするため、常に AltIME を使ってきたんだけど、どーも PC との相性が悪いのか、キーを離しても「Ctrl が押しっぱなし」状態になってしまう場合がある。ので、いろいろ試した結果、KeySwap for XP というソフトを使ってみる。
KeySwap for XP
キーの入れ替えやキーを無効にする、常駐しない WindowsXP、2000、NT4.0専用プログラムで、DirectX、 コマンドプロンプトにも対応。

愛とゆりの部屋
窓使いの憂鬱とかも使ってはみたけど、ソフトウェア制御のものは、どうもキーをタイプした瞬間に変なラグ(?)があって、すごく気持ち悪いので NG
KeySwap for XP で、AltIME より good な点は、「Caps と Ctrl 入れ替え」でなく、「Caps を Ctrl にする」だけの設定ができるのが良い。これで、他の人が私の PC を操作するときに「アレ?」という状況がなくなる(笑)

ただ、AltIME が持っている機能の「パスワード表示」([***]の部分を強制表示する)はあったほうが便利だったんで、なんとかならないかと探してみると、やっぱありました。
PeekPassword
******で隠されたパスワードの中身を表示する

Vector
使いやすい。


chalow でのハイパーリンクの書式の練習でした ^-^;
Referrer (Inside): [2005-06-02-1]
2005-05-02 Mon (他の年の同じ日: 2013)

CPANを使って簡単Perlモジュールのインストール
2005-05-02-3 / カテゴリ: [perl] / [permlink]

$ perl -MCPAN -e shell
初回起動時は、インストールするパスやキャッシュ、各プログラムのパス(gzip, tar, make, lynx その他)、make のオプション、proxy などの設定。基本的にデフォで OK
設定は ~/.cpan 以下に保存


$ perl -MCPAN -e shell
cpan>
で、
cpan> install HTML::Template
とかで、サクっとインストールできる。

(今更)ツタヤの会員になった
2005-05-02-2 / カテゴリ: [diary] / [permlink]

引っ越しの最中に出てきた Hysteric Blue の 1st アルバムを聞いてると、2nd アルバム以降がどうしても聞きたくなってしまった。けど、近所のショップ(…つーより、そもそも CD ショップの位置を把握していない)には、おそらくは諸事情により Hysteric Blue どころか「ヒ」のコーナーにすらない。
とまぁ、数日間、暇があれば探してたんだけど、よーやく川崎のツタヤにて(レンタルものを)発見。早速入会して借りて帰る(笑)

せっかくなので、曲リスト

2nd アルバム[ワラビー]
01. ソンナコトイエナイ
02. Midnight Rave
03. ラバーズ
04. 直感パラダイス
05. ふたりぼっち
06. Paradox
07. アンバランス
08. 真昼の夕焼
09. なぜ…
10. 雨上がり
11. Dear
12. 今見える明日、戒める今日

4th アルバム [MILESTONE]
01. キミと会う瞬間
02. ベイサイドベイビー
03. Party!
04. ちょっとゲンカ
05. Great Love
06. フラストレーション ミュージック
07. なみだ
08. ドントマインド
09. 路傍の人々
10. Reset me
11. Motive Power Live
12. 暖炉

5th アルバム [JUNCTION***]
01. 真夏の夜のファンタジー
02. DOLCE 〜夏色恋慕〜
03. カクテル
04. スコール
05. ゆうべのキス
06. 99%LATE
07. 笑おう
08. オレンジ
09. 君のいない街
10. はれのちくもり
11. 旅路
12. LOVE

… あれ? 3rd は?

三井住友銀行、住所変更
2005-05-02-1 / カテゴリ: [diary] / [permlink]

2月下旬の引っ越し後、住所変更の申請したものっつったら、マルイのカードと美容院くらい…。今日は平日だったので、銀行に行ってきた。

なんと、Web から申請できるとのこと(常識?)。
順番待ちも数十人いるとのことなので、サッサと帰る。
2005-05
前の月 / 次の月 / 最新

2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2013-05-02 16:12