Size: a a a

2020 May 06

zl

ziggy lucid in Go-go!
Daniel Podolsky
начинаем с парсера, в полученном ast находим указанный интерфейс

дальше тривиально, есчли на входе и выходе тривиальные типы

если типы не тривиальные - возможны варианты, вплоть до “нагенерили мессаджей на половину типов проекта”
так если эти типы скрыты внутри пакета, а protobuf реально так быстр, как его хвалят, то какая разница, если наружу из пакета торчит пара конструкторов NewClient и NewServer?
источник

DP

Daniel Podolsky in Go-go!
type Service interface {
   Method(MyStruct) (AnotherMyStruct, error)
}
источник

zl

ziggy lucid in Go-go!
Daniel Podolsky
type Service interface {
   Method(MyStruct) (AnotherMyStruct, error)
}
китайцы как-то решили этот вопрос
https://github.com/niubaoshu/gotiny
работает быстро и точно, разве что, как оказалось, не совсем потокобезопасно в некоторых местах, но там вроде написано про этот факт, правда на китайском
источник

V

V---V in Go-go!
Тут кто-нибудь юзает винду?
источник

V

V---V in Go-go!
Как основную ос
источник

DP

Daniel Podolsky in Go-go!
ziggy lucid
китайцы как-то решили этот вопрос
https://github.com/niubaoshu/gotiny
работает быстро и точно, разве что, как оказалось, не совсем потокобезопасно в некоторых местах, но там вроде написано про этот факт, правда на китайском
да вопрос-то решается без проблем, не ясно - нужно ли нам его решение, или мы просто накидаем руками proto
источник

DP

Daniel Podolsky in Go-go!
V---V
Тут кто-нибудь юзает винду?
кто-то был
источник

zl

ziggy lucid in Go-go!
протобуф же по сути просто сериализатор, разве что навороченный
источник

DP

Daniel Podolsky in Go-go!
и?
источник

zl

ziggy lucid in Go-go!
Daniel Podolsky
да вопрос-то решается без проблем, не ясно - нужно ли нам его решение, или мы просто накидаем руками proto
так общая задача - реализовать удаленный доступ к готовому сервису с известным интерфейсом, чтобы потребитель ничего не заметил даже
источник

zl

ziggy lucid in Go-go!
просто мысли вслух
вроде мейнстрим, а ручной работы куча вылезла
даже странно, что готовых инструментов нет
источник

DP

Daniel Podolsky in Go-go!
каждый, кто с этим сталкивается, оценивает объем работы по написанию генератора и по ручному написанию proto, и думает “дануна”
источник

x

x-foby in Go-go!
V---V
Тут кто-нибудь юзает винду?
Я использую
источник

IK

Ilya Kaznacheev in Go-go!
Гайс, вопрос по оптимизации памяти глобальных переменных и констант
Если они нигде не используются, компилятор все равно кладет их в программу, или нет?
источник

F

Fred in Go-go!
он должен поругать наверное если не используется переменная или константа
источник

F

Fred in Go-go!
у меня ругалось, правда я редко пишу на го может что поменялось
источник

x

x-foby in Go-go!
Ilya Kaznacheev
Гайс, вопрос по оптимизации памяти глобальных переменных и констант
Если они нигде не используются, компилятор все равно кладет их в программу, или нет?
Переменная будет в программе, константа нет.

main.go
package main

var GlobalVar = "GlobalVar"

const GlobalConst = "GlobalConst"

func main() {}

go tool compile -S main.go
источник

VM

Vladislav Milenin in Go-go!
Daniel Podolsky
чего нам довольно сильно не хватает в экосистеме
Кому не хватает? Мигрантам с джанги?
источник

VM

Vladislav Milenin in Go-go!
Viktor
https://play.golang.org/p/QrncvvUy3MR
тут в сокращенном варианте один inlineQuery и пример Case из callBack .
У вас feedback 100% стоит?
источник

NG

Nikita Gritsai in Go-go!
ziggy lucid
спрошу на всякий, может зря мозоли на пальцах набиваю
существуют ли генераторы, которые генерят клиент и сервер с начинкой в виде grpc на основании интерфейса?
https://github.com/src-d/proteus
генерить grpc сервер тоже
сейчас как раз занимаюсь похожей темой
upd: из структур и методов, не из интерфейсов
источник