
Alexander
15.12.2017
14:34:49
там может нормальный брокер очередей нужен

Sergey
15.12.2017
14:34:52
NATS Streaming же все еще не умеет в кластерность... или уже научили?

Alexander
15.12.2017
14:35:14
а я кидал недавно, sandglasses, по описанию огонь!
https://github.com/celrenheit/sandglass

Google

Sergey
15.12.2017
14:35:41
для пет проекта огонь, для прода нет

Alexander
15.12.2017
14:36:00
какой пет не мечтает выйти в прод?

Sergey
15.12.2017
14:36:01
нужно больше входных данных в вопросе :)
какой прод не состоит целиком из петов :)

John
15.12.2017
14:36:25
мне кажется, это была просто попытка набросить на вентилятор :)
А так, Я согласен, что kafka весьма специфична, и новичку лучше взять кроля

Konstantin
15.12.2017
14:37:19

Sergey
15.12.2017
14:37:30
новичку можно брать что угодно, т.к. у него пока нет понимания во что он упрется :)
я эту надпись уже больше года вижу

Mush
15.12.2017
14:38:03

John
15.12.2017
14:38:07

Sergey
15.12.2017
14:38:12
в конце прошлого года выбирал MQ как раз

Konstantin
15.12.2017
14:38:30

Google

Sergey
15.12.2017
14:40:25
соглашусь что кролик чуть проще кафки для старта, тонкости начинаются когда хочется пихать МНОГА и чтоб оно не падало :)

Alexander
15.12.2017
14:41:04
ну чтобы кролик начал падать, туда надо уже десятки тысяч в секунду писать

John
15.12.2017
14:41:33

Sergey
15.12.2017
14:41:56

John
15.12.2017
14:42:19
у меня на самом слабом DO инстансе иногда падает, хотя там от силы 3-4к в минуту

Sergey
15.12.2017
14:42:25
именно, а лучше под лям, тогда сразу остается только кафка :)

Mush
15.12.2017
14:42:45
1 раз пишется метод
и все что угодно выводится читабельным

Alexander
15.12.2017
14:43:13

Sergey
15.12.2017
14:43:20
один раз пишется - второй раз переписывается, третий раз фиксится
с джисономписать ничего не надо

John
15.12.2017
14:43:24

Sergey
15.12.2017
14:43:52

Mush
15.12.2017
14:44:30

Sergey
15.12.2017
14:44:50

John
15.12.2017
14:45:11

Mush
15.12.2017
14:45:19

Sergey
15.12.2017
14:45:36

Mush
15.12.2017
14:46:13

Google

John
15.12.2017
14:46:16

Sergey
15.12.2017
14:47:00

Mush
15.12.2017
14:47:50

Олег
15.12.2017
14:48:01
А вообще, тыж программист
Сам должен все знать

Mush
15.12.2017
14:48:45

Sergey
15.12.2017
14:49:13

Олег
15.12.2017
14:49:49

Mush
15.12.2017
14:51:48
зачем ты бредишь? тесты - тестируют. отладка поиск бага.
сорян, но я просто пытаюсь выяснить твою логику.
у меня есть тесты, они подготовливают условия запуска кода с различными условиями и запускают этот код, ждут определенный результат.
это тесты, но они помогают найти ошибки в test-driven девелопмент.
инструментарий в них пишется 1 раз, затем с разными наборами данных они гонятся, с помощью них выводятся различные данные, а также ищутся баги, замеряются метрики..
я что-то новое говорю? так большинство серьезных либ на го написано


Sergey
15.12.2017
14:52:59
сорян, но я просто пытаюсь выяснить твою логику.
у меня есть тесты, они подготовливают условия запуска кода с различными условиями и запускают этот код, ждут определенный результат.
это тесты, но они помогают найти ошибки в test-driven девелопмент.
инструментарий в них пишется 1 раз, затем с разными наборами данных они гонятся, с помощью них выводятся различные данные, а также ищутся баги, замеряются метрики..
я что-то новое говорю? так большинство серьезных либ на го написано
ты не новое говоришь - ты просто бредишь, сорян,
тесты тестируют, они не ищут баги, они говорят - работает или нет
процесс отладки debugging это поиск и устранение бага

Mush
15.12.2017
14:53:17
Сергей, прости, но по-моему твой уровень разработки = школьник

Sergey
15.12.2017
14:54:20

Mush
15.12.2017
14:56:22
повторяю еще раз - тест подготавливает окружение для определенного срабатывания определенного кода. а также инструментарий.
определенные ветки кода запустить не так просто. дальше этот тест запускается с отладчиком если нужен его функционал

Sergey
15.12.2017
14:56:31
ну и для того чтобы прояснить тебе
tdd - подразумевает написание теста который тебе скажет работает код или нет, он не должен и не будет искать баг, он просто скажет работает или нет
за счет того что это юнит тесты мы точно знаем где не работает
процесс отладки это другое - это поиск бага, невсегда явного, но это не тестирование, мы знаем что не работает мы ищем что, как и почему именно не работает и где ошибка


