A QDigest é uma newsletter com a curadoria de profissionais brasileiros que atuam no mercado de tecnologia e de desenvolvimento de software nacional e internacional. Pedimos para que eles indiquem links com o que acharam bom e que possa gerar discussões ou interesse nos nossos leitores.
A ideia é ter conteúdo relevante e que chame a sua atenção, com discussões interessantes e que não cabem no formato tradicional do InfoQ. Fique a vontade para se aproximar e compartilhar suas sugestões, comentários e criticas. Nossas redes sociais estão abertas para o seu feedback. Queremos mudar bastante e evoluir tanto no conteúdo quanto no formato.
Para assinar acesse nosso site!
--
Olá pessoal, mais uma edição da QDigest, trazendo links de diversos temas para essas semanas. Esperamos que estejam gostando, divulgando e aproveitando na prática as coisas que temos trazido por aqui. Falando em gostar, a gente adoraria receber sugestões de nomes, temas e áreas que vocês gostariam de ver abordadas aqui. A ideia é trazer coisas diferentes e começar conversas.
Roberta Arcoverde | Principal Software Developer na Stack Overflow (Twitter | LinkedIn)
- Essa thread do Juan Lopes fala de uma biblioteca que ele publicou, mas é muito legal também pra quem quer aprender um pouco mais sobre estruturas de dados e uso eficiente de memória. O mais bacana é acompanhar todo o processo de investigação, profiling e otimização que ele seguiu até chegar na versão final.
- Descobri recentemente o glot.io, uma ferramenta para executar snippets de código em várias linguagens. Passei um bom tempo brincando com linguagens diferentes, experimentando suas sintaxes e rodando os programinhas no browser. Tem de Assembly a TypeScript, passando por Haskell, Lua, Perl e Rust!
- O blog do time de desenvolvimento do Pinterest é um dos meus favoritos! Semana passada publicaram o primeiro artigo de uma série bem interessante sobre o uso de algoritmos de grafos para otimizar operações no Kafka. Vale acompanhar.
Bruno Tavares | Engenheiro de Software no Nubank (Twitter | LinkedIn)
- O tema dessa vez é: sistemas distribuídos. Um post recente sobre etcd me vez lembrar do projeto Jepsen para validação de sistemas distribuídos e suas garantias. O resultado desse último teste foi bem positivo, e recomendo a leitura para saber dos detalhes. O projeto Jepsen já fez análise de muitos projetos, como CockroachDB, Mongo, ElasticSearch e vários outros. Além disso, o blog do Kyle Kingsbury, possui um ótimo material para quem quer se familiarizar com os termos usados em sistemas distribuídos, como Modelos de Consistência e Serializabilidade, Linearizabilidade e Localidade.
- Modelos de consistência são um grande desafio em banco de dados, muito bem descrito pelo post do CockroachLabs. Mesmo com os desafios, existem estratégias para manter o cache sempre atualizado, como o Gustavo Bicalho descreve em The evergreen cache ao criar um cache do saldo de clientes na Conta do Nubank.
- E um link do próximo tema (e pra não quebrar a corrente de links de Rust): probe-rs
Ricardo Pchevuzinske Katz | Gerente do Departamento de Engenharia de Nuvem e Automação no SERPRO - (Twitter | LinkedIn)
- Essa semana foi anunciado oficialmente a data de 26/06/2020 como EoL (fim de suporte e manutenção) do CoreOS Container Linux, muito utilizado em ambientes Kubernetes
- Contudo, a empresa alemã Kinvolk, que conta com colaboradores de diversos países e inclusive ex desenvolvedores do CoreOS CL, possui um substituto à altura: O Flatcar Container Linux, um fork do CoreOS Container Linux que se propõe a ser um substituto com 100% de compatibilidade. O Flatcar Linux permite inclusive que você atualize de um CoreOS CL para ele sem qualquer impacto
- Mudando um pouco de assunto, um dos assuntos mais 'complexos' para quem está começando com Kubernetes é entender como funciona a parte de redes dele. Vi um post no blog da Cloud Native Computing Foundation que explica bem detalhadamente.
- No assunto de Containers, algumas empresas necessitam de um nível maior de segurança e isolamento na execução de seus workloads. Alguns projetos foram anunciados no ultimo ano, tal como o gVisor, Kata Containers e o Weave Ignite, esse ultimo usando a tecnologia de MicroVM Firecracker recentemente aberta pela AWS. Vale dar uma olhada nesses projetos e acompanhar a evolução deles.
Edward Ribeiro | Engenheiro de Software na Interlegis - Senado (Twitter | LinkedIn)
- Esse tweet de Tom Ordonez traz um panorama bem legal das libs Python itertools and more_itertools, excelentes para o tratamento de dados no dia a dia:
- Chris Sort nos traz um website bem interessante para medir o risco de burnout, algo bem pertinente, onipresente, e perigoso na indústria de TI
- Apache Tika é uma biblioteca open source em Java que permite extrair texto de vários tipos de arquivos (PDF, Word, Excel, etc). Eric Pugh, CEO da OpenSource Connections começou uma série de artigos ano passado explorando essa biblioteca e formas de uso, vale a lida:
- Este tweet de Kent Beck fala sobre um assunto pouco explorado em engenharia de software: como usar o layout estrutural do código para entender e refatorar bases de código.
- Este gist de Jan Stette é praticamente um guia de melhores práticas em desenvolvimento, implantação e manutenção de sistemas. Leitura altamente recomendada.
- Jan Schaumann nos traz uma thread no Twitter muito bacana sobre lições aprendidas no trabalho com suporte e infra de sistemas:
- GraphQL tem sido saudada como a nova interface ideal para web services e um substituto do REST. Nesta página, Fagner Brack traz uma série de artigos e vídeos para elucidar a dicotomia entre as duas tecnologias, expondo os prós e contras dos dois paradigmas.
Henrique Lobo Weissmann | Co fundador da itexto Consultorian (Twitter | LinkedIn)
- Iniciei uma imersão em React e React Native que está mudando bastante minha visão em relação ao desenvolvimento web e mobile: inicialmente meu choque cultural com os frameworks me assustaram bastante, mas depois percebi que estava lendo os links na ordem errada. Sendo assim segue a minha dica para você que quer começar a entender o React: o tutorial oficial vai te fazer construir um joguinho rápido e te dar a ilusão de poder mas você não entenderá os fundamentos do framework. Para pegar este aprofundamento leia a seção "Principais conceitos" de cabo a rabo a partir do Hello World, especialmente o último link (talvez devesse ser o primeiro) chamado "Pensando do jeito React".
- E pra aprender React dois cursos do Udemy me ajudaram bastante: o curso "React: the Complete Guide" de Maximilian Schwarzmuller (ele tem um curso de Vue.js muito bom também) e, do mesmo autor, agora sobre React Native: "React Native - The Practical Guide 2020". Finalmente, pra pegar discussões relativas ao dia a dia do mundo React, chamado 'React Podcast'