Fork me on GitHub
#clojure-russia
<
2015-09-03
>
pacman05:09:28

Кто и как решает проблему обновления clojurescript приложения на стороне клиента? Я так полагаю самое простое это отрубить кэширование javascript, или есть чтото получше?

delaguardo05:09:53

md5 в названии файла

delaguardo05:09:12

решает все проблемы с обновлением, добавляет только небольшую проблему с изменением ссылок на ресурсы в теле страницы

pacman06:09:36

а както через lein автоматизировать можно или в рукопашную bash скрипты писать?

pacman06:09:04

ну тобишь отдельно от lein

delaguardo06:09:28

у меня в gulpfile дописывание md5 и обновление html реализовано, но это для статики

petr.myain11:09:22

а я не сами имена файлов дополняю каким-то уникальным значением (типа md5), а в url к скрипту добавляю в конец "?<filemtime>"

delaguardo11:09:53

а какой сервер используете?

dottedmag11:09:30

mtime может меняться, а хэш - нет.

dottedmag11:09:05

Теоретически это всё должно было бы решаться ETag'ом, но практически - увы, latency ETag'ом не спасти.

delaguardo11:09:09

так в случае filemtime ведь все равно идет запрос на сервак, если я правильно механизм понимаю

dottedmag11:09:24

Нет, если в браузерном кэше есть, то не идёт.

dottedmag11:09:05

Браузеру глубоко положить на структуру пути в URL: хоть оно до ?, хоть оно после.

delaguardo11:09:24

и правда)

pacman11:09:54

По идее можно генерито в конце скрипта чтото типа ...../main.js?v=" (.time (new Date))

pacman11:09:04

или не сработает

delaguardo11:09:07

есть еще плюс у изменения названия - работа с CDN

dottedmag12:09:16

pavel_kopychenko: Не надо дату. Тогда смысл кэширования теряется, можно и Cache-Control: no-store поставить без извращений с URL'ами.

dottedmag12:09:39

Идея-то в том, что URL меняется только тогда, когда меняется содержимое, а не каждый раз, когда страницу запрашивают.

dottedmag12:09:39

delaguardo: CDN (по крайней мере MaxCDN) нормально работает с ?md5.

delaguardo12:09:44

не когда запрашивают, а когда скрипт собирается

pacman12:09:46

a вообще версию проекта из project.clj както наковырять можно?

dottedmag12:09:48

А, ну да.

delaguardo12:09:26

это конечно зависит от CDN, но абсолютно все нормально работают с filename-md5.js ) а те которые работают с filename.js?md5 еще надо искать)

pacman12:09:34

...../main.js?v=" (System/getProperty "myproject.version") )

dottedmag12:09:42

@delaguardo: Я бы не стал пользоваться CDN, который не умеет семантику HTTP/1.1

delaguardo12:09:47

чем пользоваться и чем не пользоваться во многом не от меня зависит)

delaguardo12:09:23

стоимость, наличие сертификатов, etc.

niquola13:09:04

А кто стресс тесты делал reactу и reagent || om || etc?

niquola13:09:42

Чето у меня на 1K компонентов уже подтормаживает - это норм?

delaguardo13:09:28

разовый рендер? или изменения атрибутов?

gordon13:09:16

может сильно зависеть от того, как сверстано, в хроме есть тулзы всякие для анализа. У меня вот был скрол и он тормозил даже не на тыще компонентов, на каком-то смешном количестве, реально не хватало фпс. Что-то я там поменял в верстке и скролиться стало плавно. Сейчас уже не помню ничего правда

niquola14:09:50

чатик и добавление нового сообщения к 1000 существующих

niquola14:09:02

я понимаю что лечиться виртуальным скролом - но обидно

niquola14:09:11

всеж react simple_smile

niquola14:09:39

еще вопросик - вы как с сервером общаетесь - ктонибудь типа rest over websockets делал?

gordon14:09:08

а есть необходимость? У меня в основном сообщения на сервер уходят через обычный ajax, а вот обновления с сервера уже доезжают через сокеты

niquola14:09:13

я подумал зачем двумя протоколами пользоваться

niquola14:09:23

если можно все через один канал

gordon14:09:43

можно, но у меня просто вот не весь интерфейс на реакте, но проблемы нету по большому счету. Вопрос только в том, что у обычного реста пошире применение, но все от задачи же зависит

pacman14:09:24

кто из Питера, подскажите какая там нормальная контора для хостинга VPS KVM

pacman14:09:02

имеется?

Kira Sotnikov16:09:28

pavel_kopychenko: а чо именно питер

pacman16:09:24

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

pacman16:09:32

по месту одним словом

pacman16:09:07

я сам из Казахстана, поэтому и спрашиваю

Kira Sotnikov17:09:34

Гитхаб запилил протектед бранчи

zarkone20:09:28

офигенски. Еще не хватает прав внутри приватной репы, только коллоборатора добавить можно, а только на чтение например нет

zarkone20:09:58

удаления issue не хватает

zarkone20:09:08

забаненый юзер все равно может создавать issue в твоем репозитории, если он создан не в твоем профиле, а в профиле организации

dottedmag20:09:26

А diff а-ля git diff --patience так и не сделали.