PHP

TYPINGMANIA の自作曲レベルを算定するサイトを公開

音楽に合わせて歌詞を入力するタイピングゲーム「TYPINGMANIA」は、曲データを自作することができますが、そのデータのレベルを自動算定するウェブページを公開しました。


作成した XML ファイルを指定するだけで、簡単にレベルを算定できます。


TYPINGMANIA 5 は、PV でタイピングできるようになったのでさらに楽しくなりましたね。


ホムンクルスの夢 星の在り処

千本桜 カシオペイア

まるくなる 紅一葉
レクイヱム 夕日坂




ブラウザ設定の簡単 bot メーカーを公開:Chatty Stone Bot

Twitter bot を簡単に作成・運用できるお手軽ツール「Chatty Stone Bot」を公開

ランダムなつぶやきはもちろん、リプライを返したり、気になる話題をリツイートしたりできる bot メーカーです。

一定確率で反応を行わないようにしたり、連続リプライ数を制限したりすることによって bot 同士の無限ループを回避するなど、実用面で役に立つ細かな機能も搭載しています。

しかも、設定をブラウザで行うことができるので、設定ファイルの魔法のような数字と格闘したり、ファイルを更新してアップロードという 2 段階の手間をかけたりする必要がありません。とても簡単に作成・メンテナンスが行えます。

詳細およびダウンロードは以下からどうぞ:

とわのっとリニューアル

情報共有型の Twitter bot「とわのっと」をリニューアル(癒やしがメインの bot なんじゃないかという噂もちらほら耳にするが……)。

新規に開発した Twitter bot プログラム「Chatty Stone Bot」をエンジンとして採用し、内部構造を整理した。

今回のリニューアルによる効能は、
  • うまく動かなくなっていた自動フォロー機能が復活。
  • 上記含め、最新の Twitter API 利用による動作の潜在的な安定性向上。
  • bot 同士によるリプライ無限ループ抑止機能の明確化。
  • 構造整理により、これまで付け焼き刃的に付加されていた機能をきちんと整理して取り込めた。
  • 将来的な拡張性の確保。


実装は PHP。メインとなるクラスを中心に、いくつかの補助クラスを作成して全体的な機能を構成している。


プログラムと設定値・つぶやき内容は明確に分離し、設定値・つぶやきを管理する補助クラスを作成。おのおの適切な派生クラスを用いてプログラム的に整理している。


一時的に機能減となっているところがあるので、今後、Chatty Stone Bot を強化していく。


なお、エンジンとしての Chatty Stone Bot はそのうち別途公開する予定。


【参考】


とわのっと再構築に向けて

実音とわの関連情報をつぶやく(というより最近は飯レスがメインになっている気がしなくもないけど)Twitter bot の「とわのっと」、プログラムとしては EasyBotter を使わせて頂いている。

しかし、とわのっとに必要な機能を追加するために、自分でいろいろプログラムをいじっていて、それがだんだんカオスになってきた。

この際、bot プログラムを新規開発しよう、と PHP と格闘中。クラスを作るのは初めてなのでちょっと戸惑いながら。自クラスのメンバを参照する時に必ず $this が必要とは……。

メンバ関数(PHP 的表現だとメソッド)をインラインでしか書けないのはちょっと嫌。宣言と定義を別にした方が一覧性が良いのに。

お手軽に PHP+SQL サーバーを立てる

PHP+MySQL なプログラミングをしてみんとす。

最終的にはレンタルサーバーを借りてそこで PHP スクリプトを動かすのだが、最初からサーバー上でプログラムを動かしながら開発するのは効率が悪いので、ローカル環境に PHP+SQL サーバーを立てたい。なるべくお手軽に。ちなみに、Linux、Apache、MySQL、PHP を合わせて LAMP と呼ぶそうだ(PHPMyAdmin も合わせると LAMPP)。

Windows 環境に PHP をインストールするのは何かとトラブルがおきそうなので、仮想マシン上(VMWare)に Linux をインストールしてサーバーを立て、ネットワークでつなぐことにした。

