Если вы были на HighLoad++, то знаете о традиционной встрече Go. Активисты, интересующиеся Го, на пару часов заняли зал, представили короткие доклады, обсудили насущные вопросы и отпраздновали.
Также были отдельные доклады по Go на HighLoad++.
Теперь нам кажется, что пришло время перейти на следующий уровень , поэтому 7 октября мы проведем ГолангКонф .
Из названия понятно, что это конференция про Го, но этого явно недостаточно.
Мы готовим эту конференцию для:
- Разработчики Go — те, кто давно использует Go, кому интересно обсуждать новые продукты, говорить о производительности и «наворотах», узнавать, что меняется в Go, говорить о дженериках, например.
- Кроме того, по мере расширения сообщества Go мы с нетерпением ждем программисты, которые только переходят на Go или даже просто думать об этом.
Мы покажем им истории успеха с переходом на Go или истории неудач.
Выясняем, что не работает, почему, каковы их первые ощущения, мнения, впечатления.
- Третья категория посетителей.
пользователи инструментов, написанных на Go .
Это популярные инфраструктуры в рамках Cloud Native: Kubernetes, Docker, Terraform, Consul и другие продукты Hashicorp. На конференции Go гости, с одной стороны, узнают, какие проблемы у этих инструментов связаны с особенностями языка, а с другой стороны, увидят, какие трудности и задачи стоят перед Go, чтобы начать, например, вклад в эти проекты.
У нас был своего рода мозговой штурм.
Делимся с вами результатами и, поскольку наша главная цель — развитие сообщества, надеемся на ваш отклик.
Пишите в комментариях, что нужно раскрыть более полно, что совсем не интересно, а что именно нужно.
Посоветуйте, например, стоит ли обсуждать особенности использования Go под Windows, а то мнения разделились.
Мы представим персонажей такими, какими они появляются на сцене.
Разделы ГолангКонфа
Елена Граховац ( Руководитель группы автоматизации процессов TechOps в немецком финтех-стартапе N26. Соведущий подкаста GolangShow, участник ПК GolangConf. Пишет на Go с 2015 года, профессиональный опыт в IT - 11 лет. ) .
Во-первых, на конференции Go будут раздел для тех, кто давно пишет на Go , столкнулся с серьезными проблемами или, возможно, застрял в производительности и хочет углубиться в хардкор.
В этом условном разделе мы выберем случаи, например, когда использовалась популярная библиотека, но возникли проблемы с производительностью, которые удалось преодолеть.
Рассмотрим нестандартные подходы и неочевидные, но актуальные решения.
Во-вторых, у нас будет раздел «для новичков» .
Там будут отчеты для тех, кто уже что-то знает в других языках программирования, но задумывается, подходит ли Go для их задач или нет. Мы планируем доклады о том, для каких задач подходит Go, как осуществить переход с других языков программирования или — любимая тема всех программистов — как выкинуть язык X и переписать всё на Go.
Было бы здорово услышать о негативном опыте перехода, ведь такое тоже бывает, но, к сожалению, об этом говорят не очень часто.Будет отдельная тема раздел митапов, мастер-классов и легких докладов , как место, где можно поговорить на насущную тему или начать обсуждать то, что вдруг всплыло во время конференции.Если у вас есть такой опыт, писать нас.
Например, я вспомнил, что вы хотите поделиться своим опытом, вдохновившись другими докладами – пожалуйста, для этого есть все условия.
Такой подход редко можно увидеть на других конференциях.
Конечно, можно просто пообщаться в кулуарах, но митапы дают возможность собрать большую аудиторию, обсудить проблемы, чем-то похвастаться или, наоборот, о чем-то погрустить и поделиться своей болью.
Кроме того, мы планируем затронуть не очень технические на первый взгляд темы.
Например, на конференции GopherCon Europe было два доклада о читаемости кода с небольшим упором на нейробиологию.
Эти знания помогут вам лучше структурировать ваше приложение, сделать его читабельным и удобным для коллег.
Мы надеемся увидеть на нашей конференции доклады по новым темам, которым еще не было уделено достаточного внимания.
Зачем тебе Го?
Игорь Должиков ( SRE-инженер в Openprovider автоматизирует процессы разработки микросервисов, обеспечивает их надежность и высокую доступность, используя Go ) На конференциях, посвящённых одному языку, обычно идёт агитация: почему именно этот язык, почему он интереснее, почему надо на него переходить.
Я сам давно использую Go и понимаю актуальность.
Но я думаю, что важно охватить ключевые понятия, например, объяснить, почему Google делает свои продукты на Go. Тем, кто успешно программирует на PHP или Python, нужно показать примеры, почему стоит обратить внимание на Go. Не только под конкретные задачи, но приведите примеры крупных компаний, которые разрабатывают целые масштабные проекты на этом языке.
Елена Граговац: Правильно, это одна из наших фишек — показать примеры: почему это может быть интересно, кому это может быть интересно, что люди могут выиграть.
Мы хотим быть полностью честными и рассказать вам, кому и когда не следует выбирать Го.Если мы поговорим о том, как круто перейти с языка «Х» на Go, а потом у участников конференции что-то не так и они начнут нас ругать, это будет не здорово.
Поэтому было бы здорово рассказать истории неудач и выяснить, почему вы не добились успеха.
Все примеры должны быть связаны с вопросом:
- стоит ли мне перейти на Go;
- кому надо;
- почему это необходимо;
- как это сделать.
Видимо все стесняются, но было бы неплохо, если бы кто-то взялся за отчёты для начинающих, которые кратко показывают в коде самые ключевые моменты в Go-архитектуре: как настроить первый сервер, как работать с каналами и горутинами и т.п.
.
По каким-то причинам подобные отчеты недоступны на русском языке.
Марко Кевач ( Руководитель группы в отделе платформ Badoo. C Идем почти с самого начала.
Главный инициатор внедрения Go в компании.
Автор и спикер, член ПК GolangConf. Хардкорный парень.
Не любит GC ).
Для тех, кто думает о внедрении Go, будет интересна тема взаимодействия Go с другими языками.
То есть очень легко совместить Java с C. Очень легко связать Rust с C. И огромное количество всего написано на C. С Go это всегда боль и часто люди просто решают все переписать на C. Идти.
Это намного проще, удобнее, все утилиты работают, и никаких странных багов у вас не возникнет. Обсудим на конференции, когда не стоит все выбрасывать, и что именно нужно писать на Go — ведь у нас конференция по Go.
Перейти производительность
Олег Бунин : А не для новичков, какие еще темы можно было бы затронуть на конференции? Например, на Moscow Python Conf++ у нас был почти целый трек докладов, связанных с популярной областью его применения — машинным обучением.
Есть ли такая область для Го?
Виталий Левченко ( Евангелист, организатор ITGM, Go и SRE митапов в Санкт-Петербурге, участник ПК GolangConf. Работает с Go с момента выпуска.
Менеджер по развитию НДА ).
Эта тема могла бы быть производительность .
Попробуем собрать несколько хардкорных отчетов на тему highload. План того, почему TCP нужно заменить на UDP, но больше в контексте Go. Я, например, давно хотел услышать доклад в России, связанный с вопросом производительности, но не видел ничего достаточно серьезного - это рассказ о Перейти на ассемблер .
Это важная и большая тема.
Марко Кевач : Такой отчет можно совместить с безопасностью и шифрованием.
Теперь, грубо говоря, если вы хотите запрограммировать шифрование или безопасность на Go, чтобы оно работало быстро, вам нужно писать на ассемблере.
Это одна часть проблемы.
Сразу появляется другое — что все это нужно потом как-то тестировать и поддерживать.
Это может быть действительно хардкорная тема.
Виталий Левченко: Это еще ценно, потому что разработчики оптимизируют, оптимизируют ключевое место, а после этого натыкаются на обычный Го, поднимают лапы и говорят «вот и все дальше».
Но на самом деле дальше идет ассемблер.
Иди куда угодно
Олег Бунин: Какие еще темы вы хотите поднять на конференции? Елена Граговац: Сейчас Go пытаются использовать буквально везде.Например, энтузиасты встраиваемых устройств тоже пытаются писать на Go, есть даже специальные фреймворки.
Go также используется для машинного обучения, одно время был тренд TensorFlow на Go. Мы были бы рады рассмотреть отчет о таком опыте.
Но здесь, как и вообще во всех докладах на конференции, важно, чтобы это был личный опыт.
Что написано в документации, можно прочитать там, и самое ценное, когда отчет основан на примерах того, с чем вы столкнулись, как вы это преодолели и что получили.Марко Кевач : Действительно, Go как язык используется где угодно.
Если вы сейчас услышите о каком-то новом проекте, то 90% что он написан на Go. Мне бы очень хотелось услышать обзорный рассказ об этой тенденции, о том, как Go превратился из молодого популярного языка в повсеместный, о возможном будущем и т. д. Игорь Должиков: Предлагаю затронуть тему контейнеризации.
Может, никто и не заметил, но произошла революция — перемещение приложений в контейнеры .
Фактически, это шло рука об руку с языком Go. Виталий Левченко: Правильно, темы формата интересные: патчи Kubernetes, построение своего облака на Go, своя Service mesh. Несколько компаний в России определенно этим занимаются.
Елена Граговац: И вот мы только что пришли к нам третья категория участников – инженеры инфраструктуры которые взаимодействуют с облачными сервисами и вынуждены хотя бы немного разбираться в Go. Марко Кевач: Что вы думаете о мобильном программировании на Go? Елена Граговац: У Google был такой проект, но он закрылся.
Поэтому я считаю, что мобильное программирование на Go мертво.
Пожалуйста, если вы знаете, что это неправда, опровергните меня.
Виталий Левченко: Я не знаю ни одного успешного случая в России, никто не сделал себе больше одной библиотеки, но мы будем рады такому приложению.
Марко Кевач : Мне кажется, что до сих пор Go популярен для разработки консольных приложений.
и конкурирует в этом с Rust, в том числе и за счет того, что он скомпилирован в один бинарник, который легко поставить на сервер и использовать везде.
Елена Граговац: Это снова связано с тем, кто использует эти двоичные файлы: инженеры, инфраструктурщики и администраторы баз данных.
Например, наша компания решила писать администраторов баз данных на Go, чтобы они могли просто генерировать двоичные файлы, которые делали бы то, что им нужно.
Игорь Должиков: Мы надолго пишем шаблоны сервисов на Go — пишем шаблоны сервисов, которые есть на Go в Go. Виталий Левченко: Здесь также есть отдельная большая тема, которая плохо освещена и которую хорошо бы выделить в отдельный раздел - наблюдаемость , то есть логирование, метрики, открытая трассировка и как со всем этим работают.
Ходите в большие компании
Олег Бунин: Каковы основные проблемы и задачи, с которыми сталкиваются крупные компании при использовании Go? Елена Граговац: Много вещей.Начинаем с того, как структурировать Go-приложение, если: есть куча микросервисов и вам нужен монорепозиторий, или куча микросервисов и отдельные репозитории.
Как управлять зависимостями, как обеспечить безопасность — задач много, но они актуальны для любого языка программирования.
Та же проблема наблюдаемости — проблема, скорее, приложений Cloud Native. Но мы можем посмотреть на это в контексте Go. Но темы, связанные с архитектурой, будут специфичными, потому что Go все-таки не ООП.
И то, как, например, в Java структурируется приложение и как выделяется класс, сильно отличается от подходов, применимых к Go.
Алексей Палажченко ( ведущий суслик в Percona, опытный суслик, участник Prometheus ).
Любую из этих тем можно обсудить в контексте Go. Допустим, монорепозиторий или мультирепозиторий сильно отличаются в контексте Go, поскольку при импорте пути используется весь URL-адрес.
Даже в таких вещах есть существенные различия, поэтому, мне кажется, обо всем этом можно поговорить.
Иди прочь
Олег Бунин: Скажите, архитектурные шаблоны, которые используются при проектировании приложений, которые будут работать на Go, похожи на некоторые стандартные или это совсем другая история? Виталий Левченко: Есть понятие Go-way, которое так или иначе всплывает в сообществе.Go весьма уникален с точки зрения своего подхода.
Елена Граговац: Вопрос, что такое Go-way - это холивар, было бы интересно его обсудить.
Если говорить о паттернах, то традиционные паттерны ООП для Go совершенно не актуальны.
Но в то же время в Go есть что-то свое.
Например, практики обработки ошибок, подходы к структурированию, работе с контекстом, обработке запросов и т. д. Веб-приложения Go имеют свою специфику.
Олег Бунин: Правильно ли я понимаю, что средний программист Go должен знать и понимать больше о том, как работает компьютер, чем средний программист PHP? Имеет ли программист Go больший доступ к процессору и потокам, а также больший контроль над выполнением кода? Елена Граговац: Я бы не согласился, если честно.
Виталий Левченко: Go скорее имеет довольно прямой доступ.
Грубо говоря, можно вызвать sys call прямым вызовом.
Записать что-нибудь на диск с необходимыми опциями можно в два шага.
Это удобно, хорошо документировано и используется.
Марко Кевач: Согласен, мне кажется, что студенту Go нужно больше понимать, чтобы нормально программировать.Виталий Левченко: Это связано с проблемой производительности.Но не на порядок.
Как только у Go-разработчика возникают проблемы с производительностью, он начинает работать с оборудованием.
После этого сразу становится ясно, что нужно разбираться в железе и Linux .
От PHP к использованию
Игорь Должиков: Когда я сказал, что Go — это новый PHP, меня чуть не закидали помидорами.Виталий Левченко: С этим связан нетривиальный проблема с подключением разработчика , которые включены в Go. Некоторые считают, что человек без опыта – не предприимчивый человек.Сейчас это язык, который люди подбирают именно для того, чтобы быстро что-то выкинуть.
А есть позиция, что можно взять людей вообще без опыта работы в Go, кинуть их сразу в Go-проект, и всё будет хорошо.
Такой опыт был бы очень полезен.
Игорь Должиков: Хорошая тема для доклада: не стоит переносить на Go свой опыт и все подходы, работающие для одного языка (в частности, PHP).
Это распространенная ошибка.
Виталий Левченко: Добавьте к этому вопрос: «Как управлять программистами, которые переходят с PHP на GoЭ» и вы получите отличный отчет. Кто возьмется сделать писать ? И раз уж мы заговорили об управлении, я предлагаю обсудить Го именно с этой точки зрения.
Прежде всего, его недостатки.
Обычно языки программирования рассматриваются с точки зрения инженера: особенности архитектуры, синтаксис и т. д. На любой языковой конференции значительная часть темы — выбирать или нет тот или иной инструмент в конкретном случае.
При этом языки сравнивают по техническим характеристикам, но есть проблемы, специфичные для команды и управления, и с ними сложнее справиться.
Отчет по ним будет полезен тем, кто решает, использовать ли Go. Го становится все более популярным, поэтому мы ждем на нашей конференции специалистов, которые интересуются Го, но еще не очень с ним знакомы.
Иди против всех
Марко Кевач: Мне бы очень хотелось услышать отчет под названием что-то вроде «Как мы будем жить без дженериковЭ» и в котором по пунктам было бы объяснено, что можно обойти и так и этак.Все говорят об этих дженериках, и возможно они облегчают жизнь, но на самом деле без них можно обойтись.
Интересно показать с практической стороны, как этого добиться.
Виталий Левченко: Помимо дженериков вызывает холивары, среди тех, кто не из Go, обработка ошибок.
Обработка ошибок в Go сильно отличается из всех других языков есть шаблоны, о которых не все знают и используют. С появлением Go 1.13 эта проблема будет частично решена, но в любом случае обработка ошибок — важная тема.
Алексей Палажченко: Помимо дженериков и ошибок, есть третий конь Апокалипсиса - это модули .
Елена Граговац: Что спорнее в контексте модулей: работают они, как не работают или что тащит за собой половину интернета зависимостей? Алексей Палажченко: Мне кажется, что все вместе.
К GolangConf в октябре эта тема станет еще более актуальной, ведь в августе выйдет Go 1.13, и люди начнут на него переходить.
До этого это были все энтузиасты по большому счету.
Елена Граговац: Как вы думаете, что расскажут на американском GopherCon? Go 2.0 анонсирован? Марко Кевач: Я думаю, что никаких открытий мы не увидим.
Алексей Палажченко: Я предполагаю, что речь пойдет в основном о настройке и модулях, то есть гоплс, гопрокси, реестр и аудит. Алексей Палажченко: Говоря о холиварах, я бы пошел на беседу на тему: «Иди отстой» или «Го хуже, чем X» от известного человека, который хорошо пишет Х, например.
Елена Граговац: Вы можете позвонить любому человеку из нашей компании, он расскажет, чем Kotlin лучше Go. А потом я дам доклад: «Как суслику выжить в компании, которая хочет ассоциироваться только с Котлином».
Алексей Палажченко: Это было бы хорошее сочетание.
Интересно сходить на конференцию по языку Х, где, кроме всего прочего, тебе скажут, что Х — отстой.
Чтобы сделать такой отчет, нужно иметь стальные нервы и очень веские рассуждения.
Как правило, такие люди много готовятся, делают интересные, хорошие доклады и интересные дискуссии в кулуарах.
Go, безопасность и Windows
Виталий Левченко: Про Безопасность, кстати, еще ни слова не сказали.Елена Граговац: Да, мы будем рады получить отчет о Go и безопасности от хардкорного специалиста по безопасности.
Пожалуйста ответьте если это ты.
Хотя, мне кажется, эта тема затронута далеко не везде, не только в Go. И раз уж про безопасность мы вспомнили, предлагаю тему - что-нибудь про Windows. Я попытался вспомнить, какие известные мне ошибки конкретно в Go связаны с безопасностью, и все они почему-то связаны с Windows. Марко Кевач: Что такое Windows? Елена Граговац: Я серьезно спрашиваю, почему ты шутишь? Алексей Палажченко: Редко, но не один, не два, не три раза меня спрашивали что-то о Windows. Некоторые люди просто не могут настроить его локально.
Кто-то спрашивает, как сделать таблицу Excel из Go или как работать с Home. Поэтому обзорный отчет о том, как использовать Go в Windows в целом, возможно, не будет суперпопулярным, но он точно объединит этих людей, что ценно само по себе.
Марко Кевач: Я согласен.
Недавно я посетил семинар для «новичков» Go, где программисты пытались просто установить Go и что-нибудь с ним сделать.
Огромное количество проблем возникло именно из-за Windows и особенностей работы с Go на ней.
Алексей Палажченко: В нашем пузыре Windows нет, но, вообще говоря, она есть.
Согласно опросам, Windows является самой популярной платформой.
Карьера разработчика
Елена Граговац: Что еще мы хотим обсудить на нашей конференции? Например, меня бы заинтересовала тема карьерного роста для Go-разработчиков.Виталий Левченко: Чем он отличается от карьеры любого другого разработчика? Елена Граговац: Вот в чем вопрос: есть ли разница? Например, я вижу, что разработчики Go иногда приходят в SRE, чтобы потом двигаться дальше.
Сейчас это тренд в Берлине, приходят молодые ребята, которые говорят: «Я вообще-то хочу быть SRE, но понимаю, что сразу не смогу, поэтому пока буду работать младшим Go-разработчиком, и тогда я как-нибудь перейду в SRE».
Виталий Левченко: Это значит, что интерес есть, и SRE нужно осветить на конференции.
Елена Граговац: SRE — это те, кто много использует Go для автоматизации своих задач, всего, что нужно автоматизировать после первого использования.
Поэтому это актуальный вопрос для конференции Go. Виталий Левченко: Студенты Go также быстрее превращаются в SRE благодаря спектру необходимых знаний.
Игорь Должиков: у меня только что был отчет на DevOpsConf в качестве SRE с использованием шаблонов делается на Go за 5 минут.
И другие темы
Виталий Левченко: Стоит упомянуть базы данных Go. Некоторые говорят: «Мы не будем использовать Prometheus, потому что он написан на Go, он медленный».Аналогично, CocroroachDB полностью написан на Go, что иногда служит решающим аргументом против него.
Мы, как суслики, конечно, надеемся, что найдется оратор, который на своем опыте опровергнет эти утверждения.
Но мы также принимаем обоснованное подтверждение.
Елена Граговац: Еще одна тема Бессерверный .
Популярные бессерверные провайдеры поддерживают Go: AWS, Google, Microsoft Azure. Опыта в этой теме мало, но мы надеемся найти того, кто готов им поделиться.
Виталий Левченко: Еще одной неожиданной, но актуальной в контексте Go и микросервисов может стать тема синхронной документации с кодом.
Код и документация со временем расходятся.
Очень редко бывает спецификация, по которой генерируется код, который используется внешними и внутренними партнёрами.
Отчет, например, о том, почему нужно все бросить и использовать JSON-RPC, будет полезен Go-разработчикам.
Если вы уже знаете, как осветить одну из многих названных тем – Мы ждем вашей заявки .Теги: #карьера #Разработка сайтов #Высокая продуктивность #Конференции #Go #golang #sre #cloudnative #GolangConf #go ProductivityИли присоединяйтесь к нашему мозговому штурму в комментариях или телеграмма чат конференции.
Мы делаем ГолангКонф для тебя.
-
Фотографии Высокого Качества
19 Oct, 24 -
Я, Бот И Мое Шило
19 Oct, 24 -
Мой Киевстар Забыл Некоторые Мои Аккаунты
19 Oct, 24 -
В Чем Проблема Оракула В Блокчейне?
19 Oct, 24 -
Обезьяны Нажали Кнопку
19 Oct, 24 -
Странный Эйнштейн
19 Oct, 24