このメインblogと南部博士専用blog共通のメモ。

Category Order 使用中。
Contact Form 7 使用中。 固定ページとしてフォームを出させるようにして、トップページから見えるように変更。
Counterize II  使用中。ダッシュボードでは見えるけどページで出す方法がわからない。また、昨日のアクセス数を引いてくる方法も、ネットで調べた通りにやってもエラーになる。
Disable Trackbacks 使用中。
Mombly Review Rating 使用中。使用例は次の通り。
  とりあえずランク付け5段階で。
  10段階も可能か?
  これのかわりにEasy Review Builderを使おうとしたが、幅やサイズを変更できなくて断念。あんまり大きく出て貰っても困るので……。
Popular Posts 試験的に使用。

Post-Plugin Library 使用中。Popular PostsとSimilar Postsを使うのに必要。
Really Simple CAPTCHA 使用中。
SI CAPTCHA Anti-Spam 使用中。
Similar Posts 試験的に使用。
Visitor Counter Widget 使用中。
WordPress Database Backup 使用中。
WP-PageNavi 使用中。確かソースを書き換えないといけなかったはず。
WP Grins 使用中。
WP Multibyte Patch 使用中。コメント欄でアイコンを入れられるようにするもの。

 WP-PageNaviの使い方。index.phpの下の方、sidebar.phpとかをincludeしている直前のところで、div class=”navigation”を指定して、wp_pagenavi()を読んでおく。footer.phpに入れるの推奨だけど、ウィンドウの端の方にしか出なかったり、footer画像を使っている場合はかぶってしまったりするので。
 記事毎に直前のエントリーへのナビを出すには、single.phpのcontentdateが始まる前に、previous_post_link(); とnext_post_link(); を呼ぶ。引数無しで良い。divタグで左右寄せしようとすると改行されてしまうスタイルもあるので、その場合は区切り記号を入れて1行で書く。

 拍手とか星評価をどうするか……。なかなかいいのがないなぁ。

 一昨日くらいから、宇門博士が呟くtwitterとか、南部博士が呟くtwitterとかを作ろうと思い立った。
 アカウントを取って投稿用ツールで書き込めるところまでテスト。台詞を全部集めるとやたら多いから、こんなの手作業で投稿していられない。それで、botを利用することにした。ここからbotのソースをダウンロードしてきてこのページの解説通りにOAuthの設定。テストデータを用意し、bot.phpのURLをブラウザから参照して投稿できていることと、ログインしてコマンドラインを叩いて投稿できていることを確認。
 あとはcronで定期的に実行すればいいわな、と思ってちょっと調べた。一定時間ごとに特定のurlを突いてくれるサービスがいくつかあるが、不安定だったり、利用者殺到でアクセスを断られたりと、いろいろ問題がありそう。せっかくレンタルサーバーを借りてるんだから、サーバー側のcron使えばいいんでね?と思って設定開始。bot.phpを定期的に実行するだけならどうってことない、と思っていたら嵌った。
 まず、直接bot.phpを叩くだけじゃダメなのを自分が忘れていた。
 会員ログインメニューの管理ツールのcronの設定で、

/full-path/bot.php

を指定したら動かない。確かにこれだとどのプログラムでphpを実行したらいいかわからんわな、拡張子で自動判別するほどシェルは賢くないんだろうし……。whitch phpしてみたら、/usr/local/bin/phpを見に行ってることがわかったので、

/usr/local/bin/php /full-path/bot.php

とやってみた。しかし、これをcronで実行すべき内容として設定してもダメだった。時間をおいてログインし、この通りにキー入力してやると、うまくいった場合には投稿内容の入ったhtmlソースがstdoutに表示されるはずが、プロムプトしか出ない。何回かキー入力してもダメで、なぜか、一度、bot.phpのあるディレクトリにcdすると動いたりする。その後、別ディレクトリに移って同じ内容をタイプしてもちゃんと動いたりする。シェルから直接実行だと、動いたり動かなかったりで、わけがわからない。しかしひょっとしたら、一度、bot.phpのあるディレクトリにcdすることが必要なのかな、と思わないでもなく……。
 それでは、と、autorun.shを次の内容で作り

