temas mesa redonda
- Tópico 1: Desde que o código aberto foi incluído no plano nacional desde 2020, tem havido cada vez mais projetos de código aberto. O surgimento de projetos de código aberto fornece uma maneira de todos aprenderem e entenderem profundamente o projeto de atualização. De uma perspectiva de aprendizado, como um desenvolvedor se envolve em um projeto e aprende sobre um projeto?
-
Tópico 2: A principal direção do projeto de código aberto CloudWeGo é a estrutura de microsserviços nativos da nuvem. Quais são os principais cenários de uso desses projetos? Qual é o valor de aprender este tipo de projeto? Qual é a experiência da comunidade mista?
-
Tópico 3: Qual é a diferença entre as funções dos programadores como usuários do projeto e as funções dos desenvolvedores como designers de projetos de código aberto ? Como um Committer da comunidade que passou por esse tipo de transição de função, quais lições você pode compartilhar?
-
Tópico 4: Da perspectiva da comunidade e da situação geral, fale sobre por que as principais fábricas estão recrutando engenheiros Go? Como os programadores devem planejar seu desenvolvimento de carreira? Onde é o destino final dos programadores?
-
Tópico 5: Na sessão de compartilhamento dos grandalhões, blogueiros/sites de aprendizado de tecnologia/livros recomendados pelos grandalhões.
convidado
Primeira Edição
Desde que o código aberto foi incluído no planejamento nacional desde 2020, tem havido cada vez mais projetos de código aberto. O surgimento de projetos de código aberto fornece uma maneira de todos aprenderem e entenderem profundamente o projeto de atualização. De uma perspectiva de aprendizado, como um desenvolvedor se envolve em um projeto e aprende sobre um projeto?
Compartilhado por: Wang Weichao
A introdução sobre este assunto é realizada principalmente a partir dos quatro aspectos seguintes:
-
Como se conectar com as comunidades Kitex e CloudWeGo;
-
Conhecimento pessoal sobre cultura nativa de nuvem e open source;
-
Por que participar do código aberto e do espírito do código aberto como eu o entendo;
-
Pensamentos futuros pessoais sobre código aberto.
Como se conectar com as comunidades Kitex e CloudWeGo
Na verdade, a relação com a Kitex é muita coincidência, embora eu tenha feito desenvolvimento de back-end por vários anos, sinto que ainda existem alguns gargalos na tecnologia, então quero me aprimorar. Relembrando minha experiência anterior:
-
Em setembro de 2021, tentarei fazer saída no InfoQ, e o desafio será atualizado no dia, e será mais tradução;
-
No final de outubro, decidi aprender uma tecnologia específica, e descobri que já havia aprendido mais sobre "Tao" e "Fa" antes, principalmente sobre o conhecimento e compreensão de conceitos de programação, e raramente sobre "habilidades" e "ferramentas ";
-
Relembrando as palavras de Confúcio: "Sinto o gosto de não comer o dia todo, não durmo a noite toda, pensar é inútil, é melhor aprender", ou seja, pensar no nível do pensamento e estrutura antes, é melhor aprender algumas técnicas específicas. Portanto, decidi encontrar outro tópico e começar pelos aspectos que me interessam, mas os tópicos do Docker, nativo da nuvem, design de arquitetura e pensamento de microsserviço são muito quentes e muito competitivos, e pode ser difícil começar e fazer meu possuir coisas por um tempo;
-
Lembrei que o Kitex, que era apenas de código aberto, e algumas coleções de middleware relacionadas no projeto CloudWeGo que era apenas de código aberto deveriam ter menos informações e práticas, então iniciei a série "CloudWeGo Microservice Practice" e fiz uma pequena coleção, mas Eu não escrevi completamente. , apenas escrevi sobre dados operacionais, não uma prática comercial completa.
Para mim, pessoalmente, aprender sobre estruturas de microsserviços é uma ótima maneira de começar e, mais importante, poder se envolver na comunidade. No processo de aprendizado sobre a estrutura, muitas vezes aprendo sobre tendências relevantes no grupo CloudWeGo Feishu, dou uma olhada em PRs ou problemas relacionados ao CloudWeGo, presto atenção a alguns dos desenvolvimentos mais recentes e vejo o que pode ser feito por mim mesmo. Mais tarde, fiz algumas contribuições principalmente para a descoberta de serviços Kitex, componentes relacionados ao registro de serviços, testes de unidade, etc.
Compreensão pessoal da cultura nativa da nuvem e de código aberto
Então, como eu entendi ou entrei em contato com a cultura de código aberto passo a passo?
Isso provavelmente está voltando para 2018-2019. Naquela época, muitas vezes participei de algumas cúpulas de tecnologia, Meetup e outras atividades em Shenzhen. A atmosfera tecnológica desta cidade ainda é relativamente boa. Naquela época, era óbvio que a virtualização K8S nativa da nuvem e baseada em contêiner deveria ser uma tendência técnica.Na época, devido ao meu interesse no Docker, prestei mais atenção a esses campos técnicos relacionados ao K8S.
Finalmente, por acaso, soube que a Linux Foundation, a Linux Open Source Foundation, terá algumas certificações técnicas. Naquela época, eu queria aproveitar essa oportunidade para aprender algumas tecnologias específicas de propósito, por exemplo, eles lançaram o CKA e o CKS, então isso também é uma espécie de canal de aprendizado.
Não só isso, mas também costumo prestar atenção em alguns projetos de código aberto lançados pela fundação. Naquela época, quando eu estava aprendendo o K8S, naveguei por documentos relacionados ao K8S e mencionei alguns PRs para seus documentos.Esta é minha primeira exposição ao código aberto.
Por que se envolver em código aberto e o espírito de código aberto eu entendo
-
Saiba mais sobre grandes projetos de código aberto
Evite ser o sapo no poço, saia e veja o que os outros estão fazendo. Por exemplo: excelente codificação, especificações de código, padrões de design, ideias arquitetônicas, etc., procure exemplos mais positivos e melhores práticas e amplie os horizontes técnicos.
-
O mundo do código aberto é um mundo inclusivo e aberto
Você pode descobrir, trabalhar e aprender com mais e melhores pessoas no mundo no Github. Compreender suas ideias técnicas, formas de pensar e planejamento de carreira também o inspirará.
-
A co-construção, começando aos poucos, integrando-se à comunidade traz uma sensação de realização
O código aberto geralmente usa o amor para gerar eletricidade. O primeiro passo no código aberto é abrir o código e, em seguida, muitas vezes é impulsionado pela comunidade para impulsionar a iteração e a evolução. A essência e o significado do código aberto é o alto nível de fogo que todos reúnem. Os pedaços que contribuímos para a comunidade podem ajudar muitos usuários a resolver problemas no futuro. Esta é a personificação da vitalidade dos projetos de código aberto e a fonte de nosso senso de realização.
Pensamentos futuros pessoais sobre código aberto
Se possível, eu gostaria de usar o código aberto como uma carreira no futuro. Os principais motivos são os seguintes:
-
Sonhe
Havia um sonho de poder trabalhar remotamente, contribuindo com código para um produto de código aberto ou trabalhando em uma fundação.
-
pregador
Você pode lidar com pessoas e coisas de que gosta sem pensar muito em comercialização e introversão.
-
Plano futuro
A ideia atual pode não ser alcançada da noite para o dia, mas pelo menos encontrou um ponto de entrada no CloudWeGo, na esperança de contribuir melhor para a comunidade. Da perspectiva da série de layouts dinâmicos e estratégicos da ByteDance, o CloudWeGo definitivamente poderá fazer projetos de código aberto mais influentes no campo de microsserviços Go no futuro.
Por fim, gostaria de compartilhar um entusiasta do código aberto, acho que ele é uma pessoa muito representativa e nerd. Seu nome é Su Yeqin. Ele é pediatra em Yunnan, mas na verdade é um jogador de Linux em seu tempo livre. Se você estiver interessado, pode aprender mais.
Finalmente, espero que todos possam se divertir no mundo do código!
Compartilhado por: Yang Wen
Em relação a esta questão, partindo da minha experiência real, vou partilhá-la sob dois aspectos:
-
o ângulo de fazer você mesmo;
-
A perspectiva de participar do projeto.
faça você mesmo ângulo
Fazer o código aberto sozinho não é muito difícil, como um Repo como o Go Night Reading.
Go Night Reading atualmente tem 1W+ estrelas no Github. Na verdade, o número de estrelas em si não representa nada. Representa mais uma experiência. Desse ponto de vista, acho que a referência do número de estrelas nos ajuda a entender o código aberto . , ou melhor, é o feedback que o código aberto traz.
-
Esclarecer a importância da operação de projetos de código aberto
Seja um projeto muito pesado ou um componente básico, ou algum conteúdo que possa resolver problemas práticos e ajudar todos a aprender e crescer, temos que pensar se isso é útil e como fazê-lo. participação Um modelo de código aberto. Se você está tentando ganhar estrelas, isso pode ser contraproducente. Na verdade, na minha opinião, você tem que operá-lo como um projeto de código aberto. O que você pode aprender com isso ou entender o espírito do código aberto e algum feedback positivo trazido pelo código aberto é bastante. Você não precisa prestar atenção ao número de estrelas.
-
Processo de necessidades de desenvolvimento do projeto
-
No início, o desenvolvimento de um projeto de código aberto pode ser iniciado por uma ou duas pessoas. Nesse processo, você pode apresentar algumas pessoas interessadas nesse aspecto, ou ajudar outras pessoas por meio de seu projeto, e então atrair outras pessoas para entrar e, então, expandir gradualmente a escala do projeto. Não importa que tipo de projeto, este é realmente o processo. Mesmo aqueles projetos que são relativamente maduros e de grande escala neste estágio, como o Go Night Reading, o TiDB do PingCAP e alguns outros Go Repo, são realmente feitos dessa maneira.
A primeira coisa é fazê-lo, em um nível que você acha que não é ruim, e depois promovê-lo em seu círculo de amigos ou comunidade. Por exemplo, o CloudWeGo realmente resolveu alguns dos requisitos da cena resolvendo o problema e, em seguida, o código aberto e, em seguida, desenvolvido de forma constante, passo a passo. Um evento como o nosso hoje está realmente ajudando as pessoas da comunidade. Se o projeto em si é valioso e dinâmico, seja você um líder de equipe ou um participante, contanto que você participe dele, você pode realmente aprender muito.
O acima é começar do seu próprio ponto de vista, encontrar um projeto no qual deseja investir ou um problema de ponto de dor que precise ser resolvido para você e continuar a iterar. O ouro sempre brilha, e o projeto também. Enquanto o projeto for realmente valioso, sempre será notado por mais pessoas.
Participação na perspectiva do projeto
Outra perspectiva é participar de alguns projetos, mas você deve fazer uma escolha antes de participar do projeto. Os critérios de seleção podem se referir aos três aspectos a seguir:
-
pode resolver seu problema. Este é o critério ou critério para julgar como você escolhe o projeto e participa do projeto.
-
Determine a linguagem de desenvolvimento. A escolha de uma linguagem de desenvolvimento com uma cobertura relativamente ampla, seja construção de projeto ou operação de código aberto, será mais sistemática e padronizada para evitar pisar em buracos.
-
O objetivo de participar de projetos de código aberto. Considere a influência de projetos de código aberto, se você pode aprender e ganhar algo e produzir algum valor próprio para o projeto.
No que diz respeito à minha experiência, é recomendável escolher um projeto de código aberto mais completo e influente. Em 2018, participei do TiDB e obtive Active Contributor, embora a dimensão da minha participação no hardcoding real não seja muito profunda, é mais sobre participação. Muitas coisas precisam ser investidas para continuar a gerar e produzir seu valor e, ao mesmo tempo, continuar a absorver o feedback da comunidade para você.
Em suma, escolha o que é certo para você no momento e identifique que tipo de pessoa você quer ser, que tipo de papel você quer assumir e, em seguida, encontre alguns projetos para ajudá-lo a atingir seus objetivos de acordo. Na verdade, a participação em projetos de código aberto também deve ser feita de acordo com a capacidade de cada um, escolher um campo que seja realmente adequado para si e interesse, e depois continuar a se cultivar nesse campo técnico. Somente através de investimento técnico de longo prazo podemos realmente ter alguns resultados e resultados relativamente bons neste campo, de modo a realmente aprender o núcleo e melhorar.
Compartilhado por: Li Long
Sobre como os desenvolvedores podem participar do código aberto, forneço os três métodos de referência a seguir:
-
Contribuir/resolver problemas da comunidade participando do First Good Issue;
-
Através do combate real (comparação de combate/desempenho real do projeto, etc.), encontre os pontos que podem ser otimizados, solucione e dê feedback à comunidade;
-
Leia o código-fonte diretamente.
Participar da contribuição do First Good Issue/resolver problemas da comunidade
-
A comunidade em geral terá muitos problemas de pendências, e você pode escolher alguns problemas simples no início.
Eu originalmente fiz código aberto por causa do negócio de escrita. Basicamente, todos os serviços Go dentro do Byte usarão o Gorm como seu ORM. Quando aprendi sobre Gorm, descobri que havia muitos problemas em Gorm naquela época, incluindo uma lista de pendências de mais de 100 agora. Então descobri que posso me envolver com o código aberto resolvendo alguns problemas da comunidade.
Alguns problemas podem ser erros de uso, você pode tentar corrigir esses erros. Ao resolver problemas constantemente, estou gradualmente familiarizado com a estrutura, e existem bugs simples para corrigir, que duram cerca de um a dois meses, e estou basicamente familiarizado com essa estrutura.
-
As comunidades de código aberto geralmente fornecem tarefas para iniciantes de tempos em tempos, e todos podem participar ativamente.
A comunidade CloudWeGo geralmente envia alguns First Good Issues, ou seja, tarefas para iniciantes, e você pode participar da comunidade realizando tarefas para iniciantes. As tarefas de principiante que o Sr. Weichao e eu tomamos no início foram a extensão da descoberta de registro de serviço, alguns serviços de demonstração, serviços de amostra, etc. Ao escrever esses serviços de amostra, poderíamos realmente encontrar alguns problemas e corrigi-los.
Para resumir, você pode participar do código aberto enviando problemas na comunidade ou encontrando problemas ativamente. Em contraste, o próprio Gorm tem muitos problemas, e os alunos interessados podem escolher alguns problemas simples para participar. O CloudWeGo enviará regularmente algumas tarefas para iniciantes e todos podem participar ativamente.
Combate real (comparação de combate/desempenho do projeto, etc.)
-
Modifique o exemplo de demonstração no documento para feedback para a comunidade.
Alguns desenvolvedores podem olhar para a demonstração no documento e colar a demonstração para executar, mas descobrir que não pode ser executado após colar diretamente ou o documento está escrito incorretamente. Nesse caso, você pode modificar o exemplo de demonstração no documento para feedback a participação da comunidade em código aberto.
-
Faça alguns testes de estresse para diminuir o desempenho de diferentes estruturas.
Antes, alguns alunos gostavam de fazer testes de estresse para comparar o desempenho de diferentes frameworks. Esse método precisa garantir o princípio da justiça e clareza o máximo possível, entender o framework com antecedência e descobrir os pontos que podem ser otimizados e iterados após o teste de estresse, para contribuir com a comunidade após a otimização.
Leia o código-fonte diretamente
Claro, você também pode ler o código-fonte diretamente, mas é mais difícil e doloroso para o Xiaobai começar.
Acima estão três formas de participar do open source Além disso, em termos de seleção de objetos, estou mais inclinado a estudar os projetos que costumo usar, como Kitex ou Gorm, que me farão sentir melhor.
Edição dois
A principal direção do projeto de código aberto CloudWeGo é a estrutura de microsserviços nativos da nuvem. Quais são os principais cenários de uso desses projetos? Qual é o valor de aprender este tipo de projeto? Qual é a experiência da comunidade mista?
Compartilhado por: Li Long
Cenários de uso do CloudWeGo
Se você deseja escolher um framework com alto desempenho, flexibilidade e que possa atender aos requisitos internos de customização, o framework de microsserviços fornecido pelo CloudWeGo será uma boa escolha. O projeto de código aberto CloudWeGo tem principalmente as seguintes características:
-
Alto desempenho (Netpoll / Sonic / Frugal etc.)
Por exemplo, o próprio Netpoll subjacente é uma biblioteca de rede de alto desempenho; Hertz possui biblioteca de codificação e decodificação JSON de alto desempenho Sonic integrada.
-
Fornece uma riqueza de recursos de expansão
Tanto o Kitex quanto o Hertz fornecem recursos avançados de extensão. Por exemplo, Kitex é como extensão de limitação de corrente, extensão Transport Pipeline-Bound, etc. A própria Hertz tem forte capacidade de extensão e pode atender a alguns requisitos de personalização mais personalizados.
-
Interface de API de usuário otimizada
Algumas interfaces de API amigáveis são fornecidas e não são particularmente complicadas.
Conheça os pontos de valor deste tipo de projeto
-
Aprendizado de design em camadas da estrutura / alguns pontos de design melhores
[Exemplo] O design em camadas de quatro camadas da Hertz não tem acoplamento entre as camadas e possui forte escalabilidade.
-
Aprenda algumas dicas de otimização de desempenho para o framework e expanda seus horizontes
[Exemplo] Por que o desempenho do Netpoll é muito superior ao da biblioteca padrão em alguns cenários?
Referência: https://juejin.cn/video/7046282096435789835
-
Teste de estresse o desempenho da estrutura, discuta o intercâmbio e o aprendizado
Muitos estudantes da comunidade gostam da estrutura de teste de estresse, especialmente para Kitex e Hertz, e seus dois repositórios de Benchmark. Esperamos ver essas otimizações técnicas de baixo nível e discussões relacionadas na comunidade, independentemente das diferenças entre as estruturas Kitex e Hertz e como elas são usadas. Ao testar e comparar o desempenho de estruturas como Hertz, Fasthttp e Gin, você pode se concentrar em sua melhoria de desempenho e otimização de desempenho, que é uma lógica de profundidade técnica de nível relativamente baixo.
Compartilhamento de experiências comunitárias
-
Um bom caso: Contribua para a comunidade de irmãos aprendendo excelentes pontos de otimização de design e desempenho na comunidade.
-
[Exemplo] Discussão de @Halst sobre o ajuste de tamanho no shardmap · Discussão #306 · cloudwego/kitex , inicie discussões na comunidade e aplique locais excelentes e apreensíveis a outros projetos de código aberto.
-
-
Um caso ruim: Algumas perguntas/avaliações vagas sobre o framework usado.
-
[Exemplo] Comentário clássico: "O design não é muito bom/o design é muito pesado", você precisa justificar o design específico em que o design não é bom/muito pesado. Evite esse caso a tempo e tente falar com dados.
-
Edição três
Qual é a diferença entre a função do programador como usuário do projeto e a função do desenvolvedor como designer de projeto de código aberto ? Como um Committer da comunidade que passou por esse tipo de transição de função, quais lições você pode compartilhar?
Compartilhado por: Wang Weichao
Perspectiva do usuário do projeto
Como usuário de projeto, considere os seguintes pontos ao considerar projetos de código aberto:
-
Se o projeto de código aberto será mantido continuamente;
-
A documentação é rica?
-
se a comunidade é ativa;
-
Se o projeto atual está disponível e é fácil de usar, podendo resolver os problemas técnicos da equipe atual;
-
Se o lugar insatisfeito pode ser expandido.
Perspectiva do designer de projeto de código aberto
Como designer de projeto de código aberto, considero principalmente como ajudar os usuários a resolver seus problemas melhor ou mais rápido. Tomando como exemplo o projeto CloudWeGo, como um resumo da prática interna da Byte, o código aberto é ajudar mais pessoas a resolver alguns problemas comuns, portanto os seguintes problemas podem ser considerados mais:
-
Aceite o feedback do usuário por meio de projetos de manutenção e quais problemas comuns não são cobertos;
-
Desenvolver algumas novas funcionalidades;
-
Se a manutenção do bug é oportuna;
-
Você pode ajudar os usuários a resolver seus problemas mais rapidamente?
-
Manutenção de documentos e enriquecimento contínuo, triagem de casos de negócios.
Edição quatro
Do ponto de vista da comunidade e do ponto de vista global, fale sobre por que as grandes fábricas estão contratando engenheiros da Go? Como os programadores devem planejar seu desenvolvimento de carreira? Onde é o destino final dos programadores?
Compartilhado por: Yang Wen
Por que as grandes fábricas estão recrutando engenheiros da Go ?
-
A evolução da linguagem Go
Eu acho que a razão importante para o desenvolvimento do Go é o desenvolvimento da direção nativa da nuvem, o campo da conteinerização do Docker, K8S incluindo toda a ecologia do Grpc conectado em série, o que levou ou desencadeou o desenvolvimento de alguns componentes básicos. Juntamente com a aplicação de nuvem nativa e K8S em vários fabricantes, fez com que todos fizessem muita infraestrutura, controle de fluxo, serviços de rastreamento de links distribuídos e o código aberto de muitos componentes básicos no futuro escolheram a linguagem Go.
-
Recursos da linguagem Go
Com base nos recursos de linguagem do próprio Go, fazer essas coisas é relativamente bom. A linguagem Go em si é de alto desempenho e simples, com baixos custos de troca e baixas barreiras à entrada. Em termos de base da linguagem, a linguagem C pode basicamente alcançar uma conexão perfeita. Se for uma linguagem de script, pode ser relativamente necessário mudar a maneira de pensar, mas o desempenho do go é melhor, e a conversão de PHP para Go pode resolver um grande problema de desempenho. Além disso, o Go é rápido para começar, e a documentação oficial executa a demonstração muito rapidamente, então se você quiser aprender, não se preocupe que será difícil começar.
-
Cenários de aplicação de grandes fábricas
De fato, as grandes fábricas terão um cenário real de aplicação e a necessidade de resolver problemas. A linguagem Go pode começar rapidamente e concluir negócios relacionados, e sua velocidade rápida e bom desempenho também atendem às suas necessidades de negócios. Do ponto de vista da infraestrutura, no passado, grandes fábricas podiam usar C, C++ ou JAVA para construir todo o link. Um conjunto afetaria a eficiência. Em comparação, a implementação do Go será mais rápida e eficiente.
Desenvolvimento de carreira e destino final do programador ?
Eu tenho um ponto: a linguagem é apenas uma ferramenta para resolver problemas.
Aqui estão algumas coisas a considerar quando se trata de desenvolvimento de carreira pessoal e planos de carreira:
-
Você é bom em linguagem e quer se esforçar em profundidade técnica?
-
Combinado com o seu negócio, você deseja melhorar suas capacidades de negócios, qualidades pessoais relacionadas e capacidades de gerenciamento?
-
Usar a tecnologia para resolver problemas de negócios e agregar valor ao negócio?
De um ponto de vista pessoal, se você quiser olhar para o desenvolvimento de carreira, você pode não olhar apenas para sua pilha de tecnologia ou seus pontos técnicos, mas para o que você é bom e em seu período de tempo previsível, seus pontos fortes e direção que deseja desenvolver, combine-a com seu trabalho atual e esclareça suas necessidades.
A dimensão de valor trazida pelo Go é apenas uma ferramenta de linguagem que pode ajudá-lo a chegar ao limite ou ajudá-lo a resolver problemas. O desenvolvimento de carreira pessoal depende principalmente de sua posição e valor atuais. Se Go é usado para negócios ou para infraestrutura e conteúdo de baixo nível depende do seu próprio campo ou necessidades de trabalho. É apenas uma ferramenta de linguagem que pode atender às suas necessidades de desenvolvimento profissional.
Além disso, atualmente entendo que o trabalho dos engenheiros de go ainda é mais orientado para os negócios, ou as funções do produto são mais, e há relativamente poucos na infraestrutura ou na base. As grandes fábricas também devem ter mais negócios ou produtos, mas a demanda por outros aspectos, como infraestrutura, pode aumentar gradativamente.
As aplicações do Aftership Go são principalmente do lado do negócio, e algumas delas terão uma certa relação com a nuvem nativa ou infraestrutura, mas não cobriram uma ampla gama, ou possuem um departamento de arquitetura especial como o Byte para fazer a construção da infraestrutura do Go ecossistema. Ainda não existe, dependendo do estágio de desenvolvimento da empresa, ainda pode ser necessário e desenvolvido para isso.
Edição 5
Na sessão de compartilhamento dos grandalhões, os blogueiros/sites de aprendizado de tecnologia/livros recomendados pelos grandalhões.
Compartilhado por: Li Long
Motivo recomendado:
-
Projetando aplicativos com uso intensivo de dados
É um livro particularmente clássico, que abordará alguns problemas encontrados em todos os aspectos do processo de desenvolvimento e é relativamente abrangente.
-
"Auto-cultivo do programador: vinculação, carregamento e bibliotecas"
O conteúdo será relacionado a um nível relativamente baixo, incluindo principalmente links, carregamento, compilação, etc.
-
Pasta de trabalho do Google SRE
Não apenas SRE precisa ser observado, mas também P&D.
-
"Padrões de design de arquitetura de microsserviços"
Alguns dos problemas que você encontra ao desenvolver microsserviços, você obterá algumas soluções aqui para sua referência.
Compartilhado por: Yang Wen
Motivo recomendado:
-
"Mini-hábitos"
É mais voltado para os indivíduos, a partir das dimensões da mente e do pensamento pessoal de desenvolver micro-hábitos. A ideia dos mini-hábitos é imaginar uma dimensão muito pequena que você pode alcançar não importa o que aconteça, sem o fardo. O conceito que quero expressar no livro é que muitas vezes fazer coisas é principalmente sobre ação. Por que os hábitos são tão difíceis de formar? O principal é que você pensará que é um fardo, afetando seu trabalho e sua vida normal, atrapalhando seu ritmo, então você não pode fazer isso. Então comece pequeno. Tome um período de tempo e use uma pequena ação para se conter para formar gradualmente um hábito e, finalmente, realizar seu sonho ou alcançar seu objetivo.
-
"Nova Década Fervida"
A razão pela qual este livro é recomendado é que existem muitos amigos que acabaram de se formar. Embora conheçam a Internet móvel, pode haver muitas coisas que eles não conhecem muito bem, ou não sabem muito sobre os dez. ano (2010-2020) desenvolvimento da Internet. Nos últimos dez anos, que tipo de empresas ou aplicativos surgiram? Quais são alguns aplicativos móveis e como eles evoluíram? Que problemas e mudanças você encontrou nesse processo? Este livro irá explicar com mais detalhes.
-
Legendas do Salesforce
Este livro está relacionado ao ToB SaaS na minha indústria atual. A Salesforce é líder, ou melhor, pioneira no setor de vendas de SaaS. Este livro é uma introdução a todo o processo do Salesforce, desde seu início até seu desenvolvimento e crescimento gradual.É uma história de crescimento do Salesforce. Este livro tem um grande papel orientador para a indústria de SaaS. Como chegar a qual estágio passo a passo, qual método pode ser adotado ou qual estágio ele passará, ainda deve haver muito entendimento de SaaS nesse setor. útil.
Compartilhado por: Wang Weichao
-
lista de livros
Minha recomendação de lista de livros é na verdade mais inclinada ao nível de "Tao". "Tao" significa que muitos desses livros são alguma arquitetura ou codificação e pensamento de programação. Há um pouco de explicação orientada a objetos em "The Future of Code" do pai de Ruby Matsumoto Yukihiro que me impressionou muito. O livro explica por que nossa codificação e programação atuais devem ser feitas de orientadas a processos para orientadas a objetos. Quais são seus benefícios? Qual é o fundo? Você pode dar uma olhada se estiver interessado.
-
blog
Programação orientada para a fé, Geek Tutu, esses dois são blogs mais típicos. Um é para a camada inferior do design orientado a Go, e o outro é para a implementação de alguns frameworks e middleware para codificação Go. A leitura noturna do Go é mais abrangente, se você quiser aprender sobre a pilha de tecnologia do Go, pode aprender sobre isso.
-
Competências
Este é realmente um grande tema. Em termos de soft skills no local de trabalho, como desenvolvimento ágil, muitas empresas estão propondo agora.Como desenvolvedores, também podemos aprender sobre o padrão ou melhor prática, como o desenvolvimento ágil deve ser feito. Há também comunicação e feedback, cada um tem seu próprio sucesso, e tudo tem um eco, essas habilidades de comunicação também precisam da atenção de todos.
Perguntas e respostas
P: E a evolução de algumas das arquiteturas gerais da linguagem Go? Principalmente para apoiar o quê?
R:
É principalmente para problemas de desempenho e suporta algum desenvolvimento de negócios. Para alguns cenários dentro do ByteDance, o ajuste de estrutura é principalmente para otimização de desempenho. Por exemplo, para a estrutura, a perda geral de transmissão é um custo real com base na acumulação em grande escala, portanto, algumas perdas em nosso custo podem ser reduzidas otimizando o desempenho. Por isso, ByteDance, incluindo CloudWeGo, continuou avançando no campo do desempenho para atingir o estado ideal. Ao mesmo tempo, espero prestar mais atenção a esse aspecto da tecnologia e espero que alguns frameworks de desempenho extremo possam ser obtidos aqui, incluindo alguns alunos que experimentam desempenho extremo, continuem atentos aos nossos projetos.
P: Quais são as necessidades e requisitos dos grandes fabricantes para engenheiros de Go?
R:
O lado comercial atual do recrutamento de engenheiros Go da Dachang será maior. Outra parte é fazer o conteúdo da infraestrutura, principalmente para o framework básico, e ajustar seu desempenho geral. A linguagem envolvida nesta parte será mais hard-core, e você pode não apenas usar Go, mas também estar muito familiarizado com o núcleo de Go, incluindo ecologia de linguagem e lógica subjacente, e então fazer alguma otimização de desempenho de estruturas relacionadas nela. .
Combinado com o status quo da nuvem nativa, está atualmente em um estado de desenvolvimento no setor. Muitas empresas estão no estágio de transformação da nuvem, e esse processo leva um certo tempo e pode não ser possível migrar em lugar de uma só vez. Nesse estado, muita lógica e operações em segundo plano estarão realmente envolvidas, portanto, o ajuste e a evolução da arquitetura também podem ser uma direção de carreira para o desenvolvimento subsequente dos engenheiros de Go. De acordo com o estágio de desenvolvimento de diferentes empresas, depois que mais empresas se desenvolverem no futuro, elas poderão aumentar a demanda por construção de infraestrutura, promover e manter sua própria infraestrutura e, portanto, a demanda por engenheiros de linguagem Go também aumentará de acordo.
Mais Informações
- Endereço do site oficial: CloudWeGo
- Endereço do projeto: https://github.com/cloudwego
- Hertz: https://github.com/cloudwego/hertz
- Versão Hertz v0.2.0 : Versão Hertz v0.2.0 | CloudWeGo
- Kitex: https://github.com/cloudwego/kitex
- Netpoll: https://github.com/cloudwego/netpoll
-
Thirftgo: https://github.com/cloudwego/thriftgo
-
Netpoll-http2: https://github.com/cloudwego/netpoll-http2
{{o.name}}
{{m.name}}