Postagens

Destaque

asdf-vm: Gerenciador de versão extensível com suporte a várias linguagens e ferramentas de desenvolvimento

Imagem
Nos dias de hoje é muito comum você ter que lidar com diversas versões de diversas linguagens ao mesmo tempo. Pense comigo, suponha que tenhamos alguns projetos que utilizam as linguagens de programação python, nodejs e golang. Agora suponha que dentre esses projetos eles utilizam versões diferentes para cada linguagem, como exemplo python 3.7.2, python 3.9.0, go 1.15.6, go 1.14.3, node 14.16.0 e node 15.12.0. Já imaginou como seria difícil ter que instalar cada versão da linguagem em seu computador? Com o asdf você vai perceber como isso se torna muito fácil de se gerenciar e o melhor é que ele tem diversos plugins. Com ele você consegue não só instalar linguagens de programação mas também ferramentas de desenvolvimento. Veja alguns exemplo: node.js, python, r, go, ruby, clojure, erlang, dart, java, php, deno, elixir, flutter, dotnet-core, mysql, postgres, mongodb, redis, rabbitmq, elasticsearch, docker-slim, yarn e muitos outros . Instalação A instalação dele é muito simples

Python: Configurando PyCharm para rodar/debugar o projeto com Gunicorn

Imagem
 Logo abaixo vou apresentar o passo a passo para poder configurar o projeto no PyCharm para rodar utilizando o Gunicorn , onde você poderá testar/debugar a API em tempo real apontando para o ambiente de development e staging.  1- Primeiro passo devemos clicar na opção de configuração de Run/Debug do PyCharm: 2- Agora com a janela de configuração aberta, iremos adicionar uma nova configuração utilizando o template do Python: 3- Agora é hora de ajustarmos a configuração, veja abaixo os campos que devem ser ajustados:     - Script path: selecione o gunicorn que fica na pasta bin do  virtualenv do seu projeto;     - Parameters: informe os parâmetros que seu projeto necessita para poder rodar com o gunicorn;     - Python interpreter: selecione o python que fica na pasta bin do virtualenv do seu projeto;     - Working directory: selecione o Source Root do seu projeto; 4- Agora você deve selecionar o arquivo com as variáveis de ambiente que seu projeto precisa para poder rodar. Normalme

MongoDB + Docker: Criando uma instância do Mongo com Docker

Imagem
Neste tópico será demonstrado o passo a passo para a criação de um contâiner Docker para o banco de dados MongoDB. Mas o que é MongoDB? É um banco de dados opensource, de alta performance e flexível, sendo considerado o principal banco de dados NoSQL. Os banco de dados NoSQL apresentam algumas vantagens sobre os outros tipos, principalmente quando precisamos de escalabilidade, flexibilidade, bom desempenho e facilidade para consultas. Atenção Antes de tudo você deve ter o Docker instalado em seu sistema operacional. Criando o contâiner Para criar o contâiner basta você rodar o comando abaixo em seu terminal: docker run --name mongo -d -p 27017:27017 -p 28017:28017 -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=mypass mongo:latest O comando acima irá fazer o pull da última imagem docker do MongoDB e logo em seguida irá criar e iniciar o contâiner em seu computador. Caso você queira especificar uma versão do Mongo, basta alterar a palavra  latest  do comando pela vers

Gvm: Gerenciando versões de GoLang

Imagem
Se você trabalha com vários projetos Go, já percebeu como é complicado quando os projetos requerem versões diferentes da linguagem. A fim de resolver esse problema surgiu o projeto chamado GVM (Go Version Manager) , onde você pode ter várias versões do Go instalado em sua máquina e quando precisar rodar um projeto em uma versão especifica basta fazer a troca pelo terminal. Instalação em ambiente Linux O processo de instalação é bem simples e você pode conferir na documentação oficial . Resumidamente o comando de instalação é esse: bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) Se você estiver usando zsh apenas mude de bash para zsh. Após a instalação No meu caso foi precisa instalar mais um pacote no Ubuntu: sudo apt-get install bison Pronto, agora feche seu terminal, abra novamente e execute o seguinte comando para verificar se o GVM foi instalado corretamente: gvm version Conhecendo a ferramenta O primeiro comando e o mais

Nvm: Gerenciando versões de NodeJs

Imagem
Se você trabalha com vários projetos Node, já percebeu como é complicado quando os projetos requerem versões diferentes. Bom, para resolver esse problema existe um projeto chamado NVM (Node Version Manager) , onde você pode ter várias versões do NodeJs instalado em sua máquina e quando precisar rodar um projeto em uma versão especifica basta fazer a troca pelo terminal. Instalação em ambiente Linux e MacOS O processo de instalação é bem simples e você pode conferir na documentação oficial . Resumidamente o comando de instalação é esse: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | $SHELL Ou via wget: wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | $SHELL Obs.: Sempre é bom instalar a última versão da ferramenta. Perceba que no link acima está sendo informado a versão 0.39.5, mas você pode conferir aqui qual a última versão do projeto e alterar o comando de instalação. Se você utiliza o ZSH será necessário adicionar o seguinte c

Git: Renomear, desfazer, mesclar, editar ou excluir commits

Imagem
Se você sempre quis saber ou se já sabe mais nunca lembra os comandos de como renomear, desfazer, excluir, editar ou mesclar um ou mais commits você chegou no lugar certo. ;) Antes de tudo precisamos saber que com o comando abaixo conseguimos visualizar a hash, mensagem e a ordem que os commits foram feitos: git log --oneline - Renomeando um commit Para mudar a mensagem do último commit, você pode utilizar o --amend: git commit -m "Nova mensagem que vai substituir a anterior" --amend Para mudar a mensagem de um commit específico, você pode usar o rebase interativo: git rebase -i f0b5417~1 Repare no ~1 , isso indica que irá buscar o commit da hash indicada e todos os demais commits a partir dela. Se você não colocar o ~1 o commit da hash pesquisa não irá ser mostrado no editor de texto a ser aberto, apenas os commits a partir dela. Caso você queira buscar os 3 últimos commits: git rebase -i HEAD~3 Seu editor de texto irá iniciar. Troque no texto a palavra

