
Daniel
31.05.2018
09:43:27
да полный интернет

Kirill
31.05.2018
09:44:19
Нет http2 и из коробки ws
То, что в голову приходит первым
Но если последнее в опенсорце лежит, то первое можно вкрутить при большом желании

Google

Aliaksandr
31.05.2018
09:45:13
в сервере нет поддержки стриминга запросов - весь запрос читается в память перед вызовом RequestHandler
в клиенте нет поддержки стриминга ответов - весь ответ читается в память
можно напроться на грабли с использованием ресурсов после их перезаписи
типа data race'ы всякие

Kirill
31.05.2018
09:46:52

Aliaksandr
31.05.2018
09:47:05
т.е. для работы с видеофайлами лучше использовать тet/http - там поддержка стриминга получше. Для всяких http-based API fasthttp обычно нормально подходит, т.к. там запросы/ответы не очень большие
стриминг ответов в сервере есть. Нет стриминга запросов

Kirill
31.05.2018
09:47:59
А запросы у меня по размеру лимитированы везде, где только можно

Aliaksandr
31.05.2018
09:48:07
ну тогда ок

Pawel
31.05.2018
09:48:37
Aliaksandr ?спасибо за отклик

Денис
31.05.2018
09:50:40
всем привет, возник такой вопрос: если есть примерно следующая структура директорий:
src-|>
|>application
—--|>
|>user (package 'user')
|>platform (package 'platform')
...
|>domain
—--|>
|>user (package 'user')
|>platform (package 'platform')
придется давать алиасы для пакетов. нормально ли такое наименование пакетов?
возможно кто-то посоветует по-другому называть пакеты?
есть возможность например в application не делать директорий, а размещать сразу go-файлы
тогда там пакет будет application

Aliaksandr
31.05.2018
09:52:29
appUser, domanUser
потом, если в голову придут названия получше, просто переименуете. В го легко делать переименование пакетов :)

Denis
31.05.2018
09:54:00
есть два варианта: либо не разделять на domain/application и все что к юзеру привязано складывать в один пакет user. второй вариант - раскладывать все по функциональным пакетам, например у тебя есть репозиторий юзеров для монги - mongo.UserRepository и т.д.

Google

Denis
31.05.2018
09:54:14

Aliaksandr
31.05.2018
09:55:26
сильно не заморачиваться, а начать с чего-нибудь. Потом видно будет
главное потом не забывать о рефакторинге
и не бояться его )

Fastumkruk ✅
31.05.2018
12:05:06
Как в этой библиотеке github.com/toby3d/telegram авторизировать бота через свой http.Client, а точнее прокси?

Kirill
31.05.2018
12:05:18
@toby3d

Maxim
31.05.2018
12:05:58

Fastumkruk ✅
31.05.2018
12:06:38

Maxim
31.05.2018
12:07:52
Сейчас каждый метод проходит через request() в котором собирается нужного формата запрос и отправляется. Никаких серверов/роутеров
Вру, роутер есть, но только локальный, для приёма вебхуков

Kirill
31.05.2018
12:12:03
собственно, профит

Maxim
31.05.2018
12:12:14
Да, пожалуй надо будет запилить

Kirill
31.05.2018
12:12:26
ты сможешь в request() юзать соответствующий клиент

Maxim
31.05.2018
12:12:45
Затестите и дайте знать на GitHub, если будут ещё проблемы/предложения

Fastumkruk ✅
31.05.2018
13:48:14

Google

Maxim
31.05.2018
13:50:53
Либо через метод, либо руками назначить:
myBot.Client = myNewClient
Результат идентичный
Если клиента нет, то используется дефолтный

Kirill
31.05.2018
13:52:08
Есть риск сделать очень плохо

Maxim
31.05.2018
13:55:17
При использовании tg.New(accessToken) используется стандартный клиент. Если при инициализации не сработал bot.getMe(), то вернётся структура Bot и ошибка. Можно будет переназначить клиент через bot.SetClient(newClient) и попытаться проверить соединение через bot.GetMe() отдельно.
P.S.: Не забудьте назначить bot.User через bot.GetMe() чтобы не возникало паник при обращении!

