Por que ele: 5 perguntas para professores da Ozon Go

imagem

Go é um dos principais idiomas nos quais os serviços Ozon são escritos. Na semana passada, abrimos a primeira matrícula na escola Go-development, onde em dois meses você pode aprender gratuitamente um dos idiomas mais populares hoje no nível de especialista intermediário. Why Go, para quais tarefas é mais adequada e o que esperar da escola, dizem os desenvolvedores do laboratório de TI da Ozon, eles também são professores da escola.


  1. Go?
  2. / ?
  3. / Go?
  4. ?
  5. ?
  6. : Go?

, « , »


imagem1. Há quanto tempo você escreve no Go?
Escrevi exatamente 5 anos no Go, antes desta ordem, escrevo PHP há 8 anos, enquanto estava invadindo JS, Python por cerca de um ano. Na escola por 2 anos, ele escreveu ativamente em Pascal, até conseguiu fazer um tetris gráfico completo na 11ª série.

2. Como esse idioma é interessante / diferente dos outros para você?
Eu não diria que a linguagem é algo especial, mas quando comparado ao PHP, existem algumas diferenças. Antes de tudo, foi interessante para mim trabalhar com multithreading e tudo relacionado a ele. Em segundo lugar, foi aqui que eu revelei completamente as possibilidades de uma arquitetura flexível baseada em interfaces e pequenos módulos / tijolos. E, finalmente, suporte para muitas bibliotecas, uma abordagem de microsserviço e a capacidade de escrever tão rápido quanto em linguagens de tipo fraco.

3. Qual foi o projeto maior / mais interessante que você escreveu no Go?
On Go, comecei a escrever na Lazada (o comércio eletrônico do Sul da Ásia que o Alibaba mais tarde comprou) e toda a experiência que adquiri lá foi aplicada no Ozon. Como resultado, acabou criando o coração do site Ozon, vinculando todas as equipes do projeto Composer. Esse nome veio a ele, porque ele, como compositor, controla o trabalho conjunto de muitos widgets de várias equipes, minimizando o trabalho de equipes verticais. Por meio do sistema de gerenciamento deste produto, você pode criar qualquer página do site, mas este não é um sistema de gerenciamento de conteúdo (CMS), mas um mecanismo de modelo. De certa forma, modelos com widgets podem ser tomados como metaprogramação, porque você tem se, tryCatch, paginação etc. à sua disposição. Todo o tráfego do site Ozon passa por nós.

4. Para que tarefas o idioma é mais adequado?
A linguagem pode ser usada para vários propósitos, na maioria das vezes é usada para criar microsserviços, pequenas bibliotecas, nas quais é necessário executar o trabalho em paralelo, há muitas chamadas de rede.

5. Do que você está falando no curso?
No curso, pretendo falar sobre o que aguarda os futuros funcionários da Ozon. Por que, sob minha liderança, nasceu o projeto Composer, como era antes dele, como tarefas semelhantes são resolvidas por outras abordagens, por exemplo, o conhecido MVC. No entanto, em uma escala de ozônio, outras soluções não são mais tão eficazes. Aqui você encontrará os detalhes do projeto e muitos truques que resolvem as tarefas difíceis de grandes projetos.

Na prática, criaremos um serviço de back-end com vários widgets, implementá-los na página e até mostrá-los no site. Também adicionaremos interatividade a esses widgets usando carregamento, ação e paginação assíncronos.

6. Por que vale a pena aprender Go?
Se você deseja ingressar em uma das comunidades mais ativas do mundo em desenvolvimento, estar em demanda no mercado, fazer coisas legais e sentir orgulho do trabalho realizado, está a caminho da Ozon and Go.

Masha Pospelova, grupo de desenvolvimento “Classificação em fábricas de preenchimento e centros de classificação”


imagem 1. Há quanto tempo você escreve no Go?
Desde que vim para o Ozone - 5 meses antes, escrevi em C / C ++, Perl, um pouco de Python.

2. Como esse idioma é interessante / diferente dos outros para você?
Estou muito impressionado com a abordagem baseada na simplicidade e sem ambiguidade no desenvolvimento. Os autores controlam estritamente todas as extensões do idioma, tentando evitar redundância. Por um lado, o padrão impõe muitas restrições, impondo uma abordagem concreta ao desenvolvimento; por outro lado, essa ambiguidade resolve muitos problemas.

3. Qual é o projeto maior / mais interessante que você escreveu no Go?
Provavelmente, o projeto mais interessante em que trabalhei foi o serviço de acessibilidade do produto, atendendo a cerca de 10.000 solicitações por segundo, que mostra quais produtos e de quais fábricas de atendimento estão disponíveis para pedidos para um usuário específico em sua aldeia. Esse não é um caso muito frequente quando você pode aplicar todo o conhecimento dos meandros da implementação da linguagem, otimizando, além disso, sob essa carga, você pode observar muitos efeitos interessantes - já que o Go fornece muitas informações interessantes sobre o estado do tempo de execução.

4. Para que tarefas o idioma é mais adequado?
Eu diria isso para serviços simples e pequenos. Na minha opinião, o Go é bastante mesquinho nos meios de organizar o código de grandes projetos com um grande número de entidades e funcionalidades.

5. Do que você está falando no curso?
Vou falar sobre a estrutura interna, que permite criar um serviço de rede do zero com tudo o necessário para o trabalho completo, integrado à infraestrutura do Ozon.

6. Por que vale a pena aprender Go?
Parece-me que os criadores do Go se esforçaram muito para tornar possível o trabalho com esse idioma o mais rápido possível. É bastante compreensível e direto, com uma rica biblioteca padrão, possui todas as ferramentas necessárias para escrever testes de unidade e referências, depuração, criação de perfil, determinar o status da corrida e muitas outras comodidades agradáveis. E, é claro, é um grande prazer escrever código usando ferramentas de sincronização muito poderosas e, o mais importante, intuitivas - goroutines e canais.

Vladimir Serdyukov, grupo de desenvolvimento de contas pessoais


imagem1. Há quanto tempo você escreve no Go?
Já tem 1,5 anos

2. Como esse idioma é interessante / diferente dos outros para você?
A linguagem é simples, compila rapidamente, funciona em todas as plataformas populares; além disso, o Go possui um linter e fmt integrados.

3. Qual foi o projeto maior / mais interessante que você escreveu no Go?
O maior projeto é um mapa de pontos de entrega de pedidos, dos quais Ozon possui mais de 6 mil. Muitas solicitações assíncronas e requisitos rigorosos de desempenho.

4. Para que tarefas o idioma é mais adequado?
O Go é adequado para tarefas não relacionadas à interface do usuário personalizada (back-end)

5. Do que você está falando no curso?
No curso, falarei sobre quais IDEs podem ser usados ​​para o desenvolvimento e como a estrutura do projeto fica em Go.

6. Por que vale a pena aprender Go?
Vale a pena explorar o Go, pois é ótimo para criar sistemas muito carregados.

Dmitry Kulagin, grupo de desenvolvimento de serviços financeiros


imagem1. Há quanto tempo você escreve no Go?
1 ano. Antes disso, eu codifiquei em PHP por cerca de 5 anos, escrevi alguns scripts em Python

2. Como essa linguagem é interessante / diferente das outras para você?
É de tipo estático, compilado, muito semelhante ao C e possui uma ótima comunidade interessante.

3. Qual foi o projeto maior / mais interessante que você escreveu no Go?
Pontos clássicos do ozônio.

4. Para que tarefas o idioma é mais adequado?
Paralelize a descarga do banco de dados, crie um programa de console que clique em algo rapidamente e, é claro, em microsserviços; demônios

5. Do que você está falando no curso?
Sobre como mudar do seu idioma para o Go in Ozon.

6. Por que vale a pena aprender Go?

  • É tão simples quanto 5 centavos;
  • come [RAM] mais rápido e menos que o PHP;
  • ele tem toda a infraestrutura para ajustar e paralelizar;
  • você vai adorar escrever testes de unidade e talvez inicie a função diretamente no teste como eu;
  • é difícil escrever código espaguete nele. Go tem muitos mecanismos (por exemplo, linter) que vencem as mãos do macarrão. O primeiro é o compilador
  • você precisa escrever menos colchetes, mas pode esquecer o ponto-e-vírgula;
  • Você vai pensar mais sobre lógica de negócios do que onde colocar esse pedaço de código.

Se você está pronto para aprender o Go com uma das maiores equipes de Golang da Rússia, leia mais sobre a escola Ozon Go e faça uma solicitação aqui . E para aqueles que já dominaram o Go (ou C # .Net) perfeitamente, temos um programa de referência com a capacidade de ganhar 100.000 rublos por uma recomendação bem-sucedida. Em geral, vejo você no Ozon - online até agora, é claro)

All Articles