anúncios

segunda-feira, 3 de agosto de 2020

Conhecendo o Wappalyzer

O que é Wappalyzer?


O Wappalyzer é uma extensão para o Google Chrome, Mozilla Firefox, que exibe para o usuário quais tecnologias são utilizadas nos sites e sistemas web. WordPress, Apache, Google Analytics, phpMyAdmin e YouTube são apenas alguns exemplos de ferramentas detectadas pelo complemento e que são amplamente empregadas na construção de portais, blogs e sites.

Para instalar a extensão Wappalyzer, basta acessar no navegador que o utiliza: Google Chrome Mozilla Firefox e no Microsoft Edge

O Wappalyzer é um projeto de código aberto com licença MIT, disponível no repositório no GitHub , caso tiver curiosidade como foi implementado e queira contribuir para o projeto.

No modo geral, só adicionar a extensão no navegador nos links mencionados e no site e/ou sistemas web que tiver curiosidade em saber quais tecnologias foram utilizadas, basta clicar na extensão no canto superior direito no navegador, que irá abrir um pop-up das tecnologias utilizadas do site e/ou sistema web.

Feito!

terça-feira, 14 de julho de 2020

Conhecendo o Express do Node.js

O que é Express?

É um framework do Node.js, minimalista, flexível e contém um robusto conjunto de recursos para desenvolver aplicações web, como um sistema de Views, um robusto sistema de roteamento.

O Express oferece as seguintes soluções:

  • Gerenciar requisições de diferentes verbos HTTP em diferentes URLs;
  • Integrar "view engines" para inserir dados nos templates;
  • Definir as configurações comuns da aplicação web, como a porta a ser usada para conexão e a localização dos modelos que são usados para renderizar a resposta;
  • Adicionar novos processos de requisição por meio de "middleware" em qualquer ponto da fila de requisições.

Instalação do Express

Considerando que já tenha o o Node.js instalado, caso contrário verifique no howto Instalação do Node.js . Tendo o projeto Node.js iniciado, acesse o diretório e execute para adicionar o Express como dependência do projeto.

$ npm install express --save

Criando a primeira aplicação Node.js com Express

app.js
const express = require('express');
const app = express();

app.get('/', (req, res) => {
res.send('Hello World!');
});

app.listen(3000, 'http://127.0.0.1') {
console.log('app listening on port 3000!');
});

Executando a aplicação

Execute no terminal: $ node app.js OU se tiver o Nodemon instalado, pode executar a aplicação da seguinte maneira $ nodemon app.js

No browser acesse http://localhost:3000

Irá ver escrito Hello World na página. Adicione novas rotas, tendo como base a primeira e teste o acesso das rotas criadas no browser.

Feito!

segunda-feira, 13 de julho de 2020

Gerenciando aplicações Node.js com PM2

Na postagem Nodemon do Node.js foi explicado como monitorar e reiniciar automaticamente aplicação Node.js com o Nodemon, mas isso é útil em ambiente de desenvolvimento, porém em ambiente de produção é utilizado o PM2, que é objetivo desta postagem.

O que é PM2?

É o gerenciador de processos para aplicações Node.js em linha de comando, que também faz o monitora e reinicia aplicações Node.js automaticamente, mas de forma mais eficaz consumindo menos em comparação com o Nodemon, por isso que é utilizado em ambiente de produção em aplicação Node.js.

O PM2 é uma ferramenta opensource completa para o gerenciamento e deploy de aplicações Node.js em ambientes de produção. Dentro os principais recursos disponíveis podemos citar:

  • Monitoramento das aplicações;
  • Integração com containers;
  • Hot reload das aplicações;
  • Fácil integração com serviços de deploy contínuo;
  • Logs das aplicações;
  • Facilidade em escalar as aplicações (modo cluster ou fork).

Instalação do PM2

$ npm install pm2 -g

Iniciar aplicação Node.js

Acesse o diretório do projeto Node.js e execute:

$ pm2 start app.js --name "app1"

Listar aplicações Node.js execução


$ pm2 list

Ver informações do processo. Note que foi usado o nome definido da aplicação na inicialização.

$ pm2 info app1

Parar um aplicação Node.js

$ pm2 stop app1

Reiniciar uma aplicação Node.js

$ pm2 restart app1

Excluir uma aplicação Node.js

$ pm2 delete app1

Referências

[1] https://pm2.keymetrics.io/docs/usage/quick-start/

Feito!

domingo, 12 de julho de 2020

Monitorar e reiniciar automaticamente aplicação Node.js

Na postagem Criação do servidor Node.js e para iniciar o servidor é no terminal node app.js, mas para cada alteração no arquivo JavaScript é necessário parar e iniciar novamente o servidor Node.js. Então, deve se perguntar se existe alguma forma de não precisar reiniciar a aplicação. Sim, existe, esse é o objetivo desse howto.

O que é Nodemon ?

O Nodemon é um utilitário que monitora todas as alterações nos arquivos da aplicação e reinicia automaticamente o servidor quando for necessário.

Instalação e uitlização do Nodemon

No terminal, digite: $ npm install nodemon -g

Para executar a aplicação, execute no terminal: $ nodemon app.js

Agora, altere os arquivos da aplicação e atualiza a página, verá que não foi preciso reiniciar o servidor Node.js com o uso Nodemon.

Para obter mais opções do Nodemon, digite no terminal: nodemon -h

Feito!

sábado, 11 de julho de 2020

Primeiros passos com Node.js

Antes de seguir esse howto de criação do servidor web do Node.js, é pré requisito seguir o howto de Instalação do Node.js no Linux , caso não tenha instalado.

O objetivo desse post é criar o servidor web e o famoso Hello World em Node.js.

Crie um arquivo app.js no diretório de sua escolha com o seguinte conteúdo:

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World');
});

server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});

Agora, execute o servidor web no terminal, digite: node app.js

Acesse no browser http://localhost:3000 e você irá ver a mensagem "Hello World".

Feito!

segunda-feira, 6 de julho de 2020

Instalando o Node.js no Linux

O que é Node.js?

O Node.js pode ser definido como um ambiente de execução Javascript Server-side.

Isso significa que com o Node.js é possível criar aplicações Javascript para executar como uma aplicação standalone em uma máquina, não dependendo de um browser, como estamos acostumados.

Instalação do Node.js no Linux

Pré requisitos

Se ainda não tiver o curl instalado no Debian, Ubuntu

$ sudo apt install curl

Se ainda não tiver o curl instalado no CentOS, Fedora

$ yum install curl

A partir daqui se aplica em qualquer distribuição Linux a instalação do Node.js

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.35.3/install.sh | bash

O número da versão que está em negrito pode mudar com o tempo, então recomendo você acessar a página do projeto no GitHub e procurar pela nova versão.

O Node.js será instalado no diretório oculto do seu usuário.

$ source ~/.bashrc

Para listar as versões disponíveis do Node.js

$ nvm ls-remote

Irá exibir as versões do Node.js e assim podemos ver se o NVM está funcionando corretamente.

Até a data de publicação deste howto, a versão atual do Node.js é 12.18.2

$ nvm install v12.18.2

Caso tenha instalado mais de uma versão e tenha necessidade de alternar entre elas, então segue:

$ nvm use

Verifique a versão do Node.js

$ node -v

Já ganha de bônus o NPM na instalação do Node.js. Para atualizar-lo o NPM, basta executar:

$ npm install npm -g

Feito!

terça-feira, 23 de junho de 2020

Guia de sobrevivência do GIT e Git Flow

GIT

Primeiro é necessário ressaltar a diferença entre GIT e Github, Bitbucket, Gitlab.

O GIT é o sistema de controle de versão e o Github, Bitbucket, Gitlab, são plataformas para hospedar projetos de desenvolvimento por meio de repositório público ou privado, que usa o GIT como base.

Escolhendo a plataforma que irá hospedar o seu projeto no repositório remoto, crie uma conta, se ainda não tiver, gera o par de chaves privada e pública, adicione a chave pública no seu perfil da plataforma escolhida, crie um repositório e por fim o primeiro commit. Calma, que irei explicar cada item passo a passo.

