Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Хочу помочь #1

Open
PROPHESSOR opened this issue Apr 15, 2018 · 38 comments
Open

Хочу помочь #1

PROPHESSOR opened this issue Apr 15, 2018 · 38 comments

Comments

@PROPHESSOR
Copy link
Collaborator

Можешь дать доступ, плс?

@purplesyringa
Copy link
Member

Ой, конечно. Немного завис, чинил brainfuck.

@PROPHESSOR
Copy link
Collaborator Author

??)

@purplesyringa
Copy link
Member

Отправил приглашение.

@purplesyringa
Copy link
Member

Есть небольшая проблема с реализацией. Пока не понятно, как читать программу. Same origin все ломает - не работает на локальных файлах.

@purplesyringa purplesyringa reopened this Apr 15, 2018
@purplesyringa
Copy link
Member

Можно запулить локальный NodeJS сервер (http+websocket), который будет тупо проксировать результат в браузер, а выполнять на сервере.

@PROPHESSOR
Copy link
Collaborator Author

В каком смысле "читать программу"?

@PROPHESSOR
Copy link
Collaborator Author

Аа

@PROPHESSOR
Copy link
Collaborator Author

Ну смотри... Пока давай без сервера...
Механизм выполнения можно посмотреть в https://github.com/PROPHESSOR/JsOS/tree/master/js/service/appman

@PROPHESSOR
Copy link
Collaborator Author

Чисто подключить некий program.js файл
Когда будет готова база - можно будет делать node сервер с watch функцией и т.п.

@purplesyringa
Copy link
Member

purplesyringa commented Apr 15, 2018

Не понятно все равно. Нужно переопределять require, а без чтения файла не получится. Сервер запилить можно быстро.

@PROPHESSOR
Copy link
Collaborator Author

PROPHESSOR commented Apr 15, 2018

А, ну это да... require... Проблема есть...
На вскидку 2 идеи:

  1. Делать отладчик на node
  2. Делать отладчик на node и отправлять в браузер по сокетам

@purplesyringa
Copy link
Member

Кстати, что такое $$?

@PROPHESSOR
Copy link
Collaborator Author

$$ - глобальная переменная (объект), куда монтируются все модули, что бы можно было получить к ним доступ из любого места

@PROPHESSOR
Copy link
Collaborator Author

Предлагаю пока сделать верстку... Как раз будет время, что бы подумать над реализацией

@purplesyringa
Copy link
Member

Сделал сервер HTTP, остался WebSocket.

@purplesyringa
Copy link
Member

purplesyringa commented Apr 15, 2018

@PROPHESSOR Где-то есть стандартный цвета консоли в RGB? Чтобы было похоже на JsOS.

@PROPHESSOR
Copy link
Collaborator Author

@imachug да, в graphics-mode есть палитра

@PROPHESSOR
Copy link
Collaborator Author

@imachug Upgrade Required

@purplesyringa
Copy link
Member

Странно. Старая версия?

@PROPHESSOR
Copy link
Collaborator Author

@imachug старая версия чего? Только что склонировал, Chrome последний, node последняя LTS

@purplesyringa
Copy link
Member

Где Upgrade Required?

@purplesyringa
Copy link
Member

$ node .
Listening on port 2968

Открываю в браузере gui/index.html. Вписываю 2968.

Сейчас работаю над тем, чтобы обойтись без того, чтобы самому вписывать порт.

@purplesyringa
Copy link
Member

Сделал запуск без gui/index.html. Теперь просто node . открывает браузер.

@PROPHESSOR
Copy link
Collaborator Author

@imachug в браузере

@PROPHESSOR
Copy link
Collaborator Author

Эх... Мы одновременно сделали открытие браузера и задание порта...

@purplesyringa
Copy link
Member

В консоли? Можно скриншот? (и стектрейс)

@PROPHESSOR
Copy link
Collaborator Author

@imachug со скриншотом на гитхабе проблемы...
Сейчас исправлю конфликты (если что, git revert)

@PROPHESSOR
Copy link
Collaborator Author

В общем, получается полная ерунда...
Вместо инструмента для простой отладки, получился инструмент для демонстрации консоли через вебсокеты...

@PROPHESSOR
Copy link
Collaborator Author

Можно оформить это изобретение в виде JsOS пакета для демонстрации экрана и начинать сначала...

@purplesyringa
Copy link
Member

В виде пакета? JsOS же websocket не поймет.

@PROPHESSOR
Copy link
Collaborator Author

@imachug На сколько я вижу, сокеты используют стандартные платформо-независимые библиотеки...
Так что, по-идее, на JsOS должно запуститься

@purplesyringa
Copy link
Member

Это конечно хорошо, но во внешний мир как пробросить?

@PROPHESSOR
Copy link
Collaborator Author

PROPHESSOR commented Apr 15, 2018

Это, as far as I know, было сделано ещё в runtime.js

@purplesyringa
Copy link
Member

Видимо, придется сделать фиксированный порт.

@purplesyringa
Copy link
Member

Можно будет сделать нормальный debug, есть пробросить ошибки в браузер из Node.JS.

@PROPHESSOR
Copy link
Collaborator Author

Ну это да... Но в идеале нужно достать исходники node debug protocol...
Что бы можно было в chrome (about:inspect) отлаживать, как ноду

@purplesyringa
Copy link
Member

2018-04-16_07-42-44

Вроде нормально отлаживается.

@PROPHESSOR
Copy link
Collaborator Author

Точно! Не подумал

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants