Giter Club home page Giter Club logo

cuiportfolio's Introduction

cuiportfolio's People

Contributors

atria64 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

t13801206

cuiportfolio's Issues

初期状態でEnterキーを押すと何かが認識される

どのような不具合を確認しましたか?

何も入力されていないのにEnterを押下すると認識される

不具合発生時のスクリーンショット

image

不具合の発生手順

1.起動する
2.Enterキーを押下する

本来どのような動作が望ましいか

なにも動作しないこと

発生したときの環境

  • PC
  • Win10
  • GoogleChrome

WorksのJSON化

欲しい機能はどのようなものか(必須)

helpみたいにworksもjsonで読み込みたい。

なぜその機能がほしいのか(必須)

きれいだから…

実装方法

#18 にならう

Helpコマンドの自動化

欲しい機能はどのようなものか(必須)

atria $ help
{commandNames} -> {commandDiscription}
...

みたいな

なぜその機能がほしいのか(必須)

いちいち手打ちはエグい
メンテナンス性皆無すぎる

実装方法

  • JSONファイルを作成する
  • JSONファイルを読み込んでCommandのListを格納するCommandManagerを作る
  • HelpコマンドはCommandManagerにアクセスして情報を取ってくる

コマンドハイライト機能のリフレッシュができていない

どのような不具合を確認しましたか?

コマンド入力後、ハイライトされたままになっている。

不具合発生時のスクリーンショット

image

不具合の発生手順

  1. コマンドを入力する
  2. そのまま何も操作しなければ発生

本来どのような動作が望ましいか

規定のテキストの色(白)になる

発生したときの環境

  • PC
  • Windows10
  • GoogleChrome

カラー設定の保存

欲しい機能はどのようなものか(必須)

changecolor などで変更したカラー情報を localstorage に保存し適用してほしい

なぜその機能がほしいのか(必須)

毎回変更するのが面倒なため

実装方法

参考URL/資料

起動時に自動で help を打ってほしい

欲しい機能はどのようなものか(必須)

起動アニメーション終了後自動で help を打った画面を表示したい

なぜその機能がほしいのか(必須)

起動した後どう操作すればよいのか、一見わからないため

実装方法

helpをステータスとして渡したコンポーネントを配置すればワンチャンありそう

参考URL/資料

worksの絞り込みオプション

欲しい機能はどのようなものか(必須)

works cs でC#製のものを絞り込めるようなもの
works jsでJavaScript製を絞り込める

なぜその機能がほしいのか(必須)

きっとカッコイイから…

実装方法

LINQ使って抽出(Where)

計算量の削減

概要

以下の実装だとなにか更新があるたびに ''@SetCommand''などが呼ばれている。
List<string> consoleに入力を格納し、随時レンダリングするという方式を取る以上大きな計算量の削減は難しそう。

@foreach (string item in console.ToList())
{
    @if (commands.Contains(item.Split(' ')[0]))
    {
        @*コマンド入力時*@
        <div class="console">
            <span style="color:@Setting.NameColor">atria </span>
            <span style="color:@Setting.DollarMarkColor">$</span>
            <span style="color:@Setting.CommandColor">@item</span>
        </div>
        <div class="console">
            @*ここにコマンド出力*@
            @SetCommand(item)
        </div>
    }
    else
    {
        @*コマンド以外入力時*@
        <div class="console">
            <span style="color:@Setting.NameColor">atria </span>
            <span style="color:@Setting.DollarMarkColor">$</span>
            @if (item == "")
            {
                @*入力バー(最終行のみ)*@
                <span><input id="commandLine" style="color:@inputColor" autocomplete="off" maxlength="50" type="url" @bind="inputV" @onkeyup="NextLine" @bind:event="oninput" /></span>
            }
            else
            {
                <span style="color:white">@item</span>

                @if (item != "")
                {
                    <div>
                        <span style="color:white">@item : Unknown Command. Recommend "help".</span>
                    </div>
                }
            }
        </div>
    }
}

