<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Linux e terminal on (dev) Lucas Polo</title><link>https://blog.lucaspolo.dev/tags/linux-e-terminal/</link><description>Recent content in Linux e terminal on (dev) Lucas Polo</description><image><title>(dev) Lucas Polo</title><url>https://blog.lucaspolo.dev/images/og-default.png</url><link>https://blog.lucaspolo.dev/images/og-default.png</link></image><generator>Hugo -- 0.157.0</generator><language>pt-br</language><lastBuildDate>Mon, 22 Nov 2021 20:14:34 +0000</lastBuildDate><atom:link href="https://blog.lucaspolo.dev/tags/linux-e-terminal/index.xml" rel="self" type="application/rss+xml"/><item><title>Fazendo queries em JSON com jq</title><link>https://blog.lucaspolo.dev/posts/fazendo-queries-em-json-com-jq/</link><pubDate>Mon, 22 Nov 2021 11:30:00 +0000</pubDate><guid>https://blog.lucaspolo.dev/posts/fazendo-queries-em-json-com-jq/</guid><description>Como usar o jq para formatar, filtrar e transformar arquivos JSON na linha de comando, com exemplos de consultas, condições e interpolação.</description></item><item><title>Medindo o tempo de aplicações de linha de comando</title><link>https://blog.lucaspolo.dev/posts/medindo-o-tempo-de-aplicacoes-de-linha-de-comando/</link><pubDate>Thu, 07 Oct 2021 11:30:00 +0000</pubDate><guid>https://blog.lucaspolo.dev/posts/medindo-o-tempo-de-aplicacoes-de-linha-de-comando/</guid><description>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;O jeito mais simples e onipresente nas interfaces de linha de comando do Linux é o &lt;strong&gt;time&lt;/strong&gt;. Ele executa o comando passado para ele através de parâmetro e diz qual foi o tempo de execução:&lt;/p&gt;
&lt;p&gt;&lt;img alt="time python fibonacci.py" loading="lazy" src="https://blog.lucaspolo.dev/images/posts/medindo-o-tempo-de-aplicacoes-de-linha-de-comando/Screenshot_from_2021-10-07_00-15-02.png"&gt;
&lt;em&gt;Resultado da execução do time&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;O &lt;strong&gt;time&lt;/strong&gt; 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 &lt;a href="https://github.com/sharkdp/hyperfine"&gt;&lt;strong&gt;hyperfine&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Minha aventura com o DNS no Ubuntu - meu primeiro contato com o systemd</title><link>https://blog.lucaspolo.dev/posts/minha-aventura-com-o-dns-no-ubuntu-meu-primeiro-contato-com-o-systemd/</link><pubDate>Mon, 09 Aug 2021 14:30:00 +0000</pubDate><guid>https://blog.lucaspolo.dev/posts/minha-aventura-com-o-dns-no-ubuntu-meu-primeiro-contato-com-o-systemd/</guid><description>&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Executando scripts no banco PostgreSQL com o psql</title><link>https://blog.lucaspolo.dev/posts/executando-scripts-no-banco-postgresql-com-o-psql/</link><pubDate>Thu, 22 Jul 2021 14:00:00 +0000</pubDate><guid>https://blog.lucaspolo.dev/posts/executando-scripts-no-banco-postgresql-com-o-psql/</guid><description>&lt;p&gt;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).&lt;/p&gt;
&lt;p&gt;Felizmente existe uma ferramenta de linha de comando muito prática chamada &lt;a href="https://www.postgresql.org/docs/9.2/app-psql.html"&gt;&lt;strong&gt;psql&lt;/strong&gt;&lt;/a&gt;, ele é mantido também pelas mesmas pessoas do PostgreSQL e é muito eficiente. O &lt;strong&gt;psql&lt;/strong&gt; é 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:&lt;/p&gt;</description></item><item><title>Criando entradas de desktop no Ubuntu</title><link>https://blog.lucaspolo.dev/posts/criando-entradas-de-desktop-no-ubuntu/</link><pubDate>Fri, 11 Jun 2021 01:09:00 +0000</pubDate><guid>https://blog.lucaspolo.dev/posts/criando-entradas-de-desktop-no-ubuntu/</guid><description>&lt;p&gt;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:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-ini" data-lang="ini"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;[Desktop Entry]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#50fa7b"&gt;Encoding&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;UTF-8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#50fa7b"&gt;Name&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;Nome da Aplicação&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#50fa7b"&gt;Exec&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;/caminho/para/executavel&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#50fa7b"&gt;Icon&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;/caminho/para/imagem/do/icone&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#50fa7b"&gt;Terminal&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#50fa7b"&gt;Type&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;Application&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#50fa7b"&gt;Categories&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;Development;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Agora já estará disponível o ícone na lista de aplicativos e você poderá invocar o aplicativo pelo launcher.&lt;/p&gt;</description></item><item><title>Achados - Cheat Sheet fácil e rápido</title><link>https://blog.lucaspolo.dev/posts/achados-cheat-sheet-facil-e-rapido/</link><pubDate>Thu, 03 Jun 2021 12:35:00 +0000</pubDate><guid>https://blog.lucaspolo.dev/posts/achados-cheat-sheet-facil-e-rapido/</guid><description>&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Minhas ferramentas do dia a dia - Sistemas operacionais e Terminal</title><link>https://blog.lucaspolo.dev/posts/minhas-ferramentas-do-dia-a-dia-sistemas-operacionais-e-terminal/</link><pubDate>Tue, 25 May 2021 03:19:00 +0000</pubDate><guid>https://blog.lucaspolo.dev/posts/minhas-ferramentas-do-dia-a-dia-sistemas-operacionais-e-terminal/</guid><description>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Nesta primeira parte irei abordar os sistemas operacionais que uso e os aplicativos de terminal.&lt;/p&gt;
&lt;h2 id="sistemas-operacionais"&gt;Sistemas Operacionais&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://ubuntu.com/"&gt;Ubuntu GNU/Linux&lt;/a&gt;: 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 &amp;ldquo;tralha&amp;rdquo; 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.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.microsoft.com/pt-br/windows/get-windows-10"&gt;Windows 10&lt;/a&gt;: 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.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="terminal"&gt;Terminal&lt;/h2&gt;
&lt;p&gt;A primeira coisa que vale citar é o emulador de terminal que utilizo, o &lt;a href="https://gnunn1.github.io/tilix-web/"&gt;Tilix&lt;/a&gt;. 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.&lt;/p&gt;</description></item><item><title>Usando terminal e programando em Python no Android</title><link>https://blog.lucaspolo.dev/posts/usando-terminal-e-programando-em-python-no-android/</link><pubDate>Mon, 25 Feb 2019 01:59:00 +0000</pubDate><guid>https://blog.lucaspolo.dev/posts/usando-terminal-e-programando-em-python-no-android/</guid><description>&lt;p&gt;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 &lt;a href="https://termux.com/"&gt;Termux&lt;/a&gt;.&lt;/p&gt;</description></item></channel></rss>