Dmitrii
11.05.2016
22:49:40
ну тогда редис :)
Denis
12.05.2016
01:47:50
https://github.com/petkaantonov/nodeperf
Кто уже поиграл с http://strapi.io/ ?
Denis
12.05.2016
20:35:58
Интересная задумка, поддерживаются сервисы на ноде и гоу
https://github.com/leveros/leveros
https://blog.leveros.com/introducing-lever-os-d10a857f210e#.d8iiphqcl
Google
Denis
12.05.2016
22:53:07
Скоро можно встраивать сервисы в USB-светильники
wow https://wicg.github.io/webusb/
Из чата @react_js
Кстати, господа, вот я давно хожу с мыслью, что надо два отдельных сервера: UI (рендера) и отдельно API (ну и еще пара вспомогательных для запуска фоновых процессов). Так вот вопрос, кто еще такой подход использует и как вы это все скрещиваете?
Я про это в докладах осенью и говорил. Мы клиентам делаем с микросервисной архитектурой. Пример сейчас проект - за nginx на разных роутах:
+ Корневой роут - Front-end Server (HTML Renderer)
+ Отдельный роут - микро-сервис на Golang, OSS решение для обработки и отдачи изображений
+ Отдельный роут - микро-сервис на C++, OSS решение для обработки данных
+ Отдельный роут - микро-сервис на Node.js для агрегации данных, оркестрации и балансировки внешних сервисов
Слайд 46: http://www.slideshare.net/denisizmaylov/isomorphic-react-applications-performance-and-scalability
Dmitrii
13.05.2016
15:03:20
главное именно nginx или что-то подобное на входе иметь
и не проксировать все через node
Denis
13.05.2016
15:04:25
Я так делал ещё в 2002м :) У меня тогда MySQL отвечал за данные, PHP за HTML, Apache за статику
Node.js это memory leak да :)
Dmitrii
13.05.2016
15:12:22
@DenisIzmaylov хорошая презентация :)
я помню мы react.min.js запаковали и он нам больше результатов дал
Google
Dmitrii
13.05.2016
15:13:41
и на удивление, когда стримили SSR респонс с сервера, иногда это получалось быстрее чем полный CSR с ServiseWorkers
потомучто SW одним чанком пытались сбросить весь лейаут :)
Vladimir
13.05.2016
15:14:09
> и не проксировать все через node
это уже не микросервисы
dimchez
13.05.2016
15:14:21
Dmitrii
13.05.2016
15:15:13
потом скрипты и все дела
потом лейаут, и пото отдельно json blob с данными
Denis
13.05.2016
15:16:18
Это называется Progressive Rendering
Dmitrii
13.05.2016
15:16:23
ага
Denis
13.05.2016
15:16:35
dimchez
13.05.2016
15:18:58
Ага, спасибо. Так и планирую реализовывать - отдавать частями
И части эти может на отдельных нодах ещё рендерить
Dmitrii
13.05.2016
15:20:37
они обычно в секвенции идут всеравно
и параллельность не спасет
иначе бы можно было весь кусок сразу флашить и было бы 20ms :)
Denis
13.05.2016
15:21:03
LinkedIn рендерит на сервере только первый-второй скролл экрана, остальное уже с браузера догружается
Facebook только верхний Bluebar
Dmitrii
13.05.2016
15:24:05
facebook половину сайта рендерит на сервере :)
Denis
13.05.2016
15:26:36
view-source:https://www.facebook.com/
Google
Denis
13.05.2016
15:26:40
вообще-то нет :)
Dmitrii
13.05.2016
15:26:53
ну оно не на реакте к сожалению
Denis
13.05.2016
15:27:00
Да
BigPipe
Dmitrii
13.05.2016
15:27:18
если xhr посмотришь
там половина маркапа приходит с html
потом он инжектица
Denis
13.05.2016
15:28:01
Это да :)
Nikita
13.05.2016
15:28:57
так basecamp вроде еще делает
оптимизация под мобильники)
Denis
13.05.2016
15:29:45
А есть ссылка на их пост об этом?
или это исследования?
Dmitrii
13.05.2016
15:43:40
https://signalvnoise.com/posts/3112-how-basecamp-next-got-to-be-so-damn-fast-without-using-much-client-side-ui
я когда с рельс уходил, у них там в новой версии были какие то фишки.. где ты мог на сервере кусок haml/erb отрендерить и отправить через xhr
Nikita
13.05.2016
15:46:20
просто на мобилке ресурсов меньше, virtual dom там держать - не комильфо
Denis
13.05.2016
16:06:33
Крутой проект)
https://github.com/open-source-society/computer-science
Константин
13.05.2016
18:01:45
В этом примере как раз https://github.com/erikras/react-redux-universal-hot-example - 1 сервер для ssr на node и 2й для api.
anoru
13.05.2016
18:20:46
https://github.com/anorudes/redux-easy-boilerplate
тут тоже) (самопиар, да)
Google
anoru
13.05.2016
18:21:42
@DenisIzmaylov а видео есть к презентации?
я помню, что видел его вроде (или там другое было?), но сейчас что-то не находится)
Denis
13.05.2016
18:28:14
https://www.youtube.com/watch?v=PbK5xLmS0MU
anoru
13.05.2016
18:28:36
да, точно. Спасибо большое
Kanat
13.05.2016
18:45:56
Denis
13.05.2016
19:29:12
https://kev.inburke.com/kevin/node-require-is-dog-slow/
Dmitrii
13.05.2016
20:00:42
Denis
13.05.2016
20:00:48
=)
Dmitrii
13.05.2016
20:01:03
пришлось свою имплементацию писать
Denis
13.05.2016
20:18:04
Я чё то уже не удивелн)
Vladimir
13.05.2016
21:14:38
так проблема не в имплентации, а в алгоритме
Denis
14.05.2016
15:44:19
вот кстати да
это часть продукта, бизнес-логики
Kanat
14.05.2016
15:46:12
//Initialise some variables.
var angle = 0;
//Called when application is started.
function OnStart()
{
//Create a layout with objects vertically centered.
lay = app.CreateLayout( "Linear", "VCenter,FillXY" );
//Create a frame layout so we can put one image over another.
layFrame = app.CreateLayout( "Frame", "" );
//Create first image.
img = app.CreateImage( "/Sys/Img/Droid1.png", 0.5, -1 );
layFrame.AddChild( img );
//Create second image.
img = app.CreateImage( "/Sys/Img/Hello.png", 0.5, -1 );
img.Scale( 0.3, 0.3 );
img.Move( 0, 0.15 );
layFrame.AddChild( img );
//Add layouts to app.
lay.AddChild( layFrame );
app.AddLayout( lay );
//Start timer to rotate top image.
setInterval( "RotateImage()", 10 );
}
function RotateImage( ev )
{
img.Rotate( angle );
angle += 3;
}
На android
droidscript слышали?
Denis
14.05.2016
15:46:49
Я думал это Golang
Kanat
14.05.2016
15:46:57
JavaScript
Denis
14.05.2016
15:47:16
если бы не setInterval - не узнал бы
Google
Kanat
14.05.2016
15:47:30
Denis
14.05.2016
15:48:06
базовое соглашение - UpperCamelCase для конструкторов, lowerCamelCase для методов и функций
Golang придерживается стиля Pascal
Delphi