配列

my @c = (1,2,3,4,5); $[ = 1; print $c[1]; $[ = 0; print $c[1]; 実行結果 12

perl tips

sub first { print 'First' } sub second {print 'Second'} print (2, 3, first, second); 実行結果 FirstSecond2311 サブルーチンの戻り値が指定されていない場合は、最後に評価された値。 print 'First'の評価値voidであるため、関数の戻り値(1)が返る。 s…

行ディレクトリ

今日初めて出会った言葉・・・目から鱗でした。 (って、知ってて当然?!) #!/usr/bin/perl #line 400 "ここはどう?" die "Fatal"; 実行結果 Fatal at Parsing engine line 200 Fatal at ./tmp2.pl line 6. じゃなくて、line 200とか付加的な情報まで吐いて…

範囲演算子のスカラーコンテキスト

my ($a,$b,$i,$c) = (0,0,1,0); my @c;for (1 .. 10) { if($a .. $b){print "真->"} else{print "偽->"}; $c = ($a .. $b); @c = ($a .. $b); print "c = $c [ $a , $b ] (" , @c , ")"; if($i == 2){ $a = 1; } if($i == 4){ $a = 0; } if($i == 6){ $b = 1…

apacheのコアモジュールprefork スレッドを使わず、先行して fork を行なうウェブサーバを実装http://www.typemiss.net/blog/kounoike/20060212-64 に関連して、調査すべきだなぁ。

prototype.js

http://www.imgsrc.co.jp/~kuriyama/prototype/prototype.js.html

libevent API

[本家] http://www.monkey.org/~provos/libevent/[src] download[Install] ./configure make make install で終了

memcached を cygwinで使ってみよう

[Memchacheとは] http://www.danga.com/memcached/download.bml[src download] src download[Install] ./configure※怒られる checking for event_set in -levent... no configure: error: libevent is required. You can get it from http://www.monkey.org/…

DBの制約等

http://www.ganchiku.com/2006/06/post_27.html 同じくがちがちに張るものだと思っていた。。。 アプリ側からしたら確かに筋が通った考え方だなぁっと。 DBはほんと蓄積されているデータをどのように扱うか+I/Oのみなものになるんだろうな。 入っている内容…

new service

社内で朝礼。。。疲れた・・・・

mysql_real_escape_string

自動的にエスケープ文字を付与してくれる。

ロックエスカレーション

行ロック

InnoDBでは行ロックをサポートしているが、詳細には、一致した行だけではなく、スキャンした行全体に対してロックをかける。一般的なRDBMSにおいて、UPDATE文やSELECT文などのWHERE句で指定した列にインデックスが存在しない場合は、テーブルをフルスキャン…

デッドロック

InnoDBはデッドロックを自動で検出し、ロックをかけた行数の少ない方のトランザクションを強制的にロールバックする。

トランザクション開始時に一貫性を保持

mysql> START TRANSACTION WITH CONSISTENT SNAPSHOT; ※LEVEL Repeatable Readで(デフォルト)は、『最初のselect文実行時』にコミットされていた値のみを読み込むようになる。

Version Numberというデザインパターン

シーケンスなどの形でアップデートの通番を管理する。 参照時にその値を取得して、更新時に現在値をチェックする。 具体的な流れとしては、 1.SELECT col1 , col2 , ... , sequence FROM tb1 WHERE target_row = row_a; 2.resultsetの値を更新し、sequence =…

perlのファイル関係 備忘録

if (-r $file) if (-w $file) if (-x $file) if (-o $file) if (-R $file) if (-W $file) if (-X $file) if (-O $file) if (-e $file) if (-z $file) if (-s $file) if (-f $file) if (-d $file) if (-l $file) if (-p $file) if (-S $file) if (-b $file) i…

use encoding 'utf8'実例

ソース:utf8で記述 #!/usr/bin/perl -w use strict; print utf8::is_utf8("ほげ") ? 'UTF-8 Flag' : 'not UTF-8 Flag'; 結果 not UTF-8 Flag ソース:utf8 #!/usr/bin/perl -w use strict; use utf8; print utf8::is_utf8("ほげ") ? 'UTF-8 Flag' : 'not UT…

utf8フラグ

仕事でJcode::convertを使用していたのですが、 外部ファイルのXML(日本語含むutf8)をXML::Simpleで読み込んで、 perl内で処理して、それを HTMLに出力すると、 あるものはきちんと表示されて、あるものは表示されなかったり。結局、その部分にだけ、Encode…

ファイルの自動ダウンロード

すごく難しく考えていたけれど、実際はしごく単純でした。。 Content-Type: application/octet-stream\n\n 素敵。

5.0.22でのこと

ドキュメントもたくさんあって迷うことはほとんどないのだが、 http://perldoc.jp/docs/modules/DBD-mysql-2.1026/DBD/mysql/INSTALL.pod(ちよっと古い) ちょっとつまずいたので、メモを置いておきます。[Windows MySQL Server Install] C:\Program Files\M…

s///

my $tmp = 44; print($tmp =~ s/4/3/g);の出力は、33.........ではなく、2である。 $tmp =~ s/4/3/gの式の評価は、$tmpに代入された値が返ってくるのではなく、 s/4/3/gによって変換された回数が返ってくる。

text-align の詳細

お恥ずかしながら、CSSのtext-alignの挙動をきちんと把握しておりませんでした。 備忘録もかねて、すこしおさらい。[web標準の教科書 より] 一言でいうと、text-alignはインラインブロックのみに作用し、ブロックレベル要素には作用しない。ということ。 な…

備忘録 - ファイルアップロード(binary) -

$filename = $query->param('upload_file'); #"$filename"でファイル名、$filenameでファイルハンドラ my $save_dir = '/h/h/image'; open (OUTFILE,"> $save_dir/$filename") || die('ディレクトリが開けませんでした'); my ($bytesread, $buffer); while (…

TMTOWTDIに対する解説と見解

http://www.netfort.gr.jp/~kiyoka/tmtowtdi/tmtowtdi.html by Kiyoka Nishiyamaperlに対する迷いが出たときに、読み返したいですね。 これを読んだからってすぐにコードがすらすら書けるようにはなりませんが、 ただ、すごく重要な捉え方を提示してくれてい…

Perlの自然原理言語

http://chasen.org/~daiti-m/text/natural-ja.html by Daichi Mochihash

CSSのpositionプロパティにもバグ

パグだなぁ [参考]http://members.at.infoseek.co.jp/cssbug/misc/memo.htmlほんとはこう↓いきたいところなんだけど...position : fixed; z-index : 1; top:10px; right:10px;どうもIEではposition:fixedは未実装のよう。 しかも、この↓ように妥協したからっ…

について

IEではバグにより<button>タグが正常に動作しない。 Firefox等はパーフェクトリーに動作。(素晴らしい☆)[参考]http://www.ne.jp/asahi/hp/syow-yow/note0034.html<input type="hidden" name="foo" value="" /> <input type="submit" value="送信" onClick="document.---.foo.value="bar" />とかにせにゃならん。<input type="submit" name="foo" value="bar" />でも行けなくはないが...ユーザビ…</button>

プライベートメソッド

これ自体がまずよくわからない・・・・TT