#!/bin/sh
cd /full-path
/usr/local/bin/php /full-path/bot.php

chmod +xして、さくらサーバーの管理ツールのcronの設定でautorun.shへのフルパス指定をしてみた。でもやっぱり動かない。動いたり動かなかったりは、shを呼ばない場合と変わらない。
 ただ、URLを叩けば、どういうタイミングでキーボードを叩いても、確実に動いてくれるらしいことがわかった。そこで、まず、access.phpを

<? php
// リクエストを行うURLの指定

$url = “http://www.frontier-line.org/full-path/bot.php”;

$contents = @file_get_contents(“$url”);
echo $contents;
?>

のように書いておいて、autorun.shの方を、

#!/bin/sh
/usr/local/bin/php /full-path/access.php

と書いて、実行許可を与え、autorun.shへのfull pathを、さくらサーバーの管理ツールのcronの設定に入れてやると、やっと意図したように、一定時間ごとに呟きが自動で書き込まれるようになった。

 あとは、呟きのデータファイルを作り込むだけだが、ビデオチェックが必要なので、こっちも手間がかかる。まあ、ぼちぼちやるかな……。今のところ、設定は、データファイルの内容を一方的に呟くだけ。自動応答ぽいことや、人工無能ぽいこともできそうなんだけど、それはまた先の話。

 bot製作ツールがウェブベースで提供されてたりするみたいなんだけど、クライアントの名前が固定だったりする。名前固定ってのは、ブラウザからだとvia webになるし、投稿ツールのTweetieを使うとvia Tweeieとかなってるのと同じで、何か適当な名前が設定されてる。しかし、折角キャラのtwitterを用意するのだから、宇門博士だったら「via 宇宙科学研究所」と出てほしいし、南部博士だったら「via 三日月基地」とかにしてみたい。自前のbotを用意してクライアントにすると、名前を自由につけられるし、phpはこのレンタルサーバーで自由に動かせるから……と思ってたら、あんまり関係ないところで手間取った^^;)。

 Reeさんのところがチャット設置して楽しそうだからウチでもやろうかと思って、CGI探したんだけどinternal server errorで動かず。PHPのはなかなか良いのがなくて……。やっと1つ探して入れたんだけどやっぱりエラー。で、PHP置いてるディレクトリのパーミッションが777だとダメで755でないとエラーになるとわかった。脱力……。やりたいことをやるには、もうちょっとソース読んであちこち書き換えたりしないといけないので、週末にでも時間がとれたらやってみよう……。

 別の候補も調べようと思って、TeaChatってソフトを拾ってきて、perlの文法チェッカを突っ込んででエラーをチェック。エラーがでたdecorate.plのファイルロック部分を

# lock(2) if($lock_check);

open(DB,”>$decorate_file”) || error(11);
flock(DB, 2);
print DB @array;
close(DB);

# rmdir($lockfile) if($lock_check);

と、

# lock(2) if($lock_check);

open(CTZ,”>$ctz_file”) or &error(7);
flock(CTZ, 2);
print CTZ @cline;
close(CTZ);

# rmdir($lockfile) if($lock_check);

