2007-11-01から1ヶ月間の記事一覧

パイプでつないだwhile文内のexit 1

Sh

UNIXコマンドとwhile文をパイプでつなぐケースでエラー時にリターンコードを返して異常終了させようとするときの注意点です。 #!/bin/sh echo "debug:10" cat hoge.txt | while read LINE do echo "debug:20" exit 1 echo "debug:30" done echo "debug:40"期…

Fon日本サービス開始から一年

Fon

ということで(まだそんなもんだっけ?という気がする)、以下のようなメールが届きました。引用するなとか書いてないのでプロジェクトを応援する意味で全文引用したいと思います。 THE WORLD'S LARGEST WIFI COMMUNITY www.fon.com フォネロの皆さん1年間あ…

RootクラスでロードしたPerlモジュール

コントローラクラスのRootクラスでCatalystに含まれないPerlモジュールをuseした場合。 package MyApp::Controller::Root; ・・・ use Data::Dumper;MyApp::Controller::Editのように同じ階層であれば自動でロードされます。 package MyApp::Controller::Edi…

くりかえし実行をユーザに確認する

Sh

ユーザにコマンドライン入力させて次のアクションを決める、よくある感じのやつです。 #!/bin/sh SQL_FILE=select.sql echo "select status, count(*) from requests group by status;" >> ${SQL_FILE} while true do sqlplus usr/pwd@pvdb < ${SQL_FILE} # …

外部バッテリにはポケパワー

パナソニック USBモバイル電源 ポケパワー au対応のコネクタコード付属 BQ-600K/A出版社/メーカー: パナソニック発売日: 2007/07/01メディア: エレクトロニクス クリック: 11回この商品を含むブログ (14件) を見る最近、よくポケパワーを紹介しているブログ…

Catalystのログイン認証サンプル

Catalystのログイン認証処理を書いてみました。ドキュメントはここを見ればOKです。http://search.cpan.org/~mramberg/Catalyst-Runtime-5.7000/lib/Catalyst/Manual/Tutorial/Authentication.podOKなんですが、ここにあるサンプルではログインしていないゲ…

シェルスクリプトの配列全体を表すとき

Sh

for tmp in ${array[@]} do echo ${tmp} donefor tmp in ${array[*]} do echo ${tmp} done自分の中であいまいになっていたのですが、同値なのですね。

フレームワークの対象レベル

Catalystを使って友人の活動用のウェブサイトを作っています。だんだんControllerのクラス数やDBのテーブル、カラム数が増えてきて、ようやくCatalystの便利さを実感するようになりました。Conrollerは、オーバーライドしない限りRoot.pmのautoやdefault、en…

Schemaクラス自動生成スクリプト

テーブル追加したりカラム変更したりするとSchemaクラスを再生成する必要がありますが、ヘルパースクリプトの引数ってしばらく打っていないとすぐ忘れてしまいますね。特にテーブル構成が固まっていない段階では何度も再生成することになるので、シェルスク…

英単語タイピングテスト

etc

http://e0166.blog89.fc2.com/blog-entry-344.htmlこの記事で見つけたのでやってみました。http://speedtest.10-fast-fingers.com/ うーん、まだまだ。。

シェルスクリプトのfor 〜 in 文

sh

しばらく書いていないとよく間違えてしまうのがfor 〜 in 文の記法です。まず、正しい記述はこのようになります。 #!/bin/sh array=("hoge" "foo" "var") for tmp in @{array[*]} do echo ${tmp} done 実行結果 hoge foo var しかし、以下のような書き方をし…

玄箱でCatalyst稼動

すみません。嘘書いてました。http://d.hatena.ne.jp/srkzhr/20071106/1194365205単純にググって見つけてきたhttpd.confの記述が誤っていてメモリリーク起こしてただけだったようです。httpd.confの正しい設定例はこちらを参照。http://search.cpan.org/~agr…

一時領域不足のエラー

デバッグ環境でOracle DBのインデクス設定漏れがあったのでcreate index文を発行したところ、以下のエラー。 ORA-01652: unable to extend temp segment by 128 in tablespace tbsXXXXとりあえずググってみたものの根本原因が今ひとつわからず、「DBA権限対…

CD-Rドライブアクセスで「ファンクションが間違っています。」のエラーメッセージ

