2009-04-01から1ヶ月間の記事一覧

Perlの出力バッファリング

Perlでprint関数を実行してもすぐに画面に表示されない・・・ 仕様です。print、即出力を想定してると痛い目みます。 Perlでは出力されるべき文字列はまずはメモリにバッファリングされ、決められた条件を満たした時にまとめて出力されます。 その基本的な考…

Rubyの[]=演算子オーバーロード

Stringの部分文字列を返す[,]演算子は式の左辺におけます。 s = "abcde" s[1,3] = "XXX" puts s # => "aXXXe" これってなんか違和感ありますよね。s[1,3]は何を返してるんだろうと。 こういった書式、s[1,3]が返すオブジェクトに"XXX"を代入する、という感覚…

rsyncでバックアップ

Linux、Mac間で相互に必要なファイルのバックアップを取ることにしました。 バックアップツールはrsyncを使います。rsyncは変更のあったファイルだけコピーする、ネットワーク越しのバックアップに適したツールでLinux(CentOS 5.2)、Mac(OS X 10.5.6)とも、…

Shibuya Perl Mongersテクニカルトーク#11

初参加してきました!!もちろん聞くだけです!! 諸事情あってズボンのケツが思いっきり破れてましたがめげずに行ってきました。 いやーレベルが高い。というかレイヤが低いww というのも今回のテーマは"no Perl; use x86;"。 1時間遅刻で入った最初の2つ…

codeなにがしにアクセスできない

http://code.nanigac.com/home このところ全くアクセスできないです。 どういう状況なのかもよくわからないのですが自分の調査力がないだけでしょうか。 後でこっちに、と思いつつの下書き的な書き込みもいろいろやってたのでちょっとつらいですね。 しかし…

C#でMySQLからデータ読み込み

Connector/Netを使ってMySQLに接続、指定テーブルをダンプするプログラムを書いてみます。 こういうテーブルを +----+--------+-------+---------------------+ | id | name | power | date | +----+--------+-------+---------------------+ | 1 | mikeda |…

Perlで破壊的だったり破壊的でなかったりする関数を書く

引数を上書きしてしまう関数を破壊的関数と言います。 Perlだとchompが代表的ですね。 $str = "abc\n"; chomp $str; ### $strの中身が書き換わる(改行が削除される) print $str; ucやsortは対照的に、引数には変更を加えず変更後の値を返り値で返します。 …

Rubyで電話番号データを整形

書いてみました。 http://code.nanigac.com/source/view/733 不正値渡されるとエラー終了してしまいますが、とりあえずデバッグより睡眠を優先。 def tel_format(str) ptns = [ /^(1\d\d)$/, /^(0\d\d0)(\d{3})(\d+)$/, /^(0\d0)(\d+)(\d{4})$/, /^(\d{4})(\…

最近読んだ本

増補改訂版Java言語で学ぶデザインパターン入門作者: 結城浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/06/19メディア: 大型本購入: 51人 クリック: 762回この商品を含むブログ (399件) を見る23個のデザインパターンが紹介されていて、目か…

C#でExcelファイルの読み込み

Excelからデータを読み込むコマンドラインプログラムを書いてみた。こういうExcelファイルを読み込んで、 時間数値 2009/2/281 2009/3/12 2009/3/23 2009/3/34 そのまま出力するだけ。 >> DumpExcel.exe sample.xls Sheet1 2 5 時間 数値 2009/2/28 1 2009/3…

テキストファイルを見つける

findのオプションにはなさそうだけど、Perlのファイルテスト演算子には-Tがあります。 $ find . | perl -nle 'print if -f && -T' ./access_counter.pl ./count.dat ./db_login_test.php ./index.html ... 他にどんなファイルテスト演算子があるかはperldoc…

IPアドレス、MACアドレスをインクリメント

IPアドレス、MACアドレスをインクリメントしたい、というへんな依頼を受けたのでスクリプト書いてみた。 どっちも基本方針はこう。 いったん数値に変換 インクリメント 文字列に戻す そしてモジュールなにも使わない。 IPアドレス 「ちゃんとしたIPアドレス…