
Junior
02.02.2016
21:59:04
Не помню точно
Больше не смог
Ладно. GN котаны
Спасибо всем за вечео

Google

Junior
02.02.2016
22:00:30
Вечер*

Il'ya
02.02.2016
22:00:40
Я то думал у меня такое...

Junior
02.02.2016
22:00:51
Приятного общения и админов не стирающих стикеры

Il'ya
02.02.2016
22:01:12
Good Night's...

Ruslan
02.02.2016
22:01:36

Il'ya
02.02.2016
22:01:47
Тоже спать пошёл...

Ruslan
02.02.2016
22:02:23

Al
02.02.2016
22:09:24
Залил
А все ушли спать

Google

Ruslan
02.02.2016
22:10:31
Не все
Не плачь, #тыжмужик

Al
02.02.2016
22:11:09
А ты чего не спишь

Ruslan
02.02.2016
22:11:26

Al
02.02.2016
22:12:28

Ruslan
02.02.2016
22:14:07
Зачем?
Неделю кофе не пил на работе, а вчера две кружки))

SP
02.02.2016
22:15:51
Вчера две чашки кофе выпил, а смог уснуть только сегодня после обеда

Al
02.02.2016
22:16:42
Раздвоение личности?

Ruslan
02.02.2016
22:17:31

Al
02.02.2016
22:18:01
Ботавод?

Славик
02.02.2016
22:21:53
не помню когда последний раз кофе пил, норм живу

Ruslan
02.02.2016
22:23:14

Al
02.02.2016
22:23:47
02/01/2016 10:50 A.M.
We've incorrectly sorted the package at our facility. This may cause at least one business day delay.
Писец

Ruslan
02.02.2016
22:24:44
Писец
Пикник можно устроить?

Al
02.02.2016
22:25:26
Посылку

Ruslan
02.02.2016
22:26:06

分解物質
02.02.2016
22:44:00

Google

Dmitry
02.02.2016
22:52:19
ビリビリ

Semyon
02.02.2016
23:36:10
Вопрос - ради изучения Go накатал не особо сложную библиотеку для написания телеграмму ботов. По сути это надстройка над net/http выполненная в похожем стиле.
Разных библиотек на Go для ботов много, но вроде бы подхода "название команды - handler" я не видел, может кто знает - есть годные варианты уже либо есть ли смысл открыть исходники да упороться в юнит тесты?
Ах да - основной режим работы как веб сервер а не запрос списка сообщений раз в несколько секунд.
Webhook то есть.

[Anonymous]
03.02.2016
00:03:49
название команды => кастомный роут => процессится внутри подсунутого мукса
вполне логично ложится на идею хендлеров
т.е. в net/http регистрируется mux/роутер, в котором и процессятся твои запросы по списку хендлеров

Semyon
03.02.2016
00:06:17
Просто то что я нахожу на github - работает иначе и просто валит входящие сообщения в канал.

[Anonymous]
03.02.2016
00:09:19
ну, это их проблемы. а если читающая сторона канала повиснет на обработке команды?

Semyon
03.02.2016
00:10:26
Можно читать и сразу передавать в отдельную рутину

[Anonymous]
03.02.2016
00:11:29
ага. никакой интеграции, макаронный код, зато работает )

Semyon
03.02.2016
00:11:49
Собственно в схеме через http mux такой проблемы нет - в худшем горутина упадёт но за собой ничего не утянет
Проблема с - "каждое сообшение свой поток" в том что сложно реализовывать опросы например
и просто какое то сложное интерактивное взаимодействие с пользователем через кастомные клавиатуры

[Anonymous]
03.02.2016
00:13:14
хм, один опрос - один канал
на стороне чтения - for select { канал и таймер }
*скинуть это извращение в какой-нибудь горячий кеш типа редиса - и страховка от перезапуска, и упрощение

Semyon
03.02.2016
00:14:32
нужно бы подумать. Для ботов который просто отвечают на команды - подход удобный.
Да и для inline ботов (которые мне лень реализовать пока что) то же можно

Google

[Anonymous]
03.02.2016
00:15:19
можно вокруг пакета sync покурить мысли

Semyon
03.02.2016
00:16:13
хм я там только блокировки использовал (но для других целей и не в этом боте)
Да, и зачем то я реализовал возможность на ходу менять список доступных команд
В теории если в Go будут отдельные бинарные библиотеки - можно будет реализовать некое приложение где боты будут как раз плагинами

[Anonymous]
03.02.2016
00:18:32
и поверх него отдельное зло - go-swagger
а так, звучит, как хорошо сделанная работа )
держи историю коммитов чистой, понадобится на интервью куда - на гитхаб и вперед )

Admin
ERROR: S client not available

Semyon
03.02.2016
00:20:13
не слышал про него. Дико не люблю описания в стиле "супер крутой швейцарский нож, что делает читайте документацию"
Нужно бы его задокументировать полностью по стандартам, да из bitbucket на github перенести

[Anonymous]
03.02.2016
00:23:54
а, да ) просто он забит по умолчанию в шаблон микросервиса, который используется в куче мест у одного из клиентов, привык :/

Semyon
03.02.2016
00:25:32
Вот забавно, вроде бы представляешь что такео REST но что делает swagger понять не могу
Я так понял это что то в стиле - опиши схему итд, оно сгенирирует тебе go программу ?

[Anonymous]
03.02.2016
00:30:02
угу ) см. examples

Semyon
03.02.2016
00:31:52
Забавный подход. В Go все больше и больше кодогенерации
Кстати, более сложный вопрос. Задумался над написанием простенького протокола поверх tcp. Метался между Protobufers и Msgpack.
Выбрал последний. Но проблема в необходимости валидации и тому подобном. Есть какие нибудь годные материалы по проектированию таких протоколов7
Сейчас он тупой до нельзя
Базовая часть:
"номер версии"
"тип сообщения"
"бинарное представление сообщения"

[Anonymous]
03.02.2016
00:41:51
вариантов мало так-то
- отдельный пакет.. в нем обьект на соединение, на каждый тип сообщения итд
- всё в осноном коде

Google

Semyon
03.02.2016
00:46:25

[Anonymous]
03.02.2016
00:47:03
вполне )

Semyon
03.02.2016
00:47:07
Хотим что то послать - вызываем генератор в proto передавая что хотим послать - на выходе бинраные данные.
вполне )
Мне не нравится то что придется в ручную писать тонны валидации данных.

[Anonymous]
03.02.2016
02:09:40
@DistroWatch

Маришка
03.02.2016
04:20:25
Утречка всем

Egor
03.02.2016
04:20:34

Плюшка
03.02.2016
04:23:44

Junior
03.02.2016
06:28:10
Привет всем
Пока всем ?

Il'ya
03.02.2016
06:34:34
Всем привет!

Jebediah
03.02.2016
06:35:51

[Anonymous]
03.02.2016
06:39:57
Доброго утра.

Маришка
03.02.2016
06:40:07
Доброго

Il'ya
03.02.2016
06:42:11
Утро добрым не бывает.

tirips
03.02.2016
06:42:28
Тяжело вставать

[Anonymous]
03.02.2016
06:42:52
Ohayo godzaimasu! :3

[Anonymous]
03.02.2016
06:43:14
16:45 утра

[Anonymous]
03.02.2016
06:43:22