@nodejs_ru

Страница 47 из 2748
Nikolay добряш
20.06.2016
11:25:29
Чет я вроде как думал его ассерт заменяет

Andrey
20.06.2016
11:25:31
throw в функции все так же убивает оптимизацию ?

Yan?
20.06.2016
11:25:53
Вероятно где-то тут близко ответ на мой вопрос

throw в функции все так же убивает оптимизацию ?

Google
Nikolay добряш
20.06.2016
11:26:13
Посоны

Поясните мне за го

Пришел на сопеседование

Компетентный чел полил ноду и монгу говном

С ног до головы

Монгу то ладно

А вот ноду то за что

Roman
20.06.2016
11:26:48
не

так

Nikolay добряш
20.06.2016
11:26:52
Назвал всего одну килер фичу

Roman
20.06.2016
11:26:54
пиши

Nikolay добряш
20.06.2016
11:27:17
Еще один спидврайт хейтер

Vladimir
20.06.2016
11:27:32
не throw убивает оптимизации

Google
KlonD90
20.06.2016
11:27:37
А где asyncawait есть? Модулями какими-то поверх?

Nikolay добряш
20.06.2016
11:27:37
Которая типа пишеш один код на сервере и на клиенте

Но это ж миф

Vladimir
20.06.2016
11:27:42
а try … catch

Yan?
20.06.2016
11:27:47
ну тут все-таки с каждым днем нас все более дохуя поэтому придется по одному сообщению все же писать

Nikolay добряш
20.06.2016
11:27:53
а try … catch
А без этого какжить вообще

Vladimir
20.06.2016
11:28:27
отдавать функции данные так, чтобы она не падала например

KlonD90
20.06.2016
11:28:28
go > nodejs очевидно

Andrey
20.06.2016
11:28:41
а try … catch
точно, перепутал

А без этого какжить вообще
сделал функцию врапер, где try ..catch

Nikolay добряш
20.06.2016
11:29:27
Так а что она врапит? Возникновение ошибки?

Vladimir
20.06.2016
11:29:41
https://github.com/petkaantonov/bluebird/wiki/Optimization-killers

плюс на русском http://frontender.info/optimization-killers/

Nikolay добряш
20.06.2016
11:30:30
Тогда такой вопрос

Какие таски можно вешать на ноду а какие нет

Alexey
20.06.2016
11:31:15
в целом, если это не касается тяжелых вычислений, то нода вполне ок

Nikolay добряш
20.06.2016
11:31:40
Yan?
20.06.2016
11:31:47
@sullenor Тяжелых это какие порядки?

Roman
20.06.2016
11:31:56
а try … catch
есть кейсы, например подгрузить вероятно отсутствующий модуль дешевле так, чем проверять fs-ом сначала

Alexey
20.06.2016
11:32:00
например 40mb данных замаппить раз 5

Google
Alexey
20.06.2016
11:32:13
а по факту считать над

Nikolay добряш
20.06.2016
11:32:39
например 40mb данных замаппить раз 5
Лучше на го сделать этот функционал а как потом его с нодой связать? Сокеты или процесс форк?

Alexey
20.06.2016
11:33:04
когда ты загружаешь процесс, он перестает отвечать на внешние запросы. В результате можно просесть по RPS, так как пока воркер занят, на новый запрос будет отвечать следующий и т.п.

пока не закончатся

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

https://events.yandex.ru/lib/talks/1502/

Vladimir
20.06.2016
11:34:52
для меня основная проблема в throw - отсутствие статической типизации

Alexey
20.06.2016
11:34:59
там разбирают как event loop работает в nodejs

не очень понятно как связана статическая типизация с throw

да и по сути в самом языке ее нет

Vladimir
20.06.2016
11:37:19
Естественно, проблема в том, что она теоретически невозможна

Alexey
20.06.2016
11:37:27
ну да

круто же

Vladimir
20.06.2016
11:37:47
очень круто, когда throw null прилетает

а у тебя e.stack в лог идет

Alexey
20.06.2016
11:38:31
ну так проверь вначале, что у тебя ошибка является инстансом Error

и кидай

Vladimir
20.06.2016
11:39:04
ну также и про аргументы можно сказать, проверяй в каждой функции каждый аргумент

и все ок

Alexey
20.06.2016
11:39:29
я просто не понимаю, какой смысл кидать не Error через throw

Google
Alexey
20.06.2016
11:39:41
стактрейс пропадет, согласен

скорее всего в каком-то месте не обрабатываешь ошибку корректно

Vladimir
20.06.2016
11:40:47
Проблема даже не в этом, на это можно и забить

Но рассчитывать можно максимум на Error

Нельзя рассчитывать что тебе прилетит MyCoolError с набором интересных свойств

Так там может быть и ReferenceError, и SyntaxError, и вообще что угодно

Alexey
20.06.2016
11:42:22
да, может

но ты их всегда можешь разделить

последние чаще всего линтеры отлавливают на этапе разработки

и тесты

хотя не всегда

Roman
20.06.2016
11:43:26
Используй flow, async-await, комбинируй классы и функции
да, вот тут линтеры забыли еще написать

Vladimir
20.06.2016
11:43:39
ну это само собой

Denis
20.06.2016
12:30:17
https://keylocation.sg/our-tech/debugging-nodejs-in-docker-using-node-inspector

trump ? trump ? hillary
20.06.2016
13:33:20
help Request path contains unescaped character

Evgeny
20.06.2016
13:33:49
ну помоги ему сбежать, будь мужиком

trump ? trump ? hillary
20.06.2016
13:34:03
как?

я не знаю какое экранизирование тут нужно

Artur
20.06.2016
13:40:09
Экранизация романа encodeURI :)

Google
trump ? trump ? hillary
20.06.2016
13:40:33
оно не работает

было encodeURIComponent сначала, тоже не работало

поменял на просто encodeURI - тоже самое

код https://github.com/alexu84/bing-translate/blob/master/lib/bing-translate.js

Artur
20.06.2016
13:47:05
А полный стэк ошибки есть?

А то не понятно куда там смотреть

trump ? trump ? hillary
20.06.2016
13:48:25
лол

я сейчас попробовал в REPL запустить

и заработало

ага, узнал, что оно из-за пробелов не работает

Artur
20.06.2016
13:53:46
encodeURIComponent вроде должен его в %20 преобразовывать.

Или там где-то недоэйскейпил?

trump ? trump ? hillary
20.06.2016
13:54:29
я не знаю

надо посмотреть на строку которая выходит после экранизации

а, все логично

проблема с регекспом ?

Artur
20.06.2016
14:04:34
Казалось бы, при чем здесь кодировка урлов)

Никита
20.06.2016
14:49:41
@iamstarkov Optimization killers несколько протух, надо бы поправить.

А что перевод на русский будут поддерживать в актуальном состоянии — я вообще сомневаюсь.

Никита
20.06.2016
14:52:30
Вывод первого же куска кода давно поменялся.

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