考えられる対策

  • キー入力などの動作に対してはChangeColorWithCommand();しか動作させない(余計な再レンダリングを防止する)
  • Consoleの設計を変える(重い)

コマンドまわり

コマンドにインターフェースとかいろいろ使って安全化したい。

コンソールの待ち状態を作成する

欲しい機能はどのようなものか(必須)

コンソール(つまり atria $ |)が表示されない状態

なぜその機能がほしいのか(必須)

コマンド入力後インタラクティブなものを表示させたいときに使うため。
ロード後のアニメーションを作成するため。

実装方法

  • 一部JSのInvokeを無効化する必要があると思う(await JSRuntime.InvokeVoidAsync("focusCommandLine");)

HTTP Error 502.5 - Process Failure

どのような不具合を確認しましたか?

デバッグビルド時にHTTP Error 502.5 - Process Failureが発生した

不具合発生時のスクリーンショット

image

不具合の発生手順

デバッグビルドする

入力を与えるコマンドの実装

欲しい機能はどのようなものか(必須)

cd hoge

urlcolor hoge ( #7 )
みたいなやつ

なぜその機能がほしいのか(必須)

これがないと実装できる機能の幅が狭いから

実装方法

<hoge status = ""></hoge>みたいな感じでパラメータを与える形を取り、のちの処理はコマンド(Razorファイル)側で処理する
index.razor側で基本コマンドの処理は行わない
コマンドの認識処理ははsplitつかってよしなに実装

info の強力化

欲しい機能はどのようなものか(必須)

infoでどのバージョンのものが動いているかを把握できるようにしたい。

具体的には こんな感じ

なぜその機能がほしいのか(必須)

バグを報告する際に情報量が少ない

実装方法

参考URL/資料

カラーテンプレートコマンド

欲しい機能はどのようなものか(必須)

#7 に付随。
カラー設定のテンプレートを適用できるもの。
テンプレートはこちら側で提供する。

なぜその機能がほしいのか(必須)

いちいち一つ一つ適用するのは面倒なため

実装方法

  • カラーテンプレートに沿って #7 を内部的に呼び出せば良い
  • カラーテンプレートを呼び出すコマンドを用意する

カラーチェンジコマンド

欲しい機能はどのようなものか(必須)

atria/hogeの色や $ の色、コマンド認識時の色などを設定できるようにしたい

なぜその機能がほしいのか(必須)

色変えれたら面白いかなと考えた

実装方法

  • ローカルストレージの用意(Js絡む)
  • コマンドの実装(重め)
  • 設定を参照して色をセットするようにする

ディレクトリ構造の概念の追加

欲しい機能はどのようなものか(必須)

cdworks に移動し ls を叩くと現在登録されているworksのコマンド一覧が出るようなもの

なぜその機能がほしいのか(必須)

lscd を打ちたい!

実装方法

大規模改修になるためよく考えなければならない。
開発を進める場合はfeatureブランチを切って、リリース時にはメジャーバージョンを上げる。

changecolorが即時反映されない

どのような不具合を確認しましたか?

#7 においてコマンドの結果が即時反映されず、なにかアクションを起こすとやっと反映される

不具合発生時のスクリーンショット

image

BioのAgeを自動更新したい

欲しい機能はどのようなものか(必須)

SSIA

なぜその機能がほしいのか(必須)

いちいち手作業で変えたくない

実装方法

参考URL/資料

TypeScriptを噛ませてみたい

概要

JavaScriptをTypeScriptに置き換える

理由

どうせならJavaScript部分もTypeScriptにして型のあるプログラミングがしたい

考えられる影響

CIファイルも書き換えないといけないかもしれない(TSはコンパイルが必要なため)(するととたんに面倒に感じる)

方法

  • .ts に書き換える
  • Microsoft.TypeScript.MSBuildパッケージのインストール
  • .csprojファイルの編集

参考文献

Getting Started with TypeScript for JSInterop in Blazor

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.