Ferramentas que utilizo no meu dia a dia (Maio 2020)
Não sei você, mas eu gosto de conhecer ferramentas que possam melhorar meu trabalho. Gosto muito quando alguém publica um review de alguma ferramenta que está lhe ajudando a fazer a você fazer algo melhor e mais rápido.
Por isso, resolvi escrever e mostrar o meu as ferramentas que eu utilizo todos os dias da semana e dar algumas dicas.
Introdução
Minha intenção neste artigo é mostrar as ferramentas que eu utilizo no meu dia a dia. Não tenho a intenção de fazer um review aprofundado sobre cada ferramenta.
Acredito que a maioria das ferramentas irão fazer sentido para as pessoas que trabalham com linguagens, banco de dados e SO que eu trabalho. Outras nem tanto.
Espero que esse artigo seja útil, de alguma forma, para você! 🤞
IDE
O IDE PHP super inteligente — PHPStorm
Desde o tempo o tempo da faculdade que utilizo, de alguma forma, as ferramentas da Jetbrains. E uma das ferramentas que mais gostei, devido ao meu trabalho, foi o PHPStorm.
Funcionalidades
- Autocomplete excelente: enquanto você escreve, ele irá sugerir funções e fazer auto imports se necessário
- Inspeção de código: de forma bem dinâmica, ele te avisa sobre possíveis erros ou problemas no teu código
- Depurador sensacional: com poucas configurações, você consegue depurar o seu código de uma forma sensacional
- Inclui muitos recursos referente ao HTML, CSS e JavaScript: além de ser muito bom com PHP, ele também é muito bom para tratar HTML, CSS e JS. Muito bom mesmo!
- Controle de versão visual: com poucos atalhos, consigo versionar meu código, verificar o diff dos arquivos alterados entre outras coisas
- Query builder integrado: como se não bastasse os itens anteriores, ele ainda vem com Query Builder integrado, onde consigo executar queries, gerenciar tabela, gerar um diagrama do banco, fazer backup, gerar restore entre outras coisas
- Sincronização das minhas configurações: todas as minhas configurações de font, tema, ficam guardadas online e em todas as instâncias do PHPStorm que estão logadas no meu nome, irão serem atualizadas ❤️
Além disso, tem suporte para o terminal nativo do SO, Vagrant, Docker, Composer, Npm, Laravel entre outras coisas.
Sobre a aparência do meu PHPStorm, utilizo o tema Dracula e a font é a JetBrains Mono da própria JetBrains.
Sugiro dar uma olhada nos atalhos do PHPStorm. Eles irão ajudar muito no seu dia a dia.
Simplesmente uma IDE de respeito! 👏👏👏
As ferramentas da Jetbrains são muito conhecidas pela sua qualidade, porém, o preço as vezes é um impeditivo para adquirir essas ferramentas. Por muito tempo, eu utilizava meu comprovante de estudante para ter esta ferramenta, porém concluí a faculdade e tive que comprar. Não me arrependo!
O link para você tentar conseguir uma licença de estudante é essa aqui
Espero que consigo e faça bom uso!
VSCode
Coloquei como sub tópico pois não é meu editor padrão, mas que ainda utilizo para outras atividades. Antes, meu editor padrão era o VSCode e eu gostava muito dele. Acabou eu optando pelo PHPStorm devido ele ser algo mais especializado e mais importante, resolve minhas atividades de forma fácil.
Umas das coisas que eu não gostava, era ter que ficar instalando toda vez as extensões quando formatava o meu PC. Foi então que descobri uma extensão chamada Settings Sync. Sugiro ler sobre esta extensão aqui
Acredito que em breve irei utilizar mais o VSCode pois estou estudando com mais profundidade JavaScript, React e Node. O suporte do VSCode para estas tecnologias baseadas em JavaScript é sensacional!
Banco de Dados
Universal Database Tool — DBeaver
Ele é baseado no Eclipse e acredito que poderá ser sua ferramenta Universal para Banco de Dados.
Acho ele muito útil pois dá suporte a todos os banco que trabalho como: Postgres, MySQL, SQLite e Firebird.
Funcionalidades
- Gerenciamento de conexões: criar suas conexões e definir se é de desenvolvimento, homologação ou produção (commit manual por padrão)
- Exportar consultas para variados tipo de arquivos: com ele consigo exportar consultas para csv, json, …
- Visualizar e alterar dados de forma fácil: ao fazer um consulta, caso queria, posso alterar algum dado sem ter que executar algum query
- Metadados: consigo ver várias informações sobre as tabelas de forma fácil e ágil como a colunas, índices, procedures, triggers, …
- Gerar diagramas: funcionalidade muito útil para ver como o banco está organizado de forma gráfica. Existe a opção para exportar em PNG e outros formatos
Hoje, quase não estou usando mais devido o PHPStorm já ter todos os recursos que eu preciso. Porém, acredito que ele deva ser útil para pessoas que não usam PHPStorm.
Sistema Operacional
Hoje meu SO principal é o Windows 10 PRO devido eu considerar que ele seja mais simples para o meu uso e delego o assunto desenvolvimento para uma máquina virtual provisionada pelo Vagrant.
Não sei vocês, mas eu acho muito chato ter que ficar configurando ambiente de desenvolvimento toda vez que eu formato meu PC, seja por qualquer motivo necessário.
Então para automatizar e facilitar minha vida, utilizo o box do Laravel chamado Homestead que já está todo configurado para você usar e ser feliz.
Funcionalidades
- Ambiente pré-configurado: não preciso ficar instalando e configurando apache, php, postgres, mysql, firebird, sqlite, npm, node, … Eu só uso!
- Ainda sobre o ponto 1, caso dê algum problema, eu simplesmente destruo e levanto uma máquina nova toda configurada.
Sugiro fortemente você considerar automatizar o seu ambiente de desenvolvimento
Hoje, por enquanto, utilizo uma máquina virtual para isso. Mas tenho um interesse ativo em migrar tudo, em breve, para contêineres (Docker) devidos aos famosos benefícios que ele provê frente ao Vagrant (máquina virtual).
Mas essa conversa será para os próximos capítulos.
Terminal
Embora o PowerShell tenha melhorado muito, ainda prefiro utilizar o Cmder para o trabalho de “terminal”.
Gosto dele devido a alguns recursos visual que ele tem, além de emular comandos Linux.
Funcionalidades
- Emulação de comandos: possibilidade de executar alguns comandos Linux no Windows
- Recursos visual interessantes: por exemplo, se você entrar em um repositório git, ele mostrar a branch, quantos commit falta serem enviados ao remoto entre outros recursos
Sugiro você escolher o PowerShell para o Cmder emular devido aos benefícios que conhecemos
Gerenciador de Pacotes
The Package Manager for Windows — Chocolatey
Há muito tempo atrás, eu utilizava o Ubuntu como o meu SO padrão. E uma das coisas que eu ainda gosto do Linux, é a facilidade de instalar pacotes via terminal.
Existe um projeto chamado Chocolatey. Com ele, você consegue instalar programas quaaaase da mesma forma que você instala no Linux com comandos, por exemplo:
# Instalar pacotes
choco install nome-pacote1 nome-pacote2# Atualizar pacotes
choco upgrade nome-pacote1 nome-pacote2
Sugiro você fazer um script para executar o comando
choco install
em todos os programas que você utiliza. Será bem útil quando formatar o seu PC. 😉
Rastreador de Tempo
The developer dashboard — WakaTime
Gosto de ter noção do tempo que utilizo para codar em cada projeto que participo. Inclusive, gosto de criar metas para aprender uma nova linguagem.
Fiz um artigo falando dessa ferramenta sensacional além de dicas que eu mesmo utilizo.
Conclusão
less is more — Ludwig Mies van der Rohe
Não posso deixar de concluir sem citar essa frase: “Menos é mais”. Não pense que ter mais e mais ferramentas seja interessante. Muito pelo contrário, poderá atrapalhar a sua vida. E a intenção não é essa!
Por fim, somente você, poderá entender suas necessidades e escolher as ferramentas certas para você. Isso não significa, necessariamente, que serão aquelas com mais recursos ou que são pagas, mas as que resolvem os seus problemas de forma simples.
A verdadeira sabedoria é aquela que encontramos nas coisas simples da vida.