Приглашаем разработчиков, тимлидов и всех, кто так или иначе связан с разработкой на Go, принять участие в Go Meetup, который состоится 6 августа, в субботу, в московском офисе Mail.Ru Group. В программе встречи четыре доклада, подробности о них читайте под катом.
— «Внутренности Go», Вячеслав Бахмутов, Dropbox
Особенности реализации компилятора и runtime: устройство базовых типов, хранение структур в памяти, создание горутин, изменение размера стека и прочие низкоуровневые подробности. Спикер укажет на места реализации и приведет примеры использования этих знаний при написании программ.
— «Гигабайт JSON'а в секунду», Виктор Стародуб, Mail.Ru Group
Как написать самую производительную библиотеку для работы с JSON’ом на Go — easyjson. Спикер расскажет, как парсить и генерировать код на Go, поговорит о пользе и вреде reflection для сериализации и о микрооптимизациях, которые позволили обогнать альтернативы.
— «Встроенные БД в Go», Виталий Левченко, mc? software
Сравнение встроенных БД, которые можно использовать в Go: зачем они могут быть полезны, какие между ними есть принципиальные отличия, как это сказывается на производительности и какую БД стоит выбрать под свои нужды.
— «Работа с Go из Python», Вадим Марковцев, source{d}
Возможность создавать динамические библиотеки появилась в Go относительно недавно, поэтому долгое время использовать Go-код в других языках программирования можно было только с помощью IPC. К счастью, теперь можно создавать биндинги с помощью cgo — интерфейса взаимодействия Go c традиционным userspace. К сожалению, пока существует достаточно мало успешных примеров. Цель доклада — рассказать о множестве подводных камней и трудностей в работе с cgo на примере использования go-git из Python. Спикер также расскажет о самом проекте go-git — клиенте Git, написанном на чистом Go, и о CFFI в Python.
Начало в 12:00. Адрес: Ленинградский пр-т, 39, стр. 79.
Для тех, кто не сможет присутствовать на встрече, будет организована онлайн-трансляция на IT.Mail.Ru, после — опубликована запись. Участие бесплатное, но регистрация обязательна. До встречи!
Комментарии (10)
Xlab
29.07.2016 13:52Кстати, один из примеров использования Go вместе с cgo для создания Python-модуля: https://github.com/xlab/go-lambda/tree/master/module
Чтобы потом на python-2.7 рантайме в AWS Lambda запускать гошный код :)markhor
29.07.2016 21:37-1Пример так себе. Во-первых, в Питоне круче делать через cffi, во-вторых, там hello world а не обертка, полторы функции. А сборщик мусора? А сложные объекты? А всякие тонкости про которые никто не пишет как решать? Так что приходите, обещаю fun.
Xlab
30.07.2016 01:20Ну я бы не стал называть работающие примеры, которые наглядно демонстрируют пользу от такого взаимодействия Go и Python фиговыми, всё же не только объёмом славятся программные поделки.
Кол-во функций легко увеличить до сотни, если найти этому подходу хорошее применение. Кстати, о возможности так делать в принципе я узнал из https://blog.filippo.io/building-python-modules-with-go-1-5/ там примеры и то сложнее моего.
Так вот, основная трудность здесь — это найти достойный пример, заслуживающий одновременного применения python, go и cffi/cgo пасты между ними в одном процессе, потому что на мой взгляд области задач у этих двух товарищей пересекаются разве что в лямбде.
Ради достойных примеров, наверное, и стоит приходить.
yellow79
Толи регистрация закончилась, толи что-то поломалось
Aleksi
Починили, должно работать.