Touch Diamond向けのページを作るには、、、
2009/01/03 23:01 posted by kunkichi
Touch Diamond の Opera のブックマークが使いにくいので、よく使うサイト一覧のHTMLを作ってサーバにアップしたのだけど、どうやっても横幅が小さくなる。折り返すほど長い文字列はないのだけどなぁ、、、
Touch Diamond の Opera のブックマークが使いにくいので、よく使うサイト一覧のHTMLを作ってサーバにアップしたのだけど、どうやっても横幅が小さくなる。折り返すほど長い文字列はないのだけどなぁ、、、
あけましておめでとうございます。気がついたら2008年も終わってしまい、いろいろな目標も達成できず、とほほ、、、今年はもっとがんばります。
で話は変わるんですが、
僕の好きなドラマに「フレンズ」という海外ドラマがあって、シーズン5の1話に「今年は何か一つ改善する」とみんなに宣言するエピソードがあったのを思い出しました。まあ日本語的に言うと「新年の誓い」みたいな感じで。
ということで、僕も宣言してみたいと思います。2009年の10の誓い。
去年の10月頃から目標を決めて勉強していたのですが、年末に忙しくなったのにかまけてサボってしまう日も多々あり、、、やっぱりきちんと短くても毎日続けることが大事。実際に勉強したことが身に付いたのを実感できた瞬間もあったしね。
去年は後半から結構読んだつもりではあるのだけど、もっとペースを上げてたくさん読みたい。特にコンピュータ以外の分野を増やしたい。
勉強とか読書とか、なんでもそうなのだけど、やっぱりアウトプットすることを意識しないとダメ。ちゃんとブログを更新すること。
この辺は去年と変わらないし、これからも変わらない、基本的なことなのでしっかりやっていくこと。
ここからはちょっと具体的に。
コンピュータ以外の分野の本を読みたい、というのを具体的にいうとこれ。前から統計学はいろいろな意味で大事な気がしていて、きちんと勉強したいと思っていたので。
運用といえど、多少のアプリ開発力はいろんな意味で必須。アプリケーションを少なくとも一つは作って公開すること。
アプリケーションを作るにあたっては、やっぱりフレームワークを使って、迅速に開発することを覚えたい。言語・フレームワークの取捨はまだ決めてないけど、PerlかPHPで。
このブログとかwikiはレンタルサーバで、日々のスケジュールはGoogleカレンダーで、ToDoはCheck*Padで、といろいろ分散してやってるのだけど、これを一本化、、とは言わないまでもw、もっと便利に使える・カスタマイズできるようにするため、徐々に自宅サーバへ移行していきたい。せっかくTouch Diamondもゲットしたんだし、Touch Diamond向けに使いやすいようにもしていければ。
仕事以外での技術者としての横のつながりをもっと増やしていきたい。ネット上はもちろんだけど、実際に顔を見れる勉強会に積極的に参加していきたい。
健康診断でメタボ注意報が出ているので、警報が出る前になんとかしないと(爆)。間食をしないようにします。
あれ?9個しかない。まあいいか(笑)
今年もよろしくお願い致します。
どっひゃー!もう12月も半ばまで。サボりにサボりまくったな〜、、、とはいうものの一応本はどんどん読み進めてまして、いろいろと活用もしております、はい、、、さて、気を取り直してアウトプット再開です。
前回(ってかなり前だな、、、orz)sedのところまで進んでたので、今回からはAWKの機能をperlで実現していきます。
AWKよりもPerlが優れているところ
kunkichi:*:100:100:Test User1:/bin/bash:みたいな/etc/passwdのエントリの1カラム目だけが取りたい場合。普通に書くと、$ perl -wnl -e 's/^(.+):/$1/g and print $1;' /etc/passwd
kunkichi:*:100:100:Test User1:/bin/bashとなってうまく行かないパターンにハマりがち。もちろん以下のように正規表現で”:”を考慮するように見直せばオーケーだけど、、$ perl -wnl -e 's/^([^:]+):.*/$1/g and print $1;'
kunkichiPerlだと、こんなことしなくても、ケチなマッチング(+の後の?がそれ)を使って「マッチする最短の単位」で拾える。$ perl -wnl -e 's/^(.+?):/$1/g and print $1;' /etc/passwd
kunkichiうーん、awk でできないよ、っていうよい例が出ませんでした、笑This is a sample sentence and
using Perl, you can match new
line with regular expression.“new line”をマッチさせてみる。$ perl -00 -wnl -e '/new\nline/ and print;' sample.txt
This is a sample sentence and
using Perl, you can match new
line with regular expression.ちなみに\sでもOK。$ perl -00 -wnl -e '/new\sline/ and print;' sample.txt特殊変数いろいろ
# cat beatles.txt
John Lennon
Ringo Starr
Paul McCartney
George Harrisonawkの場合、$ awk '{ print NR ":" $0 "(Nickname:" $1 ")" }' beatles.txt
1:John Lennon(Nickname:John)
2:Ringo Starr(Nickname:Ringo)
3:Paul McCartney(Nickname:Paul)
4:George Harrison(Nickname:George)同じことをPerlでやると、$ perl -wnla -e 'print "$.:$_(Nickname:$F[0])"' beatles.txt
1:John Lennon(Nickname:John)
2:Ringo Starr(Nickname:Ringo)
3:Paul McCartney(Nickname:Paul)
4:George Harrison(Nickname:George)$ cat 1_10.txt
1 2 3 4 5 6 7 8 9 10セパレータを入力・出力で切り替えてみます。AWKの場合、awk 'BEGIN{RS=" ";ORS=",";}{ print $0 }' sample.txt
1,2,3,4,5,6,7,8,9,10Perlの場合、perl -wnl -e 'BEGIN{$/=" ";$\=","}print;' sample.txt
1,2,3,4,5,6,7,8,9,10awk 'BEGIN{FS=" ";OFS="|";}{ print $1, $2;}' beatles.txt John|Lennon
Ringo|Starr
Paul|McCartney
George|HarrisonPerlで。perl -wnlaF"\s" -e 'BEGIN{$,="\|";}print $F[0],$F[1];' beatles.txt
John|Lennon
Ringo|Starr
Paul|McCartney
George|HarrisonPerlの場合は入力フィールドセパレータは変数がないので-Fを使う点に注意。$ awk '{ print NF }' beatles.txt
2
2
2
2Perlの場合、$ perl -wnla -e '$num=@F;print $num;' beatles.txt
2
2
2
2$ cat argv.awk
BEGIN{
print "ARGV=\"" ARGV[0],ARGV[1],ARGV[2] "\"";
print ARGC;
}
$ awk -f argv.awk arg1 arg2
ARGV="awk arg1 arg2"
3AWKの場合は、自分自身も引数に含まれる。Perlの場合。$cat argv.pl
!/usr/bin/perl -wl
print "ARGV=\"$ARGV[0] $ARGV[1]\"";
my $num = @ARGV;
print "$num";
$ perl argv.pl arg1 arg2
ARGV="arg1 arg2"
2Perlの場合は自分自身は引数に含まれない($0を使う)変数展開
$ awk 'BEGIN{GUITAR="John";}{ if( $1 ~ "^" GUITAR ) print $0; }' beatles.txt
John Lennon
$ perl -wnl -e 'BEGIN{$guitar="John";}/^$guitar/ and print;' beatles.txt
John Lennonその他
AWKのほうが優れている点
とりあえずAWKとの違いはこんな感じ。まあgrepやsedに比べるとそれほど大きな差はないけど、AWKでできることは大概できるって感じかな。
次回も引き続き、PerlでAWKの処理をやります。AWKの神髄とも言えるフィールド処理の話です。では。
昨日は祝日で外に遊びにいってたのですが、一応ノルマは守りました。ということで月曜日の『Perl』の勉強成果をアップ。引き続き、sedをPerlで置き換えてみます。
From: %%FROM%%<%%ADDR%%>
To: %%TO%%
Subject: [%%LEVEL%%] %%SUBJECT%%
%%CONTENTS%%
------------------------------
This mail is automatically sent.これを置き換えるスクリプトをmake_mail.plとする。内容は以下#!/usr/bin/perl -s -wpl
s/ %%FROM%% /$from/xg;
s/ %%ADDR%% /$addr/xg;
s/ %%TO%% /$to/xg;
s/ %%LEVEL%% /$level/xg;
s/ %%SUBJECT%% /$subject/xg;
s/ %%CONTENTS%% /$contents/xg;で実行するコマンドは以下。$ ./make_mail.pl -from='kunkichi' -addr='kunkichi@example.com' -to='admin@example.com' -level='CRITICAL' -subject='SERVER DOWN!!!' -contents='Server is down at 10:25. Please Check!!!' mail.tpl出力結果:From: kunkichi <kunkichi@example.com>
To: admin@example.com
Subject: [CRITICAL] SERVER DOWN!!!
Server is down at 10:25. Please Check!!!
------------------------------
This mail is automatically sent.-sで引数を変数として取る。正規表現でxを使って正規表現中にスペースを含めるので、読みやすい。ただし、変換前文字だけ。$ perl -i.BAK -wpl -e 's/aaa/bbb/g;' sample.txtオリジナルファイルは、sample.txt.BAKとしてリネームされて、sample.txtに変換後の結果が上書きされる#!/usr/bin/perl -s -i.BAK -wpl
s/$re/$after/g;-sでオプションを取ってオリジナルファイルを変換、元ファイルは.BAKをつけてリネーム。s/
^ # 行頭が
aaa # aaaで始まり
.* # 任意の文字が0回以上続いて
bbb # bbbで
$ # 行末が終わる
/changed/gx; # ところを"changed"に置き換える。$ perl -i.$SECONDS -wpl -e 's/aaa/bbb/g;' sample.txt#!/usr/bin/perl -i -wpl
BEGIN{ $^I=$$; }
s/aaa/bbb/g;ただしこれはコマンドラインからの実行では、$$はシェルで展開されてシェルのPIDが入ってくるので、同じシェルで2回実行すると全く意味が無くなる。あくまでもスクリプト内で使う。sedのところは残り少しです。

