メールフォームにPHP版を追加しました。
スクリプト先頭の以下の「YourEmail」の部分に送信先のメールアドレスを設定すると、フォームで入力された内容がそのメールアドレスに送信されます。
<?php
$to = 'YourEmail'; // このメールアドレスを変更してください
?>
メールフォームのダウンロード
メールフォーム(PHP版のサンプル)
59Tracker 4.1.6と59bbs 3.1.7をリリースしました。
変更点はどちらも以下の不具合の修正です。
・管理画面でping設定ができない不具合の修正
・携帯ページからのコメント投稿時に名前、コメントが文字化けする不具合の修正
59Trackerのダウンロード
59bbsのダウンロード
RabbitMQは、メッセージミドルウェアの標準プロトコルを目指すAMQP(Advanced Message Queuing Protocol)をベースとしたオープンソースのメッセージングシステムで、信頼性、可用性、拡張性、プラットフォーム中立性、容易なインストール・設定などが特徴。ライセンスはMPL(Mozilla Public License)。
RabbitMQ is a complete and highly reliable enterprise messaging system based on the emerging AMQP standard. It is licensed under the open source Mozilla Public License and has a platform-neutral distribution, plus platform-specific packages and bundles for easy installation.
RabbitMQ
Postedbyと同じく、ソースコードを公開すると言ったまま公開していなかったQANote(1.0)のソースコードを公開しました。
QANoteは、Q&A形式で知識を共有することができる非常にシンプルなWebベースのQ&Aツールです。パソコンからの閲覧、投稿だけでなく、携帯電話からも閲覧、投稿が可能になっています。
QANoteの特徴
・ダッシュボード画面からすばやく質問の検索、閲覧、新しい質問の投稿ができる。
・ユーザーは任意の検索条件を設定したリストを作成することができる。
・携帯に対応しており、携帯電話からも質問の投稿、リプライ(回答)の投稿ができる。
・商用利用、カスタマイズが可能なオープンソースライセンス(GPLv2)。
QANoteを利用することでレンタルサーバー等で運営しているホームページに、簡単にQ&A形式の顧客サポート機能を追加することができます。
QANote.org
しばらく前にソースコードを公開すると言ったまま、公開していなかったPostedby(1.0)のソースコードを公開しました。
Postedbyは、HTMLタグを使用した表現力の高い記事を、Twitterのような文字数制限なしに、一般的なブログより手軽に投稿ができるブログ(マイクロブログ)ツールです。
携帯にも対応しておリ携帯からの投稿や投稿の修正・削除も可能です。また、家族や知人、もしくは知らないどこかの誰かなどと複数ユーザーによる運営も可能です。
Postedbyの特徴
・記事の本文にHTMLタグの使用ができるため、表現力のある記事の作成ができる。
・投稿した記事は公開して共有できるだけでなく、ユーザー設定で非公開にすることもできる。
・ユーザーは任意の検索条件を設定したリストを作成することができる。
・投稿されたている記事に対して、リプライする形で新しい記事を投稿することができる。
・ブックマークレットを使用してブラウザで表示中のページを記事として簡単に投稿できる。
・id:記事ID、user:ユーザーIDで検索された場合、ユーザー設定のウィジェット(広告の設定も可能)を表示。
・携帯に対応、携帯電話からも記事の投稿、編集、削除ができる。
・日本語と英語に対応。
・商用利用、カスタマイズが可能なオープンソースライセンス(GPLv2)。
Postedby 1.0 のダウンロード
現時点では、「
メモる」との違いは、記事のタイトルを付けることができることと、本文にHTMLタグが使用できることくらいですが、本文にHTMLタグが使用できるのでよりブログに近い使い方ができると思います。
Postedby.org
極めてシンプルなマイクロブログツール「
メモる」を1.1にバージョンアップしました。
今回のバージョンアップでは、テンプレートエンジン(HTML::Template)を使用してデザインと処理の分離、携帯電話からのログインして投稿する機能(新規投稿、編集、削除が可能)の実装などを行いました。
また、「携帯電話から閲覧できない」などの大きな不具合やその他の小さな不具合も修正されています。
「メモる」の特徴
・投稿したメモは公開して共有できるだけでなく、ユーザー設定で非公開にすることもできる。
・ユーザーは任意の検索条件を設定したリストを作成することができる。
・投稿されたているメモに対して、リプライする形で新しいメモを投稿することができる。
・ブックマークレットを使用してブラウザで表示中のページをメモとして簡単に投稿できる。
・id:メモID、user:ユーザーIDで検索された場合、ユーザー設定のウィジェット(広告の設定も可能)を表示。
・携帯に対応、携帯電話からもメモの投稿、編集、削除ができる。
ソースコードもオープンソースライセンス(GPLv2)で公開しているので、ご自由にご利用ください。
メモる 1.1 のダウンロード
Texttは、単純にテキストを記録しておくためのサービス。機能はシンプルで、1つのテキストに複数の文章をタイトルつきで追加していく形で記録していくだけとなっている。テキストは公開/非公開の設定ができる。
Textt
PerlのプログラムからDBI経由でMySQLに接続し、SELECT文でデータを取得する処理のサンプルプログラムです。
あらかじめphpMyAdminを使用してMySQLにテータベース「testdb」を作成し、以下のSQLを実行しテーブル「users」を作成、3件のレコードを登録しておきます。
CREATE TABLE `users` (
`userid` varchar(100) COLLATE utf8_bin NOT NULL,
`password` varchar(250) COLLATE utf8_bin NOT NULL,
`status` int(11) NOT NULL,
`auth` int(11) NOT NULL,
`username` varchar(250) COLLATE utf8_bin NOT NULL,
`address` varchar(250) COLLATE utf8_bin NOT NULL,
`mailaddr` varchar(100) COLLATE utf8_bin NOT NULL,
`hpurl` varchar(250) COLLATE utf8_bin NOT NULL,
`widgets` text COLLATE utf8_bin NOT NULL,
`createdate` datetime NOT NULL,
`lastupdate` datetime NOT NULL,
PRIMARY KEY (`userid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
insert into `users` (`userid`,`password`,`status`,`auth`,
`username`,`address`,`mailaddr`,`hpurl`,`widgets`,
`createdate`,`lastupdate`)
values('admin','1234','1','0','webmaster','',
webmaster100@59log.com','http://59log.com/','',now(),now());
insert into `users` (`userid`,`password`,`status`,`auth`,
`username`,`address`,`mailaddr`,`hpurl`,`widgets`,
`createdate`,`lastupdate`)
values('test1','5678','1','1','user 1','',
'test1@59log.com','http://59log.com/','',now(),now());
insert into `users` (`userid`,`password`,`status`,`auth`,
`username`,`address`,`mailaddr`,`hpurl`,`widgets`,
`createdate`,`lastupdate`)
values('test2','abcd','1','1','user 2','',
'test2@59log.com','http://59log.com/','',now(),now());
以下のPerlプログラムでは、テーブル「users」からステータスが1のレコードを全て取得、一旦配列に格納してから標準出力に出力しています。
検索条件の設定にはプレースホルダを使用し、DB処理でエラーが発生した場合は、例外処理に飛んでエラーの内容が出力されるように、RaiseErrorに1を設定しています。
--- mysql_select.pl ---
#!/usr/bin/perl
use strict;
use warnings;
use DBI;
my $data_source = "DBI:mysql:testdb"; # 接続先はtestdb
my $username = "test"; # データベースへのアクセス権限を持つユーザーを指定
my $password = "abcd"; # そのパスワード
my $status = 1;
my @recs = ();
eval {
my $dbh = DBI->connect($data_source, $username, $password,
{RaiseError => 1, PrintError => 0});
my $sql = "select * from users where status = ?";
my $sth = $dbh->prepare($sql);
$sth->execute($status);
while (my @rec = $sth->fetchrow_array) {
push @recs, [@rec];
}
$sth->finish;
$dbh->disconnect;
};
if ($@) {
print "Error : $@\n";
}
foreach my $rec (@recs) {
print join(",", @{$rec}), "\n";
}
HTML::Templateの<TMPL_VAR>タグは、プログラムでパラメータに値を設定すると、
タグの部分がパラメータで設定された文字列で置き換えられるという簡単なものです。
以下は、<TMPL_VAR>タグの使い方を示す単純なサンプルプログラムです。
--- テンプレートファイル(tmplvar.tmpl)
<html>
<head>
<title>HTML::Templateのサンプルプログラム VAR</title>
</head>
<body>
<h1>HTML::Templateのサンプルプログラム VAR</h1>
<p>
My Name is <TMPL_VAR NAME=NAME> <br />
My IP Address is <TMPL_VAR NAME=IPADDR> <br />
</p>
</body>
</html>
--- CGI(tmplvar.cgi)
#!/usr/bin/perl
use strict;
use warnings;
use HTML::Template;
my $template = HTML::Template->new(filename => 'tmplvar.tmpl');
$template->param(NAME => 'Yamato, Taro');
$template->param(IPADDR => $ENV{'REMOTE_ADDR'});
print "Content-Type: text/html; charset=utf-8\n\n";
print $template->output;
TypePad デベロッパーリソース(日本語版)は、個人向け TypePad (Pro, Micro) や TypePad Motion の開発者向けサイト。
TypePad Motion のダウンロードとインストール、サイト構築、設定、カスタマイズ方法などの情報。個人向けTypePad (Pro、 Micro) の 各種データにアクセスできる TypePad API に関する情報 (TypePad JSON API, TypePad Twitter API等)が掲載されている。
TypePad デベロッパーリソース(日本語版)