雑文発散

ZATSUBUN HASSAN
«前の日(02-13) 最新 次の日(02-15)» 追記

2003-02-14 また最下位だよ、金曜日

Perl フレームワーク

Perl用のWebアプリ開発フレームワークを無償公開(IT Pro)」だそうだ。この記事を読む分には面白そうだ。これを使って商用アプリケーションを作ることも可能だけれど、なんだかちょっと心にひっかかるものが。このひっかかりはなんだろう?

| Bookmark:

視力

どうもここ数日で視力が落ちた気がする。ディスプレイの文字が読みにくい。一時的なものだったらいいけど。。。

| Bookmark:

IMAP4

今更使ってみた。個人用アドレス宛のメールを会社で読んだりする場合には便利かも。

| Bookmark:

スカパラ

ゆうべ「スカパラの新曲って、最初 SMAP の新曲かと思った」と言ったら、よきゅんも同意してた。

| Bookmark:

MacOS で scp / sftp

MacOS ( Mac OS X じゃない)で scp だの sftp だのって、意外と面倒なのか。

| Bookmark:
本日のツッコミ(全2件) [ツッコミを入れる]

shachi [NetFinderかNiftyTelnet使ってた>MacOSでscp,sftp]

すずき [ちょうどその辺を勧めときました>scpとか Mac OS X なら簡単なのに、とか思いましたよ。。。]


2004-02-14

[] 鳥肌実(音アリ)

初めての鳥肌実 個人演説会@九段会館。なんとはなしに有楽町から九段下まで歩いて本公演へ。

マジメ過ぎる人が聞いたら怒りだすんじゃないか?というようなネタが満載で笑わせてもらった。でも、絶対メジャーにゃなれないよな、こういったネタだと。。。食える程度にはがんばって欲しい。ということで、グッズセット(トータル8000円相当品)を3000円にて購入。でっかいポスターも貰ってしまった。

| Bookmark:

[] 蘭苑飯店

公演後、新橋まで出てお勧めの中華屋に。餃子うめー、しらす炒飯うめー、杏仁豆腐うめー。その他もろもろで満腹。

