Publicando uma aplicação NodeJs na Digital Ocean

Enfim, depois de todo esforço para desenvolver aquela aplicação, chegou a hora de subir ela em produção. Escolher onde e como disponibilizar essa solução para seus clientes em potencial pode ser determinante para o sucesso do projeto. Com isso em mente, temos ótimas soluções no mercado, entre as principais estão: Amazon AWS, Google Cloud, Microsoft Azure, e a que será foco desse artigo, Digital Ocean. Cada um destes provedores de serviço tem características bem peculiares que podem ou não aderir ao objetivo do projeto, não estando no escopo do artigo discorrer sobre as características de cada uma, porém é importante destacar que a Digital Ocean atende bem a muitos cenários, em especial aqueles que não possuem um grande fluxo de caixa inicial e precisam ter mais controle sobre o custo total de infraestrutura com um valor mais previsível, isso acontece pois lá é possível iniciar pequenas máquinas virtuais, denominadas “droplets” com um custo mensal a partir de US $ 5.00 por mês, na data que escrevo o artigo, com 1GB de memória, 1vCPU, 25 GB de SSD e 1TB de transferência, um valor bem razoável para o que entrega.

Principais comandos do NPM

É inegável a popularidade do NodeJs em quase todas as áreas do desenvolvimento, usa-se node para quase tudo, desde soluções mobile com Reat Native e IONIC, backend de aplicações, ferramentas de linha de comando, até a profunda dependências nos fluxos de desenvolvimento de frontends ricos com VueJs, React e Angular, assim conhecer o entorno de seu ecosistema é essencial. Com isso em mente, resolvi escrever este artigo e deixar um pouco mais mastigado e acessível os principais comandos de seu gerenciador de pacote oficial, o NPM (Node Package Manager), usado extensivamente no dia a dia para gerenciar as dependências do projeto.

Compilando Typescript/Javascript para executáveis nativos com Deno

O Deno tem evoluído muito rápido, e cada dia vem trazendo novas features que o deixam cada vez mais interessante, na versão 1.6 que saiu dia 8/12/2020 foi introduzida, entre outras features (como o suporte experimental aos novos macs com chips M1), essa nova funcionalidade que permite gerar um executável nativo standalone and self contained. Algo semelhante ao que libs como nexe e pkg fazem com o node, porém de forma integrada.

Na versão seguinte, a 1.7 lançada em 19/01/2021, tivemos ainda algumas melhorias que incluem a possibilidade de fazer compilação cruzada de qualquer arquitetura estável suportada (Windows x64, MacOS x64 e Linux x64) para qualquer outra arquitetura, o que possibilita criar binários para Windows ou Mac a partir de uma máquina linux por exemplo. Outra feature muito interessante incluída na nova versão foi a flag “—lite” que pode gerar um executável entre 40/60% menor.

Comentários destrutivos em aplicativos

Olá pessoal, hoje vou tentar expor aqui algo infelizmente muito comum no dia a dia de desenvolvedores de aplicativos, em especial os independentes onde esse tipo de ação tem maior impacto, os comentários destrutivos em uma loja de aplicativos. Este problema não se limita apenas ao contexto de aplicativos, podendo extrapolar para muitas áreas como a própria venda de produtos online, porém nesse artigo irei foca exclusivamente nesse contexto.

Big Techs tem acostumado usuários a serem o produto, disponibilizando tudo sem uma cobrança direta e passando uma percepção para quem as usa ser “de graça”. Não é o intuito desse artigo entrar no mérito desta discussão, mais saiba, se não paga diretamente por uma solução, muito provavelmente é porque você e seus dados são o produto, nenhuma empresa disponibiliza uma aplicação comercial sem o intuito de ganhar dinheiro com a mesma, quem nunca pesquisou por um produto como televisão no google por exemplo, e depois em todo site que abre só vê anuncio de televisões? Essa percepção de ser tudo “grátis” está criando uma geração que espera ter tudo que precisa sem ter que disponibilizar nem mesmo alguns centavos para financiar quem vai produzir a solução, é comum encontrar sites especializados em disponibilizar aplicativos que seriam pagos nas lojas de aplicativos oficiais, muitas vezes alguns centavos, sem nenhum custo. Muitos preferem se expor e sair da segurança da loja do ecossistema e financiar o aplicativo que tanto gosta, para economizar R$ 0,99, expondo seu celular, seus dados e se colocando em risco por tão pouco.

Quando não usar o MongoDb

MongoDb é uma solução incrível, e tenho visto ganhar mercado de forma surpreendente, as facilidades e simplificação no fluxo de desenvolvimento acaba arrebatando o coração de muitos desenvolvedores, porém o que me preocupa, e o motivo que me fez escrever esse artigo, é que talvez está ganhando um mercado e sendo usado em lugares que muito provavelmente ele não é adequado. Sempre ao escolher uma tecnologia é extremamente importante se levar em consideração as limitações e propósitos da mesma, isso vai com certeza evitar uma enorme dor de cabeça no futuro.

PWA - More than Web Apps, Progressive Web Apps!

Falar sobre PWA é algo que sempre curto bastante, e ontem tive a oportunidade de apresentar uma talk em nosso grupo do GDG (Google Developer Groups) Cataguases, onde tentei passar minha visão sobre esse tema e demonstrar o quão relevante será seu futuro ( o presente também é claro :) ), passando os conceitos envolvidos no tema, bem como ferramentas e soluções que o completam e fazem das progressive web apps, ao meu ver, o futuro da esmagadora maioria das aplicações.

Como remover arquivos antigos do slack

O Slack é uma ferramenta fantástica, se fazendo cada vez mais presente no dia a dia de empresas de todos os portes, seu plano gratuito é muito bom, já atentendo atender a demanda da grande maioria de empresas de pequeno porte, porém ele tem uma limitação bem chata, ao atingir o limite de armazenamento, hoje quando escrevo esse artigo 5GB, você precisa remover arquivo a arquivo em um processo extremamente manual e desestimulante.

Nesse artigo pretendo mostrar um utilitário open source que desenvolvi e que irá lhe permitir executar esse processo de forma automática apenas passando o período que deseja remover os arquivos.

Observer Pattern - Design Patterns com Typescript

O Observer pattern é um dos padrões de projeto mais úteis, amplamente utilizado, especialmente no frontend com os novos frameworks/libraries reativas como Vue, React e Angular por exemplo, assim, entender bem seus conceitos e o problema que ele pretende resolver, é fundamental para que possamos usá-lo da melhor forma possível.

Adapter Pattern - Design Patterns com Typescript

Nesse artigo pretendo apresentar de uma forma simplificada o conceito de Adapter Pattern, que é um padrão de projeto extremamente útil no dia a dia para qualquer desenvolvedor. Sua função é converter uma interface de uma classe para outra esperada pelo cliente, possibilitando que classes com interfaces incompatíveis trabalhem juntas.

Publicar um site com Github Pages e CloudFlare

Nesse artigo pretendo apresentar como publicar um site estático com domínio próprio, HTTPS, Cache, proteção DDOS e o melhor, de forma totalmente gratuita usando Github Pages e CloudFlare. Essas instruções são também válidas para aplicações mais complexas como uma SPA (Single Page Application) por exemplo.

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×