おお、本領発揮。
だいぶ Windows Mobile にも慣れてきたので、さらにアプリを追加。メモ。
あとこれをPDA工房で買いました。
これで外でも充電OKです。
先月1ヶ月の時間割達成率を見直した結果、またちょっと変更しました。

ということで、あとは、アウトプットをなんとかせねばだなぁ、、、今も追いついてないし。
昨日は肩こりがひどくて頭まで痛かったので、今日はカスタマイズの続きを。とりあえずいろいろ試してみました。
ということで念願のルーター化に成功したので早速Touch Diamond経由で書いてます。いやぁ、Wilcomに比べるとやっぱり快適です。
で恒例のスピードテスト。自宅から。

まあこんなもんかなぁ。うちの家はなぜか携帯の電波がとても入りにくくて、Softbankだとピンポイントの場所以外では全滅、Wilcomもアンテナ1本立つか立たないか、って感じだったので、まあこれだけ出れば御の字かな。エリアによって差があるみたいなので、今度外で試してみたいと思います。
今日はちょっと勉強をお休みしてガジェットいじりを、、、
たまにはカフェとか外で勉強したいということで使ってたウィルコム(ちなみにPC接続のときはDD、普段は9を使ってました)ですが、やっぱりPC接続だと速度がね、、、
ということで、前々から気になっていたイーモバ、やっと契約してきました。機種はTouch Diamond(S21HT)。これで1台でPCも普段もイケる上に速度もアップ。やっと快適なカフェ勉強ができそうです。

ま、いろんなところで既に取り上げられてますが、とりあえずのインプレッション。
ま、出だしとしては思ったより悪くない印象です。カスタマイズする楽しみがあります。
とりあえずこの後やらないといけないことを備忘録的に。
ちょくちょく暇を見つけてカスタマイズしていきます。
本屋でこんなの見つけた。
表紙がw

どストレートだなぁ、サッカー好きなSEとかプログラマは1回はこれを想像したはずではあるw
2010/07/29/ 17:56
2010/07/10/ 01:48
2009/10/21/ 14:08
2009/10/04/ 12:39
2009/09/23/ 13:31