Fastumkruk ✅
31.05.2018
13:56:36

Maxim
31.05.2018
14:06:32

Fastumkruk ✅
31.05.2018
14:08:49

Maxim
31.05.2018
14:09:14

Fastumkruk ✅
31.05.2018
14:10:23

Maxim
31.05.2018
14:11:03

Fastumkruk ✅
31.05.2018
14:11:53

Maxim
31.05.2018
14:14:09
Это же довольно очевидно, что для использования/назначения чего-либо из/в структуры нужно для начала её инициализировать в какую-нибудь переменную:
bot := new(telegram.Bot)
bot.SetClient(myClient)
bot.AccessToken = "myToken"
bot.User, err = bot.GetMe()
или
bot := telegram.New("myToken")
bot.SetClient(myClient)

Fastumkruk ✅
31.05.2018
14:15:47

Maxim
31.05.2018
14:16:08
Есть отдельный пакет для конвертации даты из http в fasthttp и обратно, но он предназначен для мягкой миграции с одного пакета на другой, а не постоянного использования, так как наносит урон по производительности

Fastumkruk ✅
31.05.2018
14:17:51

Google

Fastumkruk ✅
31.05.2018
14:23:59

Maxim
31.05.2018
14:25:47

Fastumkruk ✅
31.05.2018
14:27:12
@kirilldanshin

Maxim
31.05.2018
14:28:18

Aliaksandr
31.05.2018
14:28:26
Думаю, нужно переопределить HostClient.Dial

Konstantin
31.05.2018
14:31:03
Всем привет. подскажите какой нибудь минималистичный фреймворк для тестирования rest?
restit попадался

Fastumkruk ✅
31.05.2018
14:31:55

Admin
ERROR: S client not available

Alexander
31.05.2018
14:37:49

Fastumkruk ✅
31.05.2018
14:47:00

Maxim
31.05.2018
14:47:35

Daniel
31.05.2018
14:48:02
а?!
это как это она будет снижена?

Maxim
31.05.2018
14:49:27

Fastumkruk ✅
31.05.2018
14:49:28

xPushkin
31.05.2018
14:49:51

Kirill
31.05.2018
14:50:20

Fastumkruk ✅
31.05.2018
14:50:40

Daniel
31.05.2018
14:50:56
Бенчмарки же ж
и что бенчмарки? как это влияет на интегральную производительность

Maxim
31.05.2018
14:51:20

Google

Kirill
31.05.2018
14:51:22
Тем более в РФ дороже сидеть

Fastumkruk ✅
31.05.2018
14:52:14

Kirill
31.05.2018
14:52:59
????
Сколько стоит твой сервер для бота?
(Если не гуглить самые дешёвые виртуалки РФ)
Вот - рили

Alexander
31.05.2018
14:54:47
но есть хак, купить маломощный сервак в РФ, поднять там прокси и бегать через него

Maxim
31.05.2018
14:55:12
Причём тут Россия?
При том что в россии обычно наблюдаются некоторые проблемы с соединением к API

Fastumkruk ✅
31.05.2018
14:55:14

Kirill
31.05.2018
14:55:17

Alexander
31.05.2018
14:55:23

xPushkin
31.05.2018
14:55:31

Kirill
31.05.2018
14:56:10

Alexander
31.05.2018
14:57:11
А мы выше о телеге
ну ты написал что "Тем более в РФ дороже сидеть" - это в принципе так, безотносительно бот для телеги или любой другой сервис. но иногда надо сидеть в россии.

Maxim
31.05.2018
14:58:01
Есть какие-то прям обязательства хостить бота только на российских адресах?
Если подразумевается работа бота для всех, то логично подыскать площадку, в которой для подъёма бота не требуется танцев с бубном
Для локального тестирования - поднимай прокси у себя. В проде логика проксирования, наиболее вероятно, не потребуется

Alexander
31.05.2018
15:00:00
а есть прокси, который можно цеплять к процессу. ща найду
я так лечил приклад, который не умел в прокси.
proxychains - вот эта штука.