Size: a a a

Node.js — русскоговорящее сообщество

2020 April 28

NN

Nikita Nesterchuk in Node.js — русскоговорящее сообщество
Только сейчас domains, которые также встречаются в статье сейчас deprecated, так что на них не обращай внимания.
источник

IK

Iliya Kobaliya in Node.js — русскоговорящее сообщество
Nikita Nesterchuk
Почитай эту статью, тут неплохо описывается различие между операционными ошибками и собственно - ошибками программиста, и как нужно поступать в этих случаях. https://www.joyent.com/node-js/production/design/errors
Спасибо)
источник

IK

Iliya Kobaliya in Node.js — русскоговорящее сообщество
Ребят,на оф сайте express для работы с postgres  используют pg-promise (135к скачиваний),а я использую pg(1 537 000).Выбирать то,где больше скачиваний?
источник

CM

Chingiz Mamiyev in Node.js — русскоговорящее сообщество
Iliya Kobaliya
Ребят,на оф сайте express для работы с postgres  используют pg-promise (135к скачиваний),а я использую pg(1 537 000).Выбирать то,где больше скачиваний?
Юзай pg
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Iliya Kobaliya
Ребят,такой вопрос.Есть мидлвара,которая ловит ошибки в индексном файле express сервера.У меня могут 2 типа объекта error приходить (исключения/фатальная ошибка).В случае исключения я возвращаю пользователю сообщение (Например пробует авторизоваться человек,которые еще не регистрировался),например "Email didn't find." А в случае ошибки,что возвращать?
не, ты не в ту сторону пошел и не на том делаешь акцент. никаких фатальных ошибок не существует. есть только два типа:

1) ожидаемые ошибки.
2) исключительные ситуации.

в твоем примере, то, что ты называешь "исключением" — это ожидаемая ошибка. а то, что ты называешь "фатальной ошибкой" — это исключение.

пример:

* ты делаешь калькулятор, деление на ноль — это ожидаемая ошибка.
* ты делаешь консольную утилиту для конвертирования файлов. пользователь указал неправильный путь к файлу — в этом конкретном случае это вполне ожидаемая ошибка, ведь пользователь может ошибиться при наборе пути.
* ты пишешь сервер. при запуске он читает файл конфига. если файл не найден, то это исключительная ситуация, потому что файл конфига должен всегда существовать (ну, допустим это так для нашего примера).

при этом:

* ожидаемые ошибки возвращаются через return, а исключения — через throw.

правило пальца:

* будет ли программа исполняться, если удалить все обработчики исключений (удалить все try-catch)? если ответ отрицательный — значит исключения используются неправильно.
источник

С

Сергей in Node.js — русскоговорящее сообщество
Ребят, подскажите как стоит назвать свойство класса, которое может редактировать только другой служебный класс?
Я знаю, что через нижнее подчеркивание назваются локальные свойства. Но не понимаю как показать, что свойство можно редактировать только на определенном уровне
источник

ZK

Zhandos Kerimkulov in Node.js — русскоговорящее сообщество
Добрый день,
Handlebars: Access has been denied to resolve the property "area" because it is not an "own property" of its parent.
, решается только откатом версии?
источник

V

Vint in Node.js — русскоговорящее сообщество
Zhandos Kerimkulov
Добрый день,
Handlebars: Access has been denied to resolve the property "area" because it is not an "own property" of its parent.
, решается только откатом версии?
Вчера только спрашивали. Решается настройками по ссылке из текста ошибки. Но и код потом лучше поправить, чтобы данные были в нужном месте.
источник

IK

Iliya Kobaliya in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
не, ты не в ту сторону пошел и не на том делаешь акцент. никаких фатальных ошибок не существует. есть только два типа:

1) ожидаемые ошибки.
2) исключительные ситуации.

в твоем примере, то, что ты называешь "исключением" — это ожидаемая ошибка. а то, что ты называешь "фатальной ошибкой" — это исключение.

пример:

* ты делаешь калькулятор, деление на ноль — это ожидаемая ошибка.
* ты делаешь консольную утилиту для конвертирования файлов. пользователь указал неправильный путь к файлу — в этом конкретном случае это вполне ожидаемая ошибка, ведь пользователь может ошибиться при наборе пути.
* ты пишешь сервер. при запуске он читает файл конфига. если файл не найден, то это исключительная ситуация, потому что файл конфига должен всегда существовать (ну, допустим это так для нашего примера).

при этом:

* ожидаемые ошибки возвращаются через return, а исключения — через throw.

правило пальца:

* будет ли программа исполняться, если удалить все обработчики исключений (удалить все try-catch)? если ответ отрицательный — значит исключения используются неправильно.
Огромное спасибо,очень доступно!)
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Сергей
Ребят, подскажите как стоит назвать свойство класса, которое может редактировать только другой служебный класс?
Я знаю, что через нижнее подчеркивание назваются локальные свойства. Но не понимаю как показать, что свойство можно редактировать только на определенном уровне
что значит "другой служебный класс"?
источник

С

Сергей in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
что значит "другой служебный класс"?
Например класс который оперирует дочерними классами
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Сергей
Например класс который оперирует дочерними классами
в таком случае никаких обозначений быть не может. это публичное свойство
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Сергей
Например класс который оперирует дочерними классами
ну ок. в си шарпе для похожего есть ключевое слово internal. в жс ты можешь использовать префикс $
источник

С

Сергей in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
в таком случае никаких обозначений быть не может. это публичное свойство
Вот на пример цепочка - unit.geometry.line._id  
Мне нужно, что бы у geometry был доступ к этому свойству. А у  unit, его уже не было
источник

С

Сергей in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
ну ок. в си шарпе для похожего есть ключевое слово internal. в жс ты можешь использовать префикс $
В таком случае это актуально?
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Сергей
Вот на пример цепочка - unit.geometry.line._id  
Мне нужно, что бы у geometry был доступ к этому свойству. А у  unit, его уже не было
эээ, а какую проблему ты пытаешься таким образом решить?
источник

С

Сергей in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
эээ, а какую проблему ты пытаешься таким образом решить?
что бы пользователь не менял id
Потому, что он зашит в массиве экземпляра geometry
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Сергей
что бы пользователь не менял id
Потому, что он зашит в массиве экземпляра geometry
чтобы не менял ты можешь отдавать это поле через getter, а присваивать — только через конструктор
источник

С

Сергей in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
чтобы не менял ты можешь отдавать это поле через getter, а присваивать — только через конструктор
У меня оно просто присваивается как раз в geometry после инициализации
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Сергей
У меня оно просто присваивается как раз в geometry после инициализации
вижу единственный вариант — сделать line приватным полем у geometry
источник