View Code? Open in Web Editor
NEW
キャラクター保管所のクトゥルフの探索者の能力値をレーダーチャートで表示するWebサイト
Home Page: https://jiro4989.github.io/coc-radar/index.html
License: MIT License
Shell 0.15%
Nim 11.42%
JavaScript 86.51%
HTML 0.19%
CSS 1.72%
coc-radar's Introduction
![jiro4989's github stats](https://camo.githubusercontent.com/c811e5816d8fd1cec8cfe21be63c6a9524de30241d57f079781c3a94ea4e48a2/68747470733a2f2f6769746875622d726561646d652d73746174732e76657263656c2e6170702f6170693f757365726e616d653d6a69726f343938392673686f775f69636f6e733d74727565267468656d653d636f62616c74)
Key |
value |
Name |
Jiro (次郎) |
Birthday |
1995 |
Place of birth |
Japan |
Job |
SRE |
Skill (Programming) |
Go, Nim, Bash, Java, Kotlin, Python |
Skill (Cloud infra) |
AWS |
Skill (IaC) |
Terraform, CloudFormation, Ansible |
coc-radar's People
Contributors
Stargazers
Watchers
coc-radar's Issues
タグから遷移したときと表示から遷移したときとでページタイトルを変更できるようにしたい
今の所GitHubPagesのdataにしかデータがない。つまり本番のデータしかない状態。
これだとテストがやりづらいので、テスト用の環境を整備する。
2人くらいしかいないとき、0と1がほぼ同じ赤色になって判別しづらい。
カラーマップは定義してあるものの、もうちょい分散するようにしたほうがよい
今は8色しか色を用意していない。
しかしながら、8色でも分散の仕方はあるはずで、以下のように人数によって使う色を分散させたい。
- Actor1
- Actor2
これが4名のときは
- Actor1
- Actor2
- Actor3
- Actor4
という具合に。
このアプローチが可能なら、8色しか用意していなかったカラーマップを増やすことも可能なはず。
しかしながら、カラーマップの定義を今までみたいにベタ打ちで定義するとHTMLのファイルサイズが肥大化するので、
やるとするならJavaScriptで動的にカラーマップを生成する。
Bashで書いたスクリプトをJSで書き直せばいけるだろうか?
やっぱり構造化データのが好き。
それをやるならnimble publishみたいにデータ追加用のコマンドがいる。
CSVなら手書きでも平気だけれど、JSONなら手書きはしたくない。
JSONの書式チェックのスクリプトも必要になる。
デプロイの仕方も、PRがマージされたときに走るようにしないといけなかったりと、
リリースフローも考える必要がありそう。
いっそのことリポジトリを分けてしまうのもありか?
tagが2列になったことでレイアウトがずれてしまった。よくよく考えれば、タグはこれからも増え続けるしレイアウトを変更しないといけない
- サーバはclojure
- フロントは今のまま
- Databaseには探索者のデータとかをもたせる
- あと探索者のURLの登録とかもする?
この画面の右上の「New Issue」のボタンを押して
追加したい探索者ページのURLを貼り付けて貰えれば、あとは僕の方でそちらをデータに反映します。
追加したい探索者のURLは以下の2つが可能です。
- 探索者のページ
- 探索者のタグ検索のページ
(※URLは一例)
僕が対応可能な時しかデータを反映できないため、Issuesを作ってもらってから反映されるまでにタイムラグがあると思います。ご了承ください。
また、データを反映してもブラウザの履歴、キャッシュの関係で画面の表示が反映されない場合があります。
その場合は時間をおいて再度アクセスするか、キャッシュを削除してみてください。
クエリパラメータにtagを使用するアプローチは欲しいので、タグでの画面遷移自体は残したい。
しかしながら、自分の探索者を検索するのにいちいちタグを手入力するのもアホらしいので、タグを検索欄に入力するだけというアプローチが欲しい。
表示ボタンを押すと現在のタブを変更してしまうのをやめたい
能力値のほうは円グラフでいいけれど技能値は棒グラフのがよいとの意見をいただいたので。
実際そっちのがわかりやすそうなので反映する
体感で結構待たされてる感があったので動いていることを明示するために表示する
SANとかそのへんのパラメータ、そういえばなかったな
プロジェクトとしてはReactのプロジェクトなのでnimのコードはtoolsとかに移動したほうが良いかも
elmかreactみたいなモダンなフレームワークで画面を作ってみたい
idという項目のほうが短いし、こちらのほうがより自然だと考える
今はmasterブランチが更新されたタイミングでデータが更新される。
更新がない日が続くとデータが古いままになってしまうので、定期実行のタスクを組む。
毎日深夜1時くらいに開始を想定。
いちいちチェックボックス押すのめんどくさいなぁって感じた
今はすべてのURLを1つのJSONファイルに出力している。
このアプローチだとURLの数が増えたときにデータの取得が完了するのに時間がかかるようになる。
それに関係ないファイルまで取得することになってしまうので、非常に無駄が多い。
よって、必要なデータだけ取得できるようにファイルを分割する。
方針としては
- 検索ページで表示するのに必要なindex.json
- 1探索者1JSONで、URL末尾のIDをファイル名にしたxxxxxx.json
の2種類にすればファイル数が増えたとしてもある程度処理時間の延びは軽減できると考える。
index.jsonにはいま表示されているテーブルの情報のみ保持する。(tag, id, name)
探索者のJSONのファイル名はIDなので、tagからIDを導き出せるようにする必要がある。
URLクエリパラメータのtagからindex.jsonをfetchし、index.jsonからタグにマッチする探索者のidを取り出せば
探索者ID.jsonをfetchすることは可能なはず。