Série Programming One Kindle

JavaScript One

Do primeiro console.log ao painel em produção

JavaScript do zero até um painel no ar: tipos, funções, assincronia, DOM, testes, Git e deploy. Um projeto só, o painel da Borba Entregas, do arquivo que ninguém mexe até a lista que a operação confere de manhã.

R$ 5,99 R$ 24,00 Promoção

Atenção: o idioma desta edição é português.

26capítulos
8partes
1projeto do início ao fim
Capa de JavaScript One: Do primeiro console.log ao painel em produção, de Thiago Nogueira Edição Brasil
JavaScriptNode.jsDOMnpmasync/awaitGittestes
código do livro

Menos teoria vazia.
Mais código que funciona.

Nada de exemplo solto com foo e bar. Todo trecho pertence ao mesmo projeto, que cresce capítulo a capítulo — e os erros aparecem como aparecem na sua tela, para serem lidos linha por linha.

entrega.js
console.log("Entrega E-4821: a caminho");
terminal
node --versionv24.9.0node entrega.jsEntrega E-4821: a caminho
o projeto

Um sistema só, do primeiro arquivo ao deploy

README.md

A Borba Entregas tem um painel no ar desde 2022 que ainda perde para a lista impressa às 5h35. Ao longo do livro, esse painel deixa de ser o arquivo que ninguém mexe e passa a ser o que a operação confere de manhã: tipos, DOM, async, testes, Git e deploy.

Do primeiro console.log ao painel em produção.

  • Um projeto só: o painel da Borba, do arquivo legado à manhã em que pode ir ao ar
  • Cada conceito aparece quando o código em produção dá problema
  • Erros de verdade, lidos linha por linha
  • A tela, o servidor e o repositório, no mesmo livro
leitura de amostra

Leia uma prévia gratuita de JavaScript One

Esta amostra contém os primeiros capítulos. O PDF completo continua protegido para compradores.

Abrir prévia em nova aba →
sumário

26 capítulos em 8 partes

Abra uma parte para ver os capítulos — e a frase que abre cada um.

parte 01 O que já está no arDe onde a linguagem veio, por que o painel é JavaScript, e o primeiro programa rodando na máquina de quem acabou de receber o acesso. 3 cap.
  1. 01
    Do Mocha ao NodeDez dias em maio de 1995, um acordo com a Sun em dezembro, e um padrão que não pôde herdar o nome comercial.
  2. 02
    O que vamos construirSegunda-feira, 8h17. Três jeitos de pedir a mesma entrega, e um histórico que sabe o nome de quem tentou.
  3. 03
    O primeiro programaDois Nodes na mesma manhã, e só um deles pode atender o cais.
parte 02 A linguagem que o painel já falaTipos, contas, decisões e listas. O lugar em que um valor trocado muda o caminhão que sai. 4 cap.
  1. 04
    Variáveis e tiposO campo de pendências chegou vazio. O painel comparou vazio com zero, achou igual, e liberou a entrega para sair sem a assinatura.
  2. 05
    OperadoresFrete de 10 mais adicional de 20. A tela da Lívia mostrava R$ 1020.
  3. 06
    CondicionaisA entrega E-5012 aparecia como entregue e como cancelada. Dois ifs rodaram, e nenhum deles sabia do outro.
  4. 07
    RepetiçõesO papel tinha quatro entregas para Franca. O painel mostrava três. O laço pulava a que tinha a cidade em branco.
parte 03 Funções, nomes e dados tortosA função de 187 linhas, o nome que vaza do bloco, e a entrega que cada sistema descreve de um jeito. 4 cap.
  1. 08
    FunçõesCento e oitenta e sete linhas, oito responsabilidades, e um comentário na última pedindo para ninguém mexer. O Rafael deixou tirar uma.
  2. 09
    EscopoA mensagem 'sua entrega chegou' foi para o cliente errado. O nome da entrega do laço continuava existindo depois do laço, com a última entrega dentro.
  3. 10
    Arrays e objetosO aplicativo do motorista manda status. O sistema antigo manda situacao. As duas estão certas, cada uma no sistema de onde veio.
  4. 11
    Desestruturação e spreadA tela de edição mudou o endereço só para mostrar. A lista da manhã, que guardava o mesmo objeto, mudou junto.
parte 04 O tempo, que não esperaCallback, promessa, async/await e closure. O programa deixa de ser uma lista de passos e passa a ser várias coisas no meio do caminho. 4 cap.
  1. 12
    CallbacksGravar o status chama quem notifica, que chama quem atualiza a tela. Quando a notificação falhou, a tela ficou esperando. E ninguém soube.
  2. 13
    PromisesA tela mostrava o frete de antes do ajuste ao lado do status de depois. As duas respostas chegaram, cada uma na sua hora, e cada uma escreveu por cima da outra.
  3. 14
    async/awaitA atualização ficou legível. E o frete da E-5302 apareceu na tela como [object Promise]1000.
  4. 15
    ClosuresCada botão de cancelar da lista cancelava a última entrega. Quem lia o código não via o número errado escrito em lugar nenhum.
parte 05 A telaO DOM, o bug que só aparece com a janela estreita, e as duas partes da interface que acreditam em coisas diferentes. 3 cap.
  1. 16
    DOM e eventosUm clique em cancelar, dois pedidos de cancelamento. O segundo chegava ao servidor depois que a entrega já tinha mudado.
  2. 17
    DebuggingTicket 1847: a entrega some da lista quando a Lívia cancela. Três pessoas tentaram reproduzir e não conseguiram. O Paulo diminuiu a janela.
  3. 18
    EstadoA lista dizia cancelada. O painel de detalhe, ao lado, dizia a caminho. Cada pedaço da tela tinha guardado a sua cópia da entrega.
parte 06 O repositórioMódulos, a terceira biblioteca de HTTP, e o caso que o Paulo achou porque jurou que ia procurar. 3 cap.
  1. 19
    Módulosentrega.js passou a importar lista.js, que já importava entrega.js. O painel parou de carregar com uma mensagem sobre acessar um nome antes de ele existir.
  2. 20
    npmAtualizar o Axios de 0.21 para a versão atual levou um minuto. A lista de canceladas de Franca parou de carregar, e só ela.
  3. 21
    TestesO Paulo cancelou a entrega no intervalo entre o clique em iniciar rota e a resposta do servidor. A entrega cancelada voltou a aparecer a caminho.
parte 07 O outro lado e o custoO contrato com o servidor, e a decisão inocente que começa a custar caro quando a lista cresce. 2 cap.
  1. 22
    APIsA página mandava status cancelado. O servidor aceitava CANCELADA. Os dois tinham teste verde, e a entrega nunca foi cancelada no servidor.
  2. 23
    PerformanceO relógio do canto da tela mudava a cada segundo. A cada segundo, cento e sessenta cartões eram jogados fora e feitos de novo. O tablet do cais esquentava.
parte 08 Sair da máquinaO commit que alguém precisa ler daqui a seis meses, a sexta às 16h52, e a manhã em que o papel e o painel dizem a mesma coisa. 3 cap.
  1. 24
    GitQuinta, 17h43. A Bia escreveu ajustes na mensagem do commit. O Rafael leu por cima do ombro e puxou uma cadeira.
  2. 25
    DeploySexta, 16h52. Na máquina da Bia, Node 24, tudo verde. No servidor, Node 20, o rodapé nem carregava. O Neto apareceu na porta antes de alguém chamar.
  3. 26
    Projeto finalQuarta, 6 de maio, 5h35. A Lívia imprimiu a lista, pôs o papel ao lado do tablet e foi descendo com o dedo.
avaliações verificadas

O que leitores dizem sobre JavaScript One

Carregando avaliações deste livro…

Ver todas as avaliações deste livro →
git commit -m "primeiro capítulo"

JavaScript One

Do primeiro console.log ao painel em produção. O projeto começa a rodar no primeiro capítulo — e não para mais.

Atenção: o idioma desta edição é português.