2008-01-01から1年間の記事一覧

Blog in English

etc

私はオライリー本はいつも訳本ばかり読んでいるのですが、最近「この単語、本当は英語で何ていうんだろ」という疑問が多々浮かぶようになって「やはり原書で読むべき」という言葉が素直に受け止められるようになってきました。・・・とはいえ、オライリー本…

イディオムの落とし穴

ウェブや書籍、雑誌で読んだ事でも、実際に失敗した経験がないと失敗してしまうという事がよくあります。WEB+DB PRESS Vol.43作者: 笠原辰仁,宗近龍一郎,高林哲,児玉サヌール,尾島良司,田中ばびえ,宮川達彦,小飼弾,的場聡弘,たつを,角田直行,きたみりゅうじ,…

アクセサの自動生成

最初はJavaのノリでゴリゴリとアクセサを書いてたんですが、CPANのソース読んでてなるほどClass::Accessor::Fastを使えばいいのかと。しかも、以下のように親のFooクラスでは「name」だけ、Fooを継承したFoo::Varクラスでは「name」と追加で「birthday」のア…

自作pmをuse libする

下にlibとかつくってそこにおいた自作pmをuseするとき、相対パスで呼び出してしまうと実行ディレクトリが違う場合(cronでまわしたりとか)に都合が悪かったりします。そこで、以下のようにBEGINブロック内でスクリプト自身のパスをとってきてからuse libと…

やってしまった:;wq!

viでファイル編集しているときに :;wq!と入力してしまうと1バイトのファイルに上書きされてしまいます。初めてやってしまいました。仕事じゃなくてよかった。

Operaの高速化

etc

ここのレスにこんなのがあって、やってみると確かにかなり高速にレンダリングするようになります。 アドレスバーにopera:configと入力 ↓ クイック検索に「Interpolate Images」と入力 ↓ Interpolate Imagesのチェックボックスを外す ↓ クイック検索に「Updat…

dovecot の Maildir 受信設定ではまった

メールサーバが必要になったので、Postfixでメールサーバ構築を行ったところ、dovecotと連携した受信設定でちょっとつまづきました。/etc/postfix/main.cfでMaildir配信を以下の設定しましたが、受信メールは相変わらず/var/spool/mail/ユーザ名に溜められる…

メール送信のスクリプトメモ

「件名」はFromやTo:と同じヘッダフィールドに入るため、文字コード変換だけではダメで、さらにMIMEエンコードしてやる必要があります。 use Jcode; my $subject = "件名"; my $body = "本文"; $subject = Jcode::jcode($subject)->shiftjis; $subject = Jco…

Ruby on Rails 2.0.2事始め 〜環境構築編

Rails触ってみたいなぁと思いながら、Perlの勉強などしてるうちに何だかんだで手を出せずにいたのですが、ここ数日でいじり始めました。1.2系未経験ですが、このタイミングからなので2.0.X系からデビューする事にしました。まずは環境構築からということで、…

CRLFを駆除する

メンバーが多くなってくるとどうしても「UNIXサーバに改行文字がCRLFになっているファイルをあげる人」とか出てきます。そんなときはtr -d '\r'で駆除してしまいましょう。 #!/bin/sh for target in `ls *.csv` do tmp=${target}.tmp tr -d '\r' < ${target}…

Excel使ってたら方向キーでセル移動できなくなった

Win

という事になって、頼まれ事で、VBAマクロ作ってセルの書式とか入力規則とかいじりまくる作業だったので、もしかしてどっかで影響与えたかなぁと思ったけど、ググッたらキーボードの設定かよ、という。 Scroll Lock 状態では矢印キーがセル移動ではなくスク…

日曜の早朝4時に動き出すmakewhatisプロセス

夜中に突然自鯖がウィーンと唸り出したので、vmstatとか見たら案の定cpuのidleが0になっていました。 topコマンドで見るとmakewhatisという見慣れないプロセスがゴリゴリ動いています。 -bash-3.00$ ps -ef | grep makewhat root 15448 15447 0 04:22 ? 00:0…

コマンドプロンプトのコマンド・エイリアス

Win

普段ping打つとかipconfig見るとかくらいにしか使ってないコマンドプロンプトを多用しなければいけないとき、「ls」や「pwd」でつっかかるのが結構ストレスになります。 doskey ls = dirこんな感じでUNIXでいうaliasを指定できますが、そのプロンプトが終了…

MySQLログインユーザは「ユーザ名@ホスト名」毎に別管理

JDBC経由で他ノード(というかWinPCのEclipseからLinuxサーバへアクセスで)のMySQLに接続するDAOもどきのサンプルを自作したときに、もろもろの設定は正しく設定されているのにも関わらず、以下のようなエラーになってしまうという事象にあたりました。 jav…

