Code Monkey home page Code Monkey logo

rankprediction_web's People

Contributors

ktakahiro150397 avatar wagashimgmg avatar

Watchers

 avatar

rankprediction_web's Issues

画面表示崩れ多杉

なんかめっちゃボタン位置崩れてるので修正する

  • 各種入力フォームサイズ
  • フッターの共有ボタン
  • テキストエリア

計算ストアドのタイムアウト

ローカルでも発生する

Microsoft.Data.SqlClient.SqlException (0x80131904): Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

データ数増えてきて計算に時間がかかっているんだと思う。
タイムアウトまでに結果が返ってこないためにWeb画面では例外が発生し、エラー扱いとなる。

既定値は30秒
https://docs.microsoft.com/ja-jp/dotnet/api/system.data.idbcommand.commandtimeout?view=netframework-4.8

このエラーになるということは、計算待ち時間がめちゃめちゃに長いということになる!
ストアド側でなんとかなりません?

適当と思われるデータを弾く?

入力データが適当っぽかった場合

  • 入力結果をモデル計算のデータに含めない
  • 対象データを使った診断結果の計算のみ行う

ようにする?

共有ボタン動作

判定結果の文章と、そのサムネリンクをツイートできるようにする

  • Twitter共有リンクボタンの表示
  • モバイルデバイスの汎用共有メニューの表示

テスト環境作る

AppServiceにお金を払えないのでデプロイスロットは使えない
別サイト・同一環境で立てて、常にDevelopブランチをデプロイするようにする

[ranks]と[ranks_general]の紐付けの追加

現状ではなんも持ってなかったので対応する

対応内容

  • [ranks_to_ranks_general]みたいなテーブルを作って、[ranks]の[id]列と、[ranks_general]の[id]列の対応を保持する
  • [ranks_general]を使用している箇所を修正する

対応確定している箇所

  • Amazonのリンク表示部分

.Where(item => item.RankGeneralId == (PredictResult.RankId/4)+1)// /4+1でrankidとamazon rank_general_idを対応づけ

他言語対応

せめて英語には対応する

前準備

  • en/ja向けのresxファイルを作成する
  • ControllerのコンストラクタにIStringLocalizerを追加する
  • Controller内でカルチャを取得する
  • 取得カルチャで絞り込めるカラムをマスタテーブルに追加する
  • POCO定義変更

コーディング

  • ページごとのキーバリューを追加する
  • Viewにリソースキーを書く
  • DBContextからカルチャに一致するデータを引っ張ってくる
  • ja/en のURLルーティングを追加する

参考
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization?view=aspnetcore-2.2

再計算しない

結果が既に算出されているデータに対しては再計算しないようにする

グラフ表示データの構造

以下の場合に対応できるようにする

  • ランクごと
  • ランク(一般)ごと
  • DBに存在しないランクを0として扱う

計算結果取得処理の修正

計算結果取得処理を以下のように修正する

  • NULLの予測結果を取得しない条件を追加する
  • 複数の予測結果が存在する場合、idの降順でソートした先頭データを使用する

ゲーム数のk / m 表記対応

ゲーム数がインゲーム表記の"k"/"m"付きで入力された場合の対応

  • ゲーム数検証を正規表現で行う ( ¥d{,}[km] )
  • アルファベットに応じて定数倍
  • その値を登録

リザルト画面

リザルト画面のデザイン調整

  • いい感じに目立つデザインにする
  • ランク画像を表示する

グラフ表示

蓄積データのグラフ表示をなんかいい感じにやる

  • chart.js導入
  • グラフリンクページのヘッダー追加
  • モバイル用折りたたみメニュー追加
  • 横軸ランク・縦軸平均キル数のグラフを表示してみる

合計ゲーム数の入力

合計ゲーム数はチェックボックスを切り替えて必須かどうかを分岐する

  • チェックボックスによる表示切替制御
  • 空白の場合、定数-1をレコードに登録

ロード表示モーダル

  • データ入力完了時、レスポンスが返ってくるまでくるくるのアイコンをモーダル表示する

マッチカウントが無いときの推定エラー

マッチカウントを入れずにモデルを作っているのに、predictionでマッチカウント-1をそのまま使ってしまいエラーが出ている。
モデル生成時の教師データの次元と、推定時のテストデータの次元が一致している必要がある。

解決法として以下が思い付く。

  • prediction時にマッチカウント列をselectしない(SQLでのアプローチ)
  • predictionコード内で次元を合わせる(pythonでのアプローチ)

計算中ページの追加

データ入力後、結果の検索または計算中に表示するロードページを挟む

  • ぐるぐるアイコン
  • 名言のランダム表示
  • 結果ページへの直接アクセス時、計算ページへのリダイレクト処理
  • 計算ページへの直接アクセス時、トップページへのリダイレクト処理

広告を診断結果ごとに分ける

ブロンズなら「FPSの基本」の本
シルバーならグラボ
ゴールドならマウスパッド
...
プレデターなら高級マイク

みたいな

接続文字列の保存方法

GitGuardianに怒られているのでDBへの接続文字列をリポジトリにプッシュしないようにする

  • App Service : Azure側で暗号化して保持する
  • 開発環境 : dotnet-secretsで保持する
  • appsettings.jsonから接続文字列を削除する

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.