Nesse artigo é explicado no Github por ser mais popular na comunidade opensource.

1. Acesse https://github.com , crie uma conta se ainda não tiver.

2. Gere um par de chaves privada e pública com SSH.

No Windows 10, com o GitBash que emula o terminal Bash do Linux, pode gerar o par de chaves privada e pública, usando o mesmo comando utilizado no Linux (qualquer distro).

$ ssh-keygen

Responda as perguntas que é solicitado, no final são gerados par de chaves privada e pública no arquivo oculto do seu usuário.

chave pública: ~/.ssh/id_rsa.pub
chave privada: ~/.ssh/id_rsa

3. Copiar o conteúdo do arquivo ~/.ssh/id_rsa.pub na configuração do perfil na plataforma escolhida, no caso do Github é https://github.com/settings/keys

$ cat ~/.ssh/id_rsa.pub

4. Colar o conteúdo no campo Key e defina um nome no campo Title, como por exemplo: máquina-casa, máquina-empresa.

Ao salvar, confirma com sua senha da conta.

5. Crie um repositório ao clicar em "+" > "New Repository"

6. Define um nome para o repositório em "Repository name"

7. Marque "Public" ou "Private" conforme a sua escolha do repositório de domínio público ou privado.

8. Clique no botão "Create repository"

9. Agora na sua máquina, crie um diretório para o projeto se não existir ou pode utilizar o diretório existente do seu projeto, adicione o repositório remoto.

10. Acesse o diretório do projeto e segue:

Apenas na primeira vez, execute o comando git init para inicializar o repositório local do Git. O próximo passo é adicionar o repositório remoto correspondente a alguma plataforma Github, Bitbucket, Gitlab ou outro servidor no modo Git Bare . Nesse artigo é utilizado o Github.

11. Adicionando o repositório remoto

É possível adicionar o repositório remoto de duas formas: protocolo https ou ssh. A diferença é que usando o protocolo ssh e com a chave pública adicionada no perfil do Github/Bitbucket/Gitlab ao fazer o push não é solicitado a senha, porém conforme foi gerado o par de chaves privada e pública, uma das perguntas é uma senha secreta corresponde a chave, isso é opcional, o default é sem, mas se caso criou, será solicitado essa senha secreta, ok?

$ git remote add origin git@github.com:< SEU-USERNAME >/< SEU-REPOSITORIO >.git

Inicializa o repositório local no diretório do projeto.

$ git init

12. Adicionando informações nome, e-mail, coloque com suas informações

$ git config --global user.name "Nome completo"
$ git config --global user.email nome.sobrenome@dominio.com

13. Adicionar os arquivos na fila de commit

$ git add .

14. Commit com comentário, se for o primeiro commit, é tradicional colocar "first commit", mas pode colocar qualquer comentário, nos demais commits é interessante colocar comentário relevantes sobre o que foi feito

$ git commit -m "first commit"

15. Enviar os arquivos para o repositório remoto

$ git push origin master

Git Flow

Manter as branches master e develop como principais no repositório do projeto, a branch master é de produção e a branch develop é que estar em desenvolvimento.

As features novas do projeto são issues publicadas no repositório, então cria-se uma branch com o id da issue a partir da branch develop sempre atualizada.

Na prática, fica assim:

Fluxo de Git-Flow

$ git checkout develop
$ git pull origin develop
$ git checkout -b < id-issue >

Faz a codificação na branch da issue e ao terminar, faz o commit e push nessa branch. Em seguida, faz o Pull Request da branch da issue para branch develop e outro desenvolvedor faz o Code Review do que foi feito e estando OK, faz o merge para develop.

git add .
git commit -m "comentário resumido do que foi feito na issue"
git push origin

No final da Sprint que geralmente é de uma ou duas semanas e após testado e OK na develop, faz o merge da branch develop para master.

Segue o fluxo na próxima issue.

Pronto, por meio deste artigo foi possível aprender sobre o Git, plataformas Github, Bitbucket, Gitlab e o fluxo de desenvolvimento utilizando o Git Flow.

Feito!