「アルゴリズム?」って人には本日の日記はありません

おはこんばんちわ。黙々とデータ登録・・・やるわけねぇだろ、管理人・なぎです。

ここで言うデータ登録ってのは、サイト引越しの件での大量の日記のDB登録作業ね。

いやね、作業全体をサボってたわけじゃないのよ? ただあまりにも膨大でしょ?

だからこれを単純に黙々とコピペしてたらキリがないと思いましてね。

せっかくプログラミング言語学んだんだから、どうにかして作業の効率化を図ろうと。

最初はJava使って登録を楽にするアプリケーションを作ろうかと考えていたんですが、

結局膨大な量をコピペすることに変わりはないなってことで却下。

もっと楽な方法はないだろうかと考えた末、結局PHPとSQLを駆使しようと決断。

これなら、ダッと登録作業を打ち込んで実行すりゃ一瞬で勝手にやってくれるし。

何よりも素晴らしいのは、そのプログラムが再利用可能だっていうことでね。

万が一今の自鯖から引越し先の鯖にDB移行する時に移行不可能、或いは消えたとしても、

もう一度実行するだけでズラーっとほらこの通りと。素晴らしいじゃないかね。

てなわけで、そんな素敵プログラムを作ろうと本日から一大プロジェクトを決行。

プロジェクトコードは「D○RAEM○N」 わぁ、なんて便利そうなんざましょ(爆死

とりあえず最初にどういう流れ作業を希望してるのか私の脳内に聞いてみまして。

ソースを置換しまくって登録する原本だけにしておき、それをどうにか登録したいと。

で、まずはその明らかに面倒な設計を無視してできる日付登録から。

コイツは基本、登録処理をループさせて終値を各月別で振り分けるだけなんでね。

一行にまとめて簡潔に言いましたが、これだってやるとなれば結構面倒な作業。

日付は勿論、曜日計算なんかも入ってるんで、それなりに厄介っちゃ厄介。

ただ、載せるようなもんじゃないので、どんだけ無駄な処理をやってようが関係なく。

とにかくこのプログラムで楽に登録作業が進むならそれでおkってことよね。

そんなわけで1時間半、270行にも及ぶ膨大な計算式が完成。うん、アホだね。

一応これで正常に1800日以上もあるデータが一瞬で登録されるんですが、何より長い。

長い理由もね、分かってるんだ。まとめられる所まとめきれていないんだよ・・・。

で、自分のポリシーに反するってことで結局やらなくてもいいのに最適化。

そして最終的に50行に抑えることに成功しました。いやホント、頑張ったと思うよ?

そんで今、この打ち込んだプログラムをよくよく見てみると、あることに気付く。

――これ、作ろうと思ってたカレンダーに使えるんじゃないか?

なんか月単位の日数計算、曜日計算等々私の設計してたカレンダーの軸ができてるし。

あとはこれをちょちょいと改良加えれば意外とあっさり作れそうな気がするぞww

・・・てことで、思わぬ収穫もあった日付登録作業。お次は1年目の日記登録作業。

置換に置換を重ね、なんとか原本だけ取り出せるとこまでやるのが一番面倒。

最終的に置換できないところは手作業だからね。予想通り、えっらい時間食ったわ。

で、問題はこの取り出した原本をどうやって登録しようかってとこなんですが。

最初はそのままダイレクトに変数にぶち込んで登録ってのをズラッと処理させたんですが。

悪くはないんだけど、スマートじゃねぇなぁってことで。またどうでもいいプライドが。

しかもこの日記の山、日付の降順でソートされてるから、真逆に登録されるんよ。

一応データベース上でソートかけりゃなんとでもなるんだけどさ。なんか嫌じゃん?

このまま突っ走ることもできるんだけどさ、全部登録した後の事を考えると。

運用開始後はもちろん日付の昇順でソートされるわけだからさ・・・ねぇ?

9・8・7・6・5と登録した後から急に1・2・3・・・と登録していきたくないじゃん?

つーことでまた考える。結果、変数じゃなく配列にぶち込もうという結論に。

配列にぶち込んで、最後尾からループして登録させりゃ昇順で入ってくれるだろうと。

で、それをやって見事1年目のデータ登録が完了しちゃいましたよww

ちなみに、かなりスムーズに流れてるように見えて当然間には色々ありましたよ。

最初なんて300日ちょいのデータを手作業で入力したからね。あれは死ねた。

その後コピペミスで抜けた日のデータ発見してそこから1日ずつずらす作業やったり。

最終的にどこがずれてどこがずれてないのか分からなくなったので、消しましたw

やっぱね、アナログじゃこうなるよなってことを改めて実感しましたよorz

他にも全件入力したはずが所々穴が開いててなんじゃこりゃって事態も発生し。

結局タグ中のシングル、ダブルクォーテーションが色々問題起こしてるって気付き、

全てのクォーテーションをエスケープさせて最終的にSQLインジェクション対策まで。

・・・うん、分かってる。製作者側の苦労なんて分かってもらえるわけがないってのは。

「日本語でおk」とか思ってるよね。分かってるよ、分かった上で放置してんだ(銃声

久々に長い日記書いてると思ったらこれだもん、参っちゃうよねまったく。

まぁそんなわけで、とりあえず現在2年目の日記の原本抽出作業を終えたトコ。

2年目以降はまた厄介なタイトルが入るからね。今「タイトル(改行)本文」ってなってる。

コイツを今度はどうやって登録して行こうかしらねぇ・・・。

多分また配列になるだろうけど、問題はどう配列に入れるかだよね。

けどまぁ、明日には平然と4~5年目の日記に突入してそうだ。

コメント

  1. 壁|A ・)癖の域になるよね…

    • ずっと集中しっぱなし

error: Content is protected !!
タイトルとURLをコピーしました