Fazendo queries em JSON com jq

O jq é uma ferramenta de linha de comando que permite fazer queries e transformações em arquivos JSON. Ela é muito interessante e útil quando queremos buscar dados diversos em arquivos muito grandes. Para utilizar ela é muito simples, após instalada você já pode fazer a query. Vamos usar de exemplo este JSON. A primeira coisa que podemos fazer é utilizar ele apenas para formatar, para isso basta executarmos o comando cat exemplo.json | jq: ...

22 de novembro de 2021 · 2 min de leitura · Lucas Polo

Medindo o tempo de aplicações de linha de comando

Vira e mexe precisamos testar o tempo de algo que roda em linha de comando, seja uma requisição através de cURL ou algum scripts/aplicação que construímos. O jeito mais simples e onipresente nas interfaces de linha de comando do Linux é o time. Ele executa o comando passado para ele através de parâmetro e diz qual foi o tempo de execução: Resultado da execução do time O time pode ajudar muito, principalmente quando queremos comparar escalas de tempo muito diferentes, por exemplo uma mudança de código que mudou o tempo de execução de 1s para 100ms. Porém como a medida pode variar muito de execução devido a diversos fatores (cache, resolução de DNS, etc) testar apenas uma única vez pode não trazer resultados muito acurados, pois não temos tempo médio nem a variância do tempo. Para isso encontrei uma outra aplicação chamada hyperfine. ...

7 de outubro de 2021 · 3 min de leitura · Lucas Polo

Minha aventura com o DNS no Ubuntu - meu primeiro contato com o systemd

Há algum tempo eu precisei mexer com as configurações de DNS no meu computador para conseguir utilizar o excelente projeto Pi Hole. Para quem não conhece, o Pi Hole é um projeto de servidor de DNS que possui uma lista de servidores de propaganda e bloqueia elas. Ele é excelente pois ao contrário dos Ad-Blockers ele não é tão facilmente detectável e como o bloqueio ocorre já na requisição de DNS ele também ajuda a economizar banda. ...

9 de agosto de 2021 · 2 min de leitura · Lucas Polo

Executando scripts no banco PostgreSQL com o psql

As vezes precisamos executar scripts grandes, como inserir uma massa de dados muito grande ou fazer diversas queries ao mesmo tempo. As ferramentas de bancos de dados ajudam muito nisso, mas as vezes o script pode ser tão grande que a ferramenta não aguenta e pode encher muito a memória (caso que aconteceu comigo recentemente onde o DBeaver tinha onze mil inserts para fazer). Felizmente existe uma ferramenta de linha de comando muito prática chamada psql, ele é mantido também pelas mesmas pessoas do PostgreSQL e é muito eficiente. O psql é um utilitário de linha de comando que permite executar comandos no banco de dados e também executar scripts em lote. Um exemplo de execução poderia ser assim: ...

22 de julho de 2021 · 1 min de leitura · Lucas Polo

Criando entradas de desktop no Ubuntu

Ocasionalmente baixamos diretamente o binário ou até mesmo criamos as nossas aplicações e queremos que elas apareçam na lista de aplicações do Ubuntu com icones e tudo. Para fazer isso é bem simples, basta criar um arquivo no diretório ~/.local/share/applications/, exemplo ~/.local/share/applications/meu_aplicativo.desktop. Depois disso basta preencher o arquivo com o seguinte formato: [Desktop Entry] Encoding=UTF-8 Name=Nome da Aplicação Exec=/caminho/para/executavel Icon=/caminho/para/imagem/do/icone Terminal=false Type=Application Categories=Development; Agora já estará disponível o ícone na lista de aplicativos e você poderá invocar o aplicativo pelo launcher.

11 de junho de 2021 · 1 min de leitura · Lucas Polo

Achados - Cheat Sheet fácil e rápido

Por muito tempo fui adepto de usar os guias de consulta rápida, que eram pequenos livros bem leves e pequenos com um conteúdo resumido e direto sobre algum tópico. Hoje em dia estes livrinhos são apenas história, pois com a internet podemos acessar qualquer manual mais rapidamente e leve (num smartphone, por exemplo). Porém as documentações as vezes são extensas e fica dificil acessar um ponto específico que temos dúvida. Para isso existem os cheat sheets, que são como os guias de consultas rápidas, uma página única, com uma exmplicação concisa e um exemplo sobre o tópico apresentando. ...

3 de junho de 2021 · 1 min de leitura · Lucas Polo

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. ...

25 de maio de 2021 · 4 min de leitura · Lucas Polo

Usando terminal e programando em Python no Android

O terminal é uma das ferramentas mais poderosas que temos ao manipular informações no computador, desde o desenvolvimento de software até o hacking, passando por manipulação de texto, administração de sistemas e também para algumas brincadeiras. O acesso ao terminal é simples quando você está dentro de um Linux no computador (e até no Windows agora), porém nem sempre temos um notebook por perto, que por mais que seja portátil, não é simples de carregar por ai. Então, nas pesquisas pela internet, buscando uma alternativa para o tablet e smartphone, eu encontrei o Termux. ...

25 de fevereiro de 2019 · 2 min de leitura · Lucas Polo