Size: a a a

Clojure — русскоговорящее сообщество

2020 May 23

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
В общем-то, перезапуск кода делается в cider разными комбинация клавиш, например, выполнить отдельное выражение или весь буфер.
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
А для систем хватает пары фукций start/stop, чтобы перезапустить компоненты.
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
Ivan Grishaev
В общем-то, перезапуск кода делается в cider разными комбинация клавиш, например, выполнить отдельное выражение или весь буфер.
да, собственно так и делаю. cider прикольный
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
У меня довольно бредовая идея. Поделитесь мнением, пожалуйста.
Речь о тестировании через браузер.
Мне не нравится идея запускать еще один процес -chrome headless.
Я бы хотел управиться одной jvm.
Есть graalvm. И если запускать сначала jvm, то можно выполнять код на js.
НО. это просто js, даже не node. Т.е. тут нет event loop, setTimeout, require и прочего.
Есть проекты вроде jsdom, которые дают dom api. Да, там не сделаешь скриншот и оно не все поддерживает.
И идея в том, чтобы на java/clojure сдедать event loop, fetch и прочее и прокинуть это в js, для запуска jsdom.
Таким образом получится "браузер" для тестирования с clojure api.

Кому-то интересно иметь такое?
источник

ИФ

Иван Федоров... in Clojure — русскоговорящее сообщество
Special K
Не подскажешь, какой утилитой запись сделана?
Ага, стандартная маковская
источник

A

Artem in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
У меня довольно бредовая идея. Поделитесь мнением, пожалуйста.
Речь о тестировании через браузер.
Мне не нравится идея запускать еще один процес -chrome headless.
Я бы хотел управиться одной jvm.
Есть graalvm. И если запускать сначала jvm, то можно выполнять код на js.
НО. это просто js, даже не node. Т.е. тут нет event loop, setTimeout, require и прочего.
Есть проекты вроде jsdom, которые дают dom api. Да, там не сделаешь скриншот и оно не все поддерживает.
И идея в том, чтобы на java/clojure сдедать event loop, fetch и прочее и прокинуть это в js, для запуска jsdom.
Таким образом получится "браузер" для тестирования с clojure api.

Кому-то интересно иметь такое?
один процесс выглядит проще
источник

A

Artem in Clojure — русскоговорящее сообщество
решения два увеличить количество ядер на компе или вынести на отдельный сервер эту задачу
источник

A

Artem in Clojure — русскоговорящее сообщество
да и если юзать браузер для тестов, то это e2e тесты по факту получается и там не знаешь что завтра в твоем аппе будет и придется для своих кейсов дописывать решение описанное выше
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Это по сути свой хедлес-браузер написать? Мне кажется, неподъемная задача для одного человека. Будет работать только на примитивных примерах. Был такой phantom.js и закрылся, потому что сложность зашкаливает и багов миллион.
источник

ИФ

Иван Федоров... in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
У меня довольно бредовая идея. Поделитесь мнением, пожалуйста.
Речь о тестировании через браузер.
Мне не нравится идея запускать еще один процес -chrome headless.
Я бы хотел управиться одной jvm.
Есть graalvm. И если запускать сначала jvm, то можно выполнять код на js.
НО. это просто js, даже не node. Т.е. тут нет event loop, setTimeout, require и прочего.
Есть проекты вроде jsdom, которые дают dom api. Да, там не сделаешь скриншот и оно не все поддерживает.
И идея в том, чтобы на java/clojure сдедать event loop, fetch и прочее и прокинуть это в js, для запуска jsdom.
Таким образом получится "браузер" для тестирования с clojure api.

Кому-то интересно иметь такое?
Не поднимайте эту тему. Вы молодые, вам всё смешно.
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Кроме того, сайт это комбинация технологий: js, dom, css, xpath, etc. Как все это одному человеку написать не представляю.
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Наоборот, хедлес-браузер дает все больше удобных апих, чтобы рулить им и видеть реальный результат, а не всевдо-имитацию.
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Ivan Grishaev
Кроме того, сайт это комбинация технологий: js, dom, css, xpath, etc. Как все это одному человеку написать не представляю.
повторюсь, есть jsdom для тестирования dom https://github.com/jsdom/jsdom
там нет css, там нельзя распечатать в pdf, нельзя сделать скриншот
но можно работать с dom - кликать, смотреть что поменяется

сделать вроде как нужно не очень много, не нужно делать весь nodejs на java
нужен event loop, fetch и еще несколько api

Из интересного, можно, например сделать реализацию fetch, которая ходит напрямую в ring без поднятия сервера
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Ivan Grishaev
Это по сути свой хедлес-браузер написать? Мне кажется, неподъемная задача для одного человека. Будет работать только на примитивных примерах. Был такой phantom.js и закрылся, потому что сложность зашкаливает и багов миллион.
фантом - это прямо браузер. jsdom - это только dom
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
да все можно сделать, вопрос какой ценой и с какой целью.
источник

АБ

Артур Бадр in Clojure — русскоговорящее сообщество
Иван, а у тебя статьи по вебу на блоге идут на чистом языке или используются сторонние библиотеки. Я просто ищу про веб на кложе, т.е. это как веб на руби, но без рельс)
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Артур Бадр
Иван, а у тебя статьи по вебу на блоге идут на чистом языке или используются сторонние библиотеки. Я просто ищу про веб на кложе, т.е. это как веб на руби, но без рельс)
Посмотри книжку Сотникова Web development with Clojure
источник

ИФ

Иван Федоров... in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
повторюсь, есть jsdom для тестирования dom https://github.com/jsdom/jsdom
там нет css, там нельзя распечатать в pdf, нельзя сделать скриншот
но можно работать с dom - кликать, смотреть что поменяется

сделать вроде как нужно не очень много, не нужно делать весь nodejs на java
нужен event loop, fetch и еще несколько api

Из интересного, можно, например сделать реализацию fetch, которая ходит напрямую в ring без поднятия сервера
Я бы на реддите ещё спросил, там саб про кложуру, или на clojureverse
источник
2020 May 24

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Артур Бадр
Иван, а у тебя статьи по вебу на блоге идут на чистом языке или используются сторонние библиотеки. Я просто ищу про веб на кложе, т.е. это как веб на руби, но без рельс)
Ну, там и то, и другое. Сначала на чистом языке, потом добавляются библиотеки
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
А кто нибудь пользовался graphql и вот этой штукой com.walmartlabs/lacinia ? Можете что сказать хорошего?
источник