5-6 razões para vir para GolangConf

Se você já esteve no HighLoad ++, conhece o mitap tradicional do Go. Os ativistas que estão interessados ​​em Go, ocuparam o salão por algumas horas, apresentaram pequenos relatórios, discutiram tópicos prementes e foram holivar. Estavam no HighLoad ++ e separavam relatórios no Go.

Agora, parece-nos que está na hora de avançar para um novo nível ; portanto, em 7 de outubro, realizaremos o GolangConf . Pelo nome, está claro que esta é uma conferência sobre o Go, mas isso claramente não é suficiente.



Estamos preparando esta conferência para:

  • Desenvolvedores de Go - aqueles que estão no Go há muito tempo, interessados ​​em discutir novos produtos, falando sobre desempenho e coragem, descobrindo o que está mudando no Go, falando sobre genéricos, por exemplo.
  • Além disso, à medida que a comunidade Go se expande, estamos aguardando programadores que estão apenas migrando para o Go ou apenas pensando nisso. Mostraremos a eles histórias de sucesso que se tornaram realidade com a transição para o Go, ou histórias de fracasso. Aprendemos o que não dá certo, por que, quais são seus primeiros sentimentos, opiniões, impressões.
  • A terceira categoria de visitantes são usuários de ferramentas escritas no Go . Estas são as infraestruturas populares do Cloud Native: Kubernetes, Docker, Terraform, Consul e outros produtos Hashicorp. Na conferência Go, os convidados, por um lado, descobrirão o que essas ferramentas têm problemas associados aos recursos de idioma e, por outro, verão quais desafios e tarefas estão no Go para começar, por exemplo, a contribuir para esses projetos.

Para determinar quais tópicos devem ser discutidos na conferência Go, quais problemas e tarefas são importantes para cada uma das categorias de participantes, reunimos o Comitê de Programa e os ativistas da comunidade Go. Arranjou uma espécie de brainstorming. Compartilhamos os resultados com você e, como nosso principal objetivo é desenvolver a comunidade, esperamos seus comentários. Escreva nos comentários o que precisa ser revelado mais detalhadamente, o que é completamente desinteressante e o que exatamente é necessário. Aconselhe, por exemplo, se vale a pena discutir os recursos do funcionamento do Go no Windows, caso contrário, as opiniões foram divididas.

Representaremos os atores quando eles subirem ao palco.

Seções GolangConf


Elena Grahovac ( chefe da equipe de automação de processos da TechOps na startup alemã de fintech N26. Co-apresentadora do podcast GolangShow, membro do GolangConf PC. Ela escreve Go para 2015, possui 11 anos de experiência profissional em TI .

Em primeiro lugar, na conferência Go, haverá uma seção para aqueles que escrevem no Go há muito tempo , têm sérios problemas ou podem estar limitados pela produtividade e querem se interessar por hardcore. Nesta seção condicional, selecionaremos casos, por exemplo, quando uma biblioteca popular foi usada, mas houve problemas de desempenho que conseguimos superar. Considere abordagens não padronizadas e soluções não óbvias, mas relevantes.

Em segundo lugar, teremos uma seção "iniciantes" . Haverá apresentações para quem já pode fazer algo em outras linguagens de programação, mas pense se o Go é adequado para suas tarefas ou não.

Estamos planejando relatórios sobre quais tarefas o Go se adequa, como fazer a transição de outras linguagens de programação ou - um tópico favorito de todos os programadores - como descartar a linguagem X e reescrever tudo no Go.

Seria ótimo ouvir sobre a experiência negativa da transição, porque isso também acontece, mas isso, infelizmente, nem sempre é dito. Se você tem essa experiência, escreva- nos.

Um fluxo separado será a seção de reuniões, oficinas e relatórios leves , como um local onde você pode conversar sobre um assunto delicado ou começar a discutir o que surgiu repentinamente durante a conferência. Por exemplo, lembrei que você deseja compartilhar sua experiência, inspirada em outros relatórios - por favor, existem todas as condições para isso. Essa abordagem raramente é vista em outras conferências.

Obviamente, você pode apenas conversar à margem, mas as mitaps oferecem uma oportunidade para reunir uma audiência maior, discutir problemas, se gabar de algo ou, inversamente, lamentar-se por algo e compartilhar sua dor.

Além disso, planejamos abordar tópicos não muito técnicos, à primeira vista. Por exemplo, na conferência da GopherCon Europe, houve dois relatórios sobre a legibilidade do código com um leve viés na neurociência. Esse conhecimento ajudará a estruturar melhor seu aplicativo, torná-lo mais amigável ao ser humano e mais conveniente para os colegas. Esperamos ver relatórios sobre novos tópicos em nossa conferência, que até agora não receberam atenção suficiente.

Por que você precisa ir


Igor Dolzhikov ( engenheiro SRE da Openprovider, automatiza o desenvolvimento de microsserviços, garante sua confiabilidade e alta disponibilidade usando Go )

Em conferências dedicadas a um idioma, geralmente ocorre agitação: por que esse idioma, por que é mais interessante, por que você precisa mudar para ele. Eu mesmo estou no Go há muito tempo e entendo a relevância. Mas parece-me que é importante revelar conceitos-chave, por exemplo, explicar por que o Google fabrica seus produtos em movimento.

Aqueles que programam com sucesso em PHP ou Python precisam usar exemplos para mostrar por que devem olhar para o Go. Não apenas para tarefas específicas, mas fornece exemplos de grandes empresas que desenvolvem projetos de larga escala inteiros nesse idioma.

Elena Grakhovac: É verdade, este é um dos nossos truques - para mostrar exemplos: por que pode ser interessante, para quem pode ser interessante, que as pessoas possam vencer.

Queremos permanecer completamente honestos e dizer quem e quando não deve escolher Ir.

Se falarmos sobre como é legal mudar de “X” para Ir, e então algo não funcionará para os participantes da conferência e eles começarem a nos repreender, não será ótimo. Portanto, seria legal contar as histórias de fracasso e descobrir por que não foi possível ter sucesso.

Todos os exemplos devem estar relacionados à pergunta:

  • Eu tenho que mudar para Go;
  • quem precisa disso;
  • porque é necessário;
  • como fazer

Igor Dolzhikov: Além disso, parece-me que relatórios semelhantes aos primeiros relatórios de Rob Pike seriam apropriados. Aparentemente, todo mundo é tímido, mas seria bom se alguém pegasse os relatórios de nível iniciante, que mostram brevemente os pontos principais das arquiteturas Go no código: como aumentar o primeiro servidor, como trabalhar com canais e goroutines e assim por diante. Por alguma razão, não existem tais relatórios em russo.

Marko Kevats ( Líder de equipe no departamento de plataforma do Badoo. C Ir quase desde o início. O principal iniciador da implementação do Go na empresa. Autor e palestrante, membro do PC GolangConf. Orador incondicional. Ele não gosta do GC ).

Aqueles que estão pensando em implementar o Go estarão interessados ​​no tópico de como o Go interage com outros idiomas. Ou seja, conectar Java a C é muito simples. É muito fácil conectar ferrugem ao C. E em C, uma enorme quantidade de tudo está escrita. Com o Go, isso é sempre uma dor e muitas vezes as pessoas decidem reescrever tudo no Go. É muito mais fácil, mais conveniente, todos os utilitários funcionarem e você não receberá bugs estranhos. Discutiremos na conferência quando não é a melhor ideia jogar tudo fora, mas o que exatamente precisa ser escrito em Go - afinal, temos uma Go-conference.

Desempenho ir


Oleg Bunin : E não para iniciantes, que outros tópicos poderiam ser levantados na conferência? Por exemplo, no Moscow Python Conf ++, tínhamos quase uma faixa inteira de relatórios relacionados ao campo popular de sua aplicação - aprendizado de máquina. Existe uma área desse tipo para o Go?

Vitaly Levchenko ( evangelista, organizador das reuniões da ITGM, Go e SRE em São Petersburgo, membro do GolangConf PC. Trabalha com a Go desde o lançamento. Chefe de desenvolvimento da NDA ).

O desempenho pode ser um tópico desse tipo. Vamos tentar coletar alguns relatórios graves sobre o tópico highload. Planeje por que você precisa substituir o TCP pelo UDP, mas mais no contexto do Go.

Por exemplo, há muito tempo eu queria ouvir um relatório na Rússia relacionado à questão do desempenho, mas não vi nada sério o suficiente - essa é uma história sobre o montador go-shny . Este é um tópico importante e importante.

Marco Kevac : Este relatório pode ser combinado com segurança e criptografia. Agora, grosso modo, se você deseja programar criptografia ou segurança no Go para que ele funcione rapidamente, você precisa escrever no assembler. Esta é uma parte do problema. Imediatamente outro aparece - que tudo isso precisa ser de alguma forma testado e suportado posteriormente. Pode ser um tema muito grave.

Vitaly Levchenko: Isso ainda é valioso, porque os desenvolvedores otimizam, otimizam o lugar-chave e depois descansam no Go habitual, levantam as patas e dizem "então tudo". Mas, de fato, mais montador.

Vá a qualquer lugar


Oleg Bunin: Que outros tópicos você deseja levantar na conferência?

Elena Grahovac: Agora eles estão tentando aplicar o Go literalmente em qualquer lugar. Por exemplo, entusiastas de dispositivos embarcados também estão tentando escrever no Go, mesmo que existam estruturas especiais. O Go também é usado para aprendizado de máquina. Ao mesmo tempo, havia uma tendência do TensorFlow no Go. Gostaríamos muito de considerar um relatório sobre essa experiência. Mas aqui, como em geral para todos os relatórios da conferência, é importante que seja uma experiência precisamente pessoal.

O que está escrito na documentação pode ser lido lá, e o mais valioso é quando o relatório é construído sobre exemplos, o que você encontrou e como superar o que conseguiu.

Marco Kevac : De fato, o Go como idioma é usado em qualquer lugar. Se você ouvir falar de algum novo projeto agora, 90% está escrito em Go. Eu realmente gostaria de ouvir um relatório de revisão sobre essa tendência, como o Go de uma linguagem popular jovem se tornou onipresente, sobre um possível futuro etc.

Igor Dolzhikov: Proponho tocar no tópico da conteinerização. Talvez ninguém tenha notado, mas houve uma revolução - a transferência de aplicativos para contêineres . Na verdade, ele andava de um lado para o outro com o idioma Go.

Vitaly Levchenko: É isso mesmo, os tópicos de formato são interessantes: faça um patch do Kubernetes, colete sua nuvem no Go, nossa malha de serviços. Várias empresas na Rússia estão fazendo isso com certeza.

Elena Grahovac: Então, acabamos de aparecer em nossa terceira categoria de participantes - engenheiros de infraestrutura que interagem com serviços em nuvem e são forçados a pelo menos um pouco de compreensão do Go.

Marco Kevats: O que você acha da programação móvel no Go?

Elena Grahovac: O Google tinha um projeto desse tipo, mas foi fechado. Portanto, parece-me que a programação móvel no Go está morta. Por favor, se você sabe que não é assim, me refute.

Vitaly Levchenko: Não conheço nenhum caso de sucesso na Rússia, ninguém fez mais de uma biblioteca para mim, mas teremos o maior prazer em receber essa solicitação.

Marco Kevats : Parece-me que o Go ainda é popular no desenvolvimento de aplicativos de console e compete com o Rust, inclusive devido ao fato de ele ser montado em um binário, fácil de colocar no servidor e usar em qualquer lugar.

Elena Grahovac: Isso se deve novamente a quem usa esses binários: engenheiros, infraestruturas e DBA. Por exemplo, em nossa empresa, o DBA decidiu escrever no Go, para que você pudesse gerar binários que fariam o que eles queriam.

Igor Dolzhikov: Estamos escrevendo modelos de serviço no Go há muito tempo - estamos escrevendo modelos de serviço no Go, escrevendo no Go.

Vitaly Levchenko: Há um grande tópico separado aqui, que é pouco divulgado e que seria bom separar em uma seção separada - observabilidade , isto é, registro em log, métricas, rastreamento aberto e como eles funcionam com tudo isso.

Vá em grandes empresas


Oleg Bunin: E quais são os principais problemas e desafios enfrentados pelas grandes empresas ao usar o Go?

Elena Grahovac: Muito com o que. Começando com como estruturar um aplicativo no Go se: houver vários microsserviços e você precisar de um repositório mono ou vários microsserviços e repositórios separados. Como gerenciar dependências, como incorporar segurança - existem muitas tarefas, mas são relevantes para qualquer linguagem de programação. O mesmo problema de observabilidade é um problema, em vez disso, são aplicativos nativos da nuvem. Mas podemos considerá-lo no contexto do Go.

Mas os tópicos relacionados à arquitetura serão específicos, porque o Go ainda não é OOP. E como, por exemplo, em Java, um aplicativo é estruturado e como uma classe é alocada, é muito diferente das abordagens aplicáveis ​​ao Go.

Alexey Palazhchenko ( Gopher principal em Percona, Gopher sênior, colaborador de Prometheus ).

Você pode falar sobre qualquer um desses tópicos no contexto do Go. Digamos que monorepo ou multi-rep no contexto Go seja muito diferente, porque a importação de caminho usa todo o URL. Mesmo nessas coisas, existem diferenças significativas, então parece-me que você pode falar sobre tudo isso.

Vá embora


Oleg Bunin: Diga-me, os padrões de arquitetura usados ​​para projetar aplicativos que rodam no Go são semelhantes a alguns padrões ou essa é uma história completamente diferente?

Vitaly Levchenko: Existe um conceito Go-way que de alguma forma escapa na comunidade. Go é bastante único em termos de abordagens.

Elena Grahovac: A questão do que o Caminho é holístico, seria interessante discuti-lo.

Se falamos de padrões, os padrões tradicionais de POO para Go são irrelevantes em geral. Mas, ao mesmo tempo, o Go tem algo próprio. Por exemplo, práticas de tratamento de erros, abordagens de estruturação, trabalho com contexto, processamento de consultas, etc. Os aplicativos da Web Go têm suas próprias especificidades.

Oleg Bunin: Entendo corretamente que o programador Go médio precisa conhecer e entender mais sobre como um computador funciona do que um programador PHP comum? Um programador Go tem mais acesso ao processador e threads, mais controle sobre a execução do código?

Elena Grahovac: Eu não concordo, para ser sincero.

Vitaly Levchenko: Vá, em vez disso, tem acesso direto. Grosso modo, você pode chamar sys para fazer uma chamada direta. Você pode gravar algo em um disco com as opções necessárias em duas etapas. É conveniente, bem documentado e usado.

Marco Kevats: Eu concordo, parece-me que o Go-Schnick deveria entender mais para programar normalmente. Mas não uma ordem de magnitude.

Vitaly Levchenko: Isso se deve à questão da produtividade. Assim que o desenvolvedor Go tem uma questão de produtividade, ele começa a trabalhar com hardware. Depois disso, fica imediatamente claro que você precisa entender o hardware e o Linux .

Do PHP para Go


Igor Dolzhikov: Uma vez eu disse que o Go é um novo PHP, eles quase me jogaram tomates. Agora, essa é a linguagem usada precisamente para lançar algo rapidamente.

Vitaly Levchenko: Uma pergunta não trivial é integrar desenvolvedores que fazem parte do Go. Algumas pessoas pensam que uma pessoa sem experiência não é um go-shnik. E existe uma posição em que você pode levar pessoas sem experiência no Go, lançar imediatamente um projeto no Go, e tudo ficará bem. Essa experiência seria muito útil.

Igor Dolzhikov: Um bom tópico para o relatório: não leve sua experiência e todas as abordagens que funcionam para um idioma (PHP, em particular) no Go. Este é um erro comum.

Vitaly Levchenko: Adicione a esta pergunta: “Como gerenciar programadores que mudam do PHP para o Go?” e obtenha um ótimo relatório. Quem fará isso, escreva ?

E desde que eles começaram a falar sobre gerenciamento, proponho discutir o Go desse ponto de vista. Primeiro de tudo, seus contras.

Normalmente, as linguagens de programação são consideradas pelo engenheiro: recursos arquiteturais, sintaxe, etc. Em qualquer conferência de idioma, uma parte substancial dos tópicos é escolher ou não um instrumento em um caso específico. Ao mesmo tempo, os idiomas são comparados de acordo com características técnicas, mas há problemas específicos de equipe e de gerenciamento, e é mais difícil lidar com eles. Um relatório sobre eles será útil para aqueles que decidirem usar o Go.

O Go está se tornando cada vez mais popular; portanto, aguardamos em nossa conferência especialistas que estão interessados ​​no Go, mas ainda não estão muito familiarizados com ele.

Vá contra todos


Marco Kevac: Eu realmente gostaria de ouvir um relatório chamado "Como vivemos sem genéricos?" e em que seria resolvido por pontos que é possível contornar isso e aquilo. Todo mundo está falando sobre esses genéricos, e talvez eles simplifiquem a vida, mas na verdade você pode ficar sem eles. É interessante mostrar do lado prático como conseguir isso.

Vitaly Levchenko: Além dos genéricos, causa holivares, entre aqueles que não são da Go, tratamento de erros. O tratamento de erros no Go é muito diferente de todos os outros idiomas; existem padrões que nem todo mundo conhece e usa. Com o advento do Go 1.13, esse problema será parcialmente resolvido, mas, em qualquer caso, o tratamento de erros é um tópico importante.

Alexey Palazhchenko: Além de genéricos e erros, há um terceiro cavalo do Apocalipse - esses são módulos .

Elena Grahovac: O que é mais controverso no contexto dos módulos: eles funcionam, como eles não funcionam ou o que puxa a Internet dos vícios?

Alexey Palazhchenko: Parece-me, todos juntos. Este tópico será ainda mais relevante para o GolangConf em outubro, porque o Go 1.13 será lançado em agosto e as pessoas começarão a mudar para ele a tempo. Antes disso, todos eram entusiastas em geral.

Elena Grahovac: O que você acha que eles vão contar no GopherCon americano? Anunciar o Go 2.0?

Marco Kevac: Eu acho que não veremos nenhuma descoberta.

Alexey Palazhchenko: Meu pressuposto é que eles falarão principalmente sobre ajuste e módulos, ou seja, gopls, goproxy, registro e auditoria.

Alexey Palazhchenko: Falando sobre holívoros, eu iria a um relatório sobre o tópico: “Vá - é péssimo” ou “Vai - pior que X” de uma pessoa famosa que escreve bem em X, por exemplo.

Elena Grahovac: Você pode ligar para qualquer pessoa da nossa empresa, ele lhe dirá por que Kotlin é melhor que Go. E então farei um relatório: "Como um goffer pode sobreviver em uma empresa que quer se associar apenas à Kotlin".

: . , , — . . , , , .

Go, Security Windows


: , Security .

: , Go security security . , . , , , Go.

security, — - Windows. , Go, security, - Windows.

: Windows?

: , ?

: , , , - Windows. - . - , Excel Go Home . , Go Windows, , , .

: . «» Go, Go - . - Windows Go.

: Windows , . , Windows — .

Go-


: ? , , Go-.

: ?

: : . , , , Go- , SRE. , , : « - SRE, , , junior Go-, - SRE».

: , , SRE.

: SRE — , Go , , . Go-.

: Go- SRE - .

: DevOpsConf SRE Go 5 .


: Go. : « Prometheus, Go , ». CocroroachDB Go, . , , , , , . .

:Serverless . serverless- Go: AWS, Google, Microsoft Azure. , -, .

: , Go , . . , , , . , , JSON-RPC, Go-.

, — . telegram- . GolangConf .

Source: https://habr.com/ru/post/pt458768/


All Articles