Leonid Kalneus
https://dave.cheney.net/2017/08/23/im-talking-about-go-at-devfest-2017-novosibirsk
Konstantin
Mike
Aleksandr
Mike
обычная генерация
а что есть метапрограммирование как не код, генерящий код перед компиляцией?
Jelonek
Илья
Jelonek
Konstantin
Vasily
Вообще да, но если бинарные данные слать во фронтент - некоторые могут чокнуться
Илья
если писать на диск, для восстановления состояния, то норм
Vasily
Микросервисы - да, милое дело
Vasily
Вместе с gRPC сразу
Vasily
Но вообще штатный сериализатор протобафа - ан рефлексии :)
Vasily
gogoprotobuf уже занимается кодогенерацией по типу easyjson
Konstantin
ну да тут уже google VS mail.ru ))
Vital
а бывают ли грабли при использовании не гуглового сериализатора вместе с grpc?
Vasily
Мы используем
Пока полёт стабильный
Konstantin
Vasily
Нет
Илья
Mail.ru
Илья
это пока у вас нагрузка 2 калеки :)
Vasily
Почему тяжело ?
Vital
где-то на хабре было видео с конфы. там толи из яндекса толи из баду рассказывали как они это всё в json конвертили чтоб дебажить
Vital
сдругой стороны если юзать gomicro - то он помогает генерить всякий бойлерплейт. хоть и сомнительно выглядит - но работы немного меньше
Vasily
там штатными средствами можно поставить json в качестве формата передачи
Vasily
или msgpack, или xml
Илья
https://improbable.io/games/blog/grpc-web-moving-past-restjson-towards-type-safe-web-apis#hn
Vital
Vasily
мессаги описываюстя в промежуточном IDL, на основе которого уже генерится всяко-разно
Vasily
protoc генерит например обычную гошную структуру, у которой в тегах есть инфа для маршалинга протобафа. и json, кстати, тоже
Vasily
там же не только мессаги генерятся, там ещё и интерфейс для сервиса, и вся клитентская обвязка
Vital
@rvasily Можете посоветовать что лучше почитать про IDL и как с этим жить?
Vital
это он Interface Definition Language?
Vasily
ага
Vasily
ничего конкретно по этой теме посоветовать не могу, но тут более-мнее всё прсото
Vasily
https://github.com/grpc/grpc-go/blob/master/examples/route_guide/routeguide/route_guide.proto
Vasily
вот proto-файл
это как раз idl
на нём мы описываем наши структуры и сервисы
Vasily
protoc берёт это и для разных языков генерирует код
ключевая фишка - для разных языков
Vital
ааа. т.е это такое общее название для протобафта, трифта и подобных?
Vasily
ага
engelbart
А вот книжки с амазона покупать норм щас, таможня не хочет ничего что б там заполнял?
engelbart
Чего то я читал на хабре про боль с страдания но подзабыл чем кончилось
Vasily
Я покупал через почтой ком месяц назад, дошло без проблем
Valentin
С электронными точно проблем нет :)
Мерль
https://github.com/lileio/lile
Vital
как-то звёзд маловато
Ilya
Vital
))
Anonymous
))
Мерль
At the heart of Hailo: a Golang geoindex library #golang https://sudo.hailoapp.com/services/2015/02/18/geoindex
Kirill
коллеги из Минска, напоминаю, сегодня в 19:00 в Гамбринусе сходка :)
Alexander
Коллеги из куала лумпура тут есть?
Kirill
Мы таки уже на месте
Chuvi
А Пхукетчане? )
Das Rote Pferd
скорее чангмайне
Alexander
Нет желающих поработать в вечном лете? )
Andrey
Вечное лето - это элей?)
Slava
Вечный смог и пробки скорее
Chuvi
Diablo
Alexander
Это не смог. Воздух чист.
Sergey
Товарищи, а подскажите советом.
Есть код, который по очереди открывает файлы и что-то с ними делает. Как правильно закрывать файлы в таком случае? defer f.Close() или f.Close()? defer же только после выполнения функции выполняется и мне кажется, что в случае цикла нужно использовать f.Close().
for _, f := range files {
f, err := os.Open(f)
if err != nil {
panic("Failed to open '" + f.Name() + "'")
}
//some actions
f.Close()
}
Ilya
A "defer" statement invokes a function whose execution is deferred to the moment the surrounding function returns, either because the surrounding function executed a return statement, reached the end of its function body, or because the corresponding goroutine is panicking.
Daniel
унести код из тела цикла в отдельную функцию и использовать defer
Ilya
оставить клоз в конце цыкла.
Ilya
ибо хрен знает сколько файлов там
Daniel
и?
Daniel
какая разница-то, сколько
Ilya
ну чо и. ОС может нахуй послть когда дескрипторы кончатся. что что
Daniel
коллега, вы невнимательно читаете
Sergey
Daniel
ну и, конечно, этот пример не скомпиляется :) f не может быть и строкой, и дескриптором
Sergey
Ilya
а. если через замыкание то да. но зачем