@nodejs_ru

Страница 73 из 2748
Nikita
08.07.2016
09:43:55
proxy_set_header Host $http_host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-NginX-Proxy true; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_redirect off;

у меня вот так работало. тебе для ws?

KlonD90
08.07.2016
09:45:29
А как у тебя хидер зовется?

Google
Nikita
08.07.2016
09:45:30
а без nginx прокси работает?

Ilya
08.07.2016
09:46:11
X-Moz: prefetch (Mozilla), X-Purpose: preview (Safari, Opera), and X-Purpose: instant (Chrome)

Nikita
08.07.2016
09:46:56
ну офигеть)) так ты проверь без nginx

Ilya
08.07.2016
09:49:26
ну офигеть)) так ты проверь без nginx
поясни пожалуйста как по быстрому это можно проверить?

KlonD90
08.07.2016
09:49:39
console.log(req,headers)

Ilya
08.07.2016
09:51:14
блин. затупил. все верно. нет, без nginx не работает

KlonD90
08.07.2016
09:51:56
а как ты посылаешь этот хидер?

Ilya
08.07.2016
09:54:27
а как ты посылаешь этот хидер?
пока никак, по идее нужно сделать что-то такое proxy_set_header X-Purpose <variable>; так вот я не знаю как эту variable указать. Либо я что-то не так понимаю. Поясните пжлст)

в доке nginx не нашел ничего

KlonD90
08.07.2016
09:55:07
как ты клиентом посылаешь этот X-Purpose?

Сейчас для теста

Ilya
08.07.2016
09:56:50
я никак не посылаю, этот заголовок же браузер вроде прокидывает

Google
KlonD90
08.07.2016
09:58:07
эммм ну так ты пошли его лучше руками для тестов чем надеяться на браузер

Ilya
08.07.2016
09:59:03
понял, попробую. ну а как потом быть?

Максим
08.07.2016
10:02:40
А кто нибудь собирает node.js приложение в один файл на продакшене?

Vladimir
08.07.2016
10:03:40
webpack/browserify

Максим
08.07.2016
10:04:32
Серверную часть?

Ilya
08.07.2016
10:04:44
да

Paul
08.07.2016
10:04:59
зачем?

Oleg
08.07.2016
10:06:13
Aleh
08.07.2016
10:15:31
Зачем х3?

Nikita
08.07.2016
10:16:52
оптимизации через closure compiler, например

Paul
08.07.2016
10:17:51
Хм. А можно пример таких оптимизаций?

Nikita
08.07.2016
10:19:23
// foo.js module.exports = 1; // bar.js const foo = require('./foo'); if (foo) { // do something } else { // do something else } // bundle.js // do something else

для реакта 1 из советов для ускорения брать react/dist/react.min.js в продакшене с серверным рендерингм. process.env.NODE_ENV === 'production' - не самая дешевая проверка

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

Paul
08.07.2016
10:24:34
Движку на этот код в целом наплевать так-то

Aleh
08.07.2016
10:25:09
Житы всякие?

Paul
08.07.2016
10:25:09
Да и ради простейшего инлайна всё усложнять

Дык, в жите не просто так два компилятора, ага

Aleh
08.07.2016
10:25:44
Ну вот и мне так показалось)

Для клиента оно понятно, бандл уменьшим

Google
Paul
08.07.2016
10:25:58
угу

Aleh
08.07.2016
10:26:02
А для ноды не совсем

Paul
08.07.2016
10:26:13
совсем не

Paul
08.07.2016
10:26:55
Ну тут как посмотреть. Если используется какой-нибудь babel или typescript, то есть всё равно sourcemap вкручивать, то мб и есть смысл. Но если чистая нода, то хз

Aleh
08.07.2016
10:27:03
Стало ли быстрее или медленнее?

Paul
08.07.2016
10:27:37
Ставлю на то, что разница на уровне погрешности

Aleh
08.07.2016
10:28:36
Ну тут как посмотреть. Если используется какой-нибудь babel или typescript, то есть всё равно sourcemap вкручивать, то мб и есть смысл. Но если чистая нода, то хз
Так а зачем бандл собирать? В крайнем случае каждый файл отдельно закомпилить, а так require хук наверное

