「SoulDrops ファイル置き場」を作ろうと…
EDEN's Shiftの後継ゲーム(?)のSoulDropsが始まりました。こちらにも当然登録し、キャラも出来上がりました。
でまぁゲームに関するお話は小部屋のベランダに譲るとして、EDEN's Shift ファイル置き場のようにSoulDrops ファイル置き場も作ろうか、と色々やっているのですが。
| 固定リンク | コメント (0) | トラックバック (0)
EDEN's Shiftの後継ゲーム(?)のSoulDropsが始まりました。こちらにも当然登録し、キャラも出来上がりました。
でまぁゲームに関するお話は小部屋のベランダに譲るとして、EDEN's Shift ファイル置き場のようにSoulDrops ファイル置き場も作ろうか、と色々やっているのですが。
| 固定リンク | コメント (0) | トラックバック (0)
Unicode::Japaneseを新しいPCにインストールする際にあほみたいにはまったのでメモ。参考にしたのはT.MURACHI氏のVisual C++ 2003/2005 で perl モジュールを nmake できるようにするためのパッチ: 国民宿舎はらぺこ 大浴場という記事と、id:prinori氏のyz garage ::: Blog ::: - 2006-03-03 昨日の続き。という記事です。
要点をまとめると、
ということです。
なお同じくPOEを入れる際にmake testが通らずに(force install POEすれば何とかなったけど)なんでだろー、と嵌ったんですが、これはYAMLモジュールが入ってないのが原因でした。
| 固定リンク | コメント (0) | トラックバック (0)
サーバーを新しい物に移行してはや1ヶ月強。メモリは3倍になるわCPUはPen3-Sデュアルになるわ(電気代がえらいことになったので1個は外しましたが)で性能は文句なしなのですが、1つ不満点が。
といってもハード的なものでも、Apacheなどのサーバーソフトの問題でもなく、Arvinedの小部屋 ベランダで使っているNucleusの問題です。
新しいサーバーに移行する際に手動でデータを移した関係でコメントとトラックバックが全部消えまして、まぁそれは仕方ないなと諦めていたんですが、なぜかトラックバックが送受信できなくなってしまいました。
| 固定リンク | コメント (2) | トラックバック (0)
を読んで、とりあえず私も書いてみました。書きあがるまで5分強。
for(1..100)
{
if($_%3==0&&$_%5==0)
{
print "FizzBuzz\n";
}
elsif($_%3==0)
{
print "Fizz\n";
}
elsif($_%5==0)
{
print "Buzz\n";
}
else
{
print "$_\n";
}
}
で書いた後にはてなブックマークの解答例を見るとなんとも私の書き方は冗長で…orz
| 固定リンク | コメント (0) | トラックバック (0)
毎日いろんな処理のためにPerlで書いたスクリプトを走らせているわけですが(データをバックアップしたり、ログを取ってきたり)、何か問題があったときはきちんと報告するような仕組みを作りたい、という事で色々試行錯誤していたわけですが
「てーか、Windowsならイベントログに書き込めばいいじゃん」
という事に気付きまして、Win32::EventLogを使ってイベントログに書き込むことにしました。
が、これが予想以上に曲者でして…(汗
| 固定リンク | コメント (0) | トラックバック (0)
naoyaさんのエントリー「HTML::TreeBuilder + CSSセレクタがいい感じな件」を読んで「ほー、HTML::Parser使うよりスマートにスクレイピングできそうじゃのぅ」などと漠然と思ってたのですが、一念発起して実際に使ってみる事にしました。
| 固定リンク | コメント (0) | トラックバック (0)
using API;のエントリーより。ほー…と最初は特に注目してなかったんですが、これやりようによっては色々使えるかもしれません。
| 固定リンク | コメント (0) | トラックバック (0)
Eclipseでなんだかよく分からんが馬鹿みたいに重い! という時はここを参考にIBM製JREを使ってみる。
いや、EPIC導入してNGIBのスクリプト読んでみたら恐ろしく重くなったもんで…w
| 固定リンク | コメント (0) | トラックバック (0)
放置していたIRC用BOT「NGIB」用に色々探した時のメモ。NGIBの製作はそれでも着ちゃ…まぁまぁ進んでますw
| 固定リンク | コメント (0) | トラックバック (0)
まぁあれですよ、Perlでテキストデータ扱う時は改行コードは統一しとけ、って話ですよ…。
まさかCRとCRLFが混じったせいで3時間悩むとは。
| 固定リンク | コメント (0) | トラックバック (0)
名づけて「コマンドラインからお手軽検索 tinysearch」 サンプルスクリプトをパクって参考に書いてみたわけですが、出来上がってからモジュールを作ってる人を発見するという…。
| 固定リンク | コメント (0) | トラックバック (0)
Yahoo!デベロッパーネットワーク
Google APIでは日本語周りで躓いた口なので躊躇してたのですが、Web検索とかを見る限り結構簡単にいけそうですね…。いっちょ使ってみますか。
| 固定リンク | コメント (0) | トラックバック (0)
Perlの適当モジュール解説シリーズ、久々の第2弾はPerlで日時を加工する時にはきっと役に立つTime::Formatモジュールです。
| 固定リンク | コメント (0) | トラックバック (1)
前の記事の解説はいかにも投げやりだったなぁ、ということで、自分用リファレンスも兼ねて、改めて解説を。まずは1文字オプションの為のモジュール、Getopt::Stdから。
| 固定リンク | コメント (0) | トラックバック (0)
どうやら私もJavaに手をつけざるを得なくなりました(何
しかしまぁ。C/C++にPerlにFORTRANにBASICにPHPと何でも手をつけた人が、JAVAは未着手というのも考えてみれば不思議ではありましたな…。
| 固定リンク | コメント (0) | トラックバック (0)
Routesに今更ながらにはまっているからだとは口が裂けても…(ォ いや、久々のHit。新作じゃないけどもさ。
というわけで今回は資料のメモ。
http://www.alt-r.com/lib/rfc.html
IRC関連のRFCの内、2000年にリリースされた新しいほうの4つのドキュメントの日本語訳。
技術的IRCドキュメント
あまり日本語での解説を見かけないIRCdに関する解説など。
| 固定リンク | コメント (0) | トラックバック (0)
今日は少し進展あり。ちなみにテスト時はTonIrcdを使っています。Windowsで簡単に動くIRCdってこれしかないんですもの…
| 固定リンク | コメント (0) | トラックバック (0)
元々はNet::IRC使うつもりだったんだけどさ、使い方がわかんないのでフルスクラッチに変更(ォ
| 固定リンク | コメント (0) | トラックバック (0)
ActivePerl 5.6.1には標準で入っているGetopt-Stdモジュール。これをつかってみます。
use Getopt::Std;
getopt('P');
print $opt_P;
で、コマンドラインからperl test.pl -P hogeと打つと
hoge
と表示されます。もうちょい詳しい説明はこことかを見てください(ォ
追記:
思ったよりGetopt::Stdの検索結果からここへ飛んできてしまう、というパターンが多いみたいなので(汗)、後で書いた真面目な解説へのリンクもおいておきます。
| 固定リンク | コメント (0) | トラックバック (0)
本来はDate-Japanese-Eraを先にどうにかせねば、と思ったのですが、造らねばならなくなったスクリプト用の忘備録もかねて。
まずインストールは例によってCPANから。この前VC6を入れたのでmakeもばっちりです。まmakeしなくてもいけそうな気が相変わらずするわけですが…。
HTML-LinkExtorはHTML-Parserのサブクラスなので、これをgetするためにはHTML-Parserをインストールします。ここからアーカイブを取ってきて適当なディレクトリに解凍します。コマンドプロンプトでそのディレクトリに移ったら
perl makefile.pl
nmake
nmake install
としてやればOK。VCなんて持ってないYO! ってひとはBorland C++ Compiler 5.5付属のmakeでもいいはずなので、そちらをどうぞ。この場合nmakeじゃなくmakeですね。
ではモジュールの説明。
HTML-LinkExtorモジュールつぅのはHTMLのリンクを取り出すためのHTMLパーサです。まぁすべこべ言わずサンプルコードをどうぞ。
use strict;
use HTML::LinkExtor;
sub cb {
my($tag, %links) = @_;
my @test=%links;
print "$tag @test \n";
}
my $p = HTML::LinkExtor->new(\&cb);
$p->parse_file("./test.htm");
まずHTML::LinkExtor->new();でオブジェクトを作成します。引数はリンクが見つかった時に呼ばれるサブルーチンへのリファレンス(サブルーチン名に\&をつければOK)です。さらに第2引数には相対リンクを絶対化する際のベースのURIを入れることができますが、これをやるためにはURIモジュールがいるとかいらないとか。とりあえず今回は使いません。
$p->parse_file($file);で解析するHTMLファイルを指定します。また$p->parse($string);でHTML文字列を直接解析する事も可能です。ここらへんはHTML-Parserのドキュメントを読んでもらうほうが速そうです。
で、このサブルーチンは何をしているのかと言うと、発見されたリンクに関する情報の入った無名配列(長ったらしいな…)をごにょごにょ整形して表示しています。たとえばこのページをローカルに保存してこれで解析すると、
a href http://www.gnu.org/software/wget/wget.html
a href ftp://sunsite.dk/projects/wget/windows/
a href ftp://sunsite.dk/projects/wget/windows/wget20031217b.zip
a href ftp://sunsite.dk/projects/wget/windows/ssllibs097c.zip
a href http://weather.is.kochi-u.ac.jp/archive.html#wget_usage
a href http://weather.is.kochi-u.ac.jp/RRD/
とこのように表示されます。あとはこれをもとに煮るなり焼くなり…。
2004/06/06 00:30追記:
コンストラクタを作成ってなんだよ俺…と言うわけで一部訂正。
| 固定リンク | コメント (0) | トラックバック (0)
('A`)ヴァー 症状は以下のとおり。
07:46追記
と思ったらかなり長い時間放置しておくといつのまにか次の段階に進んでた…。どうもVC++のインストール時には固まっても放置推奨らしい。そいや前にもこんな事あったような…(汗
| 固定リンク | コメント (0) | トラックバック (0)
その1というのはインスコだけで躓きそうなわけで…(汗
まずお約束でperl -vの内容は
This is perl, v5.8.3 built for MSWin32-x86-multi-thread
(with 8 registered patches, see perl -V for more detail)
| 固定リンク | コメント (0) | トラックバック (0)
ZIPファイルフォーマットの解説を探しているうちに、こんなサイトを発見。
The Programmer's File Format Collection
zipやjpgなんかのメジャーどころから、かなりマイナーなものまで乗っている様子。ま英語なのはしゃーないな。
| 固定リンク | コメント (0) | トラックバック (0)
とりあえず仕事の合間につらつらと仕様とか考えてみる。
1.ファイルはredberry.php(掲示板本体)、rbwrite.php(書き込み用)の2つからなる。また別に削除用スクリプトも用意。
2.ログは普通のテキストファイル。1レス1行で収める。フィールド区切りは「<>」で、通し番号、タイトル、名前、メールアドレス、ホームページアドレス、本文、書き込み時のパスワードのmd5値という順番で格納される。各フィールドは原則的に空でもOK(通し番号除く)
3.ログファイルは新しいレスが下になるようにする。またこれにより読み出しの負担が大きくなることが予測されるので、最新のレスについてはHTMLファイルを生成する(表示するレス数は任意)。
とりあえずこんな感じで。
| 固定リンク | コメント (0) | トラックバック (0)
と大々的にタイトルをつけてみましたが、要は掲示板を作ろう、という計画です。
目標としては
| 固定リンク | コメント (0) | トラックバック (0)
順調に行くと4月からはプロのプログラマーになるかもしれないので、そろそろメインのC/C++に復帰しないとやばいかも。一応それが売りで入ることになったわけだし。
| 固定リンク | コメント (1) | トラックバック (0)
たとえば2ch形式の掲示板では
http://game3.2ch.net/test/read.cgi/mmominor/1079523323/
即席で作ったサンプルはこちら
http://cru-jp.mine.nu/php/path.php としてアクセスしたときと
http://cru-jp.mine.nu/php/path.php/hogehoge/1.htm としてアクセスしたときの違いがお分かりいただけるだろうか?
ちなみに、ネタ元はここ。これってcgi系ではFAQな質問なんだろうなやっぱ…
| 固定リンク | コメント (0) | トラックバック (0)
某O氏の依頼で作ったrename_for_tw.plですが、今日はそれを作る上での苦労話などを。
手順としては
s/_[0-9]/_0[0-9]/gというもの。ただしこれだと置換結果に[0-9]てのが出てしまうわけで。s/(_)([0-9])/\10\2/gとしてみたものの、"_15"の"_1"にもマッチしてしまう上に\10が1つの変数と見なされてしまってアウト。s/(_)([0-9]_)/\10\2/gとするとどうかとやってみましたが、これも\10が1つの変数と見なされる点では変わらず。そこでs/(_)([0-9]_)/\1Z\2/gとすると、\1Zは1つの変数と見なされないようで美味い具合に_3_が_Z3_に変換されるので、その上でs/Z/0/g;としてやれば完了。…つーか30k相応の仕事だと思いました('A`)
| 固定リンク | コメント (0) | トラックバック (0)
秒単位までファイル名につけてくれるのはありがたいがせめてゼロサプライしてくれ…というわけで、各部分の数字が1けたの場合は頭に0をつけるスクリプトを作りました。
#
# rename_for_tw.pl 2004/03/04
# TWのスクリーンショットのファイルは、日付などの数字が1桁と2桁混在という状態になっています。
# これを2桁に統一するスクリプトです。
#
#
# 使い方
# 1.使いたいファイルの置いてあるディレクトリにこのスクリプトをコピー。
# 2.コマンドプロンプトを開き、そのディレクトリに移動
# 3.「perl -w rename_for_tw.pl」とうてばあら不思議。(-wはなくてもいい)
use Strict;
my @jpglist=glob("*.jpg");
foreach (@jpglist)
{
my $before=$_;
s/(_)([0-9]_)/$1Z$2/g;#「0」って文字がどうしても入れられない(;´Д`) というわけでマッチ1回目。
s/(_)([0-9]_)/$1Z$2/g;#マッチ2回目。2回すれば秒部分以外は全てマッチできる
s/(_)([0-9]\.)/$1Z$2/g;#秒部分をマッチさせるための最後のパターン
s/Z/0/g;#そして一気に変換
my $after=$_;
rename $before,$after;
}
| 固定リンク | コメント (0) | トラックバック (0)
最近のコメント