Postagens

GoLang: Comandos básicos para iniciar seu projeto

Imagem
Se você é novato na linguagem Go e não sabe como iniciar seu projeto ou se você vem de outra linguagem a qual tem um gerenciamento de módulos, é normal que se pergunte como funciona o gerenciamento de módulos do Go. Para isso vou tentar explicar o passo a passo de como iniciar um projeto Go do zero, assim mostrando os principais comandos. Boa parte desse tutorial foi baseado no vídeo criado pelo Alex Rios. Antes de iniciarmos é obrigatório que você tenha o GoLang instalado em sua máquina. Você pode conferir na documentação oficial ou pode utilizar o GVM (Go Version Manager) para instalar a linguagem em sua máquina. Iniciando 1- O primeiro passo é criar uma pasta onde iremos colocar os arquivos do mini-projeto. Irei criar com o nome go-project . 2- Agora crie um arquivo chamado main.go . Nesse arquivo iremos escrever as primeiras linhas de código Go. 3- Insira o seguinte código em seu arquivo main.go : package main import "log" func main() { log.Printf("%d + %d

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.37.2/install.sh | $SHELL Ou via wget: wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/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.37.2, 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

Vtop: Um monitor de atividade 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 Vtop? O Vtop é um monitor de atividades de código aberto e gratuito para a linha de comando. Está escrito em node.js e pode ser facilmente estendido. Por que não verificar o código fonte ? 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 fechado automaticamente. Já com