
Daniel
08.05.2018
13:30:06
но я вот успешно пишу rpc на swagger, и не жужжу, хоть это и разрушает идеологию и концепцию

V
08.05.2018
13:30:53
а, мы про теорию реста, а не про то, что все под ним понимают ?

Aleksandr
08.05.2018
13:42:04
господа, со всем обилием либ на го для кафки какую посоветуете? критерии стабильности, простоты приветствуются

anton
08.05.2018
13:47:42

Google

Alexander
08.05.2018
13:49:37
читаешь и ощущаешь себя каким-то идиотом)
первый раз слышу про swagger
почитал, вроде интересно, но до этого ни разу не встречал((

Илья
08.05.2018
14:03:52

Daniel
08.05.2018
14:05:33

Анастасия
08.05.2018
14:10:53
Потребность: прекрасный программист Golang.
Проект: кроссплатформенный сервис стилизации изображений на нейросетях.
Вилка: 180-250к для сеньора и 120-180к middle разработчикам.
Условия: офис в Петербурге, гибкий график, оф.оформление.

Andrey
08.05.2018
14:21:30
@NastyaPreobrazh тут рядом группа для этого есть: https://t.me/golangjob

Анастасия
08.05.2018
14:24:10

Александр
08.05.2018
14:26:29
Настя, 4 предложения от каждого рекрутера и весь чат уже в "работе" :)
я понимаю все, но тут не формат

Andrey
08.05.2018
14:26:47
не, я про то, что и там и там примерно народ один и тот же сидит, а здесь ваше сообщение быстро затеряется
no offence intended, как грица

Daniel
08.05.2018
14:34:49

ainu
08.05.2018
14:45:00
(disclaimer я сейчас не как отклик к вакансии, а обсудить идею - весёлая она)

Google

Daniel
08.05.2018
14:56:03
обсудите с Анастасией в личке, а? там хорошая идея, но требующая проверки

Ilia
08.05.2018
17:14:06
Когда тебя попросили написать самую простую сортировку)
https://play.golang.org/p/BOpr1w8Gwqh

Dmitry
08.05.2018
17:19:21

Ilia
08.05.2018
17:19:45
100 000 000 итераций) Лучше на компе запустить)
Это по этой теме - https://ru.wikipedia.org/wiki/Bogosort

The
08.05.2018
17:21:29
20 элементов, 160 лет.

Nazary
08.05.2018
17:23:25
Компухтер железный он справится

Dmitry
08.05.2018
17:24:28

Ilia
08.05.2018
17:25:46
Да, сортировка для тех, кто никуда не спешит)

Igor
08.05.2018
19:58:02
Божественно.

Denis
08.05.2018
20:08:01

Pawel
09.05.2018
04:28:24
почему бы не заюзать graphql вместо всего этого?

Димка
09.05.2018
04:38:06

Виктор
09.05.2018
04:44:23

Pawel
09.05.2018
04:47:23
это стандарт для синтаксиса запросов на сервер, который позволяет жить без глупых проблем, связанных с rest api

Виктор
09.05.2018
05:02:19
Зато позволяет жить с гулпыми проблемами по созданию этого апи

Zaur
09.05.2018
05:13:08
Графql не панацея, у неё своих проблем хватает на самом деле
Даже на самом сайте написано, что пока он развивается и не закончен

Google

Pawel
09.05.2018
07:11:57
Не. Это глупая хрень вроде апи
Вот из-за таких как ты индустрия теряет сотни тысяч долларов на обслуживание архитектурных костылей. С т.з. "я сделал АПИ и мне срать кто и как им будет пользовать, пусть хоть сдохнут" - это да, глупая хрень. Если взять хоть раз в жизни и сделать самому нетривиальный фулстек микросервисный, то окажется что не такая уж она глупая хрень

Виктор
09.05.2018
07:13:34
Или топите за новые технологии просто так?

Mr
09.05.2018
07:15:27
Я где-то год назад на Node.js + React с graphql работал. Вначале нравилось, а потом все ж разленился и опять скатился в рест.

Виктор
09.05.2018
07:16:41
вот только с нодой оно более или менее и дружит кое как

Mr
09.05.2018
07:19:53
В графкюэль радовало то, что не надо было писать документацию к АПИ. Но дополнительные танцы на стороне бекэнда все ж присутствовали, но не очень страшные.
Еще у этой технологии мне не нравилось то, что в мире реакта самым популярным решением был Apollo. А он добавлял много черной магии. И как всегда с магией, в случае нестандартных вещей, только проблемы появлялись.
Т.е. по факту это технология, без которой точно можно жить :)

09.05.2018
07:20:15
Вопрос 1
Север общается с клиентом. Как лучше присваивать статус оффлайн? Типа если клиент не обращается к северу N времени то сервер пишет в бд статус оффлайн. Или чтобы клиент сам информировал сервер об уходе в оффлайн?
Вопрос 2
Нужно вывести статистику кто онлайн кто нет
Надо вытаскивать из бд все структуры клиентов и циклом проходить? Это же дофига ресурсов займет если бд большая
Как это лучше делать? :/

Виктор
09.05.2018
07:21:45
Ну сами клиенты об оффлайне тебе точно не расскажут
особенно если у них оффлайн внезапно начался
Просто можешь иметь допустим время последнего обращения к серверу и проверять если допустим да Н промежуток времени прошел то можно считать оффлайн
А зачем вытаскивать все? Почему в БД запросом не выбирать только то что нужно?

09.05.2018
07:29:32
Просто на эти операции много ресурсов
Запустить поток чтобы проверял у всех время последнего обращения и вешал оффлайны?

Виктор
09.05.2018
07:39:44
А тебе нужна в реальном времени информация?

09.05.2018
07:50:51
Типа будет собирать инфу при отрисовке html

Виктор
09.05.2018
07:51:10
Ну тогда поток ведь и не нужен. СОотстветсвеннои нагрузка будет не существенная же
Или сколько у тебя пользователей?

Google

09.05.2018
07:51:47

Виктор
09.05.2018
07:53:35
1) Это тогда преждевременная оптимизация. Оптимизировать можно бесконечно
2) Ну давай подумаем что ты подразумеваешь под большим объемом? Допустим 100 000 пользователей и эту страницу с онлайном будут вызывать ну допустим 1000 раз в минуту. Это не сильно большой объем. Обычный SQL запрос котоырй сам посчитает все если правилньо оптимизировать его он не нагрузит очень сильно

09.05.2018
07:54:40

Виктор
09.05.2018
07:55:20
Да. Для начала создай готовый продукт. Ведь возможно это не будет узким местом твоей программы и по сути оно тебе и не нужно будет. А времнеи ты потратишь много

09.05.2018
07:55:28
На счёт sql запроса
Простой where status=online не катит?

Admin
ERROR: S client not available

Виктор
09.05.2018
07:55:38
Тебе даже проще можно делать
Можно так. А можно просто разницу во времени последнего запроса пользователя допустим смотреть. И если разница между текущим времени и последним больше N то он оффлайн и индекс не забывай

09.05.2018
07:57:46

Виктор
09.05.2018
07:58:13
Вполне себе нормальное решение. Если станет узким местом тогда и сомтри как это дело оптимизировать

09.05.2018
07:58:26
Окей, спс

Petr
09.05.2018
08:18:08
Ну если есть возможность, можно просто процедуру написать, которая будет булевое значение проставлять и все, на самом деле можно много чего придумать, лучше конечно уже по обстоятельствам ориентироваться
Я делал таски, которые обсчитывали действия пользователей и запускались периодически по шедулеру, собирал все в отдельную табличку, но там конечно своя специфика была, почему было так сделано

Daniel
09.05.2018
08:59:26
вот именно статистику живые-отвалившиеся надо не по базе собирать, а репортить из приложения

Oleg
09.05.2018
09:01:25

Daniel
09.05.2018
09:02:13
действительно - как же оно это сделает....

09.05.2018
09:03:53
как у time.Time время поменять?
чтобы было time.Now() - 15 минут
add(duration) есть
а как отнять?

Google

Oleg
09.05.2018
09:13:38

09.05.2018
09:15:25

Виктор
09.05.2018
09:16:25
https://golang.org/pkg/time/#Time.Sub

Alexey
09.05.2018
09:21:49

Виктор
09.05.2018
09:22:32
Действительно. ЧТо-то я немного не так понял вопроса :)

Oleg
09.05.2018
09:23:08
зато там написанно как юзать Add()
To compute t-d for a duration d, use t.Add(-d)

09.05.2018
10:46:32
один с указателями другой без
оба выводят одно и тоже

Мерлин
09.05.2018
10:49:02

09.05.2018
10:50:08

Виктор
09.05.2018
10:52:15
Опять оптимизируешь?)
Разница в типах
там ты хранишь указатель а там структуру
логично?

Maksim (Ellrion)
09.05.2018
10:52:41