今日の俺。相も変わらずのサイトを構築しているスクリプトのコードの中身を適宜修正中。「変数」「高速」「圧縮」の3つを主軸としてコーナーごとの内容を見直す。
変数:命名ルールがスクリプトを書いた時期によって目茶苦茶になっている。そこら辺の内容を「今の俺が書き直すんだったらこうする」と言う内容を頭においての
変数の書き換えそして共通化。よく使う記述内容は別ファイルで書いてそれをrequire_onceで読み込ませる事で適宜当てはめていく。そうなると別ファイルで書いた
変数とスクリプトに書いた変数か同じになると表示する際に目茶苦茶になってしまうと言う事で主にスクリプトの方を書き直す事によって衝突を防いでいる。
変数の命名ルールに関して言えばアルファベット1文字+アルファベット1文字(もしくは数字1文字)となっている。アルファベットの頭文字1文字で
例えばgだったらコンテンツを取得する為に必要な変数。と言う様な役割分担を行っている。あまり変数が長くなるのは好きじゃないんで。
変数を「handle」だとかつけるのはありきたり過ぎて「何をしている所なのか」が分からなくなると言うのがあまりじゃないんでそこら辺の性格も含めての命名ルール。
高速:各種ログファイルの表示に関する関数の使用。forではなくwhile、whileを適用するのが難しいと判断した場合にはforeachをそれぞれ使う事によって高速化。
但しループの場合は下手するとログがぶっ壊れる事があるんで「ループする際にはきちんと変数の命名がフィットしているかどうかを確認しましょう」とも書いておく。
そうして表示を高速化する。fileではなくfopenそしてfcloseの方が高速だと判断したならそちらを使って表示する。判断基準は体感速度。体感速度で判断する。
同じ様な表示でもwhileを使うかforeachを使うかでやはりそれぞれ3回ずつ、のべ6回リロードすると表示完了までの速度は若干whileの方が上回っている。
だから基本はwhileを使う訳だがどうしてもここはforeachの方がシンプルなコードでの表示が実現出来て、なおかつ表示する件数が少なくループの回数も
少なくて済む。と言う場合に限ってforeachを使った方が「コードの美しさ」に評価が高くなる。と言う内容も加味してforeachを使う事にする高速表示と言う概念。
圧縮:ログファイルを見ていて「この記述は余計な内容だな」と判断した内容は書かない事にする。必要最低限の内容をログファイルに書き込む事にする。
既存のコーナーの既存のログファイルを見て「これはいらないな」と判断した内容は削除してファイル容量が結果的には節約の方向へと向かっていく。
以上3つの概念をそれぞれのコーナーのそれぞれのコードで使って記述を改めていく様な行為の真っ最中と言う事で。中々終わらないですなぁ。
それだけ「以前のスクリプトは制作時期によって大分こんがらがっていた」と言う事での「むしろよくこれで動いていたよなぁ…」とも瞬間思ってしまう程でしたと言う事で。
…中々全然終わらないんでとりあえず8割ぐらい終わった所でずーっと家の中に居るのも違うんで外出して伊勢崎オート沙汰。まぁ多少レースを見て終了。
今日はやたらと女性の客が目立っていた。あぁあれか、「早川清太郎と行くバスツアー」は今日でしたね。参加者は胸元に参加してますのそれと分かるカードを
ぶら下げての観戦となっていた。まぁそう言う事で少しだけレースを見てまたすぐに帰宅。帰宅して歯磨きをする暇も最近は意図的に作らないとないよ?
と言うぐらいの忙しさで以てサイト表示の高速化と変数の命名ルールの見直しに伴う付けなおしの2つをメインにしてあれこれ書き換えて改造している訳ですが。
あぁ。手応えは非常に強くある。体感速度でしか分からないとは言え表示完了までの速度が速くなってなおかつコードの量が少なくなって記述の内容が簡易になる。
それはそれで非常にしっくりと来る様な展開ですね。とか思いながらも「よっしゃ!どこどこのコーナーのこの部分終わり!」みたいな事でも考えての遷移を繰り返す。
伊勢崎オートに居た時に思いついたのは「CGIからPHPへとアクセス解析も入れ換えた」「PHPの方は新規にとまむさんが書き起こした内容」と言う事での
アクセス解析が割と便利にシンプルにそして高速表示になりました。…と言うのはいいんだけれども「アクセス解析のログがこのままでは無限に溜まっていく」
と言う事を思いついた訳で。自分にとってはかなり便利に仕上がったなぁスクリプトではあるんだがどうやってログを消去するのか。その設定が存在してなかった訳で。
つまり「何日分(何回分)のログを取得するのか」「その回数以上のログが溜まった場合には削除していく」と言う内容の記述が存在していなかったので書いておく。
あまり余計な事はさせずにアクセス内容の取得の方に専念もさせたい訳なんだが…と思いながらもどうやってその方法を実現させようか?と思いながらも
じゃああれを使ってソートを使って順番を馴らしてとやるあのやり方で行いますか。と考えてある程度スクリプトを書いて書き直して書いて書き直してまぁ成功。
こう言う時には「以前の内容もバックアップとしてファイルをとっておき、数日間運用してみて特に問題がなければ以前のバックアップ的な内容は消去する」と言う事で。
自分が過去に借りてきた無料レンタルサーバーに関する整理整頓も同時に行う。理由?無料レンタルサーバーのサービス内容を省みる。広告は全然構わない。
広告を出す事は全然構わないんだが問題なのはその広告が自分にマッチしているかどうか。「俺ペンタックス使いなのにキヤノンのカメラの広告とか載せたくないよ?」
簡単に書けばそう言うベクトルによるミスマッチが嫌なだけで広告表示そのものは嫌ではないんで。あとは1ファイル辺りのサイズ制限。そう言った内容の違いなどを
見直して「このサーバーは引き続き使える」「このサーバーはちょっと使えないかな」と言う内容での判断によってアカウントの削除の有無も決めていく。