現在PHPで日記が更新出来る様にCGIで作られた現在とまむさんが使用しているスクリプトの中身を精査したりPHPの関数を調べたりして色々と当てはめてみる。
PHPを紹介しているサイトの大半は関数の使い方の受け売りか、「いや実際そんな使い方しないし」としか思えない様なサンプルを提示しているだけで終わるとか。
…とにかく試行錯誤。元々とまむさんはマイノリティでマジョリティの気持ちが殆ど分からないと言った性質に加えてとまむさんがこれを実現したい!と思う様な展開を
ソースまで提示してくれている様なまるで女神の様な御方、なんて言うのは本当に居ないなぁ。…みたいな事で。まぁそう言う訳で現在もあれこれ試行錯誤中。
例えば?例えば。「今日記を更新しようとして日記更新スクリプトのパスワードを入力してスクリプトを起動しました」その「起動した時点」でとまむさんのサイトに
おいてある「最新日記」…例えば今回のこの日記を更新する前の段階ではこの日記の「1つ前」の日記が最新の日記になっている。と説明すれば分かるかな。
その「起動した時点で最新の内容」を「とまむさんが予め指定した件数」表示しておきたい。…つまり「日記を書くテキストエリア」を表示した時に
「日記を更新しようとした時点で最新の日記をとまむさんが予め『何件表示しておきたい』と指定した件数も一緒に表示する」と言う機能。
この機能を実現させたい。CGIの方を見てみるとjoinとか使ってかなり力業で処理してたんだなぁ…。と思ってプチ仰天。あんまりスマートじゃないなぁ。
感覚としては「出発駅と到着駅。その両方の駅は新幹線の停車する駅で新幹線1本で素早く行く事が出来るそんな新幹線と平行している在来線でそこまで行く」
みたいな感覚。A駅からB駅までなんとか新幹線ではなくなんとか線で行く様な感覚。決して在来線の旅を否定する訳ではないんだが
「所要時間の増減に伴う移動と言う行為に対する疲労の有無」「席が確保されているのか確保されていないのか」「他人のおしゃべりがうるさいなどの気苦労の有無」
こうした内容でやっぱり多少は変わって来るよね、と。…ありえない話に近いが新幹線と在来線の運賃がほぼ同額、せいぜい30円ぐらいの違いでしかありません。
みたいな状態だったら。それでいて客数の変動は無い物とする。株主優待の様な形で全ての客がほぼ等しくその恩恵を受けられる訳では無い。
としたらどちらの路線に乗っていく?みたいな所で。「表示の高速化」「処理の高速化」「このスクリプトで今こう言う事をやっているんだと分かる内容」を
きちんと把握出来た方がいいよね。と言うのが俺の感覚なんで正直言って。…そう言う訳でそこの部分の実現。「日記を更新しようとした時点で最新の日記」を
とまむさんが指定した件数分表示しておく。と言うやり方をどうやってPHPで実現しろと言うのか!しかもスマートに高速に!みたいな事で。
PHPの関数を紹介しているサイトはこの手の応用編には向かない。…まぁいいや。ある程度腹案はあったんだが細かい所で「ちがってたー!」と言う感じの
割と試行錯誤。とまむさんはサーバーに余計な負荷を掛けるのが趣味ですか?って言うかローカルホストでやれよ。とか思われそうなんだけれども
サーバースペックよりも低いマシンを使ってたら処理とか実測と比較して相当に遅くなっちゃうでしょ。とまむさん一体何年前のマシンを使ってるんですか状態なんで。
まぁいいや。例えば最新の日記を5件表示しておきたいとする。なんだ、5件だったらそんなに件数ないじゃん。と思われそうなんだが例えばとまむさんが
今月の日記を3回しかこれまでに書いてなかったとする。と言う事は「今月分の日記:3件」を表示してはい終了。と言う訳にもいかないんですが。足りてないし。
5件表示したいのに3件しか表示されていない。…と言う事は「先月分の日記」も合わせて引っ張りだして来る必要がある。「先月分の日記:15件」だとして
「今月分の日記:3件」+「先月分の日記:15件 → その内新しい内容を2件だけ表示」 して「5件」表示する事が出来ますね。これで解決ですね。
…そんな訳がない。5件表示したいのに、例えば「今月分の日記:1件」(月初めだから殆ど書いてない)+「先月分の日記:2件」(殆どサボってた)みたいな状態に
なっていた場合には「今月+先月」でもまだ足りていない訳で。そうなると「先々月」「先先々月」「先先先々月」の様な形でどんどん過去へと遡って行く必要がある。
…そう言うスクリプトの実現。過去へと遡って行きながらも指定した件数分まで足りたらそこで遡る事は強制終了(?)の様な形でブレイクを使って止めにする。
そう言うやり方を実現する。しかもPHP5とPHP4の両方で使える記述を使って。どうして?とか聞かれたらとまむさんは無料サーバー族なんで。
有料サーバーも以前借りていた事はあるが有料サーバーの事業者の中の人としっちゃかめっちゃかになって契約終了日と同時に契約が打ち切られて
とまむさんのサイトが含まれていたサブドメインはほんの10秒ぐらい前までサイト内容が表示可能だったのに途端に接続タイムアウト扱い食らいましたおw
みたいな事もある様な感じで金銭のやりとりがあると「こう言う事業者の中の人に金かよ…」とか思って眉をひそめる様な感覚なんで。そう言う訳で無料サーバー。
そもそも有料サーバーだからと言って中身がまともとは限らない訳で。そこら辺「PHPが使えて広告がなくてPHP5に対応していて高速で〜」なんて言う
なんでもかんでもあります!みたいなサーバースペックを「無料」のそれには期待出来ないんで。何かを諦める必要がある。個人的にはそう言う印象なんで。
勿論PHP5で統一しておけば例えばサイトの更新時刻を取得する為にPHP5以降で登場した関数を使ってすぐに可能!とかも出来なくはないんだけれども
無料サーバー界隈で、広告なしでなおかつある程度高速表示が出来て「登録時に本名記入必須」「登録時に審査を行ないます」とかそう言う内容じゃない
サーバーの方がとまむさんは使っていて楽しいんで。「本名?どうしてそれを記入しないといけないんだか理解不能」「審査?一体何を審査すると言うんだ?
とまむさんは審査されるとむしろとまむさんの性格の悪さが如実になってしまうんでむしろ貸してくれませんみたいな方向へと動いていくんじゃないかのぉ?」
みたいな印象しかないんで。「無料」「広告なし」「審査とか小難しい事なし」「割と高速表示」と言うのがとまむさんの理想ではあるがそんなのは割と少ないんで。
…つまり。PHP4で未だにPHPを動かしているサーバーでも「PHPのバージョン以外は魅力的なんだよなぁ」と思う事がもしかしたらあるかもしれない。それが理由。
あぁ。広告なし広告なしって言うけど別にとまむさんは広告の表示を拒否してる訳じゃないんで。「とまむさんに合った広告」が出されないから「ない方がマシ」だと。
要するに「広告を出してくる企業が全て優良企業とは限らない」「ぐーぐるの広告とか表示してる法人のサイトを見るとなんでこんな広告出してるんだよと
思う様な広告が出ている事がある」みたいな感じ?の歴史がこの世には存在しているんで。「広告を出した側の社風」「出された広告の展開」以上の2つ。
それを自分のサイトで表示して果たして本当に役に立つのか。mixiぐらいの有名サイトでも「なんでこんな在日臭い連中の広告なんて出してるんだか」
と苦笑する様な広告が平気で出されていると言うのに?みたいな展開なんで。とまむさんは「マイノリティだから」広告の表示行為とマッチングしないんで。
じゃあどんな広告だったら出してもいいんですか?とか聞かれたら「アニメイトバイオが秋華賞で2着したらアニメイトの広告とかなら出してもいいよ(笑)」で。
そうした「あぁユーモアだな」と分かる様な広告。ときちんと明確にしておく訳だが。それととまむさんが今見てるアニメ番組を宣伝する広告なら出してもいいよ。
そう言う感じなんで。むしろ今とまむさんが使えるサーバーがある事自体が奇跡に近い。そう思っている。まぁそんな日常なんで。とにもかくにも書き書き書き書き。