Linux は Ubuntu 11.04 をチョイス。CentOS も評判だが、Ubuntu の方が手軽らしい。Ubuntu はサーバー版というのがあるが、これは本格的にサーバーを立てる人向けで、GUI すら無い玄人向け。なので Ubuntu のデスクトップ版をチョイス。

仮想マシン設定VMWare の仮想マシン設定は、HDD 15GB、メモリ 512MB、ネットワークアダプタはブリッジ。仮想マシン名は「LAMP-VM」にしておいた。

CD から Ubuntu を起動してインストール。キーボードレイアウトは OADG 109A を選択。インストール後の初回起動時に「It seems that~」のエラーメッセージが表示されるが、特に問題なく起動できる。

端末アイコンの作成利便性のため、Ubuntu のデスクトップにアイコンを作成。[Ubuntu メニュー⇒アプリケーション⇒アクセサリ⇒端末]で右クリックし、「このランチャをデスクトップへ追加」を選択。また、エクスプローラー(Ubuntu では nautilus と言う)で /usr/bin を開き、nautilus のアイコンをデスクトップにドラッグ&ドロップ、マウスを離す際に Alt キーを押して「ここへリンクを作る」を選択。

続いてサーバー類のインストール。端末上で
sudo apt-get install apache2 php5 php5-gd mysql-server php5-mysql phpmyadmin
localhostと入力。HTTP サーバーの選択画面では Apache を選択(スペースキーを押す)。「phpmyadmin のデータベースを dbconfig-common で設定しますか?」の問いには「はい」で回答。パスワードの設定を何回か求められるので設定する。インストール後、ブラウザで localhost にアクセスしてインストールの成功を確認する。

Apache(Apache 2)が表示するドキュメントは /var/www にあるが、ここのファイルは root 権限でしか編集できない。これでは不便なので、
sudo chmod -R 777 /var/www
として、一般ユーザーでも編集できるようにする。あくまでも開発環境で、インターネットに公開する訳では無いので(ネット越しの仮想マシンへのアクセスはルーターで遮断する)、セキュリティは気にしない。

テキストエディタ(gedit)を起動し、/var/www 内に、test.php というファイル名で
<?php print_r (phpinfo()); ?>
という内容のファイルを保存する。ブラウザで localhost/test.php にアクセスし、PHP が動作していることを確認する。

AutoEth0の編集続いて、/var/www に Windows ファイル共有でアクセスできるようにする。まず、仮想マシンに固定 IP アドレスを割り当てる。[Ubuntu メニュー⇒システム⇒設定⇒ネットワーク接続]を開き、「有線」タブの  Auto eth0 を編集する。方式を「手動」にして、固定 IP アドレスを割り振る。ネットマスクは「24」にする。

smbconfnautilus(エクスプローラー)上で /var/www を右クリックして「共有のオプション」を選び、フォルダを共有しようとすると、「共有サービスがインストールされていません」と怒られるので、「サービスのインストール」を実行。

/etc/samba/smb.conf を gedit で開き、[global] セクション内に
usershare owner only = false
Windowsファイル共有の一文を追加する。再び nautilus で /var/www を共有しようとすると、今度は共有できる。これで、Windows 側から /var/www にアクセスできるようになったので、使い慣れた Windows アプリで HTML/PHP ファイルを作成できる。Windows のエクスプローラーで、ネットワーク⇒仮想マシン名(LAMP-VM)⇒www でドキュメントにアクセスできる。

WindowsIE また、この時点で、Windows 側からブラウザ経由でもドキュメントを表示できるようになっている。Windows 側のブラウザで、仮想マシンに割り振った IP アドレスにアクセスすると、Ubuntu 上で localhost にアクセスした時と同じドキュメントが表示される。

MySQL が動作しているかどうかは、次のスクリプトを作成・閲覧すれば良い。
<?php
mysqli_connect("localhost","root",[インストール時に指定したパスワード]) or die("Error");
echo "Success";
?>
以上により、仮想マシンを起動しておけば、Windows 上で HTML/PHP ファイルの作成と閲覧、MySQL データベースの利用ができるようになった。

LAMP設定後

月別アーカイブ
記事検索
最新コメント
  • ライブドアブログ