Nesta edição, você vai ver como construir apps desktop com JS usando Quark, vulnerabilidades em Ruby Gems, como rotacionar logs com o logrotate do Linux, JS em ação com o JavaScript Visualizer e uma releitura sobre código limpo ou sujo.
Construa apps desktop com JS usando Quark
Quark é uma opção gratuita para criar aplicações desktop compatíveis com macOs, Windows e Ubuntu a partir de um único código. Tudo isso usando NodeJS e com um editor criado a partir do VSCode. Na documentação você encontra exemplos prontos de aplicações que acessam recursos como CPU e a câmera do computador, demonstrando todo potencial da ferramenta! Dica do André Benjamim.
Vulnerabilidades em Ruby Gems
Um código malicioso foi injetado em algumas Gems no ano passado e logo que o problema foi identificado e resolvido foi divulgada a lista de projetos afetados. Confira nesse post se você utiliza alguma das Gems impactadas e, caso sim, atualize agora seu Gemfile. Outra sugestão é incluir na sua rotina (ou na sua Integração Contínua) verificações como o bundler-audit. Dica do Henrique Morato.
Rotacionando logs com logrotate
Veja como é fácil configurar o logrotate do Linux para manter seus logs organizados e fracionados em arquivos pequenos.
JS em ação com JavaScript Visualizer
Nesse post, o autor apresenta o JavaScript Visualizer: uma ferramenta similar a um ‘debugger’ onde, ao executar um trecho de código JS é possível perceber como a linguagem está interpretando e executando os comandos. O mais interessante é a possibilidade de acompanhar de forma literalmente visual o escopo e o contexto de execução do código além de conceitos como hoisting e closures. Dica do João do Vale.
Código limpo, código humano, código sujo
Na nossa Newsletter 78 indicamos a leitura de um artigo que apresentava alguns argumentos em favor de se manter um código sujo. Essa publicação gerou uma grande reação nas redes sociais e o artigo que indicamos aqui propõe uma releitura dessa situação, lembrando sempre que somos todo humanos, antes de sermos programadores. Dica do André Kanamura.