| Bookmark:
本日のツッコミ(全1件) [ツッコミを入れる]

 [「牛丼売り切れ占い」→http://kaseide.net/jisaku/uranai/]


2005-02-14

[] 10月に結婚します!

、、、と同僚が言っていた。

ウチの会社は割と既婚者が多い。そんな中で、独身男性の最年長がオレ、その次が彼だったので、何かにつけて「早く落ち着かないと!」と言っていた。結婚願望が強かったようなので、良かった良かった。

| Bookmark:
本日のツッコミ(全6件) [ツッコミを入れる]

Before...

nuremochi [それが狙いなんだ!トモコさん人が良すぎるよ!]

yoosee [だーまーさーれーたー]

トモコ [うぐぐ…]

すずき [いつもより mixi の「足あと」が多いよ、今日は。狙い通り(笑)]

thi [狙われました(笑)]


2006-02-14

[Mac] Wanderlustで送信できた

が、1通送信するのに30秒以上かかっている。もしかすると、昨日の段階でも「送信できない」のではなく「送信に時間がかかっている」という状態だったのかも。

SMTP のトレースバッファを見ると、EHLO → MAIL FROM → RCPT TO → DATA まではリクエストもレスポンスもスムーズに実行されているようなのだが、次のメールデータを送信するプロセスに時間がかかっているように思える。

FLIM の smtp.el 辺りを edebug でステップ実行してみたけど、どーもいまいち良くわからん。うむー。

| Bookmark:

[Mac] Carbon Emacs for Intel + ことえり

なんか日本語を入力する時に文字化けしちゃうな。日本語モードにして、そのまま入力すると文字化けする。日本語モードのまま Shift + Space で半角スペースを入れた後、日本語を入力すると大丈夫なのだけど。なんでだろう?

| Bookmark:

[] 不動産屋からレスポンスが来ない

昨夜フォレント経由で問い合わせた複数の物件。今日はどの不動産屋からもレスポンスがなかった。忙しい時期だからって無視されてんのかな?

| Bookmark:
本日のツッコミ(全4件) [ツッコミを入れる]

kitaj [うちの場合,翌日〜1週間後までレスポンスタイムのばらつきは結構ありましたよ.スグに返事してくる不動産屋が良いかという..]

すずき [2/14に問い合わせた物件に関しては、ちょこちょこレスポンスが来ました。 メールチェック頻度が低いのはあるかも知れな..]

kitaj [いやー,案外,問い合わせメールをFAXにして不動産屋に送りつけるシステムとかいいかもしれないっすよ. 何故かどの不動..]

すずき [こんなんありますがな! http://www.ntt.com/iFAX/]


2007-02-14

[] さんざん悩んだが解決しなかった

bashを使ったシェルスクリプトで、変数の間に改行を入れたかったのだがうまくいかずに悩んだ。

 HOGE="aaa"
 FUGA="bbb"
 HAGE="$HOGE\n$FUGA"
 echo $HAGE

このコードで、

aaa
bbb

という結果を期待したのだがダメ。しかも、今日は悩んだだけで結局解決しなかったのが情けない。。。

| Bookmark:
本日のツッコミ(全6件) [ツッコミを入れる]

Before...

madocco [あ、最後の echo "$HAGE" が、抜けた。失礼。]

えろぺお [echo -e じゃないですか?]

すずき [madocco案だとうまくいかなかったのですが、、、echo -e でイケました! echoのオプションは -n し..]

madocco [「""」重要。]

すずき [こうなっちゃうの。 $ cat test.sh #!/bin/bash HOGE="aaa" FUGA="bb..]


2008-02-14

[PHP][Perl][Ruby] PHP / Perl / Ruby での正規表現の挙動の違い #3

たかはしさんからツッコミを受け、るびまの正規表現関係の記述を読んでみると、Ruby に関しては「標準添付ライブラリ紹介 【第 12 回】 正規表現 (1)」にそのものズバリが書いてあった。

文字列先頭や文字列末尾の意味で「^」や「$」を使ってはいけません。Perl などの他の言語の正規表現とは意味が違うので気をつけてください。 たとえば、CGI の入力のチェックで間違って「^\d+$」のように使ってしまうと、「数字だけからなる文字列」を受け付けたつもりでも「数字のみの行」を含む文字列を受け付けることになってしまいます。
「\Z」も普通は使うことはないでしょう。「\A」とセットで文字列全体をチェックするのなら「\z」を使うべきです。「\Z」は「^」に対応する「$」のように「\A」に対応するものとして存在するだけで、普通は使うものではないと思います。行を意識して処理をしたいのなら、「\A」と「\Z」ではなく「^」と「$」が向いていることの方が多いはずです。

hnw さんと同じく、オレも \z と \Z の存在を知らなかったのが今回の(オレの)混乱の原因か。ということで、\z を使ったコードを試してみた。

まずは PHP 版。

#!/usr/bin/php
<?php
 
$array = array('1234',
               '1234' . "\n",
               '1234' . "\n" . '5678');
 
for ($i = 0; $i < count($array); ++$i) {
    if (preg_match('/^([0-9]+)\z/',$array[$i],$match)) {
        print "ok: " . $match[1] . "\n";
    } else {
        print "ng\n";
    }
}
?>

次に Perl 版。

#!/usr/bin/perl
 
@array = ('1234',
          '1234' . "\n",
          '1234' . "\n" . '5678');
 
for ($i = 0; $i < @array; $i++) {
    if ($array[$i] =~ /^([0-9]+)\z/) {
        print "ok: " . $1 . "\n";
    } else {
        print "ng\n";
    }
}

最後は Ruby 版。

#!/usr/bin/ruby
 
array = ['1234',
         '1234' + "\n",
         '1224' + "\n" + '5678'];
 
array.each { |tmp|
   if /\A([0-9]+)\z/ =~ tmp then
      print "ok: " + $1 + "\n"
   else
      print "ng\n"
   end
}

実行結果はコレ。

$ ./test.php
ok: 1234
ng
ng
$ ./test.pl 
ok: 1234
ng
ng
$ ./test.rb
ok: 1234
ng
ng

この結果を見ると、ようやく全ての言語で期待通りの結果になった。Ruby の場合は、PHP / Perl と同じ /^[0-9]+\z/ では、これがまた違う結果になるので、上記の通り /\A[0-9]+\z/ としている。PHP / Perl で使っていた正規表現を Ruby に移行しようとするときには、この辺に気をつけないといけなさそうだなー。

ところで、Ruby が Perl と似た表記での正規表現を採用したのに、この部分の動作を変えた理由はなんなのだろう? 何かメリットがあって Perl とは違う道を選んだのだと思うのだが、それがどんな時なのかが思いつかない。「すげー便利」って何かがあるんだろうか。。。

| Bookmark: