![Usando TypeScript em projetos Node.js](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2Fk1aast2dn99kp4i%2Fhalanna_halila_d_kdea_jpz5x_y_unsplash_fgC8LCPVxg.jpg&w=3840&q=75)
TypeScript é extremamente útil durante o desenvolvimento de aplicações Node.js. Vamos ver como configurá-lo para uma experiência de…
![Devo commitar o node_modules no git?](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2Fki0u7azeq776w83%2Fwombat_F7ltiMWs07.webp&w=3840&q=75)
TL; DR: Não. Por favor, adicione node_modules ao seu arquivo .gitignore:
![Um array com todos os estados do Brasil, para você reusar em suas aplicações](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2Fpbnnkyj33auxiwt%2Fbrian_mcgowan_p1_6io_oc_gnu_unsplash_jtn9oHqcq7.jpg&w=3840&q=75)
Eu já recriei este array tantas vezes na última década que eu só vou deixar este snippet (em JSON) aqui para que eu possa apenas copiá-lo a…
![Encontrando o maior divisor comum em TypeScript](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2Fiyk9qhd9csiniy4%2Fanibal_paradisi_4_aka_nr_rfpv_e_unsplash_zs58NmjExL.jpg&w=3840&q=75)
Primeiramente descrito no clássico livro de geometria Elementos, pelo matemático grego antigo Euclides (cerca de 300 a.C., no livro VII,…
![Renderizando JSX no servidor com Fastify](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2F4fzg1942c3pdpqa%2Fdrew_farwell_9vk_jpfh9_anw_unsplash_jCIIZyNBdE.jpg&w=3840&q=75)
JSX é uma excelente abstração para montar interfaces. Introduzida pelo Facebook e popularizada pelo React, trata-se de uma extensão do…
![Gerando hashes MD5 no Node.js](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2Fz6z0tb5emmh8774%2Fdavid_clode_e32f_gl_issbk_unsplash_LuOM5XBUM9.jpg&w=3840&q=75)
Você pode criar hashes com Node.js sem a necessidade instalar nenhuma biblioteca externa. Normalmente eu crio a seguinte função utilitária…
![Dissecando URLs com JavaScript](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2F7ww7zw44z0578jv%2Fvictor_grabarczyk_yxg_kce_qtqu_unsplash_hG5n8oGE60.jpg&w=3840&q=75)
Vamos entender o que significa cada parte de uma URL (Uniform Resource Locator). Observe a URL abaixo:
![Configurando variáveis de ambiente em aplicações Node.js](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2Ff5rhgghzwjnad0s%2Fclement_falize_nlj_ty5_y15_jm_unsplash_cpYUcYi5kB.jpg&w=3840&q=75)
A partir do Node.js 20.6.0, é possível carregar variáveis de ambiente a partir de um arquivo .env de maneira nativa, sem a necessidade de…
![Entendendo o que é Tail Call Optimization com JavaScript](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2F7p0snv7xmyzymgm%2Fkrzysztof_niewolny_ox_k32a_ljxwu_unsplash_JDZUc6AjoR.jpg&w=3840&q=75)
Considere a seguinte função que calcula o fatorial de um número:
![Criando modais nativos com o elemento dialog](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2Fu0sadhrxlz9iaj5%2Fadam_davis_a_c_3_w81d_5_i_unsplash_1_DEJxEuYzuw.jpg&w=3840&q=75)
Usar elementos customizados de diálogo no lugar das implementações nativas do navegador, como alert,
confirm ou prompt,
se tornou o padrão…