Home > 2009年11月
2009年11月
macでApache、Perl、SQLite
- 2009-11-06 (Fri)
- Perl
Canvasでゲームの戦闘シーンを作るのに飽きたので(!)
気分転換に久々にPerlをやってみる。
といってもmacにperlの環境を構築してなかったので、そこから。
SQLiteを叩けるところまでが目標。
Apache
$ which httpd
/usr/sbin/httpd
入ってた。起動はGUIでやるらしい。せっかくUnixなのに何かやだ。
かといって毎回「sudo apachectl start」してパスワード入力も勘弁。
じゃ、ソースから入れ直そう。
curl -O http://ftp.riken.jp/net/apache/httpd/httpd-2.2.14.tar.gz
tar xf httpd-2.2.14.tar.gz
cd httpd-2.2.14
./configure --prefix=/Users/t/apache --enable-ssl
make
make install
cd
vi apache/conf/httpd.conf
Listen 8080
vi .profile
export PATH=/Users/t/apache/bin:/opt/local/bin:/opt/local/sbin:$PATH
source .profile
apachectl start
http://localhost:8080/
よしOK。
(SSLはめんどかったので省略)
Perl
which perl
/usr/bin/perl
which cpan
/user/bin/perl
あった
cpan
ごちゃごちゃ設定・・・はなく自動で終わった。
vi apache/cgi-bin/index.cgi
#!/usr/bin/perl
use strict;
use warnings;
use CGI;
my $q = CGI->new;
print $q->header;
print 'Hello, Perl on Apache on Snow Leopard!!';
chmod a+x apache/cgi-bin/index.cgi
http://localhost:8080/cgi-bin/index.cgi
SQLite
最後。
参考→Mac(Leopard) に DBD::SQLite をいれる時には注意 | Supernova
yohsuke.net ++: DBD::SQLiteのお勉強
Perl と SQLite についてお尋ねします。 PerlとSQLiteを使ったソースを多く見てみたいのですが、 初心者向けのソースがあるHPを紹介していただけないでしょうか? いろ.. - 人力検索はてな
which sqlite3
/usr/bin/sqlite3
あった
sudo cpan
cpan[1]> o conf makepl_arg USE_LOCAL_SQLITE=true
cpan[2]> install DBD::SQLite
mkdir apache/data
vi apache/cgi-bin/sqlite.cgi
#!/usr/bin/perl
use strict;
use warnings;
use CGI;
use DBI;
my $q = CGI->new;
my $db = '../data/test.db';
my $dbh = DBI->connect("dbi:SQLite:dbname=$db");
$dbh->do('CREATE TABLE foo (id integer primary key, name)');
my $insert = $dbh->prepare("INSERT INTO foo VALUES(?, ?)");
$insert->execute(undef,'t');
my $select = $dbh->prepare("SELECT * FROM foo WHERE id=?");
$select->execute('1');
my @row = $select->fetchrow_array;
print $q->header;
print '<pre>';
print "id\tname\n";
print join("\t", @row);
print '</pre>';
chmod a+x sqlite.cgi
http://localhost:8080/cgi-bin/sqlite.cgi
なんか最後のスクリプトがとてつもなく怪しいけど、
一応できた。
うーん、Perl使いへの道のりは遠いなぁ!
Canvasでゲーム〜黒猫に反撃
- 2009-11-03 (Tue)
- Canvas
好評(?)のCanvasで粛々とゲームを作る連載企画(?)。
前回は敵(クロネコ)を登場させました。
しかし、一方的にこちらがいじめられるだけでした。
というわけで、反撃できるようにしました。
攻撃
ダメージを受けたときの挙動が、
「向いている方向の逆に飛ぶ」
なので、端っこで外側を向いている敵に攻撃すると自爆します。
まぁファミコンのゲームとかって、こういう理不尽な仕様あったよね・・・ってことで。
さて、このままだとエンドレスで戦闘が続いちゃうので、
次はダメージ計算でもやってみますか。
(あと、スーパークラス作って、主人公、敵、剣を継承させるようにしなとメンテが大変^^)
Canvasでゲーム〜リファクタリングと影、背景、敵
- 2009-11-02 (Mon)
- Canvas
さて、珍しくまだ飽きずにCanvasプログラミングを続けています。
いつも通り、行き当たりばったりでコードを書いてたら汚くなってきたので、
ここらでリファクタリングしました。
(速度的にはあまりよくないけど、オブジェクト毎にファイルを分けました。
個々のソースは汚いまんまです^^)
ついでに背景と影をつけて、敵を登場させました。
※ 攻撃が効かないので、ひたすらやられるのみですが・・・
敵
次は反撃できるようにします。
MacでFTP(Cyberduck)、画像反転・結合・透過色設定(ImageMagick)
- 2009-11-01 (Sun)
- mac
近頃はCanvasでプログラミングしながら、
Macのお勉強をしています。
一石二鳥です。
というわけで今日はFTPと画像編集。
FTP
いろいろ方法はありますが、
Cyberduck | FTP, SFTP, WebDAV, Cloud Files & Amazon S3 Browser for Mac OS X |
を使いました。
FFFTP風じゃなきゃ嫌だって人は、FireFTPがいいみたい。
僕も2ペイン派でしたが、1ペインも意外と使いやすいもんですねー。
画像編集
ペイントツール(Seashore)も使ってみましたが、
せっかくなのでターミナルでやってみました。
まずはMacのパッケージ管理システム、MacPortsを入れます。
終わったらターミナルを再起動後、
sudo port install ImageMagick
と入力しImageMagickをインストールします。(結構時間がかかります。)
これで準備は完了です。
※ ちなみにファイルのDLはwgetの代わりに「curl -O」が使えます。
(sudo port install wgetで入れればいいんですが・・・)
画像の結合
画像の結合は以下のコマンドを実行します。
縦方向
convert -append src1.png src2.png result.png
横方向
convert +append src1.png src2.png result.png
画像の反転
画像の反転もコマンド一発です。
縦方向
convert -flip src.png result.png
横方向
convert -flop src.png result.png
透過色設定
透過色設定は次の通り。
※ ちなみに画面上の色は、
アプリケーション > ユーティリティ > DigitalColor Meter
で確認できます。(Windowsでいう色々の色みたいな感じ)
convert -transparent black src.png result.png
convert -transparent "#007575" src.png result.png
以上、まだまだMacに慣れなくて作業効率が悪くなってしまっている状況ですが、
徐々に使いこなしていきたいと思います。
Home > 2009年11月