Um momento
Aula 14
Cursos / Como Criar uma API JSON em Golang - CRUD Simples
Como Usar CompileDaemon para Recompilar e Reiniciar o Servidor Automaticamente

Nesta aula nós aprendemos sobre o programa CompileDaemon.

Toda a vez que nós modificamos o código de Golang, temos que recompilar. No nosso caso, como temos um servidor, sempre temos que desligar o servidor e rodar um comando para recompilar o código que foi modificado. Essa prática se torna tediosa, especialmente se você faz mudanças freqüentes no código.

Podemos usar o CompileDaemon para recompilar o código automaticamente depois de fazermos uma mudança. Com isso, não precisamos mais rodar o comando de compilar. Basta ter o CompileDaemon rodando.

Também podemos fazer o CompileDaemon rodar um comando depois da compilação. No nosso caso, podemos rodar o servidor novamente depois da compilação do seu código.

Usamos o seguinte comando de terminal (e.g. bash) para baixar o CompileDaemon para o seu computador:

go get github.com/githubnemo/CompileDaemon

O código do CompileDaemon é baixado e compilado. O código fonte é posto na pasta $GOPATH/src enquanto o executável é gerado na pasta $GOPATH/bin.

$GOPATH é uma variável de ambiente que armazena o caminho para a área de trabalho do Golang. Isto é, o local das seguintes pastas:

bin/
pkg/
src/

Em sistemas de Unix, o $GOPATH é normalmente definido como $HOME/go, uma pasta de go dentro do seu diretório pessoal. No Windows, o caminho seria %USERPROFILE%\go

Voltando ao assunto do CompileDaemon, podemos executá-lo se referenciarmos o caminho inteiro que vai bater no $GOPATH/bin/CompileDaemon. Na aula, é $HOME/go/bin/CompileDaemon

Com a opção -command, podemos definir que executável para rodar depois da compilação. Por exemplo: -command="./executavel"

Summary

Aula de GoLang: Automatizando Compilação e Reinício do Servidor

Introdução

Nesta aula, continuamos o desenvolvimento da nossa API em GoLang, focando em facilitar o processo de desenvolvimento automatizando a compilação e o reinício do servidor cada vez que o código é modificado.

Problema Apresentado

Atualmente, toda vez que modificamos o código, precisamos recompilar e reiniciar o servidor manualmente. Automatizar esse processo tornaria o desenvolvimento mais eficiente.

Solução: CompileDemon

Utilizaremos um pacote chamado CompileDemon. Este pacote nos permite detectar mudanças no código e recompilar automaticamente.

Instalando o CompileDemon

  1. Acesse o repositório do CompileDemon no GitHub: github.com/githubnemon/compileDemon.
  2. Para instalar, use o comando:
    go get github.com/githubnemon/compileDemon
    
  3. O pacote será instalado no seu GOPATH padrão, tipicamente localizado em $HOME/go.

Estrutura do GOPATH

Após a instalação, a estrutura do GOPATH incluirá:

  • bin: Contém o executável do CompileDemon.
  • pkg: Armazena pacotes compilados.
  • src: Local onde o código-fonte do CompileDemon estará disponível.

Usando o CompileDemon

  1. Para executar o CompileDemon, navegue até o diretório bin e execute:
    $HOME/go/bin/compileDemon
    
  2. O CompileDemon irá recompilar o código sempre que houver alterações.

Exemplificando com o Código

  • Ao modificar o código (exemplo: adicionar um campo), o CompileDemon detecta a mudança e recompila o executável.
  • Para rodar o servidor após a compilação, use a opção -command do CompileDemon:
    compileDemon -command="./go long API JSON simples"
    
  1. Agora, o servidor reiniciará automaticamente após cada mudança no código.

Testando com Postman

  • Após implementar as mudanças, você pode testar a API com o Postman. Qualquer remoção ou modificação no código será detectada e aplicada sem necessidade de reiniciar manualmente.

Conclusão