のように修正したら動くようになった。ただ、一旦退出して最入室するとフレームが乱れるのでどうしたものかと。でも、こっちを使うかなぁ。

 日記帳変えてみたのはいいけど、とりあえず、見栄えをどうするかが問題で……。3カラムと2カラムでは出せる内容も使い勝手も違ってくるから、海外のサイトも探して、3カラムのテーマを見つけてきた。中途半端に英語だったり、ナビゲーションがうまく出なかったりという状態だったので、いろいろいじって修正して、日本語に直したりとかして大体落ち着いた。

 ちょっと変えては表示させて……とやるんだけど、途中でレイアウトが崩れてしまい、どこか間違えたかと焦ったぁぁぁ。でも、ブラウザの再起動で復活。ブラウザ側が対応しきれなくなったりするとうまく出なくなるみたい。

 もう一個所悩んだのが、「the_date(“Y”);」を呼ぶと1回目はちゃんと意図通りに出るんだけど、2回目に「the_date(“”); 」を呼ぶと何も表示されないこと。日付表示は、「the_time(‘Y/n/j(l)’);」の方を使っても出るし、こちらは何回呼んでも意図通りに動くみたい。なーんか微妙。

 この3日くらい、移転作業にかかりきりで、ほとんど他のことができなかった。でも、やっとまた創作とかいろいろ進められそう。ほっ……。

 日記帳をWordPressにしてみた。過去ログの移動も何とか終了。
 しかし、ウェブで編集しながらビジュアル表示で保存すると、全角スペースが全部削除されてしまう。日本語の文章の整形としては問題あり。しかたがないので、編集ツールを使うことを考えた。
 MacJournalはWordPressに対応してないみたいなのでダメ。Journalerは作者が開発中断したっぽい。日本のソフトのKakuは、ファイルが壊れるからSnow Leopardで起動するなという注意書き(うまく動いてたっぽいのだけどダメなことがあるのかな)。しかたがないので、MarsEditで書くことにした。

 /Users/自分のホーム/Library/Application Support/MarsEditに設定ファイルなどが置かれて、blogから持ってきたファイルや新規登録のファイルがまとまって入っている。MarsEditを一旦終了後、設定ファイルを好きなところに移動させて、
ln -s 好きなパス/MarsEdit /Users/自分のホーム/ Library/Application Support/MarsEdit
とやって、本来の場所へのシンボリックリンクを作っておくと、更新したものを好きなところに置いておくことができる。エイリアスではダメ。

 GV-1394TV/M3を購入。初代は5年ほど前に使っていたが、コンピュータ側のバージョンアップに追随してくれず、動かなくなったのでしばらくそのままになっていた。今回、後継機を購入。
 VHSのテープやLDをDVDに変換中。とにかく、読み出せなくなることを防げば良いという目的なので、普通にQuickTimeフォーマットで録画し、Roxio ToastのDVD製作に動画ファイルを突っ込んで保存すれば、60分くらいのものなら適当にエンコードして1枚に収めてくれる。Finul CutやらDVD Studio Proの利用も考えたが、凝ったものを作るつもりが無いなら、Toastで簡単に保存してしまえば手間をかけずにできる。

作業メモ

|2008/9/2(火曜日)-00:01| カテゴリー: コンピューターの使い方関係
| コメントする

 300dpiでjpegで取り込む。
 Graphic Conveterで70%を指定してjpeg圧縮し上書き保存。
 サムネイルは10%サイズで作る。

 忘れないうちに先日の作業をメモ。
 Reeさんとやってる仮想空間設計工房で、データファイルのやりとりが必要になって、メールではちょっと厳しかったのでこっそりアップローダを設置。ソースは帰宅する部活さんのところのものを使わせてもらった。phpスクリプトの設定部分を変更して、十分なサイズをアップできるように設定し、拡張子等も追加するのだが、それだけでは大きなファイルの転送ができない。ホームディレクトリのphp.iniで

max_execution_time = 30
; Maximum execution time of each script, in seconds
max_input_time = 3000
; Maximum amount of time each script may spend parsing request data
memory_limit = 1700M
; Maximum amount of memory a script may consume (8MB)
; Maximum size of POST data that PHP will accept.
post_max_size = 1600M
; Maximum allowed size for uploaded files.
upload_max_filesize = 1500M

のような設定ファイルを書いておく必要がある。