無題
SPDYなんて技術が開発中らしいですね。
HTTPを高速化するとかなんとか。
Googleが開発中のようです。
ブラウザの開発元でありサーバーの提供元でありネットワークに情報を流すことで利益を上げている企業だからこそ、ブラウザとサーバーの両方の対応が必要でネットワークの通信に大きく関わるようなことに着手できるんでしょうね。
おそらくPHPとかでプログラムを組んでいる私のようなものには直接的には絡んでこない事象でしょうが。
SPDYなんて技術が開発中らしいですね。
HTTPを高速化するとかなんとか。
Googleが開発中のようです。
ブラウザの開発元でありサーバーの提供元でありネットワークに情報を流すことで利益を上げている企業だからこそ、ブラウザとサーバーの両方の対応が必要でネットワークの通信に大きく関わるようなことに着手できるんでしょうね。
おそらくPHPとかでプログラムを組んでいる私のようなものには直接的には絡んでこない事象でしょうが。
自動ログイン方式について考えています。
うちみたいなサイトで細かいことを気にしても仕方ないような気もしますが、あまり安全でない方式と安全な方式があるなら安全な方式を選びたいわけで。
基本的にうちの参加型コンテンツでは、ログインIDとパスワードによる明示的なログインは用いない方針です。
原則として、勝手にIDを振って勝手に保存して、何もしなくてもパーソナライズされた結果が出るようにしたいのです。
次回アクセス時にIDを特定できるようにするため、クッキーにID読み出しのためのキーを格納しておいて、そのキーはアクセスごとに変わるようにします。
そうすると、保存すべきは毎回変わるキーだけで、ログインIDやパスワードといった情報はクライアント側には保存しなくて済みます。
この場合、ブラウザや接続元が変わるとログイン状態が切れてしまうので、明示的なログインも用意しておけば便利かと思っています。
イメージ的には、今の掲示板と似たような方式です。
日記のログがかなりたまってきました。
一応うちで使っている日記プログラムはそこそこメモリ効率の良いものなのでファイルがメモリに入りきらなくて読み書きできないということにはならないのですが、時間効率は決して良くはないのでだんだん読み書きに時間がかかるようになるのは避けられそうにありません。
月ごとにファイルを分けるなどすれば書き込み処理を高速化できるのですが、検索処理が大変なことになってしまいます。
アンパンマンDBバージョン3の管理画面のうち、データベース構造編集画面が出来上がりました。
これでやっとデータベースをいじれるスタートラインに立ったことになります。
タイトルジェネレータ直しました。
特殊パターンでしか出ない症状だったのでなかなか見つけられませんでしたが、逆に言って特殊パターンでは必ず発生するバグでした。
タイトルジェネレータは基本的に「AとB」というパターンを生成するようにできていて、名前を指定して生成すると、このAとBどちらかに指定した名前が入るようになります。
通常は多少の変則パターンでもAとB両方を使うので、バグが発現することはありません。
しかし、Aしか使わない特殊パターンというのがあって、そのときはAがパターンそのものになります。
その場合、指定した名前はBにしか入らないにもかかわらず、Bを使わずにタイトルを作るため、指定した名前が出ないという現象が起こるのです。
特殊パターンでは、Bを使わない代わりに置換パターンを使っているので、置換パターンのところにBを入れる処理を入れるようにしました。
AmazonのProduct Advertising APIを調べているけどいまだによくわかりません。
署名が必要だとかなんだとか。
とにかくまずサンプルが動かないです。
アンパンマンDBのタイトルジェネレータで名前を指定して生成するとたまに指定した名前が出ないバグがあるようです。
特殊なパターンのときにしか出ないようなので調べるのが大変そうですが、なんとか調べてみます。
group_concatをあっさり実装したので、プログラミングコーナーにあっさりと書いておきました。
昨日書いたコードに対して、バージョンチェックを入れています。
AmazonのProduct Advertising APIに登録してみたけど、いまいちよくわからんです。
XMLで何か作ってリクエストすれば何か返ってくるらしいですが、それ以前のところでわからなくなっています。
以前言っていたgroup_concatの件、あっさり実装できました。
ローカルサーバーと公開用サーバーでSQLiteのバージョンが違っていますがそのあたりも含めてさらっと書けました。
コンマ以外で区切れませんが、自分用なので気にしないことにしましょう。
参考までに、ソースです。
$step_func = create_function('&$context, $rownumber, $string', 'if (isset($string)) { if (isset($context)) $context .= \',\'; $context .= $string; } return $context;');
$finalize_func = create_function('&$context, $rownumber', 'return $context;');
$this->db->sqliteCreateAggregate('group_concat', $step_func, $finalize_func);
ちょっとSQLiteの練習もかねて参加型コンテンツのアクション通知をSQLiteのデータベースにも吐き出すようにしてみました。
まあ、そこから読み出す画面はSQLiteManagerしかないので今のところまだ実用性は0ですが。
TGWS共通のデータベース処理を作成中。
アンパンマンDBバージョン3ではエラーが起きたら自動的にデータベース構造を修正するので、データベース構造を調べたりテーブル構造をいじるプログラムを作っていました。
Wi-Fi直りました。
何もしていないのに勝手に直りました。
おそらく一時的なネットワークの不調だったのでしょうね。
Wi-Fi繋がらなくなりました。
多分無線LANの設定がおかしくなったのだと思います。
明日時間のあるときにでも直そうと思います。
アンパンマンDBバージョン3の管理画面。
こまごまとしたところばかりいじっています。
ポケモン図鑑埋め中。
GTSは実に便利なのです。
「手のひらを太陽に50周年記念CD~生きているから歌うんだ!」買いました。
普段はやなせたかしってだけで買ったりはしないのですが、アンパンマンソング関連で興味深い曲がいくつかあったので買いました。
「たましいの歌」など、いずみたく死後の曲にもかかわらずいずみたく作曲になっていた曲は、どうにもいずみたくの生前に作曲され、後にアンパンマンソングとして再録されたものだったようです。
収録されている中で特にいいなと思った曲は、「ぼくのメダカ」。
管理画面のデザインは大体できてきました。
ええ、これにロジックをねじ込むのです。
・・・・・軽く気が遠くなります。
アンパンマンDBバージョン3の管理画面作っています。
とにかくデータベース構造の編集画面を作ってしまわないことにはなかなか身動きが取れないのです。
ライモンシティでレベル40~50くらいのポケモンを使ってレベル60超の相手をやっつけて俺TUEEEEEEEEEE!!!!!するのにも飽きてきたので、ちょっと先に進めてみました。
ジムバッジを見てもらって当時の思い出に耽ったり、シロナさんと戦ったり。
ジムバッジの思い出。
トライバッジ:物理と特殊の違いがわかっておらず、ふるいたてる→なきごえ→ふるいたてる→なきごえ→ふるいたてる→なきごえで凶悪な特攻になったヤナップを相手する羽目になった。
ベーシックバッジ:ミルホッグのかたきうち。ドッコラーじゃ全く相手にならなかった。
ビートルバッジ:ビクティニ師範参戦。前回の反省から充分強くしたメンバーで臨んだらアーティさんが気の毒なほど一方的な戦いになった。
ボルトバッジ:打ち落としたらエモンガにも地面技が効くだろうと思ってイシズマイを出したらイシズマイが先に落とされた。
クエイクバッジ:オタマロ大活躍。
ジェットバッジ:誰もアクロバット使ってくれなかった。ビクティニ師範が初敗北。しかも相手はジムリーダーじゃなかった。
アイシクルバッジ:まさかこおりのいぶきが技マシンの技だとは思わなかった。
レジェンドバッジ:相手のオノノクスのドラゴンテール→当たらなかった
シロナさんとの戦闘。特別な戦いらしいので一応隠し文字。
メンバーは、ベホマン(ダイケンキ)@こうかくレンズ、マケマケ(ビクティニ)@おまもりこばん、トモダチ(ガマガル)@しんかのきせき、サンドパン@しあわせタマゴ、ガブリアス@ヤチェのみ、パルプンテ(オオスバメ)@ちからのハチマキ。ただしトモダチ、サンドパン、パルプンテはレベルの関係上ほぼ戦力外。
相手はミカルゲ、ミロカロス、ガブリアス、ウォーグル、シビルドン、ルカリオを出してきましたが、こっちはベホマンとマケマケで水タイプ以外には対抗できるので、ミロカロス以外は割りと順当に倒せました。
ミロカロス相手にまず出したのはガブリアス。しかしふぶきにより一瞬で葬られたのでした。こんなこともあろうかとヤチェのみを持たせておいたのですが、急所に当たってしまってはどうしようもありませんでした。
水タイプと戦うことを完全に諦めた構成のマケマケを出すわけには行かず仕方なくベホマンで戦っていたら、ドラゴンテールで強制交代。
強制交代で駆り出されたのはパルプンテ。本来なら勝負にならないレベル差だったのですが、幸いにしてそれまでにベホマンが追い詰めていてくれたおかげででんこうせっか一発で落とせそうな感じでした。
ところがそこでミロカロスにかいふくのくすり。ミロカロスとの勝負は再び振り出しに戻ったのでした。
結局ドラゴンテールでくるくる入れ替わりながらずっとベホマンで叩き続けたのでした。
他の連中にも軽く触れておくと、
VSミカルゲ:あまり攻撃力がなかったので相性を無視してマケマケで。
VSガブリアス:同じくガブリアスを出そうと思ったけどHPが危機的状況だったので代わりにベホマンで。
VSウォーグル:特に問題なくベホマンで。
VSシビルドン:電気を無効化するガブリアスで。地面が効かないけどそもそも地面技はじならししかもってなかった。
VSルカリオ:マケマケの持つ攻撃技すべてで弱点を突けるというちょっと気の毒なタイプ相性。もちろんマケマケで。
弟がスーパーポケモンスクランブルを買ってきていました。
私は特にやってはいないですが、ゲーム記に追加しておきました。
調子が悪いのであります…。
レーダーチャートのプログラム、汎用的な部分とTGWS独自の部分に切り分けています。
こうすればメンテナンスもしやすいし、汎用的な部分だけ配布するということもできるわけです。
PHPに、NULLにキャストする(unset)という構文があるのを知ったのですが、構文の存在意義がわかりません。
マニュアルには変数をunsetするような旨が書いてありましたが、実際にはそんなことはなく、値の評価結果がただNULLになるだけです。
ある値をNULLとして代入したい場合には意味があるかもしれませんが、「NULLとしての値」はそもそもNULLしか存在しないわけで、「ある値」なんか持ち出さなくともNULLをそのまま代入しても全く同じ結果が得られるわけです。
また、(unset)は言語構造であるがゆえに、「値」や「可変関数」のように扱うことができず、ポリモーフィズム的に値をNULLにするような使い方もできないわけです。
使い道は、果たして存在するのでしょうか。
カタカナをローマ字表記にするプログラムを作っていました。
アンパンマンDBでのページ名作成に補助的に使えそうです。
とりあえず、「完璧」より「それなり」を目指す方向性です。
アンパンマンDBバージョン3構築中。
まだまだ管理画面もできていません。
しかしここができると一気にいろいろできるようになるのです。
そろそろサーバー契約更新の時期です。
今年はアンパンマンDBの収益があるのでそこから出すことも…まあ収益は別の用途に使ってしまいましたが。
PHPでフォントを使うための自分用ライブラリ作っています。
TrueTypeとかPostScriptとか極力意識せず使えるようにできたらいいなーと思っています。
とりあえず今できているのは、フォントファイルのフルパスの取得だけです。
レーダーチャートのプログラム、軸名まで表示できるようになりました。
本当は数値も表記できればレーダーチャートとして完成なのですが、この部分は個人的事情により作る気はありません。
レーダーチャートのプログラム、軸名が表示されない以外は完成しました。
さほど高性能ではありませんが、ちゃんと補助線も引けたりします。
レーダーチャートを描くPHP作っています。
当初はレーダーチャートの画像を生成するように作っていたのですが、大きな画像の一部としてもレーダーチャートを描けるようにしたいため、画像の生成は行わずに描画だけを行うようにしました。
なんか噂になってるベテラントレーナーのタイガと戦いました。
行ったことのない場所に行こうとすると思わぬ強敵に不覚を取ったりとか、つりびとのシュンスケの具体的な教訓とかがあったので、育成中のフカマル一匹を除いてまともに戦える連中で歩いていました。
また、出現トレーナーも奥に行くに従って飛躍的に強くなっていたのでいつも以上に用心していました。
とりあえず、メンバーはダイケンキ(Lv80)、ビクティニ(Lv72)、サザンドラ(Lv68)、ガマゲロゲ(Lv52)、オオスバメ(Lv50)、フカマル(Lv38)の六匹。
こちらの先発はおまもりこばんを持たせている都合上ビクティニ。
そして相手の先発はギャラドス。
相性上は不利でしたが相手のたきのぼりをよく耐えてくれたのでそのまましねんのずつきでゴツンゴツンやって突破。
他はまあほぼタイプ相性とレベル通りに順当に。
ただ一匹詰まったのがドリュウズ。
ガマゲロゲなら弱点は突かれないので道具で耐久を積めばレベル差があっても突破できると踏んでいたのですが、ドリルライナーによる急所で一撃死。
仕方なくレベルの高いダイケンキに交代したのですが、やはり急所連発でなかなかこちらの攻撃のチャンスが来ず。
まあ、攻撃の切れ目が運命の切れ目になったわけですが。
確かに強かったのですが、ライモンシティにいたベテラントレーナーたちのバンギラスやカイリュー程には脅威になる相手はいなかったなーというのが正直な感想です。
ちなみにタイガ戦ではずっと見学だったオオスバメはその更に先にいたユリアさんのハハコモリ戦で活躍してくれました。
この二戦のおかげでフカマルも無事ガブリアスに進化しました。