
Vladimir
04.09.2016
17:08:31
cancelation - полезно в теории, но бесползно в виду полного отсутствия interoperability

Paul
04.09.2016
17:08:41
Как легко тебя переубедить

Nikita
04.09.2016
17:08:44

Vladimir
04.09.2016
17:09:38
не в тестах счастье

Google

Vladimir
04.09.2016
17:09:54
уже нельзя три строки без тестов написать

Nikita
04.09.2016
17:10:02
нельзя

Paul
04.09.2016
17:10:12
Используй co с генераторами уже, там есть .props нормальный:
let {poem, comments} = yield {poem: fetch('/foo'), comments: fetch('/bar')}
Хотя лучше так:
let [poem, comments] = yield [fetch('/foo'), fetch('/bar')]

Nikita
04.09.2016
17:10:21
в смысле я прямо много написал кода без тестов. И мучался всегда с этим кодом

Paul
04.09.2016
17:10:32
Это да

Nikita
04.09.2016
17:10:35
если код нужно поддерживать - на него нужно писать тесты.

Paul
04.09.2016
17:10:43
Это же не rust какой-нибудь, тут наебнуться может абсолютно всё.

Vladimir
04.09.2016
17:11:20
открою секрет - в node.js нет юнит тестов

Alex
04.09.2016
17:11:39
хочу уже asynс/await юзать, но не получается с babel подружить.

Nikita
04.09.2016
17:12:01
https://github.com/nodejs/node/tree/master/test м?)

Andrey
04.09.2016
17:12:23

Vladimir
04.09.2016
17:12:36
это не юнит тесты

Paul
04.09.2016
17:12:46

Google

Vladimir
04.09.2016
17:13:01
> @tom910
так скорость же и потребление памяти?
а она нужна кому-то?
то есть кому-то нужна, но не всем

Paul
04.09.2016
17:13:24
Но я бы пока всё-таки юзал генераторы без async-await, уж слишком трансляторы сейчас не ок

Nikita
04.09.2016
17:13:56

Paul
04.09.2016
17:14:19
Эм, как не юнит?

Vladimir
04.09.2016
17:14:24
речь о том, что много чего не протестировано, код просто пишется и все

Paul
04.09.2016
17:14:31
Вот я открыл, допустим, https://github.com/nodejs/node/blob/master/test/parallel/test-event-emitter-add-listeners.js
Чистой воды юниттест

Nikita
04.09.2016
17:14:38
ну, вызываешь не 1 функцию, а целый эндпоинт дергаешь, например)

Vladimir
04.09.2016
17:14:51
нет, это функциональные тесты

Paul
04.09.2016
17:15:31
Это не так

Nikita
04.09.2016
17:15:40
ну ты плохой пример приводишь) вот в linux в ядре, вроде, нет тестов)
есть внешние проекты

Vitaliy
04.09.2016
17:15:50
Расскажите уже, кто на стикере? Лицо вроде знакомое. Какой-то отечественный деятель? А то я как-то все из зарубежных источников потребляю..

Nikita
04.09.2016
17:16:15
но отсутствие тестов у кого-то совершенно не значит, что не надо их писать на свой код) Особенно базовый, типо работы с промисами

Vladimir
04.09.2016
17:16:19

Paul
04.09.2016
17:16:21

Vladimir
04.09.2016
17:16:34

Nikita
04.09.2016
17:16:35

Google

Vladimir
04.09.2016
17:18:31
если ты пишешь софт для космических кораблей - о хороший довож
если нет - то там другая экономика

Nikita
04.09.2016
17:19:33
угу, я не спорю, что не на все тесты надо писать. Я считаю что на базовые вещи, типо утилит, работы с промисами и тд - маст хэв
то есть на контроллер - не обязательно. На роутер - обязательно

Vladimir
04.09.2016
17:20:00
wut?

Nikita
04.09.2016
17:21:03
app.get('/users', (req, res) => res.json(User.fetchAll())) - вот сюда не обязательно тест. А на app.get - обязательно

Vladimir
04.09.2016
17:21:32
тестировать app.get или что? не понял

Nikita
04.09.2016
17:23:36
блин) ну миддлвар роутера из экспресса)
и еще. тесты зачастую нужны не для только что написанного кода, а в будущем. Когда кто-то, кто может быть и не до конца понимает код, или не учитывает всех особенностей, должен добавить какую-то фичу. Очень полезно в этот момент проверить, не сломан ли старый код

Vladimir
04.09.2016
17:51:58
в том и смысл, что в трехстрочники не нужно добавлять фичи

Nikita
04.09.2016
17:54:07
function filter(text: string): string {
return text.replace(/[-+() ]/g, '');
}
ну вот функция) я в ней забыл /g флаг. Нашел тестом

Vladimir
04.09.2016
17:55:32
Ну это явно функция, имеющая бизнес смысл
в таком случае и тесты должны быть и комментарии, и нормальное название

Nikita
04.09.2016
17:56:39
это маленький хелпер для другой функции, на которую и тесты и дока есть. Но я про то что даже в однострочнике может быть ошибка
вот кстати интересный вопрос) вы на регулярки тесты пишите?

Vladimir
04.09.2016
17:57:44
нет, регулярки - это просто деталь реализации
на функции с регулярками - всегда и много, регулярки слишком коварны в этом плане

Никита
04.09.2016
18:25:10
всем доброго вечера. Кто каким сервисом пользовался для подтверждения номера по смс?

