@gogolang

Страница 1298 из 1630
Kirill
17.08.2018
17:32:42
ненадолго, но на погонять точно хватит %)

Alexander
17.08.2018
17:46:00
и подумайте про конфигурацию
Конфигурация в виде yaml есть, пока не так много параметров, только основные

bowser
17.08.2018
17:52:30
А каким щас пакетменеджером все пользуются?

Google
Kirill
17.08.2018
18:12:56
А каким щас пакетменеджером все пользуются?
https://github.com/avelino/awesome-go#package-management

Alex
17.08.2018
18:15:36
bowser
17.08.2018
18:34:57
Сори что неверно сформулировал :) Полтора года не использовал go, вот возвращаюсь. Раньше все сложно было, хотел узнать проще ли щас и есть ли стандарт де-факто

Судя по ответам - все так же :)

bowser
17.08.2018
18:39:39
?

Artem
17.08.2018
18:42:04
В 1.11 будет менеджер из коробки

Kirill
17.08.2018
18:45:16
после релиза vgo в awesome-go прямо напишем, что лучше использовать официальное решение, а не велосипеды

bowser
17.08.2018
18:49:40
Спасибо

Sergey
17.08.2018
21:25:40
не пытаться использовать цвета на винде

Google
Pawel
17.08.2018
21:26:21
ты о чём?

Sergey
17.08.2018
21:26:41
да я тут мимо проходил

Kirill
18.08.2018
00:22:53
искать os.Exit()

значит бинды хреновые

почему tdlib юзаешь? чем другие либы не понравились? или pure-go клиента нет?

какую задачу ты пытаешься решить?

@toby3d есть там чо?

Aleksandr
18.08.2018
00:35:21
Все верно. Tdlib официальная либа с полным покрытием апи

Kirill
18.08.2018
00:35:41
естественно, что официальная

но это не говорит, что бинды на неё адекватные

Aleksandr
18.08.2018
00:35:55
Остальное старые наколенные имплементации мтпрото

Адекватные. Крутится два месяца без остановки демон, ни разу не упал

Просто не получилось )

Kirill
18.08.2018
00:37:02
никак, насколько помню

это не panic, а throw

Aleksandr
18.08.2018
00:38:27
Хм. В сях проблема. Напиши issue, исправят. Там автор чуть ли не 24 часа в сутки отвечает

Os.exec? Как вообще ты это юзаешь?

Kirill
18.08.2018
00:46:21
issue не забудь создать

/dev/null
18.08.2018
03:44:31
Ребят, подскажите в какую сторону копать необходимо реализовать upnp сервер и транслировать по нему плейлист iptv

раньше подобным вообще не занимался, даже не знаю с какой стороны подступится к этой задаче

Google
Pawel
18.08.2018
07:12:39
== как бы перехватить panic https://github.com/maruel/panicparse

Anton
18.08.2018
07:55:38
Maxim
18.08.2018
08:08:31
@toby3d есть там чо?
Нет, я делал пакет для ботов, паспорта и логина телеги. tglib не трогал, но может доберусь когда-нибудь

Sergey
18.08.2018
13:02:21
Где можно подсмотреть как лучше организовать структуру пакетов для работы с базой?

Sliva
18.08.2018
13:10:16
Кто может посоветовать книги/статьи или готовые решения связанные с p2p сетью?

Daniel
18.08.2018
13:10:51
надо конкретизировать вопрос

Sliva
18.08.2018
13:52:08
Устройство p2p, пример любой p2p сети на go

Alexey
18.08.2018
14:11:22
https://github.com/meshbird/meshbird может?

Такое ещё было https://4gophers.ru/articles/vpn-eto-prosto/#.W3gpgmhn00M непонятно что конкретно надо

Vadim
18.08.2018
14:19:21
https://github.com/libp2p/go-libp2p

Alexey
18.08.2018
14:19:39
Устройство p2p, пример любой p2p сети на go
Тук. Забыл ответом написать :)

Daniel
18.08.2018
14:23:00
там в подкладке webrtc, которого на чистом go нет

bowser
18.08.2018
16:59:07
предположим я хочу заимплементить в свое приложение выбор master/slave при этом https://github.com/rqlite/rqlite это слишком много (мне не нужна полноценная база данных на консенсусе) и https://github.com/hashicorp/raft это слишком мало (мне не хочется самому прописывать логику "что делать если потерялся мастер" и вообще девелопить отдельную либу, хочется продакшн-реди) что порекомендуете чисто для выбора мастера нецентрализованонго без сервис-дискавери (не через consul/redis/etcd/..., сервисы знают ip друг друга), такую себе либу "подключил и забыл"

Zaur
18.08.2018
18:20:03
Народ, когда твой сервис в http запросе возвращает json, обычно же, при ошибки на сервере, возвращают что-то типо status: "bad", и error:"someerror". А в случае успешного следует всегда возвращать status:"ok" или считается, что http статуса должно хватать?

Где вообще можно узнать про практики json ответов

Dmitry
18.08.2018
18:23:12
http status должно хватать, можно в каждый ответ засовывать message с описанием

Admin
ERROR: S client not available

Dmitry
18.08.2018
18:24:06
http://jsonapi.org/ это типа спецификаци

Google
Dmitry
18.08.2018
18:24:12
но имхо оверхед

Zaur
18.08.2018
18:24:15
О, спасибо

Egor
18.08.2018
18:24:31
RESTful правил будет достаточно

bowser
18.08.2018
18:27:13
http://jsonapi.org/ это типа спецификаци
выглядит (по гитхабу) как будто еще в 15-м году на эти спеки забыли

Dmitry
18.08.2018
18:29:05
мы как то начали смотерть в эту сторону, посмотрев всякие links, решили не заморачиватся. но ответы для себя найти кое-какие можно

