Code Monkey home page Code Monkey logo

kgenprog-online-demo's People

Contributors

shinsuke-mat avatar tt-kuma avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kgenprog-online-demo's Issues

/api/statusが機能していない

ws実装前は

GET /api/status/$key

でkgpのstdoutを取得していた.
現在は全てwsで処理しているため↑を呼び出すと生のjsonが表示される.
image

Export機能の追加

Downloadボタンを押したらローカルでkgpを実行するためのzipを返す.

└─┬ xxx.zip
  ├── src
  ├── test
  ├── kgp.toml
  ├── run.sh
  └── kgp.jar

kgp.jarをzipに入れるのは重いので代替案があれば変更.

kgpデフォルトパラメタの見直し

demoである & セキュリティ的にまずい,
の2つの理由からkdemoの実行パラメタはシビアに設定している.
max1分, 10世代

当然,修正能力に強い制約が生まれてしまっている.

どうあるべきか?

Dockerfileのリファクタリング

現状
機能的には全く問題ない.
とりあえず動くだけできれいじゃない.

todo
現状のdockerfileをgitに設置する.
run.shbuild.sh
FROM も考える
dockerのプラクティスに従って「良い」dockerfileにする.

kgp実行中にwsが閉じると落ちる

Repairボタンを押してからkgpの実行が終了するまでにリロード,ページを閉じる等の操作でwsが閉じられるとkdemoが落ちる.

原因

wsが閉じられた後もkgpが終了せずstdoutを送り続けようとするため.

kgpパラメタ設定を可能に

初期todoの★2つのタスク

GUIからパラメタを設定可能にすべき.
フロントエンド,バックエンド両方の更新が必要.

WebSocketの導入

現状
ajaxによるpolling形式(200ms更新,地獄).
これをrealtimeにやりたい.
front/back両方の修正が必要.

実装の方針
wsブランチから始めるべき
kgpのstdoutの更新がある度に,wsのデータ送信 & ファイル追記をする.

  1. 現状のkdemoのフロントエンドにws周りの機能を追加する
    (現状のpollingは残す,wsの結果はbrowser-consoleに吐き出す)
  2. それが動くようにバックエンドを更新する
  3. フロントエンドのpolling削除して,wsをkdemo-consoleに吐き出す

おいおい決めること(仮決定)

  • wsのendpoint ws://kdemo/{key}
  • wsのデータ構造 {stdout: "xx\n"}

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.