ICB's Diary - 2nd style -

ポップンサイト「Formula」の管理人ICBの日常を綴るページ
ポプスキル改修中
しっかりしたものにするべく、必死にポプスキル改修中なのですが、
最初の設計が甘かったことなどもあり、かなり苦戦中です…

設計書だの仕様書だの書くのってものすごく面倒ですが、
書かないと後から困ることがあるっていういい例ですね('A`)


そもそも、最初に作ったときはSmartyが使えるということを知らなかったため、
HTMLファイル上にPHPのコードを埋め込むという、
とんでもない方法でコーディングしていたのですが、
実はSmarty使えますよっていうことに気付いて、元々のソースを活かす形で改修。
(※この時点でかなりソースが汚い)


で、今回いろいろと手を加えて行っていたら、あっちを直せばこっちがダメで…
こっちを直せばあっちがダメで…

という感じで埒が明かなくなってきたので、構成を思いっきり変えてみました。

まぁどこにでもあるような典型的なMVCモデルに沿って、フレームワーク的なところから実装しただけなんですがw

その骨組み部分を完成させるまでに結構時間使ってしまったんですが、
そこが出来上がってからは比較的スムーズですね。


あとは、ユーザー検索や曲検索の部分で、ロジックを大幅に見直し、検索効率を数倍にアップ。
特に曲検索に至っては、検索にかかる時間が10分の1程度にまで落ちたような気がします。

で、これだけレスポンス早ければ動的に結果表示しちゃっても大丈夫だろうと踏んで、
検索周りを全部Ajax化して、インクリメンタルサーチ風にしてみました。


機能としては7割くらい実装が完了していると思うので、もう少しですかね…
あとは途中で止まってたCSSをもっとしっかり書いて、デザイン面もどうにかしたいかなー、と。

そして最大の問題が、ポップン17、ポップン18の曲データの追加と、
ポップン16以前の曲のデータ更新…

何気にこの部分が一番大変な気がしてなりません(;´Д`)
どうにか一括で更新がかけられるような管理ツールも作らないと…
現状、毎回DBに対してSQL投げて更新しているという状態ですからねぇ。

ポップン18のイベント隠しが全部出終わるまでには完成させたいなと考えているのですが…
誰かにコーディング手伝ってもらわないと無理な気がしてきました(←

というわけで、まだまだ頑張ってみます・゚・(ノ∀`)・゚・
| comments(0) | trackbacks(0) | 製作 | 23:00 | Formula(ポップン動画サイト)
ポプスキル更新状況
作業が進んだので報告です。

CSSの整理がほぼ終了しました。
ちょこちょこと修正する箇所はまだあると思いますが、
おおまかなレイアウトは現状でFixということにします。

IE7とFirefox3でしか確認していませんが、恐らくどちらともスタイル崩れはないはず…
というかDOC TYPE宣言でHTML4.01 Strict指定してるので、そうそう崩れる事はないと思いたい。
IE5.5以前に関しては、さすがにサポートする気はないですw


あと、自動バックアップの仕組みが完成しました。
データベースの中身を出力するAPIを作成して、
そのAPIを、毎日AM4:00にCORESERVER側に用意したcronで叩くという形です。

APIはIP制限+簡単ではありますが一応パスワード的なものもかけて、
CORESERVERのIPアドレスかつパスワードが一致するホスト以外からの
アクセスに対してはエラーを返すように設定してあるので、
外部にデータが漏れることはないはず。

CORESERVER側では、バックアップは直近3日分だけ保存するようにしました。
データが増えてきたときにどれくらい容量食うのか確認して、
あまり問題がないと判断した場合は、もう少し増やそうかなと考えています。



とりあえず、変更点はそんなところかな?
今更なんですが、FAQ的なページと、専用の掲示板も作った方が良さげですね。
これは来週中になんとかなればいいかなー?
| comments(0) | trackbacks(0) | 製作 | 23:00 | Formula(ポップン動画サイト)
ポプスキル作業ログ
ポプスキルに改修入れました。
β版公開後の改修は作業ログ残しておこうと思います。

とりあえず本日行った改修をリストアップ

【1】PHP4→PHP5
 サーバー側の設定を変更して、PHP5にバージョンアップしました。
 これに伴い、ソースも変更が必要かと思われましたが、そのままで動きました。

【2】Smartyのinclude先が…
 たぶんPHP5への変更に伴い、ロリポ側が設定し忘れてる予感…
 「require_once "smarty/Smarty.class.php";」これだとエラーになります。
 フルパスで指定してあげると無事読み込めました。

【3】sessionの設定が…
 恐らくこれもロリポ側の設定し忘れ…
 session_start関数を呼び出す前に、session_save_path関数を呼ぶ必要あり。

【4】曲検索時のバグを発見→修正
 普通にバグありました。
 ライバルのデータも一緒に検索する際、ライバルデータの欄に
 自分のデータが表示されていたっぽいですが、正常になりました。

【5】ユーザー登録時のバグを発見→修正
 これも普通にバグありました。
 カードネームとユーザー名が逆に登録される現象が発生していました。
 SQL発行する際に、パラメーターの順序をミスっていたのが原因という凡ミス。
 修正して正常に登録されるようになりました。

【6】ユーザー検索画面でホームページへのリンクを追加
 検索結果にホームページへのリンクを表示するようにしました。
 もちろんURLを登録していない人には何も出ません。
 Liuさんのホームページは当然404ですw

【7】CSSだいぶ変更
 レイアウト確認のために、今までは余分な枠線を
 表示しっぱなしにしていましたが、今回、大部分を非表示にしました。
 あとは、文字サイズがバラバラだったのを、なるべく統一するよう変更。
 まだ一部ページではCSSの変更が追いついていません。

【8】曲データ登録時のGREAT判定に対応
 今までは何気にCOOL判定でしかデータが入力できなかったのですが、
 GREAT判定でも入力できるようにしました。
 もしかしたらバグがあるかも…?

【9】ログ取れるようにしました
 デバッグ用に、アプリケーションログ取れるようにしました。
 が、ログ吐くようになっている部分が少ないため、
 現時点ではほぼ意味を成していませんw
 必要箇所には随時ログを吐くよう、ソースを修正していきます。

【10】ログディレクトリにアクセス制限
 ロリポはopenbase_dirより上の階層のディレクトリを触る事ができないので、
 必然的にログもopenbase_dir以下の階層に置かざるを得ません。(たぶん)
 なので、もしパスがバレるとログを丸々見られてしまうことになるので、
 ログディレクトリには.htaccessでアクセス制限かけました。


こんなもんかなー?


12:00 追記

【11】必要箇所にログを吐く処理の追加
 ログを取っておくべきであると思われる部分については、
 ログファイルにログを吐く処理を追加しました。

【12】クッキーの有効時間を延長
 以前はサーバー側で30分くらいに固定されていたっぽくて、
 すぐにログイン状態が消えてしまっていたと思うのですが、
 PHP5へのバージョンアップに伴い、session_cache_expire関数が期待通りに
 働くようになったので、有効時間を4時間に設定しました。



あとは自動でバックアップを取る処理が作れたらいいんですけどね…
ロリポじゃcron動かないからなぁ…
バックアップを取るAPIを作っておいて、CORESERVERの方からcronでAPIを叩くというのが一番現実的なのかな?

残された作業は、曲データの追加、バックアップの自動化、CSS修正くらいかなぁ
曲データの追加が一番単純であり、かつ一番面倒だったりしますね(死
スキルレベル考えるのダルイんですよ(´Д`)(←
| comments(0) | trackbacks(0) | 製作 | 06:00 | Formula(ポップン動画サイト)
本当に長らくお待たせしました
9月完成予定だったはずのポプスキルシステムですが、
つい先程、ようやく全機能の実装が完了しました!

残された作業は、
1.CSSの整理やデザイン等、直接的にシステムに関わらない見た目の部分
2.曲データとスキルレベルの設定作業

この2つだけかな?
とりあえず、ユーザー登録、ユーザー検索もできるようになったので、
誰でも機能は一通り触れるはず…

とりあえず、明らかにバグだと思われるバグだけに限らず、
バグの可能性がある箇所についてもどんどん報告してもらえるとありがたいです。



と、ここまで書いて、まだ作業が残されていることに気付く…
バグやトラブルが発生した場合に原因を突き止めるために、
誰がいつどういう操作を行ったかのログを記録しておかないといけないわけですが、
今のところまだログを記録することができていません。
とりあえずこれはそのうちやっとかないとなぁー

あとはDBのバックアップを自動で取るプログラムの作成もしないと…
さすがに手作業でバックアップとなると面倒なので自動化します。そのうちw

| comments(3) | trackbacks(0) | 製作 | 23:00 | Formula(ポップン動画サイト)
いい加減マズイな
ポプスキルの開発が遅々として進んでいませんが、
どこまで作って、次に何を作るべきで、どのようなロジックで実装するのかということがもう頭の中に残っていない状態になってしまいました…

もう1回ソースを一通り見直さないととんでもないことになりそうだなぁ…

見直す時間くらいなら気合いで捻出できそうですしね。
| comments(0) | trackbacks(0) | 製作 | 23:00 | Formula(ポップン動画サイト)
多忙につき開発ストップ
ここ最近仕事やら何やらが忙しくて全然ポプスキルの開発の方に手が回りません_| ̄|○
早いところ完成させたいんですけどねぇ…

予定より1ヶ月近く遅れることになりそうですが、もうしばらくお待ちください('`
| comments(2) | trackbacks(0) | 製作 | 23:00 | Formula(ポップン動画サイト)
現状報告
とりあえずここまで完成しました。
今まで別ディレクトリで作業していたのですが、
ある程度動くものにはなったので、こっちに全部移してきました。

ポプスキル


見た目的にはほとんど変わってないような気もしますがねw
一応アクティブライバルの変更機能は付けてみました。
説明なしだと、ものすごいわかり辛い&使い辛いような気がしますが
まぁ今のところこれで我慢してくださいww
そのうちきっと改善されると思います(ぁ
この方法以外で何かいい方法があるという方は是非ご提案をw

今できることは、
・ログイン・ログアウト
・楽曲の検索
・リザルトデータの登録・更新・削除
・ライバルの登録・削除
・アクティブライバルの変更
・ユーザー情報の編集

こんなもんかな?
とりあえず今ユーザー検索の部分を作りかけてるところです。
そこができたら、次は新規ユーザー登録ができるようにしますかね。
そこまで完成したら今みたいにいちいちσ(・ω・*)に言わなくても勝手にアカウント作れるようになるんでテストもしやすい気がしますしねw
というか、アカウント作る作業なんて20秒くらいで済むんで、ちょっとでも興味がある人は遠慮なく言ってくださいw

あと作らないといけない機能は、ランキング的なものと、管理者用のページかな?
スキルレベルの一括変更とか、不正なデータの削除とか。
まぁその辺は後回しでも十分なんでゆっくり作っていきますかね。

あとはFAQ的なものも少しずつ用意しておいた方がいいのかなぁ〜?
正直、一番めんどくさい(←
| comments(2) | trackbacks(0) | 製作 | 23:00 | Formula(ポップン動画サイト)
緊急事態発生
ロリポップではSmartyが使えないとばかり思っていましたが、
改めてよく調べてみたらどうやら使えるらしいことが判明しました。

require_once "Smarty.class.php";

と書かなければならない所を

require_once "Smarty.php";

と書いてしまっていたのが原因だったっぽい(ぁ
そりゃファイルオープンに失敗しますわな(死


というわけで、Smartyが使えるなら全部Smarty対応に書き換えないといけないわけで…
慌てて今まで作ったプログラムを全部Smarty対応に修正中です。

もうコアな部分はかなり完成に近づいていっていたので、
この段階からの修正作業は正直かなりキツイです(;´Д`)


というわけで、現時点でライバル登録関係のところまでは完成していますが、
一旦進捗は止まります。

その代わり、Smartyが使えるようになれば作業が比較的スムーズに進みやすくなるので、修正が完了してしまえば、予定よりも効率のいい開発ができるのではないかと予想しています。

ですので、数日お待ちください(´ω`)
| comments(0) | trackbacks(0) | 製作 | 23:00 | Formula(ポップン動画サイト)
やっぱり不便だなー
現在の仕様上、どうしてもアクティブライバルは1人までしか設定できないのですが、
やっぱり実際に使うとなると、いちいちアクティブライバルを切り替えないと
データが見られないっていうのは不便ですよねぇ…

でも、2人以上になると、検索結果とかの画面で明らかに横が入りきらないんですよね。
ポップアップ的な何かで対処できればいいんだろうけど、やっぱり一覧として表示された方がわかりやすいしなぁ('A`
| comments(0) | trackbacks(0) | 製作 | 23:00 | Formula(ポップン動画サイト)
ポブスキルあれこれ
ただダラダラと開発していっても効率がよろしくないので、ある程度のスケジュールは組んでおいた方がいいだろうな、ということで。
まぁリスケの可能性はかなり高いとは思いますがね。

とりあえず、コンスタントに毎日3時間の連続した開発時間が確保できるという前提でスケジュール組んでみます。

8/24(日) リザルト登録周りの実装(済)
8/25(月) ユーザー情報編集画面作成
8/26(火) ユーザー情報編集内部ロジック実装
8/27(水) ライバル機能実装
8/28(木) 予備日(バグ潰し)
8/29(金) ユーザー検索画面作成
8/30(土) ユーザー検索内部ロジック実装
8/31(日) 新規ユーザー登録画面作成・実装
9/ 1(月) 予備日(バグ潰し)
9/ 2(火) ランキング機能実装
9/ 3(水) CSS改修
9/ 4(木) CSS改修
9/ 5(金) β版公開


余裕をもったスケジュールにしてみましたが、現状十分な開発時間が確保できていないので、スケジュール通りに進む保証はありません。


既にリザルトの登録ができる状態にまではなりましたが、ぶるさんに軽く触ってもらっただけでバグが4つ程見つかりました。(既に全部改修済み)
そんな感じでどんどんバグが見つかると思われるので、一応予備日はとってありますが、どうなるか不安ですね…
ちなみに、現時点ではリザルトデータは適当に入れまくってください。
基本的にスコアとBAD数と何かあと1つ入力するか、スコア以外を入力すれば大丈夫だと思います。
スキルポイント600以上になるとたぶんネームカラーが変わります。


さて、曲データもだいぶ増えてきて、レベル41〜43の59曲が揃いました。(漏れがあったら教えてください)
実際に触っていただければわかると思いますが、検索がかなり重くなってきています。
なので、全曲検索はあまりオススメしません。なるべく情報を絞って検索してみてください。


それから、今感じている問題点。

データ入力後どうしよう問題(謎
戻るボタンは使えないし、かといってまた検索からやり直すのも少々面倒だし…
検索結果画面まで戻れれば便利だろうけど、検索条件を4画面くらい先の画面まで裏で保持しとくのはあんまり良くないなぁとか思ったり。

あとはクッキーの保持期間。
どうもサーバー側で、自由にいじれない設定になってるっぽい…
12時間くらいはログイン状態を維持しておきたいんですけどねぇ…
DBにログインテーブル用意しておけば可能なんですが、セッション関数使った方が楽ですしね。

あとはデータのバックアップどうしようかな、というところ。
1日1回くらいで問題ないですよね?自動実行プログラムって組んだことがないので、正直どういう風に作ればいいのか根本的にわかってなかったりするのですが(死

毎日最初のアクセスがあった時点でバックアップを実行してバックアップ完了フラグを立てるとかでいいのだろうか…
データ量増えたらバックアップにかなりの時間がかかりそうなので、運悪く最初のアクセスを踏んでしまった人はなかなか画面が表示されないという問題が…
| comments(3) | trackbacks(0) | 製作 | 23:00 | Formula(ポップン動画サイト)
CALENDAR
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
<< July 2017 >>
SELECTED ENTRIES
CATEGORIES
ARCHIVES
RECENT COMMENT
LINKS
jubeat
Rilakkuma
PROFILE
OTHERS