O uso do CompileDemon simplifica o fluxo de trabalho em desenvolvimento de APIs em Go. A automação na compilação e reinício do servidor melhora a eficiência do processo de desenvolvimento.

Então é isso para esta aula. Até a próxima!

Video Transcript

Olá pessoal, estamos de volta com mais aula de GoLang. Vamos continuar o nosso desenvolvimento da API. Nesta aula vamos falar de algo para poder facilitar o nosso desenvolvimento. Você vê que toda vez que eu mudo o código, eu tenho que recompilar e reiniciar o servidor. Seria legal se esse processo fosse automatizado e de doer cada mudança que eu faço no código, quando salvar o arquivo, o copilador executa novamente e o servidor reinicia. Se a gente precisar fazer isso manualmente. Então, há um pacote de Go chamado CompileDemon que nos permite fazer isso. Foi aqui no navegador, na página desse pacote. Se você for nessa URL aqui, gethub.com, gethubnemon, barracompileDemon. Esse pacote diz aqui como fazer e tal. Vamos instalar esse pacote para poder instalar o pacote no Go. Você pode usar o comando GoGet. GoGet passa onde está esse pacote. Nesse caso está no gethub.com, bar gethubnemon, barracompileDemon. Vamos fazer isso. Vou copiar essa parte aqui no terminal. Vou falar GoGet e colar aquele link. Agora, onde é que isso vai parar? Bem, ele vai parar lá na parte do GoPath. A gente vai precisar depois setar o GoPath. Por padrão, ele vai usar o GoPath que está dentro do seu diretório pessoal, barragou. Por exemplo, no meu caso aqui, eu abri o meu diretório pessoal, barragou. E tem essas três pastas. Tem bind, pkg e src. Na pasta src, barragatehub.com nesse caso, barragatehubnemon, barracompileDemon. Aqui está o código-fonte daquele pacote que a gente baixou. Agora, onde é que está o executável? O executável vai estar dentro da pasta binário. Então está aqui o programa com pkgdemon que a gente vai usar. Está bom? Depois de falar o GoGet, nós podemos usar o compileDemon. Bem, o maneiro de fazer isso é assim. No meu caso, eu posso falar o home, barragou, barrabin, barracompileDemon. Se o executa isso, ele vai rodar o comando build. Isso é mudar o código aqui. Por exemplo, se eu adicionar a livro, ano, int, não precisa da viva. Você notem que ele detectou que o arquivo foi modificado e rodou o build de novo. Nesses casos, ele roda o build. O que é que o build faz? Bem, o gobuild vai pegar aqui e gerar o executável na mesma pasta do projeto. Olha aqui que apareceu na pasta do projeto o executável aqui. Então, legal. Mas, depois de rodar esse... Cara, ele não tem como reiniciar o servidor. Como é que roda o programa? Bem, vamos fazer o seguinte. Vai no compileDemon e fala assim. Tem até a referência aqui no navegador que eles tem os comandos. A opção é command que a gente vai usar. Então, você pode falar traço comand. Igual, nesse caso, seria ponto barra, go long. API JSON simples, que é o nome do executável que o build criou. Então, ele vai dar o build, cria aquele executável no mesmo diretório, no meu caso, e roda o servidor. Olha aqui, vamos no postman. Eu vou dar o get do barra Livros e vai aparecer ano aqui. Legal, então funcionou. Mas vamos remover isso, que a gente só fez isso de exemplo. Eu vou remover o ano e tal. Vou salvar o arquivo. Na hora que salva, eu nem preciso mais matar o servidor e recompilar e tal, porque ele já faz automaticamente. Na hora que ele detectou e rodou o servidor de novo. Para confirmar isso, para no postman, você note que não tem mais o campo ano. Certo? Então esse é o compile de emmen. Para você automatizar o processo de compilar e reiniciar o servidor. Você roda o comando, que está lá no go path, no caso, rom barra go. Na pasta bin, barra compile de emmen, você passa os... Essa opção, traça o comende para ele executar o programa que está na mesma pasta que ele foi criado pelo build, go build. Então, por essa aula é só e até a próxima. Até a próxima.
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: