Category ‘制作日記’

Google サイトマップ

あなたのコミック発売日一覧 MyReleaseはブログパーツ効果やリニューアル効果が無くなり入会者数が減ってきた。

Gsansが「Googleで大阪をもっと元気に」と言ってるのでMyReleaseも元気にしてもらおうとGoogleサイトマップを設置することにした。
GoogleサイトマップはGoogleのロボットが見に行くときに影響があるらしいが、書いたからといって全て見るわけではないという微妙なモノです。
Googleサイトマップ作成と生成ツールで作ってみたけど、全てやると時間がかかり途中で止めて帰ってきたので、自分で選んで作る事にした。トップページからリンクを張ってるメインのメニュー+全てのコミュニティ+全ての公開ページを作る事にした。いちいち作るのは面倒なのでPHPで自動でできる様にしたら 1079個のアドレスになった。
できたxmlをウェブマスター ツールに送信し、1時間後に見に行くとステータスが「OK」になってた。
さて、効果はあるのかな?なんとかサイトリンクが付いて欲しいな。

cheer engineerが重い

少し前からこのウダ2Blogが重くなってたのですが、今日は特に重かった。
cheer engineerのブログパーツの手前で一旦止まるので、明らかにcheer engineerのブログパーツが怪しいので外したら急に軽くなった。
cheer engineerで何かあったのかもしれないけどここまで遅いと厳しい。javascriptで読み込みを後に廻してもよかったんだけど。1人中1位という意味のないランキングだったので外した。

JavaScriptでCSSを変更する際の互換表

以前、ブログに載せようと作った表が出てきたので載せておく。
JavaScriptでCSSを変更する際にJavaScriptの呼称とCSSの呼称と微妙に違ったのでぽちぽち調べてたんだけど、作業中にCSSの呼称に「-」が含む場合「-」を取って次の1文字を大文字にすればいいという事に気づいて作業を止めた中途半端な一覧表。
JavaScriptでCSSを変更する際の互換表

DNRH-001にPHP5

チカッパ!がPHP5に対応した。
自宅サーバー(DNRH-001)も開発が終了したPHP4を続けていく訳にはいかないのでPHP5に切り替える事にした。

まずは現状を把握しておいて。

# rpm -qa|grep php
php-domxml-4.4.8-0vl1
php-pear-4.4.8-0vl1
php-apache2-4.4.8-0vl1
php-mysql-4.4.8-0vl1
php-4.4.8-0vl1
php-devel-4.4.8-0vl1
php-mcrypt-4.4.8-0vl1

一個一個削除(一気にやったら「~必要とされています」が出たので・・・)
最後にphpとphp-pearを一気に削除した。

# rpm -e php-domxml
# rpm -e php-apache2
# rpm -e php-mysql
# rpm -e php-devel
# rpm -e php-mcrypt
# rpm -e php php-pear

インストールはがさっとやってみた。(php-domxmlはPHP5に含まれたらしいので除外)

# apt-get install -y php5 php5-apache2 php5-devel php5-pear php5-mcrypt

MYSQLもバージョンアップしようと思ったらすでにMYSQL5だったのでphp5-mysqlだけインストール。

# apt-get install -y php5-mysql

結果はこんな感じ、

# rpm -qa|grep php
php5-5.2.6-2vl4
php5-pdo-5.2.6-2vl4
php5-pear-5.2.6-2vl4
php5-devel-5.2.6-2vl4
php5-apache2-5.2.6-2vl4
php5-mysql-5.2.6-2vl4
php5-mcrypt-5.2.6-2vl4

あとは前回同様にPEARのMailを入れた。

当然の様に今までのプログラムはエラー出まくり。
クラスがpublicとprivateが設定できるようになり基本的にprivateになったので必要なところをpublicにして直したが他にもエラーが出てると思ったら、注意だった。
なぜかエラー表示の設定が変わった様だ。
php.ini

error_reporting = E_ALL

error_reporting = E_ALL & ~E_NOTICE

にすると大体は動くようになったが、問題はXMLを何で管理していくかだ。
PHP5は大きく中身が変わったDOM、人気があるっぽいsimple_xml、大規模向けなSAXと3つの選択肢があるらしい。
まあ、今度考える事にするか

iコンシェルはiCalendarその2

desktop1_800.jpgMyReleaseのリニューアルも終わり、報告のあったバグも直り、ようやく正常に戻ったと思う。
でもやっぱり、実装したいiコンシェル。以前「iコンシェルはiCalendar」で書いた様に「動くはず」で作ったが未だ確認できていない。
「無いだろうな」と思いつつiコンシェルのシミュレーターを探してみた。
もちろん無かったんだけど「スケジューラデータツール for i-mode」なるものを発見。早速インストールしてみた。
パソコンで作ったスケジュールデータをiコンシェルに渡す為のソフトらしい。
以前作ったhttp://my-release.info/1/COMIC.vcsをダウンロードして読み込ませてみたら、エラーが発生。
スケジュールの名前(X-WR-CALNAME)がおかしいとの事。
作ろうiモードコンテンツ:スケジューラデータフォーマット | サービス・機能 | NTTドコモを調べ直すとスケジュール名前はエンコードしたらダメらしい。
エンコードを外したら怒られなくなった。
念の為「iスケジュール出力」ってボタンを押してvcsファイルを保存してみた。
エディタで元のファイルと比べてみると微妙に順番が違ったので直してみた。
これで、まず大丈夫だとは思うけど、実機が無いので確認できない。
docomoショップのホットモック(動く展示品)がネットに繋がれば確認出来るんだけどなぁ。

【楽天】発売前の期間限定商品の検索

お店は客寄せの為に「プレゼント?」と疑いたくなる様な価格の商品が出てたりする。
大抵、限定1コとかで狙いすましても買えなかったりする。
そんな商品を検索してみたが楽天の検索のシステムでは思うように検索されないので作ってみた。
【楽天】発売前の期間限定商品の検索
楽天のAPIを使ってキーワード・価格・ジャンルで検索して出てきた情報の中から、
販売開始時間がまだ来ていない商品を検索する感じになってる。
とりあえず、WiiFitが1,000円ての見つけたけど、思ったより少ないな・・・

DNRH-001にVINE モジュール

仮サーバーの環境を本サーバーに近いように弄ってるとdomxmlが無いことに気づいた、結構使ってたのでPHPに標準で付いてる関数かと思ってた、検索してみるとモジュールを追加しなくてはいけないらしい。ダウンロードしてコンパイルみたいな事書いてたので面倒だなと思ってるとMLogの記事を発見、PHPのモジュールもソフトみたいにapt-getでインストールできる様だ。

# rpm -qa|grep php

でインストールされてるアプリからPHPを含むのを見てみる、当然だがそれっぽいのは無い。

# apt-get update

念のため最新版チェック

# apt-get install php-domxml

domxmlをインストール

# service apache2 reload

サーバーの再起動

# rpm -qa|grep php

でインストールされてる事を確認して

# php -r 'var_dump(function_exists("domxml_open_file"));'

domxmlの関数が使えるかチェック

ついでにphpMyAdminがmcryptを使ってるらしく下の方にアラートが出てたので

# apt-get install php-mcrypt

ってしてインストールした。
依存性の関係でlibmcryptも自動でインストールしてくれた。

あと、PEARにMailパッケージが入ってなかったので入れる。

# pear install -a Mail

ついでにアップデートもしとく

# pear upgrade-all
# pear update-channels

DNRH-001にVINE サブドメイン

最近放置気味だったDNRH-001をテスト用にサブドメインを使える様にした。
元々ユーザーごとにアクセス出来るようにしてたので
http://192.168.0.5/~myrelease/
※ローカルの話なのでアクセスしても見れませんよ。
でも見れるんだけどルートからの相対パス(「/」で始まるパス)を見れるようにしたい。

まずは、サブドメインというだけあってドメインを指定しないと話にならないのでdns(内部DNS)の設定。
クライアントパソコン(閲覧するパソコン)が1台しか無い場合hosts(C:\WINDOWS\system32\drivers\etc\hosts)に追記するだけでいいんだけどパソコンが複数ありそれぞれのパソコンのhostsを弄るのが面倒なので・・・
Linux で自宅サーバ」を参考にBIND DNSを設定した。

linux.uda2.net : 192.168.0.5 (テストサーバーDNRH-001)
pcast.uda2.net : 192.168.0.21 (メディアサーバーやNASとして使ってる)

Webminで「BIND DNS」の「Edit Config File」で「named.conf」に

zone "uda2.net" IN {
type master;
file "uda2.net";
allow-update { none; };
};
zone "0.168.192.in-addr.arpa" IN {
type master;
file "0.168.192.in-addr.arpa";
allow-update { none; };
};

を追加し、保存すると「既存の DNS ゾーン」に「uda2.net」が発生してるのでコレを編集、

$TTL    1D
@       IN      SOA     linux.uda2.net.      root.linux.uda2.net. (
2003072501
3H
1H
1W
1D )
IN      NS      linux.uda2.net.
IN      MX 10   linux.uda2.net.
linux   	IN      A       192.168.0.5
uda2.net	IN      A       192.168.0.5
pcast   	IN      A       192.168.0.21
dns     	IN      CNAME   linux
www     	IN      CNAME   linux
myrelease    	IN      CNAME   linux
smtp    	IN      CNAME   linux
pop     	IN      CNAME   linux
ftp     	IN      CNAME   linux

メールとかftpはいらんけど一応載せておいた。

次は逆引き「192.168.0」 を編集、

$TTL    1D
@       IN      SOA     linux.uda2.net.      root.linux.uda2.net. (
2003072501
3H
1H
1W
1D )
IN      NS      linux.uda2.net.
IN      PTR     uda2.net.
IN      A       255.255.255.0
5       	IN      PTR     linux.uda2.net.
21       	IN      PTR     pcast.uda2.net.

Apacheの設定は「Vine Linuxで自宅サーバー」を参考に
httpd.conf を編集

NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /home/httpd/html
ServerName www.uda2.net
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /home/myrelease/public_html
ServerName myrelease.uda2.net
</VirtualHost>

それから、パソコン(クライアント)のDNS設定を
優先DNS 192.168.0.5
代替DNS 192.168.0.1
に変更したら
http://myrelease.uda2.net/
でテストサーバーに繋がる様になった。

W3Cなブックマークレット

厳密に守ってる訳じゃないけど、ちょっと気になるW3C。
メインなブラウザをFireFoxにしてからは Web Developer というアドインを使ってたんだけどしまってあるので、呼び出すのが面倒なので、ブックマークレットにしてみた。

W3C HTML
W3C CSS

これで、ブックマークから簡単にW3Cをチェックできる様になった。
つーか、この記事書くんに調べてたら既にあった
(まあ、オレの方は別ウインドウ表示なんでちょっと違うけど・・・)
付け方はYahoo!ブックマークのを参考に

いたずら防止に画像認証

入会のフォームに誰かがいたずらしてる様だ。
以前、掲示板に中国ドメインによる攻撃があったので中国ドメインと攻撃したIPを除外する様にhtaccessを書いていて
myreleaseにも同じ様にしてるので大丈夫だと思ってたんだけど、ダメみたい。
そこで画像認証を考えてみた。
結構、色んな人が作ってくれてるので簡単に設置できる。

http://uda2.com/kcaptcha/form_example.php
もう少し画像認証について調べてみたらどうも一般的なユーザーには好まれない様だ。
どうしようかと、思ってお問い合わせのあった人の情報を削除するためにDBを覗くと似たメールアドレスで使ってる人を発見。
攻撃されてるのではなく単に間違えて入力した様だ・・・。