anoru
04.09.2016
18:31:30
function filter(text: string): string {
return text.replace(/[-+() ]/g, '');
}
Учитывая, что это копипаста, то не стал бы менять название функции (да и зачем это нужно). По этой причине считаю, что говорящее название полезнее, чем тест на 1 строчную функцию. Ошибку ты нашел бы при заюзание своего кейса в проекте, поправил бы, а функцию, скорее всего, не трогал бы ближайшие полгода, а может и всегда, т.к. она короткая и делает простую вещь. Тем более тестами не покрыть абсолютно всё. Ты можешь накидать функцию, кучу тестов к ней, а она все равно сломается в последствие, т.к. тесты не все варианты входных параметров проверяют, например. Я не про конкретно этот пример сейчас

Google

Vladimir
04.09.2016
18:39:00
Учитывая, что это копипаста, то не стал бы менять название функции (да и зачем это нужно). По этой причине считаю, что говорящее название полезнее, чем тест на 1 строчную функцию. Ошибку ты нашел бы при заюзание своего кейса в проекте, поправил бы, а функцию, скорее всего, не трогал бы ближайшие полгода, а может и всегда, т.к. она короткая и делает простую вещь. Тем более тестами не покрыть абсолютно всё. Ты можешь накидать функцию, кучу тестов к ней, а она все равно сломается в последствие, т.к. тесты не все варианты входных параметров проверяют, например. Я не про конкретно этот пример сейчас
поэтому стоит применять property-based testing

Rocket
04.09.2016
19:32:12
Добрый вечер. Чуть позже представляюсь.
Перк, спасибо ?


Nikita
04.09.2016
19:41:22
Учитывая, что это копипаста, то не стал бы менять название функции (да и зачем это нужно). По этой причине считаю, что говорящее название полезнее, чем тест на 1 строчную функцию. Ошибку ты нашел бы при заюзание своего кейса в проекте, поправил бы, а функцию, скорее всего, не трогал бы ближайшие полгода, а может и всегда, т.к. она короткая и делает простую вещь. Тем более тестами не покрыть абсолютно всё. Ты можешь накидать функцию, кучу тестов к ней, а она все равно сломается в последствие, т.к. тесты не все варианты входных параметров проверяют, например. Я не про конкретно этот пример сейчас
копипаста? не понял, что ты имел ввиду. Функция исключительно как хелпер для другой. Задача основной функции определить, является ли login телефоном и отфильтровать не цифры. То есть чтобы +7(123)-123-12-12 проходило. Естественно этот момент был протестирован, и ошибка выловлена, тк убирался только 1 символ)


Denis
04.09.2016
22:11:43
из @react_js
Может кому-то что-то полезное будет) http://prgssr.ru/development/monitoring-veb-prilozhenij.html

Admin
ERROR: S client not available

YOda
05.09.2016
07:57:43
Всем хай Кто нибудь может объяснить для чего нужна библиотека opn?

Sergey
05.09.2016
08:00:18
запускать программы

IH
05.09.2016
08:10:56
Всем привет. Я питонист, на данный момент вяло изучаю node, прихожу в ужас от Angular и остальных фрэймворков. Буду задавать вопросы. Много. Тупых вопросов будет больше. Но обещаю учиться =)

I
05.09.2016
08:12:09
Лишь бы не как Николай в чатике по руби:-)

IH
05.09.2016
08:13:10
Не знаю такого)) Кстати, будет вопрос - сейчас допишу его))
В общем, есть Node-приложение. И нужно мне спарсить html-страничку на сервере. Упс, проблема - Request header field Content-Type is not allowed. Или похожая? Неважно. Погуглив, понял, что XHTTPRequest или jQuery.get не сработает. Решение - запросить у сервера JSONP. Но эта зараза не отдает JSONP. Теперь я хз что делать. Поможете?) Кстати, Postman отрабатывает страницу на "ура"

KlonD90
05.09.2016
08:31:16
тушите свет. https://habrahabr.ru/post/210166/

Никита
05.09.2016
08:41:50
jsonp это мерзость, кстати.
Или речь про клиент?

IH
05.09.2016
08:43:06
Хм. Спасибо, буду пробовать.

Никита
05.09.2016
08:43:34
На сервере — см. https://nodejs.org/api/http.html

IH
05.09.2016
08:43:35
Речь про клиент, которому сервер не хочет отдавать HTML

Google

Никита
05.09.2016
08:43:47
А, так то другое дело.
Кросс-домен?

IH
05.09.2016
08:43:55
Да, я забыл сказать - делаю под кордову, хотел обойтись чистым JS, без библиотек
Да))

Никита
05.09.2016
08:44:17
Вкручивай CORS.
На сервер.

IH
05.09.2016
08:44:32
Сервер трогать нельзя. Не мой он =(

Никита
05.09.2016
08:44:33
Но аккуратнее там, только туда, куда нужно.

IH
05.09.2016
08:44:36
Сейчас ссылку скину
http://s10.voscast.com:7432/currentsong?sid=1

Никита
05.09.2016
08:44:52
Тогда из веб-морды нельзя читать html.

KlonD90
05.09.2016
08:44:52
Причем здесь вообще NodeJS?

Никита
05.09.2016
08:45:03

Vladimir
05.09.2016
08:45:18

IH
05.09.2016
08:45:22
Потому что структура у Кордовы node.js - мне объясняли именно так =(

Никита
05.09.2016
08:45:36
json можно читать.
с корсом