bowser
18.08.2018
18:34:57
Где вообще можно узнать про практики json ответов
в целом формат ответов зависит от того как сервер общается с клиентом (если мы только про REST говорим), лучших практик нет есть только холивары ? я например нашел удобным дублировать http-ошибку в ответе и еще добавлять статускод (стандартных http-кодов обычно не хватает когда клиенту нужно обрабатывать дополнительные логики - например 401 Unauthorized может быть как "токен неправильный вообще" так и "токен истек" и тп) поэтому, ошибки выглядят у меня примерно так: { message: "human-readable error", status: http-status-code, code: "COMPUTER-READABLE-ERROR-CODE" } ответы на POST/PUT выглядят так: { success: true, id: "resource-created-id" } ответы на GET - любой JSON в рамках того что мы хотим отдать клиенту однако, вы захотите добавлять дополнительные данные - пейджинацию например, количество документов общее и тп: и тогда вы или будете их заголовками передавать, или заранее заложитесь на стандартный ответ (тут уже вам выбирать как удобнее, но лучше делать с запасом чтобы потом версию API не менять и разные не поддерживать): { data: { json-response }, total: total_amount_of_resources, next: "cursor-id-to-fetch-next-portion", ... }

но вообще, я думал тут все на gRPC фигачат? ?

Zaur
18.08.2018
18:38:07
в целом формат ответов зависит от того как сервер общается с клиентом (если мы только про REST говорим), лучших практик нет есть только холивары ? я например нашел удобным дублировать http-ошибку в ответе и еще добавлять статускод (стандартных http-кодов обычно не хватает когда клиенту нужно обрабатывать дополнительные логики - например 401 Unauthorized может быть как "токен неправильный вообще" так и "токен истек" и тп) поэтому, ошибки выглядят у меня примерно так: { message: "human-readable error", status: http-status-code, code: "COMPUTER-READABLE-ERROR-CODE" } ответы на POST/PUT выглядят так: { success: true, id: "resource-created-id" } ответы на GET - любой JSON в рамках того что мы хотим отдать клиенту однако, вы захотите добавлять дополнительные данные - пейджинацию например, количество документов общее и тп: и тогда вы или будете их заголовками передавать, или заранее заложитесь на стандартный ответ (тут уже вам выбирать как удобнее, но лучше делать с запасом чтобы потом версию API не менять и разные не поддерживать): { data: { json-response }, total: total_amount_of_resources, next: "cursor-id-to-fetch-next-portion", ... }
Ого, спасибо за подробный ответ

bowser
18.08.2018
18:38:52
если вступаете на скользкую дорожку REST - сильно советую сразу начать правильно делать с использованием https://github.com/OAI/OpenAPI-Specification ?

тогда не придется вручную писать документы для клиентских разработчиков например, а можно будет заюзать автогенерацию: https://github.com/Rebilly/ReDoc

ну и в продвинутых техниках - валидация входящих/исходящих запросов через json schema без лишней логики на сервере ?

Zaur
18.08.2018
18:41:33
Ох, столько навалили, теперь надо во всём этом копаться ?

Спасибо

Abdulla
18.08.2018
18:44:43
Народ, когда твой сервис в http запросе возвращает json, обычно же, при ошибки на сервере, возвращают что-то типо status: "bad", и error:"someerror". А в случае успешного следует всегда возвращать status:"ok" или считается, что http статуса должно хватать?
Зависит от того какая гибкость требуется от системы. Http выступает в роли транспорта для твоего апи, если в будущем ты захочешь сменить транспорт - например использовать очередь сообщений, или сделать апи асинхронным, когда стандартная http модель запроса и ответа не подходит, твой протокол сообщений не сможет удовлетворять требованиям

bowser
18.08.2018
22:28:03
а то один ленится доку писать, а потом вся команда в говно наступила
обратите внимание на рекомендацию использовать openapi3.0 aka ex-swagger

в этом случае дизайн ферст как раз - эту спеку хошь бэкенд описывай, хошь фронтенд, а хошь все вместе включая секретаршу ?

Google
Constantine
18.08.2018
23:36:52
наоборот же

Leon
18.08.2018
23:41:43
Спат

Нада

Artem
19.08.2018
06:34:49
в целом формат ответов зависит от того как сервер общается с клиентом (если мы только про REST говорим), лучших практик нет есть только холивары ? я например нашел удобным дублировать http-ошибку в ответе и еще добавлять статускод (стандартных http-кодов обычно не хватает когда клиенту нужно обрабатывать дополнительные логики - например 401 Unauthorized может быть как "токен неправильный вообще" так и "токен истек" и тп) поэтому, ошибки выглядят у меня примерно так: { message: "human-readable error", status: http-status-code, code: "COMPUTER-READABLE-ERROR-CODE" } ответы на POST/PUT выглядят так: { success: true, id: "resource-created-id" } ответы на GET - любой JSON в рамках того что мы хотим отдать клиенту однако, вы захотите добавлять дополнительные данные - пейджинацию например, количество документов общее и тп: и тогда вы или будете их заголовками передавать, или заранее заложитесь на стандартный ответ (тут уже вам выбирать как удобнее, но лучше делать с запасом чтобы потом версию API не менять и разные не поддерживать): { data: { json-response }, total: total_amount_of_resources, next: "cursor-id-to-fetch-next-portion", ... }
Почему я так часто вижу, что возвращается абстрактное success поле, которое не несёт смысловой нагрузки

bowser
19.08.2018
06:36:05
наоборот же
Ну в этой интерпретации - да, я сформулировал не так. Кодогенерацию не люблю поэтому юзаю спеку только для валидации и _генерации документации автоматически_

Страница 1298 из 1630