如果您去过HighLoad ++,那么您将了解传统的Go mitap。 对围棋有兴趣的激进分子在大厅里呆了几个小时,发表了一些小型报告,讨论了紧迫的话题,并大喜。 分别使用HighLoad ++和Go上的单独报告。
现在,在我们看来,该
迈上 一个新台阶了 ,所以10月7日,我们将举行
GolangConf 。 从名称上可以明显看出,这是一次有关Go的会议,但这显然还不够。

我们正在为这次会议做准备:
- Go开发人员 -长期坐在Go上的人员,对讨论新产品,谈论性能和胆量,了解Go的变化,谈论仿制药感兴趣。
- 此外,随着Go社区的扩展,我们正在等待刚过渡到Go甚至只是考虑它的程序员 。 我们将向他们展示在向Go过渡时实现的成功故事或失败故事。 我们了解什么没有解决,为什么,他们的初衷,见解和印象是什么。
- 第三类访问者是使用Go编写的工具的用户 。 这些是流行的Cloud Native基础架构:Kubernetes,Docker,Terraform,Consul和其他Hashicorp产品。 在Go会议上,来宾一方面会发现这些工具在语言功能方面存在问题,另一方面,他们会看到Go面临着哪些挑战和任务,例如,为这些项目做出贡献。
为了确定在Go大会上应该讨论哪些主题,对于每个类别的参与者而言哪些问题和任务都很重要,我们聚集了计划委员会和Go社区的积极分子。 安排了一种头脑风暴。 我们与您分享结果,并且由于我们的主要目标是发展社区,因此我们希望收到您的反馈。 在评论中写下需要更充分地揭示的内容,这完全没有意思,以及到底需要什么。 例如,建议是否值得讨论在Windows下操作Go的功能,否则意见分歧。
当演员登上舞台时,我们将代表他们。GolangConf部分
Elena Grahovac (
德国金融科技初创公司N26的TechOps过程自动化团队负责人。GolangShow播客的共同主持人,GolangConf PC的成员。自2015年以来,她从事Go语言的编写已有11年,并且拥有11年的专业IT经验 )
。首先,在Go会议上,将为
那些长期使用Go编写 ,有严重问题或可能受生产力限制并想要深入研究的
人提供一个
部分 。 在此条件部分,我们将介绍一些案例,例如,使用流行的库时,但是我们设法克服了性能问题。 考虑非标准方法和非显而易见但相关的解决方案。
其次,我们将有
一个“初学者”部分 。 将为那些已经可以用其他编程语言做一些事情但想想Go是否适合其任务的人做演讲。
我们正在计划有关Go适合的任务,如何从其他编程语言过渡的报告,或者-所有程序员最喜欢的话题-如何淘汰X语言并在Go上重写所有内容的报告。
听到过渡带来的负面经验将是非常高兴的,因为这种情况也会发生,但是不幸的是,这种情况并不常见。 如果您有这样的经验,请写信给我们。
一个单独的流将是
会议,研讨会和简要报告的一部分 ,您可以在这里讨论痛苦的话题或开始讨论会议期间突然出现的问题。 例如,我记得您想分享自己的经验,并受到其他报告的启发-请满足所有条件。 这种方法在其他会议上很少见。
当然,您可以在场上交谈,但是mitaps提供了一个机会,可以吸引更多的观众,讨论问题,吹嘘某些事情,或者反过来使您感到悲伤并分享您的痛苦。
此外,我们计划乍一看不涉及技术性话题。 例如,在GopherCon欧洲会议上,有两篇关于代码可读性的报告,其中稍有神经科学方面的偏见。 这些知识将有助于更好地构建您的应用程序,使其对人类友好并且对同事更方便。 我们希望在我们的会议上看到有关新主题的报告,但到目前为止尚未引起足够的重视。
你为什么需要去
Igor Dolzhikov (
Openprovider的 SRE工程师,使用Go自动化微服务的开发,确保其可靠性和高可用性 )
在专门讨论一种语言的会议上,通常会发生躁动:为什么使用这种语言,为什么它更有趣,为什么需要切换到它。 我本人在Go上使用了很长时间,并且了解了相关性。 但是在我看来,揭示关键概念很重要,例如,解释为什么Google在Go上生产其产品。
那些成功使用PHP或Python编程的人需要使用示例来说明为什么他们应该考虑Go。 不仅针对特定任务,还举例说明了使用这种语言开发整个大型项目的大型公司。
Elena Grakhovac:的确,这是我们的技巧之一-举例说明:为什么人们可以取胜,为什么会变得有趣,对谁来说可能很有趣?
我们希望保持诚实,并告诉谁和何时不应该选择Go。
如果我们谈论从“ X”语言切换到Go的感觉有多酷,那么会议参与者将无法解决某些问题,并且他们开始骂我们,那将不是很好。 因此,讲述失败的故事并找出为什么不可能成功是很酷的。
所有示例都应与以下问题相关:
- 我必须切换到Go吗?
- 谁需要它;
- 为什么有必要;
- 怎么做。
伊戈尔·多尔芝科夫(Igor Dolzhikov):另外,在我看来,类似罗布·派克(Rob Pike)最初报告的报道是适当的。 显然每个人都很害羞,但是如果有人接受了初学者级别的报告,那就很好了,该报告简要地显示了代码中Go架构中的最关键点:如何提高第一台服务器,如何使用通道和goroutine等。 由于某种原因,没有俄语的此类报道。
Marko Kevats (
Badoo平台部团队负责人。几乎从一开始就是CGo。Go实施在公司中的主要发起人。作者兼演讲者,PC GolangConf成员,硬核演讲者。他不喜欢GC )。
那些正在考虑实施Go的人将对Go如何与其他语言交互的话题感兴趣。 也就是说,将Java连接到C非常简单。 Rust很容易连接到C。 在C语言中,大量的东西都被编写了。 对于Go,这总是很痛苦的,通常人们只是决定重写Go上的所有内容。 它更容易,更方便,所有实用程序都可以运行,并且不会出现任何奇怪的错误。 我们将在会议上讨论什么不是扔掉所有内容的最佳主意,而是究竟需要用Go编写什么内容-毕竟,我们有一个Go会议。
性能去
奥列格·布宁(Oleg Bunin) :不是针对初学者,在会议上还能提出什么其他主题? 例如,在Moscow Python Conf ++上,我们几乎了解了与它的流行领域(机器学习)相关的报告。 Go上有这样的区域吗?
Vitaly Levchenko (
在圣彼得堡的ITGM,Go和SRE会议的组织者,GolangConf PC的传播者,GolangConf PC的成员。自发布以来一直与Go合作。NDA开发负责人 )。
性能可能就是这样的话题。 让我们尝试收集有关高负载主题的一些硬性报告。 计划为什么需要用UDP代替TCP,但要在Go的上下文中更多。
例如,我很久以来一直想在俄罗斯听到有关性能问题的报告,但是我还没有看到足够严重的东西-这是一个关于
Go-shny汇编程序的故事。 这是一个重要而重要的话题。
Marco Kevac :此报告可以与安全性和加密结合使用。 现在,大致来说,如果要在Go上编程加密或安全性以便快速运行,则需要用汇编器编写。 这是问题的一部分。 立即出现另一个问题-所有这些都需要稍后以某种方式进行测试和支持。 可能是一个真正的核心主题。
Vitaly Levchenko:这仍然很有价值,因为开发人员可以优化,优化关键位置,然后按常规执行,举起爪子,然后说“一切”。 但是实际上,进一步的汇编。
到处走
奥列格·布宁(Oleg Bunin):您还想在会议上提出什么其他主题?
Elena Grahovac:现在,他们正尝试将Go实际应用到任何地方。 例如,即使有特殊的框架,嵌入式设备的爱好者也试图在Go上编写。 Go还用于机器学习,一次Go上出现了TensorFlow趋势。 我们很乐意考虑有关这种经验的报告。 但是在这里,正如一般而言,所有会议报告一样,重要的是这完全是个人经验。
您可以在此处阅读文档中写的内容,而最有价值的是,该报告基于示例,您遇到的内容以及如何克服所获得的内容时。
Marco Kevac :的确,Go语言在任何地方都被使用。 如果您现在听说一些新项目,那么90%是用Go编写的。 我真的很想听听有关这一趋势的评论报告,如何从一种年轻的流行语言开始普及,关于可能的未来等等。
伊戈尔·多尔芝科夫(Igor Dolzhikov):我建议
谈谈集装箱化的话题。 也许没有人注意到,但是
发生了一次革命-将应用程序转移到容器 。 实际上,他使用Go语言来回走动。
Vitaly Levchenko:是的,格式主题很有趣:修补Kubernetes,在我们的服务网格Go上收集您的云。 俄罗斯的多家公司肯定会这样做。
Elena Grahovac:因此,我们只是
参加了
第三类参与者–与云服务交互并被迫至少对Go有所了解的
基础架构工程师 。
Marco Kevats:您如何看待Go上的移动编程?
Elena Grahovac: Google有这样一个项目,但是已经关闭了。 因此,在我看来,Go上的移动编程已死了。 请,如果您知道不是这样,请反驳我。
维塔利·列夫琴科(Vitaly Levchenko):我不知道俄罗斯有什么成功的案例,没有人为自己做过一个以上的图书馆,但是我们很高兴收到这样的申请。
Marco Kevats :在我看来,
Go在开发控制台应用程序方面仍然
很流行,并且与Rust竞争,其中包括由于它以一个二进制文件的形式组装,可以轻松地放在服务器上并在任何地方使用。
Elena Grahovac:再次是由于谁使用了这些二进制文件:工程师,基础架构和DBA。 例如,在我们公司,DBA决定使用Go语言编写程序,这样您就可以生成可以执行其所需功能的二进制文件。
Igor Dolzhikov: 很久以来我们
一直在Go上编写服务模板
-我们正在Go上编写服务模板,然后在Go上编写。
Vitaly Levchenko:这里有一个单独的大话题,它没有被很好地公开,因此最好将其分成一个单独的部分-
可观察性 ,即日志记录,度量,开放式跟踪以及它们如何使用所有这些。
进入大公司
Oleg Bunin:使用Go时,大公司面临的主要问题和挑战是什么?
埃琳娜·格拉霍瓦茨(Elena Grahovac):很多。 从以下情况开始如何在Go上构建应用程序:如果有一堆微服务,而您需要一个单一存储库,或者一堆微服务和单独的存储库。 如何管理依赖关系,如何嵌入安全性-有很多任务,但是它们与任何编程语言都相关。 相同的可观察性问题是一个问题,而是Cloud Native应用程序。 但是我们可以在Go的上下文中考虑它。
但是与架构相关的主题将是特定的,因为Go仍然不是OOP。 以及例如在Java中如何构造应用程序以及如何分配类,与适用于Go的方法有很大不同。
Alexey Palazhchenko (
Percona的地鼠负责人,高级地鼠,普罗米修斯的撰稿人 )。
您可以在Go上下文中谈论任何这些主题。 假设Go上下文中的monorepo或multi-rep非常不同,因为路径导入使用整个URL。 即使在这种情况下也存在重大差异,因此在我看来您可以谈论所有这一切。
走吧
Oleg Bunin:告诉我,用于设计将在Go上运行的应用程序的体系结构模式是否类似于某些标准模式?或者这是完全不同的故事吗?
Vitaly Levchenko:有一个Go-way概念在社区中以某种方式滑倒。 就方法而言,Go是非常独特的。
Elena Grahovac:关于Go-way是整体的问题,对其进行讨论将很有趣。
如果我们谈论模式,那么Go的传统OOP模式通常是不相关的。 但与此同时,Go也有自己的特色。 例如,错误处理实践,结构化方法,使用上下文,查询处理等。 Web应用程序有其自身的特点。
奥列格·布宁(Oleg Bunin):我正确地理解,普通的Go程序员需要比普通的PHP程序员更多地了解和了解计算机的工作原理? Go程序员是否拥有对处理器和线程的更多访问权,对代码执行的更多控制权?
Elena Grahovac:老实说,我不同意。
Vitaly Levchenko:可以直接进入。 粗略地说,您可以将sys call称为直接调用。 您可以通过两个步骤使用必要的选项将某些内容写入磁盘。 它方便,有据可查并易于使用。
Marco Kevats:我同意,在我看来Go-Schnick应该更了解才能正常编程。 但不是一个数量级。
Vitaly Levchenko:这是由于生产力问题。 一旦Go开发人员遇到生产力问题,他就开始使用硬件。 在那之后,您立即变得很清楚,
您需要了解硬件和Linux 。
从PHP到Go
Igor Dolzhikov:我曾经说过Go是一个新的PHP,所以他们差点把我扔给我。 现在,正是为了快速投掷东西而精确使用的语言。
Vitaly Levchenko:一个不重要的
问题是加入Go的
开发人员。 有些人认为没有经验的人不是一个时髦的人。 而且,您可以让一个完全没有Go经验的人带上一个职位,立即在Go上投入一个项目,一切都会好起来的。 这样的经历将非常有用。
伊戈尔·多尔芝科夫(Igor Dolzhikov):该报告的一个很好的话题:不要在Go语言中掌握您的经验以及适用于一种语言(尤其是PHP)的所有方法。 这是一个常见的错误。
Vitaly Levchenko:除了这个问题:“如何管理从PHP切换到Go的程序员?” 并获得出色的报告。
写谁来做?
自从他们开始谈论管理以来,我建议从这种角度讨论Go。 首先,它的缺点。
通常,工程师会考虑编程语言:体系结构功能,语法等。 在任何语言会议上,主题的很大一部分是在特定情况下是否选择乐器。 同时,根据技术特征对语言进行比较,但是存在特定于团队和管理的问题,因此很难解决。 有关它们的报告将对那些决定是否使用Go的人很有用。
Go变得越来越流行,因此我们正在等待会议上对Go感兴趣但还不是很熟悉的专家。
反对一切
Marco Kevac:我真的很想听到一份报告,
标题是
“我们如何在没有仿制药的情况下生活?” 并按要点将其分类,可以绕过这个和那个。 每个人都在谈论这些通用名称,也许它们可以简化生活,但实际上您可以不用它们。 在实践上展示如何实现这一点很有趣。
Vitaly Levchenko:除了泛型以外,它还会导致错误处理,这些错误来自非Go语言。
Go中的错误处理与所有其他语言都有
很大的不同 ,有些模式并不是每个人都知道和使用的。 随着Go 1.13的问世,这个问题将得到部分解决,但是无论如何,错误处理是一个重要的主题。
阿列克谢·帕拉日琴科(Alexey Palazhchenko):除了泛型和错误外,《启示录》还有第三匹马-这些是
模块 。
Elena Grahovac:在模块的上下文中还有什么更具争议性:它们是否起作用,它们如何不起作用,或者是什么使成瘾的互联网产生影响?
Alexey Palazhchenko:在我看来,所有人在一起。 由于Go 1.13将于8月发布,因此该主题将在10月与GolangConf更加相关。人们将及时开始转向GolangConf。 在此之前,所有这些人基本上都是爱好者。
Elena Grahovac:您认为他们会在美国GopherCon上说些什么? 宣布Go 2.0吗?
Marco Kevac:我认为我们不会看到任何发现。
Alexey Palazhchenko:我的假设是,他们将主要讨论调整和模块,即gopls,goproxy,注册表和审计。
阿列克谢·帕拉日琴科(Alexey Palazhchenko):说到轻率,我将去看一个关于这个话题的报告:例如,一位用X写得很好的著名人物说:“糟透了”或
“糟透了
X” 。
Elena Grahovac:您可以致电我们公司的任何人,他会告诉您Kotlin为什么比Go更好。 然后我将做一个报告:“在一家只想与Kotlin建立联系的公司中,去污剂如何生存?”。
Alexey Palazhchenko:这将是一个很好的组合。 参加有关X语言的会议很有趣,其中,他们会说X很烂。 要做出这样的报告,您需要精打细算并有很好的论据。 通常,这样的人会做好充分的准备,在场边会得到有趣的,好的报告和有趣的讨论。
安全性和Windows
Vitaliy Levchenko:顺便说一句,他们还没有说出有关安全性的消息。
Elena Grahovac:是的,我们很高兴收到铁杆安全专家的有关Go和安全性的报告。 如果是你,就
回应 。 虽然在我看来,这个话题几乎没有遍及所有地方,不仅在Go中。
既然我们已经记得安全性问题,那么我提出一个主题-有关Windows的知识。 我试图记住我在Go中特别了解的与安全相关的错误,并且由于某种原因,它们全都与Windows有关。
Marco Kevats:什么是Windows?
Elena Grahovac:我
认真地问 ,你在开玩笑吗?
Alexey Palazhchenko:很少有人问我关于Windows的问题,但不是一次,不是两次或三遍。 有人没有在本地配置。 有人问如何通过Go制作Excel铭牌或如何使用Home。 因此,有关如何在Windows上总体上使用Go的复审报告可能并不受欢迎,但它肯定会使这些人聚在一起,这本身就很有价值。
Marco Kevac:我同意。 最近,我在“新手” Go的研讨会上,程序员在其中尝试琐碎地安装Go并为此做些事情。 正是由于Windows以及使用Go进行处理的功能,才出现了许多问题。
阿列克谢·帕拉热琴科(Alexey Palazhchenko): Windows不在我们的泡沫中,但总的来说是。 从民意测验来看,Windows是最受欢迎的平台。
进入开发者职业
Elena Grahovac:我们还要在会议上讨论什么? 例如,我将对Go-developers的职业发展感兴趣。
Vitaly Levchenko:与其他开发商的职业发展有何不同?
Elena Grahovac:这是问题:有什么区别。 例如,我看到有时候Go开发人员有时会去Go切换到SRE。 现在在柏林,这是一种趋势,年轻人来说:“我实际上想成为SRE,但我知道我不能马上做,所以现在我将作为Go的初级开发人员,然后以某种方式转到SRE。”
Vitaly Levchenko:所以有兴趣,在会议上您需要报道SRE。
Elena Grahovac: SRE是那些经常使用Go来自动化其任务的人员,所有在初次使用后应自动执行的操作。 因此,这是围棋会议的当务之急。
Vitaliy Levchenko:由于具备必要的知识,SRE从Go-Schnicks那里也成长得更快。
: DevOpsConf SRE Go 5 .
: Go. : « Prometheus, Go , ». CocroroachDB Go, . , , , , , . .
: —
Serverless . serverless- Go: AWS, Google, Microsoft Azure. , -, .
: , Go , . . , , , . , , JSON-RPC, Go-.
, — . telegram- . GolangConf .