映像を撮っている友人の紹介とCatalystを使った初実装の雑記

Etc

このブログは属人的な内容はあまり書かないようにしているのですが、今日は映像を撮っている昔からの友人の活動団体のウェブサイトを紹介します。 Sun Sugar Son(http://sss.selfip.net/)私はこのサイトの管理をやっています。小規模ではありますが、この…

簡素なif文は一行で書く

Sh

自分用のツールなど規約のないものなら、処理文の短い分岐は一行で書いたりします。 #!/bin/sh target=./hoge.txt if [ -f ${target} ]; then rm -f ${target} ;fi 追記:(2/4)コメント欄でもっとcoolな書き方を教えていただきました。ありがとうございます…

文字列与えてループして、中でそれをeval

Sh

#!/bin/sh OLD_DIR=${HOME}/work/old NEW_DIR=${HOME}/work/new for TARGET in OLD NEW do eval echo \$${TARGET}_DIR done職場のシェルスクリプトのソースみて「なるほどなぁ」と思いました。 /home/user/work/old /home/user/work/new

ファイルアップロード時にプログレスバーを表示

Catalyst::Plugin::UploadProgressというCPANモジュールを使ってみました。 http://search.cpan.org/~agrundma/Catalyst-Plugin-UploadProgress-0.04/lib/Catalyst/Plugin/UploadProgress.pm 使い方は非常に簡単でexampleもついているので、ここで余計な説明…

シェルスクリプトでftp転送

シェルスクリプトでftp転送する処理のサンプル。メモ。 #!/bin/sh DATE=`date '+%Y%m%d'` tar cvfz ${DATE}.tar.gz ./hoge ftp -ivn 192.168.11.11 << __END__ user username password bin # バイナリ転送モード passive # パッシブモードoff cd /foo/var pu…

Perlネットワークプログラミングのメリット

[rakuten:book:11121444:detail] 前に標準ファイルハンドルとIO::Fileモジュールのベンチマークなんて事を試したりしましたが、この著書の第1章にあった説明を読んで「なるほど、そういう視点か」と思いました。IO::Fieは単なるラッパーなんだけど、IO::Sock…

シグナルを捕捉してみる

id:naoyaさんが紹介されていたこの本を読み始めました。Perlというより、ネットワークプログラミングの基礎がきっちり書いてあるので、ネットワークプログラミングの基礎が理解できていない自分にとっては、とても勉強になる書籍だと思います。 [rakuten:boo…

ハッシュの要素削除はdeleteで

ハッシュの要素削除はundefじゃなくてdeleteですね。undefだと値を未定義値にするだけです。 #!/usr/bin/perl use strict; use warnings; my %hash = ( hoge => "hogehoge", foo => "foofoo", var => "varvar", ); print "--- undef ---\n"; undef $hash{hog…

標準ファイルハンドルとIO::Fileモジュールのベンチマーク

IO::Fileと普通にファイルハンドル使うのとどっちが速いのかなぁと思い、ベンチマークスクリプトを書いて試してみました。Perlのバージョンは5.8.8です。 #!/usr/bin/perl use strict; use warnings; use IO::File; use Benchmark; my $file = "hoge.txt"; t…

UNIXコマンド呼び出しと組み込み関数のベンチマーク

Perlのベンチマークスクリプトを書いた事がなかったので、試しに書いてみました。シェルのlsコマンドを呼ぶ場合と、opendirしてループでreaddirする場合(=Perl組み込みのサブルーチンのみを使用)との性能比較です。 #!/usr/bin/perl use strict; use warn…

0埋め数字文字列だって数値変換される

当たり前すぎる話で恐縮ですが、「0埋め数字の文字列だって数値に変換されるんだなぁ」と何か妙に感心したりして。2桁の0埋め数字(例では"01")から三文字のアルファベットに変換するみたいな事をやって気付きました。 my $datetime = "2008-01-08 23:00:00…

ifブロックとif修飾子でのスコープの違い

今更ながら気づいたのでメモ。まず、ブレースで処理文を囲んだ普通のif分岐。 my $flag = 1; if ( $flag ) { my $lexical_str = "hoge"; } print $lexical_str."\n";上記のコードはuse strictで以下のようなエラーになります。 Global symbol "$lexical_str"…

EM-ONEモデムのノートPCでスピードテストしてみた(広島県広島市内)

広島県広島市内のマンションにて測定してみた結果です。公称は3.6Mbpsですが、体感としてまずまず出ている感じがします。ファイル読み込みとかSSHログインとかやろうとするとさすがにちょっと物足りない感じですが、テキストベースのウェブ閲覧程度ならこれ…

cronで指定したスクリプトの実行ディレクトリはオーナーのホームディレクトリ

なんですね。たいした話じゃないけどメモ。