2010年3月1日 at 5:39 AM Author: sged
ユーザー練習記録(グラフ)を修正。棒グラフの比率が見にくかったので、棒グラフのMAX値が49%以下=2倍、29%以下=3倍で表示するようにした。あと、ちょこちょこっと修正。実は、データベースのデータは完璧じゃない状態で作業をしているので、ユーザー記録の表示にアンマッチが起きています。そのアンマッチを「ヤバイ!!」と、勘違いして、ユーザー記録のコーディングを3時間もかかって修正してしまい、途中でデータベースの記録が正常じゃない事に気が付いた・・・そう、DBが正常じゃないので、ユーザー記録の表示がおかしいのが正常な状態なんです。まぁ、Undo で戻せたので助かりましたが~。冷や汗もんでした(笑)そろそろ、DBデータを現ランキングデータに入換えんとイカンですな。
2010年2月28日 at 5:46 AM Author: sged
最後の大仕事、ユーザー練習記録(グラフ作成)がほぼできてきました。グラフ作成に力をと思っていましたが、なんせ、送信されるデータが限られている為、当初予定していた「いろいろなグラフ」はやめました。データの変動が小さいので、意味の無いグラフになってしまう・・・かな?で、送信された記録から、トップとのタイム差、練習アベレージ、次レベル(総合レベル・タイパー別レベル)へのシミュレートなどやってみました。もちろん、シミュレーションはあくまでも目安です。総合スピードアベレージから算出してみました。が、記録到達までの差が大きいと、どうしても誤差が出るようなので、それはそれで、修正したアベレージを逆算してみました。自分的には、なかなか面白い機能だと思っていますが・・・どうでしょうか?くわしくは、またの機会で紹介します。もう眠いので・・・
2010年2月25日 at 2:39 AM Author: sged
今週は暖かい日が続きそうでなによりです。でもまだ2月・・・春と言うにはちょっと早いですな。さて、不況でまともな仕事がない状態なので、コレをチャンスと見て、今日から完全休業を宣言して、(新)タイプウェル憲法ランキングの完成を目指します。今日は先日から取り掛かっていた管理者認証の機能充実を完成させました。基本的にはユーザー機能と同じですが、パスワードはダイジェスト認証の仕様により、登録パスワードを暗号化させて保存ができないので、システムによるパスワード自動更新を組み込みました。もちろん、更新間隔は管理者が設定できる仕様にしました。簡単にできるだろうと考えていましたが・・・なかなか手強かったですねー。それから、更新したパスワードをメール添付させるのですが、こちらも、やや、ハマリかけた・・・。Zip の暗号化は外部コマンドにて、Linux コマンドを叩かせたところ、すんなりとできたのでラッキーでしたね。ポイントは、パーミッションとフルパスです。 getcwd() で、実行ディレクトリへのパスの取得ができます。さてさて、あと残りはグラフ制作のみとなりました。う~ん・・・どうやろう?なかなか良い案がうかびません・・・まぁ、とりあえずやってみるかぁー。
2010年2月22日 at 12:16 AM Author: sged
大詰めですが、グラフ作成が滞っています。グラフ表示も充実させたいのですが、送信されるデータは限られています。その限られたデータでどこまでできるか?なかなか難しいです。なので、あまり現状と変わらないかもしれませんね・・・。でも、グラフ表示は Flash での表示となりますので、今と比べると格段に見やすくなるハズです。さて、今週末は管理者用の機能の充実を行いました。認証データを DB へ保存する為の専用データベースの作成。パスワードの自動更新発行。管理者の権限発行などなど、かなり本格的に作りこみました。パスワードの自動発行後は、その情報をどうやって管理ユーザーへ通知するか?やっぱりメールでの通知になりますが、パスワード情報は暗号化圧縮ファイルを考えています。が、PHP Zip関数では暗号化の関数がありませんので、PHP 外部コマンドを使って、暗号化圧縮をやってみようと思います。さて、うまくいくでしょうか~?
2010年2月16日 at 12:14 AM Author: sged
なかなか思うように行かないグラフ作成を後回しにして、いままで作ったスクリプトを修正・機能追加して、完成度を高めました。初めの頃にコーディングした内容も、自分のスキルが上がると、「ああ~、こうすればいいのかっ!!」っと、修正箇所もたくさんありましたね。そこで、ユーザー名閲覧用に検索機能を追加してみた。現ユーザー名閲覧用も検索機能がありますが、「あいまい検索」を PHPやMySQL で、どう実現するか?やっぱり、データ取得時に SQL 関数を使って、無駄なく処理させたいと思いましたが・・・MySQL では正規表現が使えなかったり、2バイト文字(日本語)処理が???だったりと、ちょいと初心者には難しそうだったので、取得したデータを PHP+正規表現で処理させようと思いました。が、なんと!便利な関数がありましたねー。「similar_text関数」これ一発であいまい検索が簡単にできました。日本語もまずまずかな?でも、???なところもありますが、まぁ、良しとします。(くわしくはこちら)新ランキング完成度の進捗度は90%ってところでしょうか?そろそろ仕事がなくなりそうなので(不況でまともな仕事がないんです・・・)来週あたり完全休業して、最後の追い込みに入ろうかと思っています。予定通り完成しそうですね。乞うご期待!!
2010年2月13日 at 4:55 PM Author: sged
大筋のランキング処理スクリプトは完成したので、毎日自分でタイプウェル憲法を叩いて記録の更新テストを行っていますが、どうしても、CheckNO ではねられてしまいます。それも、1週間毎日・・・(泣)もちろん、エラーがでた時は、原因を調査して修正を施し、問題が解決したのを確認しているのですが、毎日毎日違うパターンで認証が通りません。CGI(Perl) では特に問題にならなかったのですが、PHP では、小数点を含む計算が単純にできない!? PHP 初心者にはよくわからない仕様ですな。より精度の高い計算を行う為に、「任意精度数学関数 = BC Math 関数」があるそうなのですが、コレを使用する為には、別途インストールをしなければなりません。現在契約のレンタルサーバーで phpinfo で確認したところ・・・インストールされていない = BC Math 関数は使えない。残念。まぁ、仕方がないので、初期計算のみ gmb 関数でデータを取得して、あとは、1桁 = 1文字として処理させる事にしました。for() ループのオンパレードですな。これで、1週間分の記録更新を行いましたが、問題なく ChecNO 認証が通るようになりました。メデタシメデタシ~(笑)
2010年2月7日 at 5:29 PM Author: sged
ランキング閲覧用 HTML が完成です。現 GANGAS サイト仕様を統一しています。なかなかいい感じで仕上がりましたね。公開が楽しみです。ランキングデータは古いデータを使用していますので、現在のランキングデータと異なります。
2010年2月3日 at 12:01 AM Author: sged
ユーザー練習成果と、ランキング全体の記録詳細に使用する予定のグラフ生成作業に本格的に取り掛かりはじめました。いろいろなグラフ生成ライブラリを試しましたが、チュートリアルにサンプル画像を使用してある、「PHP/SWF」を使用する方向で進めています。英文は分からないが、チュートリアルの英文と画像を比較する事で、大体の設定方法が分かります。それができれば、後はトライ&エラーで設定を進めていく。また、データ・設定ファイルが PHP 書式なので、PHP開発で使うには、当たり前ですが簡単にデータ処理ができます。もちろん XML ファイルでもいいのかもしれませんが、まぁ、初心者なので、PHP には、PHPって事で。 実際にサンプルデータでグラフを書いてみました。なかなかいい感じでできますな。PHP/SWF も、ちょいとコツをつかめば、とっても楽チン(笑)
2010年1月28日 at 12:05 AM Author: sged
今日は久しぶりに会社を休んだ。我が会社は現在も新規物件は無く、休業中だ。もうすぐで休業状態が1年にもなる・・・大変だー。さて、今日は朝からブッ通しでコーディングした。少々疲れたが、何とかランキング閲覧用 HTML の試作ができた。HTML デザインは勝手に許可無く、本家 GANGAS サイトと同じデザインにしました。やっぱり同じにしなくちゃいけないでしょ?って事で、勝手に進めました。これで、大枠は完成ですな。あと残りは・・・グラフ作成。amCharts はいいんだけど、ドキュメントが英語で、ドキュメントにサンプル画像がないのには・・・さっぱりパリパリで、どうやって作っていいのか・・・うまくいきません。う~ん、これはちょっと困ったぞー。
2010年1月25日 at 11:48 PM Author: sged
膨大な数の既存ランキングデータは、当然専用のスクリプトを作って処理させます。先日、これまた膨大なユーザーデータ処理スクリプトを作ったので、この処理のあとに、ユーザー記録の最高データのみを引っこ抜いて、その取得したデータをカテゴリー別ランキングデータ専用DBへ保存させます。仕事をしながらの作業なので、なかなか思うように進みませんが、家に帰ってできるだけスムーズな作業ができるよう、会社で、ある程度の内容をメモメモしておきます。そう・・・大きな声では言えませんが、仕事中に構想を練っておきます・・・そんなこんなで、今日はスムーズな作業ができ、期待通りの処理ができました。明日明後日あたりは、今日登録したランキングデータを HTML へ出力させるスクリプトを作りましょう。おおっ!大詰めですなぁ~!!あっ、でも、グラフ処理がまだか・・・。