Mush
15.12.2017
15:13:33
ты вот не знаешь меня а утверждаешь ))
по тестированию и отладке у тебя явно путаница в голове
по-моему конкруктивная беседа все показывает.
начиная писать всякую хрень вроде того “ты все путаешь ахахаха”
вместо конкретных ответов на конкретные вопросы - уже вполне характеризует человека.
Я конечно тоже скатился в эту плоскоть, но все-таки обосновал все сначала.
Подтягивать матчасть конечно никогда не лишнее. Только я не теоретик, у меня есть поставленный флоу работы, проекты покрытые тестами, методики поиска багов, которые я использую и они работают.
Поиск бага сводится к выяснению входных данных, далее проблемные данные пополняют список входных данных того или иного теста и запуск этого теста позволяет найти ошибку.
По такой схеме я успешно поддерживаю довольно много проектов, это мне дает довольно дофига уверенности перед теоретическими троллями ?

Google

Alexander
15.12.2017
15:17:04
Добрее надо быть друг к другу. И понимать что если у кого-то сделано так, не обязательно что у всех должно быть так и это правильно. Мы тут не Мартины Фауэлеры, писать бест-практисы для остальных.
Это к обоим ремарка

Sergey
15.12.2017
15:18:04


Alexander
15.12.2017
15:18:20
Кто-то вообще тесты не пишет. Потому что код сразу пишет правильный.

Mush
15.12.2017
15:18:32


Sergey
15.12.2017
15:25:50
А основную суть различия этих процессов я пояснил в сообщениях выше
На этом все, диалог с тобой не интересен

Mush
15.12.2017
15:27:39
все что я пишу просто подтверждается в каждом ответном сообщении

Admin
ERROR: S client not available

Mush
15.12.2017
15:30:46
если надо что-то выводить жсон не жсон для этого пишется тестовая среда и там это выводится в удобном виде
да можно продолжать плакать что ведь когда я ищу ошибку я запускаю дебаггер и он просто выводит содержимое переменной а там байты, чем сделать удобный для разработки флоу.
зато по википедии - неудобно отлаживаем отдельно, тестируем отдельно.

Lee
15.12.2017
15:45:03

Valentin
15.12.2017
15:47:05
@twentydraft тут срутся

Alexey
15.12.2017
15:52:24
https://golang.org/conduct#unwelcome_behavior

Slava
15.12.2017
17:47:11

Anatoliy
15.12.2017
18:02:03
Ребят, поясните пожалуйста. Вот я использую JWT для аутентификации пользователя. Вот отправил ему этот токен, он действует 5 минут. Что происходит через 5 минут? По идее он истекает и я теперь не даю пользователю делать что он делать должен, я его воспринимаю как гостя. Но! Не буду же я кажыде 5 минут спрашивать пароль, верно? Как этот момент вообще решается при работе с токенами?

Slava
15.12.2017
18:03:02
ну если токен на пять минут, значит пользователь должен опять аутентификацию пройти

Alexander
15.12.2017
18:03:29
вообще конечно статью бы почитать какую. jwt же разжеван, донельзя. считается хорошей практикой - давать два токена. один для аутентификации, второй - рефреш-токен.

Anatoliy
15.12.2017
18:04:05
Это понятно, но я ведь не буду каждые 5 минут пароль спрашивать, верно? А токены как я понимаю используются именно по той причине что они быстро истекают, и при получении их злоумышленник не сможет надолго получить доступ к системе

Google

Anatoliy
15.12.2017
18:04:39
Впрочем спасибо, про второй токен сам не подумал, хоть и слышал, все что нужно нашел) Благодарю)

Alexander
15.12.2017
18:08:25
да не за что. плюс надо учитывать что jwt в целом не особо подходит для "стандартных" веб-приложений, имхо. там лучше старые добрые сесии и кукисы. а жвт для мобильного бекенда. или если какие-то микросервисы должны друг с другом "защищенно" общаться

Vsevolod
15.12.2017
18:09:48

Anatoliy
15.12.2017
18:11:53
Это я понял) Не понял только где эти самые токены хранить надо если у нас веб сервис и пользователь с фронтенда залогинился)

Alexander
15.12.2017
18:12:32
какие эти самые? на стороне сервера не надо токены хранить

Anatoliy
15.12.2017
18:14:20
у нас есть в итоге access token & refresh token, так? и как я понял jwt является access токеном, и мы ему верим, но есть же еще refresh token?

Alexander
15.12.2017
18:14:49
угу, с refresh токеном мы идем, если access-токен заэкспарился.
и получаем новый access.

Anatoliy
15.12.2017
18:15:11

Alexander
15.12.2017
18:15:15
ну и политику обновления и отзыва refresh-токена надо продумывать отдельно.

Anatoliy
15.12.2017
18:15:38
но хорошо, допустим я храню Access token в куках, и при каждом вызове страницы он отправляется, а где я храню тогда рефреш токен?

Alexander
15.12.2017
18:17:12
поэтому я бы просто так рефреш-токены не обновлял.

Anatoliy
15.12.2017
18:17:52
именно потому что рефреш токен как я понял может быть только один на пользователя

Alexander
15.12.2017
18:18:29
а так, выкинет сразу как только заэкспарится экссесс-токен, если злоумышленник не угнал рефреш.
а если угнал и его тоже, то выкинет как истечет время жизни рефреш-токена

Anatoliy
15.12.2017
18:18:57
если угнал access токен - да, а если угнал рефреш что произойдет? он будет год иметь доступ?

Alexander
15.12.2017
18:19:04
ну я говорю, тут каждый для себя решает как правильно

Anatoliy
15.12.2017
18:19:13
рефреш - долгоживущий