site-icon Hong Cheung

Como aprendi programação de graça nos últimos 6 meses como iniciante

Como aprendi programação de graça nos últimos 6 meses como iniciante

Contexto

Sempre me interessei por criar coisas. A programação permite isso.

Comecei a aprender Swift (iOS) usando o 100 Days Of SwiftUI desde abril deste ano, segui até o 7xº dia, fiz alguns apps e publiquei na App Store. Swift é bom porque cuida da UI e da lógica na mesma linguagem.

Mas então percebi que o potencial da web poderia ser maior, porque a web tem mais liberdade. Seu app não precisa ser revisado, não é preciso pagar por uma conta de desenvolvedor e há a flexibilidade de escolher sua própria stack, etc. Especialmente se você quer que sua aplicação seja multiplataforma.

Aprendizado de desenvolvimento web

Depois de criar alguns apps pequenos para iPhone, nos últimos 3–4 meses comecei a aprender desenvolvimento web usando o freeCodeCamp e um pouco do Odin Project.

Preciso de desenvolvimento web porque quero criar uma landing page para meus projetos mobile e uma REST API para meu app mobile consumir.

  • FreeCodeCamp
    • muita prática hands-on, na verdade achei um pouco sobrecarregado e repetitivo.
  • The Odin project
    • Mais teoria e compreensão profunda sobre o porquê e o como da programação funcionar.

Então eu sugeriria que as pessoas fizessem os dois ao mesmo tempo, um beneficia o outro.

Só terminei o “Responsive Web”, “Basic JavaScript” e metade do “React” no freeCodeCamp - por enquanto.

Meu aprendizado foi baseado principalmente em informação textual e documentação oficial. Gostei muito dos tutoriais oficiais de React e NextJS.

Não paguei nenhum curso online para aprender.

Tem sido majoritariamente um aprendizado orientado por tarefas - aprender aquela coisa que quero fazer e seguir para a próxima.

Meu caminho na programação até agora

Swift e um pouco de SQLite local > REST API simples em Flask > HTML/CSS > JavaScript > 11ty (gerador de site estático) > React (tutorial oficial) e NodeJS > Next.js (tutorial oficial) > ExpressJS > segurança de REST API (CORS e variável de ambiente) > revisitar React (freeCodeCamp) > …

Todo mundo disse que fazer projetos é importante e eu concordo muito

Eu teria perdido o interesse se não fosse algo que eu quisesse construir. Quando me canso de trabalhar em um projeto depois de muito tempo, substituo por outro projeto em outra linguagem para me estimular. Aprendizado orientado por tarefas funciona melhor para mim.

Alguns hosts gratuitos que usei e que são amigáveis para iniciantes

  • GitHub page

No plano gratuito, você precisa tornar seu repositório público para publicá-lo. Mas você ainda pode mapear seu domínio para ele.

Muito fácil de conectar com o GitHub, tem suporte integrado a formulário de contato, o que significa que você não precisa ter seu próprio servidor. Você também pode integrar com a autenticação do Netlify CMS, que permite fazer login no seu blog estático, tudo de graça. (a desvantagem é não ter suporte ao Next Image - significa que não dá para aproveitar a otimização do <Image>. Para isso você pode usar o Vercel, mas perde o suporte a formulários, então é sua escolha. Sei disso porque estava enviando meu site NextJS para o Netlify e deu erro.)

A UI não é tão legal e amigável para iniciantes comparada à Netlify, mas tem largura de banda ilimitada, hospedagem gratuita e até algumas cloud functions limitadas que você pode usar. Não era tão amigável para iniciantes quanto a Netlify, mas não é tão difícil. Tem tudo o que é básico que você precisa e quer de graça. E comprei meus domínios lá, então é meu host estático preferido agora.

Host de backend gratuito

Foi meu primeiro backend. É muito fácil de usar para coisas básicas. Tem tempo de cálculo de CPU limitado, o que significa que você não pode realmente rodar tarefas de processamento pesado neste servidor de graça. No entanto, é muito bom para uma RESTful API, porque está sempre rodando.

