Code Monkey home page Code Monkey logo

nodejs-livecoding-dio's Introduction

nodeJs-liveCoding-DIO

Vamos iniciar o desenvolvimento com Node.js, conhecendo os conceitos e uso do Node com JavaScript e aplicando isso a um projeto: criar um servidor, subir e devolver uma mensagem em JSON com informações de uso da memória RAM."

Iniciando o projeto

Baixe o repositório pra sua máquina local para servir de guia na hora da live

o que é o NodeJS?

logo nodejs

O NodeJs é um ambiente de execução do JavaScript em server-side

Ok. Mas o que isso quer dizer? 🤔

Ele nos dá a possibilidade de rodar localmente o JavaScript fora do navegador por exemplo. 😎

Vamos falar um pouco sobre:

Como surgiu? 📒

Todo navegador possui um Interpretador de JavaScript rodando ali por trás dos panos para fazer as coisas funcionarem direitinho:

  • Safari - Nitro
  • Mozilla - SpiderMonkey
  • Edge - Chakra
  • Chrome - V8

Em 2009 um cara chamado Ryan Dahl criou o NodeJs a partir do V8 do Chrome.

E o que tem isso? 🙄

Com a criação do NodeJS, temos a possibilidade de rodar o JavaScript sem precisar de um navegador, diminuindo o processamento e trabalhando com interpretação just-in-time, em tempo real meus amigos.

OMG como assim?

O nodejs, diferente de outros interpretadores, trabalha com single-thread, ou seja, imagina que cada requisição é um pedido de delivery... vai chegar uma hora que o quadro de pedidos vai estar cheio e se tiver um pedido que ainda não foi produzido e entregue, ele vai bloquear a passagem dos outros pedidos, gerando insatisfação dos clientes. Coitado do entregador.

O nodejs trabalha com requisições assíncronas, ou seja, não precisa esperar todos os pedidos, vai entregando o que for ficando pronto. Assim todo mundo sai feliz.😊 Assim, o processamento é não-bloqueante(non-blocking), pois funciona mesmo sem uma requisição estar pronta, do contrário seria bloqueante(blocking) e tudo ficaria parado.

Consequentemente, o entregador não precisa mais ficar preocupado e entrega o pedido assim que o mesmo for finalizado, depois volta no quadro de pedidos, pega os que faltaram e entrega logo após. Chamamos isso de Event-Loop.

Isso tudo em tempo real 😮😮😮.

NPM (Node package manager)

Com a criação do NodeJS também surgiu o NPM. que é uma ferramenta de gerenciamento de pacotes do Node, serve pra gente dar um upgrade nos nossos projetos usando frameworks e bibliotecas.

Imagine um repositório gigantesco com inúmeras ferramentas de desenvolvimento... esse é o NPM do NodeJS.

Bora praticar?

O que vamos fazer:

Criar um servidor, subir e devolver uma mensagem em JSON com informações de uso da memória RAM."



* Exemplo do servidor local:
http://localhost:3000

server

  • Exemplo:
index valor
OS sistema operacional
Arch arquitetura
TotalRAM memória total
FreeRAM memória livre
Usage porcentagem de uso

pcRamUsage

Mas antes...

Vamos instalar as ferramentas e deixar o ambiente nos trinques.

Links para baixar as ferramentas:
NodeJS
VSCode

Segue esse link que tem o passo a passo da live:

nodejs-livecoding-dio's People

Contributors

dianamartine avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.