Windows PCで突如CD-Rの書き込みができなくなってしまいました。この事象は初めて。エラーメッセージは「ファンクションが間違っています。」というもので、ググッたら「まずCD書き込み機能が無効に設定されていないかを確認」というFAQのページがあったので…

コードリファレンスの基本

コードリファレンス(orコードレフ)の基本的な使い方を学びました。とりあえずハッシュに格納して呼び出す感じです。 #!/usr/bin/perl use strict; use warnings; my %printer = ( with_nl => \&print_with_nl, without_nl => \&print_without_nl, all_capi…

コマンドライン引数で相対パス指定

Perlスクリプトにコマンドライン引数でディレクトリ指定を渡す場合、シェルスクリプトと違って自動で相対パスを判断してくれません。ググッたけど見つけられなかったので、とりあえず自前で暫定対処。 my $arg = $ARGV[0]; chomp (my $pwd = `pwd`); $arg = …

シェルスクリプトでハッシュみたいなこと・・はできない

sh

追記=トラックバックをいただいていたので改めてエントリを見てみたら、何となくとても違和感があったので、検証してみたらやっぱりおかしい事を書いていました。ここで説明しているのはあくまで「evalでのシングルクォート展開」でしかなくて、全く「ハッ…

Seasar Conference

はぶ(id:habuakihiro)さんのお話にガツンとやられました。 OSSならソースコード追って当たり前。 ベンダのサポートなきゃダメとか思ってるならSIなんかやめちまえ。 ずっとコード書いていきたいなら「スーツ」とか言ってないで営業だってやって当たり前。 …

何かを身につけるという事

僕が今乗ってる自転車は安物で年季が入ったボロ車なのでとても不安定です。 今日は街に出かけて帰りは雨が降っていたので荷物を持ちつつ、片手で傘をさしつつ乗ってるとちょっとだけバランスとるのが難しかったりします。 この現代においても、アフリカの奥…

シェルスクリプトでsubstrみたいなこと

sh

シェルスクリプトを自発的に書くことはあまりありませんが、既存のシェルスクリプトをメンテする事はよくあります。普段あまり書かないだけに「あ・・あれシェルだとどうやるんだったっけ(また忘れた・・)」みたいなことになりがちです。そのうちのひとつ…

UNIXコマンドの結果には必ず改行文字がくっついている

例えば、このようにして読み込むファイル名を使って出力ファイル名をつくるケースがあるとします。 my @files = `ls *.txt`; my ($r, $w) = (); for my $r_file (@files) { my $w_file = "ex_$r_file"; open $r, $r_file; open $w, $w_file; print $w "#".$_…

grepとmapの使い分け

「Effective Perl」でgrepとmapの使い分けについて学んだので簡単な纏めです。 #!/usr/bin/perl use strict; use warnings; chomp (my @list = `ls *.txt`); # 元の要素から抽出したものだけのリスト my @grepped = grep { /(.*)\.txt$/ } @list; print join…

ファイルテスト演算子を使って何かする

これまた非常に基礎的な話ですが「Effective Perl」にあった例文です。 for my $file (glob '*') { print "$file\n" if -T $file; }カレントディレクトリにある全てのテキストファイル名を標準出力に吐いてるだけですが、こういう例文だと実際にどういう場面…

玄箱debianでCatalyst稼動はさすがにムリ・・・なはずがない

既存の自鯖がFedoraで環境的にもどうにもならない感じだったので、玄箱買ってきてdebian sarge化してそこでCatalystを動かして使い方を覚えつつ、ちょっとしたウェブアプリをつくっていたのですが、少しアプリのボリュームが大きくなってきたところでmod_per…

ファイルを使って何かする

わざわざブログに書く事でもないけど、さっと書こうとしてなぜか一瞬詰まった事を反省・・・ #!/usr/bin/perl use strict; use warnings; my $fh; # filehandle chdir "/hoge/foo/var"; my @file = `ls`; for my $file ( @file ) { open $fh, "< $file"; pri…

入れているソフトウェア一覧

いろいろ入れたりしてみましたが、そろそろ現時点で残しているものを纏めておきます。まずcabで入れたものは以下。入れたファイル名と簡単な説明です。 DevState v1.5 (DevState.WM5.CAB) 定番のTodayカスタマイズです。 EasyDial Ver1.00 (EasyDial.arm.CAB…