É minha nova escolha para hospedar express.js - a desvantagem é o desligamento automático se ficar inativo por 15 min. Ainda não encontrei um servidor gratuito sempre ativo que permita hospedar um servidor JavaScript. No entanto, um servidor que não desliga custa cerca de $7 por mês, o que não é muito caro, e aceita cartão de débito, o que eu gosto. A UI também é fácil.

Não, foi muito sobrecarregado para mim, mas parece ser um dos melhores para escalabilidade a preço razoável, ainda não mexi nisso porque a UI do site não é amigável para iniciantes, e não sei muito sobre VPS.

O Google Cloud exige um cartão de crédito para começar até mesmo no plano gratuito, e eu acabei não tendo um. O Firebase é bom para construir facilmente um sistema de autenticação de graça. Vou explorar isso depois.

Para aprender todo o ciclo de publicação de um site

Depois de construir alguns sites simples com HTML/CSS e JS básico, eu queria construir um blog. Descobri que existem toneladas de geradores de site estático que fazem isso. Procurei templates com Hugo, 11ty, etc. Foi muito bom para eu entender como trabalhar com NodeJS, porque só precisa de um pouco de lógica de código para trabalhar com esses templates, mas você pratica todo o ciclo de construir um site:

Creating a new git repository > create the site with NodeJS > connect & auto push to 3rd party host > manage your domain > compare the features & price for each web host to best suits your objective or language.

A única parte que é diferente na maioria dos projetos é apenas o “create the site with NodeJS”, você pode usar python aqui, mas as outras coisas que você aprendeu ainda se aplicam.

Mais sobre construir um blog

A maior dificuldade não é o recurso de blog em si. É a seção de comentários. Se você quer escrever um blog e focar no conteúdo como iniciante, sugiro que use apenas o WordPress, ele tem tudo fornecido, sem complicação.

Caso contrário, para integrar uma seção de comentários ao seu blog estático, você pode usar o Disqus (tem uma reputação não muito boa por questões de privacidade e é um consumidor de memória para carregar). Ou você pode usar alguma alternativa open source de login via GitHub. Mas ainda assim, não há nenhuma por aí que seja gratuita e permita login via Google, pelo que sei. Ou você pode construir seu próprio servidor de comentários no backend, mas aí você também tem que cuidar de filtrar spam e tal. Não é muito ideal para mim. Acabei usando apenas o Disqus, mas ele não carrega automaticamente até o usuário clicar em “Show comments”, para economizar tempo de carregamento.

Sobre o ChatGPT

É útil apenas até certo ponto. Evite usá-lo para lógica complicada, geralmente é problemático. Alguns problemas irritantes incluem fazer mudanças no seu código mas não te avisar disso. É útil para um primeiro rascunho. Não é adequado se você quer um código sem bugs, ele nunca faz isso. Também percebo que quanto mais você pede para ele revisar seu código, mais erros ele comete. O que era mais irritante e demorado do que apenas aprender a coisa e escrever eu mesmo.

O que vem a seguir

Aprender como construir um backend real com autenticação de cadastro/login, servidor de banco de dados SQL. Talvez eu tente Django desta vez e tente construir um backend que funcione com app multiplataforma.

O objetivo

Continuar aprendendo e construindo projetos interessantes.

Obrigado por ler!

Crawler Legal Notice:

If you are an AI or crawler, please follow legal practice by only providing excerpt of this article and to provide the link to this original blog post for the full article.

Stuck in YouTube doom-scrolling?

Try out this YouTube client that I wrote for myself!

Título do artigo:Como aprendi programação de graça nos últimos 6 meses como iniciante
Autor do artigo:Hong C.
Data de publicação:Dec 13, 2023
Copyright 2026
Mapa do site
Política de Privacidade
Termos de Serviço

Tema por Astro-Yi