(木)10万以上あるレコードをそのままループにしてたら当然10万回...て、当たり前だけど、今日、事務所で若いプログラマさんに指摘されて目からウロコ。ある程度まとめて取り出して、ループ回数を減らせば良い、と。BYでちらっとまとめてみたら10万回のループ2000回程度になって、はっきりスピードUP。SQLの修行が全然足りませんなぁ。(火)相変わらず仮死状態の平日。あれこれ困ったもんだ。それでも、ふたたびみたびよたびで、帰宅後へろへろ状態でスクリプトいじりを再開。書き込み系にAjaxを使わないで素直にページ遷移させることにしたら、わかりやすくなった。考えなきゃいけないことが減るわけなんで、当然だ。Ajaxでデータを取ってきてコンテナに表示させるのは、使う側も気楽な感じだろうし、なにより、ページを新たに作る必要がないのでこっちもラクなんだよねえ。した閲覧表示系を追加するのにちょうどいいかも。してみたら、がくんと重くなった。以前、同じことをして格段に早くなったのは、条件を間違えていてゼロ件だったから。sqlだとページ表示まで10秒以上かかったのがperlでループの方は3秒弱。この3秒弱が遅くていらつくんでsqlを、と思って試したんだけど、よくみるとsqlの方が数倍遅いんで話はふりだしに。登録されている本の冊数をカウントするところ。9万冊超えてるし、数かぞえるだけで大変なのかなあ。...て、たかだか9万でpostgresqlが重くなるはずはない。テーブルの作り方とかインデックスとかの問題。薄い髪をかきむしってもなにもでてこないんで、件数表示はあきらめて、あるなし表示に変更。これで表示まで2秒を切った。SEOがどーしたとかUIがどーしたとかリッチな表現がどーしたとかWEB標準がどーしたとか、あれこれあるけど、webサイトって絶対にこれが正しい、なんてことはほとんどない。いつも変化するし、中には声のでかいやつの理屈だけなんてのもあるだろう。ページの表示に関しては単純で、早さは絶対。今回はある程度書き込み部分も作りながらなので遅々として進まず。(金)世間はすっかり夏休みモードなのか。電車がガラガラで親子連れも目立つ。sql一発でデータを引っ張り出すのがなにかと便利で安全、なのはよくわかる。副問い合わせが入って重くなるんだったら、そこはスクリプトを挟んだほうが良くないか、と。あいかわらずSQLとスクリプトの関係というか、よくわかってないんだよなあ。そこんとこperlで連想配列使った方が早くないか、とか、それ引っ張ってくるならSQLでしょ、とか。ここんとこウチでは脱データベース、ていうかDBを使うほどでもない量で作りも単純なテキストデータが対象。perlだけでごにょごにょしていて、気楽でいいなあ、と改めてしみじみつくづく。たいしたことをしてるわけでもないのに、意図どおりに動かない・見えないのは、perlなのかSQLなのか、Javascriptなのかcssなのか、とあれこれ絡んでめんどくさいんだよね、WEBサイトって。なんとかもっと簡単にできないものかしらん。いろんなことが面倒になってきてるような気がするのは歳のせいなのかなあ。(火)簡単なパズルで現実逃避。descてな感じでさくっと書ける、のかな。これをどうしたもんかとちょっと悩んで。...hashに放り込んでループすればイケる。$ref->{$_};}}でも、なんかダサい(死語)並べかえたい、というのはよくあることなのに、こんな書き方してしまうと、バリエーションの数だけ同じようなことを書かなきゃいけないじゃん。いえ、忘れないうちにメモっておこう。(月)もしかすると体調がおかしいのか。金曜の夜に澤乃井の原酒、シメイ、あたりをへらへら飲んでたら土曜は夕方までトイレにはりついて吐きまくる。だいたい土曜は月イチ恒例の内科で、朝は普通に医者にいって「大丈夫ですね」と聴診器を当てられて帰ってきたのだ。気分が悪くなったのはその後、昼前あたりから。気持ちも切れかけの悪寒。うーむ、いや、おもしろくないことばかり。青空所属に帰ることを真剣に考える。ECS4.0のデータをいじるスクリプトをごにょごにょ。規約を読むと、AWSの登録IDはメールアドレスに対してひとつ、てことなんで、lolipopのメールアドレスで新たにひとつ取得。稼働中の読書snsに影響したくないし。気合入れて調べるとチュートリアルもあって、パラメータもだいたい見当がつけられる。読書snsでは最低限のデータのしか使ってないんで考えることは少ないんだけど、用意されてるものをみると組み合わせが多いんで、ちょっと面倒、かな。規約によると、価格などのデータは常に最新のものを使う必要がある。キャッシュしても一時間。lolipopでmysqlにamazonから取得したデータを一時保存して、アクセスがあったらデータ取得時間をまずチェック。一時間以上前のだったらも持ってるデータを破棄して改めてamazonにデータ取得しにいく。これだけのことにハマる。mysqlのtimestampがよくわからず...。hours'てな、postgresqlでさくっとわかりやすい計算方法がでてこない。このクソ野郎が低能がと、ひととおり罵って、perlのtimelocalで計算させることにした。ついでに、ウチのポンコツサーバーから一時間毎にアクセスするようにしたのでアマゾン一時間ルールは大丈夫。これで、アマゾンへのリンクをつければ手抜きお手軽アフィリエイトサイトのいっちょあがり。なんだけど、それじゃつまらないんで、リモートショッピングカートをつけてから公開してみよう、と。手元のデータも活用できるんで、まずはハードボイルド系ミステリを中心に品揃え。自分の好きな本だけが並ぶ、ってだけで俄然おもしろくなってきたから単純な性格だ。いえ、読書snsのリニューアルが止まったんじゃ話にならんので、サイトはあっさりしあげよう。このために改めて画像を作ったりせず、手間はかけない方向で。一応タグづけはそれなりにやっておいて、サイトができたらgoogleさまに登録ぐらいはやってみる、か。アフィリエイトサイトで、まともな収入があるところなんて聞いたことがない。アフィリエイトで毎月ン万円、なんて本がにょきにょき出てる時点で、万馬券連発の馬券必勝本と同じですな。ほんと、なんだか、いろいろ調子悪いなあ。(水)今日は、突然の台風に驚きつつ、タオルや替えの靴下をカバンにいれて仕事に。駅に向かう途中、突風で傘を折られてまたびっくりだった。ここんとこずーっとかかりっきりの、あっちこっちのサイトリニューアル。ウチのポンコツサーバーの方はまだまだこれから。Primeパソコンを予備兼開発用に確保できたというの時間がまるで取れず。数日徹夜覚悟で集中しないとだめかもしれん。完全にダメなのが仕事の方。何度も完成目前でダメ出しされたんじゃやってられん。援軍を呼んでおいて難癖をつけて、ってのも見え見えで、一気にやる気を奪われてしまう。一日中起きてる間は、htmlにcssにphpにmysqlにperlにpostgresqlにjavascript三昧。それ自体はそれなりに面白くて好きだったりする。ポンコツサーバーの方は「好きなことを好きなようにやって」それが「喜んでもらえてる」ようなので楽しい。クオリティやネタもいいものになっていこうってもんだゼ。なんとかせにゃならんなあ。