25 de maio de 2021

Minhas ferramentas do dia a dia - Sistemas operacionais e Terminal

Durante a minha jornada venho acumulando algumas ferramentas para ajudar no meu dia a dia no desenvolvimento de software, na maior parte são coisas simples mas que fazem muita diferença na produtividade.

Nesta primeira parte irei abordar os sistemas operacionais que uso e os aplicativos de terminal.

Sistemas Operacionais

  • Ubuntu GNU/Linux: O Ubuntu tem sido meu sistema operacional há mais de dez anos. Quando desenvolvemos para a web, sistemas tipo Unix são preferênciais devido as ferramentas que eles já oferecem por padrão, além de serem na maioria dos casos os ambientes de deploy das aplicações. Além de toda a "tralha" de desenvolvimento, o GNU/Linux tem cada vez mais ferramentas para o uso comum, como editores e jogos. Eu gosto de usar o Ubuntu pois já sou acostumado com sua interface, mas acredito que a indicação aqui seja principalmente utilizar uma distribuição que você goste e se adapte. 
  • Windows 10: O Windows tem sido uma grata surpresa para mim, além de utiliza-lo para as aplicações que só rodam no Windows, junto com o WSL2 tenho conseguido utilizar qualquer ferramenta GNU/Linux nele, inclusive aplicações gráficas graças ao X410.

Terminal

A primeira coisa que vale citar é o emulador de terminal que utilizo, o Tilix. Ele possui algumas ferramentas bem interessantes como split de janelas, abas e é bem leve. Além disso ele possui o modo Quake, que é um modo onde o terminal aparece no topo da tela (ou onde você configurar) de maneira rápida de mais prática.

Tilix: rodando três sessões ao mesmo tempo, Zenith, bat e Dust respectivamente.

No Windows estou utilizando o Windows Terminal, que se conecta automaticamente no WSL2 e tem ótimas funções similares ao Tilix, como split de terminal e abas.
Além dos emuladores de terminal, há também todo o conjunto de aplicativos que utilizo pelo terminal para me ajudar no meu trabalho diário:
  • tldr: Too Long, Don't Read. Esta ferramenta surge como uma alternativa mais rápida (porém não substitui) os manuais do Linux. O que ele faz é exibir como utilizar os comandos nas suas maneiras mais utilizadas, o que facilita quando precisamos lembrar, por exemplo, como extrair aquele arquivo tar.gz.
  • Bash Git Prompt: aplicação que enriquece o bash com informações do Git caso esteja em um repositório.
  • htop: algumas vezes precisamos monitorar os processos do sistema, por padrão o GNU/Linux vem com o top, que exibe os processos e seu consumo de memória e processamento. Apesar de precisa, a exibição do top não é a mais amigável, ai entra o htop, uma ferramenta que faz a mesma coisa de maneira mais amigável, permitindo ordenar processos por diversas métricas, fazer buscas e mandar sinais para os processos.
  • Docker: a ferramenta onipresente e que mudou o mundo, utilizo ele diariamente para gerenciar aplicativos que preciso instalar porém quero mante-los isolados. Todo o conceito de conteinerização é algo muito interessante e poderoso.  Além do Docker existem outras alternativas como o Podman.
  • ctop: O ctop é um aplicativo amarrado diretamente ao Docker. Ele permite gerenciar os containers, verificar a utilização de memória, acessar logs e outras coisas. Apesar dos comandos do Docker não serem complicados demais, o ctop agiliza muito lidar com vários containers.
ctop: permite gerenciar facilmente os containers que estão disponíveis
  • redis-cli: O redis-cli é uma ferramenta de terminal que permite se conectar e enviar comandos para servidores Redis. Suporta autocomplete de diversos comandos e também a execução de scripts. 
  • Zenith: Aplicação gráfica que permite ver diversas métricas do computador. Faz um pouco do trabalho do htop, porém também exibe gráficos como podemos ver na captura de tela acima.
  • bat: Similar ao cat, porém faz syntax highlight de códigos fontes, facilitando a leitura.
  • Delta: Aplicativo que diff muito útil para o terminal, faz syntax highlight e pode ser configurado para substituir o diff padrão do Git.
  • Dust: Similar o aplicativo du (Disk Usage), exibe de maneira mais amigável o tamanho dos diretório e arquivos no terminal.
Estas são as aplicações que mais uso, porém existem algumas outras que não lembrei no momento e posso ir atualizando este post de tempos em tempos. Se você conhece alguma ferramenta interessante, útil ou divertida para o terminal coloca ela nos comentários que vou adorar testá-la.

Um comentário: