Diario de bordo de um programador newbie 🚀 #1
Tags: javascript, firstpost, braziliandevs, beginners
Published: 2020-11-16 22:28:18


  Bem-vindos ao primeiro diario de bordo de um programador newbie, nesse meu novo e único projeto(risos), irei mostrar os aprendizados ao decorrer das semanas de estudo de um programador iniciante, qual o significado da vida, do universo e tudo mais... E não é 42.
</p>
<p>
  Nesa primeira semana, tive o previlegio de receber alguns arquivos estudantis, que estao me deixando deveras hypado, primeiramente, vou começar falando sobre formas de aprender programaçao que eu aprendi!
<br>
<ul>
  <li>
  Aprenda a controlar ansiedade, e dificil pra caramba, eu sei, mas não adianta querer ver os resultados pra ontem, isso so vai te deixar mais nervoso e desanimado.
  </li>
  <li>
  Crie um cronograma de estudos, isso tornara o teu aprendizado mais organizado, tu vai conseguir se achar melhor nesse vasto mundo da programaçao. Se possivel, crie tambem uma pasta com arquivos de texto explicando os conceitos que voce aprendeu ao decorrer da tua caminhada.
  </li>
  <li>
  Faça projetos enquanto estuda uma ferramenta, se tu não tiver ideia de qual projeto fazer, podes acessar o github <a href="https://github.com/florinpop17/app-ideas">appIdeas</a>, o mesmo contem varios "desafios" pra fazer, se tu não estivar estudando uma ferramenta web, existem outras alternativas, como codeWars e ClashOfCode que te permitem utilizar qualquer linguagem de programação para completar desafios.
  </li>
  <li>
  Compartilhe teu progresso, escrevendo sobre eles ou ensinando alguem, isso ajudara a fixar a ideia na tua cabeça!
  </li>
</ul>
</p>

<h3 align="center">NodeJs nosso de cada dia 🙌</h3>
<p>
  Essa semana/mês veio pra me mostrar que eu preciso estudar muito NodeJs e JavaScript ainda, pois, recebi como tarefa fazer uma API rest que fazia o papel de armazenar contatos em um banco de dados, filtrar e enviar para a empresa o contato e o que o mesmo gostaria, através de um botao submit e um metodo post. Não foi tão complicado, mas deu pra dar uma penada 😂!
</p>
<p>
  Bom, vamos ao que interessa, os comandos/ Frameworks/ ferramentas novos que eu utilizei/ conheci:
</p>
<p>
  <ul>
    <li>
      Fetch/Axios.Create: Liga o backend com o frontend através de um metodo http e uma url. O fetch é nativo do front end, já o Axios é uma biblioteca bastante conhecida.
    </li>
    <li>
        NodeMailer: é um framework de envio de emails para nodeJs, o mesmo NÂO RODA em frontend, tentei e falhei miseravelmente XD, mas dai aprendi e depois disso só foi. É uma ferramente consideravelmente simples, porém, bastante completa! 
<a href="https://github.com/AxelVarreira/email-sender">Exemplo de uso do Nodemailer.</a>
      </li>
      <li>
        Gulp: É um framework que minifica os arquivos Js e Css do teu projeto, ele precisa de um arquivo de configuração chamado gulpfile.js, onde tu vai configurar quais arquivos irão ser minificados, onde eles serão ser armazenados, e por fim, tu precisa criar tasks que rodam o codigo e que de fato minificão o codigo! (fica bem feinho, mas pequeno), então tu roda o gulp e SHAZAM!
      </li>
      <li>
        SQlite: É um banco de dados simples. Criei uma tabela chamada "data", com uma coluna chamada "userId", que se autoincrementa, poderia ter utilizado a biblioteca uuid, porém, utilizei o padrao do sqlite, tambem criei outras 4 colunas pras informações dos contatos.
      </li>
      <li>
        Heroku: É uma plataforma em nuvem que permite fazer o deploy de até 5 aplicações gratuitamente, porém, com limitações por horas de uso. <a href="https://www.heroku.com/free" alt="Site do heroku">clique aqui para saber mais!</a>
  </ul>
  <p>
    Não foram muitas ferramentas novas que eu utilizei, mas deu pra dar uma penada, afinal de contas, eu nunca tinha feito de fato uma API rest, nem mexido com banco de dados e muito menos utilizado o nodemailer. O fetch também foi uma ferramenta estranha pra mim, mas acabou que deu tudo certo!
  </p>
</p>
<h5>Me deêm um feedback de como ficou e no que posso melhorar!</h5>