Paul
08.07.2016
10:29:39
Ну речь о том, что если всё равно sourcemap'ы генерить, то разница уже нет по одному файлы или в бандле. И тогда если времени сборки не жалко, впилить closure вполне можно, только я не думаю, что там разница будет хоть какая-нибудь

Nikita
08.07.2016
10:30:47
эм, я говорю вам, берем react с NODE_ENV=production и берем реакт минифицированный, без проверок вообще, получаем буст

Paul
08.07.2016
10:31:42
Пруф?

Ну не верю я, что при такой проверке, которая везде в одно и то же разворачивается, ни компилятор, ни брэнч-предиктор в процессоре не раскурят

Nikita
08.07.2016
10:32:36
она не в одно и то же разворачивается, если не ошибаюсь

env переменные вроде рантайм можно менять

это значит что там геттер, а геттеры нельзя заинлайнить

Paul
08.07.2016
10:35:48
там разве геттер, а не просто свойство?

Nikita
08.07.2016
10:35:48
https://github.com/facebook/react/issues/812

Paul
08.07.2016
10:35:57
Ну даже если так, брэнч-предиктор никто не отменял

ну окей, а где бенчмарки-то?

Nikita
08.07.2016
10:36:47
https://www.youtube.com/watch?v=PnpfGy7q96U

Google
Nikita
08.07.2016
10:36:54
доклад в тему

надо бенчмаркать свой код, а не чужой

Paul
08.07.2016
10:39:36
Ну для своего проводил?

Мне действительно интересно почему есть разница, если она есть

Nikita
08.07.2016
10:40:16
не, я верю в логику

но вот тебе бенчмарки

Paul
08.07.2016
10:49:11
Чем отличается второй и третий вызовы?

Я пока не понял на что это бенчмарк? На то, что с production оно быстрее работает? Ясен пень. Вопрос же про ускорение за счёт вырезания условий

Admin
ERROR: S client not available

KlonD90
08.07.2016
10:52:48
Ну ты дай JIT'у разогнаться

Тут же смысл с нуля тестировать особо нету

Paul
08.07.2016
10:53:32
да и нет тут теста, соб-но

Konstantin
08.07.2016
11:03:39
Кстати dom-stream не факт что будет быстрее на мелких аппах)

И еще интересно было бы все это сравнить вот с этим https://github.com/airbnb/hypernova

airbnb отказались от alt-iso в пользу этой штуки

Максим
08.07.2016
11:35:22
зачем?
Хотел не делать на слабой виртуалки npm install. Очень долго ставится и памяти не хватает. Спасате только swap.

Nikita
08.07.2016
11:51:39
1 - NODE_ENV=development

2 - NODE_ENV=production

Google
Nikita
08.07.2016
11:52:17
3 - NODE_ENV=production и react/dist/react.min

Paul
08.07.2016
11:53:52
Сколько на разогрев было выделено?

Максим
08.07.2016
12:56:08
Никита
08.07.2016
12:56:45
Он не должен параллелить установку, насколько я знаю.

Максим
08.07.2016
12:57:22
Там виртуалка 1 ядро и 1гб памяти. Выжирается полностью всяпамять и почти 1гб swap-а

Alex
08.07.2016
13:09:54
эээ

у нас воркеры на проде работают с такой конфигурацией. Правда их 4 штуки, но тем не менее

Vladimir
08.07.2016
13:10:26
в том и суть - npm отжирает очень много

Alex
08.07.2016
13:11:13
ааа, мы npm на клиенте запускаем, а потом отправляем уже собранные пакеты.

Никита
08.07.2016
13:12:55
Ой. Сюда можно код вставлять?

console.log('Hello, World!');

Yan?
08.07.2016
13:13:24
ну да)

Никита
08.07.2016
13:13:26
Только что узнал.

Случайно причём.

Yan?
08.07.2016
13:13:46
Поздравляю

Denis
08.07.2016
13:49:21
Всем привет! Для тех, кто пропустил, напоминаю - в среду, 19:00, состоится 8-й Moscow Node.js Meetup. В этот раз он пройдёт в Яндексе. Успевайте зарегистрироваться: + https://events.yandex.ru/events/yagosti/13-jul-2016/

Количество регистрации уже превысило 100 человек, поэтому Яндекс нам выделил большой зал. Это значит, мы можем позволить больше гостей. Друзья, помогите донести информацию о митапе - сделайте ретвит: + https://twitter.com/DenisIzmaylov/status/751415655056961536

Paul
08.07.2016
21:19:22
http://www.opennet.ru/opennews/art.shtml?num=44752

Paul
08.07.2016
21:20:01
Набрасываешь?

Paul
08.07.2016
21:20:10
"Ни один нормальный язык программирования не может быть логичным продолжением Си, поскольку логичное продолжение фундаментальной ошибки - это фундаментальная ошибка. Примером тому может служить язык Go - желание сделать его нормальным привело к тому, что от Си там мало что осталось. Напомню, одним из авторов Go является Кен Томпсон - автор языка Би, а, следовательно, соавтор Си. И как тогда появилась книга Кернигана и Ричи для С, так и теперь появилась книга Кернигана и Донована о Go. В отличии от многочисленных неофитов, корифеи хорошо понимают цену своему поделию, создаваемое ими под конкретные задачи в 70-х, а не на века. Сколько убийц Си всего было? Десятки, ведь. И не взлетели. Потому что они методологически создавались неверно, всякими возомнившими из себя невесть что. Страуструп создал C++, и назвал его C++. Не D, не E и не Z, а C++. Умные люди посмотрели на C++, и поняли, почему время для D ещё не пришло. Глупые не поняли, и застолбили букву D, под какую-то фигню, которая не несла в себе ничего нового, они просто слили в один флакон, всё что они в детстве слышали о языках программирования от бабушки, не имея никакой другой объединяющей идеи. Они даже не подумали о том, что Страуструп, скорее всего, знал всё, что они знают о программировании, но почему-то не включил это в язык. Им в голову не пришёл вопрос "почему так". Они просто взяли и создали язык программирования потому, что могли создать язык программирования. И все последующие "убийцы" C, включая и Go тоже, точно так же не имели никакой идеи заложенной в них. Кроме, быть может, идеи "убить C", но это деструктивная идея и потому провальная. Отсутствие конструктивной идеи — практически наверняка провал. Бывали в истории языков программирования безыдейные исключения, добившиеся популярности, но их не так уж и много. Сегодня же время пришло. C++ долго вынашивал идеи. Сильно разные идеи, которые рождались и развивались в нём: Страуструп запилил достаточно богатый на возможности язык, чтобы там можно было дрочить вприсядку так, как это описывал Александреску. И сегодня эти идеи доросли до уровня, когда они имеют самостоятельную ценность. Rust взял одну из них, и построил вокруг неё идеологию, подчинив всё развитие языка автоматическому управлению памятью в compile-time. И именно поэтому Rust имеет шансы убить Си, в то время как Go — нет. Никакие миллиарды гугла не помогут Go, потому что Go безыдеен. В силу этих миллиардов, Go, может быть, отъест себе какую-нибудь нишу, типа как это случилось с Java, но на что-либо большее ему надеятся не приходится. Rust же как раз имеет все шансы подвинуть и C, и C++. Вытеснить их не удастся в обозримом будущем, но подвинуть их — вполне. Единственное, что может ему помешать — это кривая обучения: там реально может быть сложно въехать, если не понимать что, зачем и как сделано. А без этого понимания будет невозможно написать код, который компилятор сочтёт правильным. Собственно, если посмотреть вопросы, которые задают ньюфаги, то они неплохо демонстрируют. И бесполезно сегодня ссылаться на корифеев, которые облизывают Го. Корифеи остались в прошлом, их область экспертизы где-то там. Что Керниган, что Александреску — они слишком много интеллектуальных усилий вложили в те задачи, на которых они стали известными, и судя по всему, они уже ни на что новое больше не годны. Ну, или может быть дело в том, что просто гугл им приплачивает, чтобы Го ассоциировался с их именами. PR своего рода. Что какбэ лучше всего остального говорит об отсутствии потенциала у Го: если ему нужны подпорки в виде авторитетов для того, чтобы выглядеть перспективным, то... нахрен он такой нужен?"

Страница 73 из 2748