Oh My Zsh: Melhorando a produtividade do seu terminal

Imagem
Oh My Zsh é uma estrutura agradável, de código aberto e orientada pela comunidade para gerenciar sua configuração do Zsh (terminal feito para uso iterativo). Ele vem com milhares de funções úteis, ajudantes, plugins, temas e algumas coisas que fazem você gritar...  "Oh My ZSH!" São mais de 250 plugins opcionais para melhorar a usabilidade do terminal e mais de 125 temas. Instalando o ZSH A primeira coisa a se fazer é instalar o ZSH , um framework para o seu terminal que irá deixá-lo mais interativo. Como existem várias formas de instalação dependendo do sistema operacional que você está, leia esse guia de instalação: https://github.com/robbyrussell/oh-my-zsh/wiki/Installing-ZSH Após a instalação do ZSH, você conseguirá ver a sua versão no terminal: zsh --version Instalando o Oh my Zsh Para instalar o Oh My Zsh você precisa executar o comando abaixo: Utilizando o curl sh -c “$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.s

CopyQ - Gerenciador de área de transferência

Imagem
Muitos de nós já passamos pela situação onde copiamos algo (CTRL + C) e depois perdemos o que copiamos e isso é bem frustante em alguns casos. Para nossa alegria existe ferramentas que salva tudo o que copiamos para assim recuperarmos quando precisarmos. Hoje irei apresentar o CopyQ um cliente disponível para Linux, Windows e Mac. O CopyQ monitora a área de transferência do sistema e salva seu conteúdo em guias personalizadas. A área de transferência salva pode ser posteriormente copiada e colada diretamente em qualquer aplicativo. A sua instalação é bem fácil e os passos a passos você pode ver no site oficial da ferramenta. Após a instalação basta executar a ferramenta e ela passará a salvar tudo o que você copiar. Eu sugiro que você marque a opção auto start , que está nas configurações da ferramenta, para assim sempre que o seu computador ligar a ferramenta já ser executada automaticamente. Outra dica é aumentar a quantidade de items que ela irá salvar. Nas co

Docker: Gerenciar o Docker como um usuário não raiz

Imagem
Se você utiliza o Docker em seu Linux e toda vez tem que ficar digitando a senha do super usuário (sudo), hoje vou mostrar como executá-lo sem precisar do sudo. O que iremos fazer é criar um grupo Unix com o nome de docker e adicionar os usuários que terão acesso ao docker sem precisar utilizar o sudo . Para maiores detalhes sobre esse passo a passo, você pode conferir o original na documentação do Docker . 1- Crie o grupo Unix: sudo groupadd docker 2- Adicione os usuários ao grupo: sudo usermod -aG docker $USER Por padrão $USER é o usuário da sua sessão mas se preferir adicionar outro usuário bata subistitui-lo pelo nome do usuário. Para visualizar os usuários do seu sistema, basta digitar users no terminal. 3- Faça logoff ou reinicie seu computador para as configurações serem aplicadas. 4- Para ver se tudo está funcionando corretamente, execute o comando: docker run hello-world Se tudo estiver ocorrido bem, você verá algo parecido com a imagem abaixo:

HTTPie: Uma alternativa amigável ao curl

Imagem
HTTPie é um cliente HTTP de linha de comando com uma interface de usuário intuitiva, suporte a JSON, destaque de sintaxe, downloads semelhantes a wget, plug-ins e muito mais. Seu objetivo é tornar a interação da CLI com os serviços da Web o mais amigável possível. Ele fornece um comando http simples que permite o envio de solicitações HTTP arbitrárias usando uma sintaxe simples e natural e exibe saída colorida. O HTTPie pode ser usado para teste, depuração e interação geral com servidores HTTP. O HTTPie consiste em um único comando http projetado para depuração indolor e interação com servidores HTTP, APIs RESTful e serviços da Web, que ele realiza por: - Padrões sensíveis - Sintaxe de comando expressiva e intuitiva - Saída de terminal colorida e formatada - Suporte JSON incorporado - Sessões persistentes - Upload de formulários e arquivos - Suporte a HTTPS, proxies e autenticação - Suporte para dados de solicitação e cabeçalhos arbitrários - Downloads semelhantes ao W

Gtop: Um painel de monitoramento do sistema para terminal

Imagem
Ferramentas de linha de comando como "top" dificultam a visualização do uso da CPU em aplicativos de vários processos (como Apache e Chrome), picos ao longo do tempo e uso de memória. Afim de facilitar esse processo, existem diversas ferramentas como o vtop , htop e o gtop. Mas o que é o Gtop? O gtop é uma ferramenta que lê informações sobre processos e o estado do sistema no modo dinâmico. Está escrito em node.js e pode ser facilmente estendido. Para verificar seu código fonte basta acessar o github . Qual a diferença entre o vtop e o gtop? Com o VTOP você consegue monitorar apenas o CPU, Memória e os PID. Já com o GTOP você consegue monitorar CPU, Memória, SWAP, PID, Network e o Disco. Outra diferença entre os dois é que com o VTOP você consegue matar um determinado PID, setar um intervalo em que o monitorar irá atualizar os dados mostrados na tela, consegue também mudar o tema do monitor, desativar interação com o mouse e definir um tempo para o monitor ser