<?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>Ferramentas on (dev) Lucas Polo</title><link>https://blog.lucaspolo.dev/tags/ferramentas/</link><description>Recent content in Ferramentas 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>Thu, 19 Aug 2021 14:00:00 +0000</lastBuildDate><atom:link href="https://blog.lucaspolo.dev/tags/ferramentas/index.xml" rel="self" type="application/rss+xml"/><item><title>Visualizando diferenças de código de maneira mais simples com o Delta</title><link>https://blog.lucaspolo.dev/posts/visualizando-diferencas-de-codigo-de-maneira-mais-simples-com-o-delta/</link><pubDate>Thu, 19 Aug 2021 14:00:00 +0000</pubDate><guid>https://blog.lucaspolo.dev/posts/visualizando-diferencas-de-codigo-de-maneira-mais-simples-com-o-delta/</guid><description>&lt;p&gt;Eu sempre tive um pouco de dificuldade de assimilar as diferenças de código do jeito padrão do Git, que é feita da forma padrão do diff do GNU/Linux. É algo que vem muito com o hábito e em arquivos pequenos é até mais simples visualizar as diferenças:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Saída do git diff padrão em example.lox, com as linhas removidas em vermelho e as adicionadas em verde, uma abaixo da outra" loading="lazy" src="https://blog.lucaspolo.dev/images/posts/visualizando-diferencas-de-codigo-de-maneira-mais-simples-com-o-delta/Screenshot_from_2021-08-18_11-27-40.png"&gt;
&lt;em&gt;Visualização de diferença com o diff padrão&lt;/em&gt;&lt;/p&gt;</description></item><item><title>A infraestrutura da minha mesa</title><link>https://blog.lucaspolo.dev/posts/a-infraestrutura-da-minha-mesa/</link><pubDate>Mon, 05 Jul 2021 14:30:00 +0000</pubDate><guid>https://blog.lucaspolo.dev/posts/a-infraestrutura-da-minha-mesa/</guid><description>&lt;p&gt;Recentemente tirei uma certificação de analista de infraestrtura da minha mesa! 😂&lt;/p&gt;
&lt;p&gt;Piadas a parte, consegui deixar minha mesa de trabalho muito organizada utilizando alguns acessórios bem diferentes. Possuo dois computadores, sendo um notebook do trabalho e o meu desktop onde estudo, programo e jogo. Além dos computadores tenho dois monitores na minha mesa, um na vertical que costumo trabalhar dividido em dois (muito útil para deixar chats abertos) e outro widescreen (que também costuma trabalhar dividido) na horizontal.&lt;/p&gt;</description></item><item><title>Fira Code: a fonte para programadores</title><link>https://blog.lucaspolo.dev/posts/fira-code-a-fonte-para-programadores/</link><pubDate>Thu, 24 Jun 2021 14:30:00 +0000</pubDate><guid>https://blog.lucaspolo.dev/posts/fira-code-a-fonte-para-programadores/</guid><description>&lt;p&gt;As vezes não nos atentamos aos pequenos detalhes da nosso dia a dia, e após anos programando e lendo código eu esbarrei numa coisa muito interessante: fontes para desenvolvedores.&lt;/p&gt;
&lt;p&gt;Estas fontes específicas para programação ajudam a realçar algumas características específicas do nosso cotidiano, como simbolos e outros detalhes, como também proprorcionam uma leitura agradável do código.&lt;/p&gt;
&lt;p&gt;A que venho usando nos último tempos é a &lt;a href="https://github.com/tonsky/FiraCode"&gt;Fira Code&lt;/a&gt;, uma fonte criada com uma funcionalide muito interessante, as ligaturas, que são conexões entre simbolos que semanticamente significam uma única coisa. Por exemplo, por mais que &amp;gt;= sejam dois simbolos, o significado é únificado, assim a Fira Code faz o seguinte quando utilizamos ele:&lt;/p&gt;</description></item><item><title>Minhas ferramentas do dia a dia - Aplicações</title><link>https://blog.lucaspolo.dev/posts/minhas-ferramentas-do-dia-a-dia-aplicacoes/</link><pubDate>Mon, 07 Jun 2021 14:30:00 +0000</pubDate><guid>https://blog.lucaspolo.dev/posts/minhas-ferramentas-do-dia-a-dia-aplicacoes/</guid><description>&lt;p&gt;No dia a dia utilizo muitas aplicações para auxiliar no meu processo de trabalho, as principais são estas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://dbeaver.io/"&gt;DBeaver Community&lt;/a&gt;: este aqui é um destaque, aplicativo que permite acesso a diversos bancos de dados para gerenciamento e execução de queries. Já utilizei ele com PostgreSQL, MySQL, SQLite, MS SQL Server, Oracle e até Informix. Não digo que ele é perfeito, mas como permite a utilização com diversos bancos, é muito prático pois mantém tudo concentrado num único app.&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 - Compiladores, Interpretadores, IDEs e Editores</title><link>https://blog.lucaspolo.dev/posts/minhas-ferramentas-do-dia-a-dia-compiladores-interpretadores-ides-e-editores/</link><pubDate>Mon, 31 May 2021 14:40:00 +0000</pubDate><guid>https://blog.lucaspolo.dev/posts/minhas-ferramentas-do-dia-a-dia-compiladores-interpretadores-ides-e-editores/</guid><description>&lt;p&gt;Continundo pelas ferramentas que uso no meu dia a dia, agora seguem meus compiladores, interpretadores, IDEs e editores&lt;/p&gt;
&lt;h2 id="compiladores-e-interpretadores"&gt;Compiladores e Interpretadores&lt;/h2&gt;
&lt;p&gt;Tenho trabalhado com diversas linguagens de programação e destas linguagens também em diversas versões diferentes, por isso ferramentas que me ajudam a gerênciar as linguagens e suas versões são essênciais:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://linuxhint.com/install-build-essential-ubuntu/#:~:text=The%20build%2Dessentials%20packages%20are,required%20to%20compile%20a%20program."&gt;build-essentials&lt;/a&gt;: isso aqui não é um software em si, mas um conjunto de diversas ferramentas que ajudam no build de software diversos, principalmente coisas desenvolvidas em C e C++. É algo que não vem por padrão em uma instalação GNU/Linux, mas a partir do momento que você precisa compilar uma aplicação isso será exigido.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/asdf-vm/asdf"&gt;asdf-vm&lt;/a&gt;: O asdf-vm surge como uma ferramenta universal para o gerenciamento de versões de intepretadores, compiladores e outras ferramentas. Sua utilização é bem simples, hoje utilizo ela principalmente para Python, NodeJS e Go. &lt;a href="https://www.programandocomcarlos.com.br/2020/01/asdf-gerenciador-de-versao-extensivel.html"&gt;Aqui um artigo em português sobre a instalação dele&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.google.com/search?q=rustup&amp;amp;oq=rustup&amp;amp;aqs=chrome.0.69i59j0l9.962j0j7&amp;amp;sourceid=chrome&amp;amp;ie=UTF-8"&gt;rustup&lt;/a&gt;: A ferramenta criada para gerênciar versões da suíte da linguagem Rust é uma mão na roda, além de facilitar a instalação e gerênciar versões, também permite controlar os alvos de compilação (seus toolchains, exemplo: Linux, Windows, ARM, etc).&lt;/li&gt;
&lt;li&gt;&lt;a href="https://openjdk.java.net/"&gt;OpenJDK&lt;/a&gt;: A implementação de referência do Java tem sido a minha preferida nos ambientes de desenvolvimento e execução faz um tempo. Lembro de antigamente ela ter uma performance inferior, porém cada vez mais a comunidade se uniu em torno dela para aprimora-la.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="ides-e-editores"&gt;IDEs e Editores&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/"&gt;Visual Studio Code&lt;/a&gt;: o editor de texto criado pela Microsoft tem se destacado muito nos últimos anos, principalmente pela facilidade que oferece para a utilização de plugins que o tornam uma ferramenta muito poderosa. Tenho utilizado ele principalmente para o desenvolvimento Python, Rust, NodeJS e Go, com os seguintes plugins:&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=ms-python.python"&gt;Python&lt;/a&gt;: extensão para programar e debugar em Python.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=matklad.rust-analyzer"&gt;rust-analyzer&lt;/a&gt;: extensão que faz o linter, autocomplete e análise estática do código Rust.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb"&gt;CodeLLDB&lt;/a&gt;: extensão que permite debugar códigos gerados pela LLVM, utilizo para debugara projetos Rust, mas funciona para outras ferramentas que utilizam LLVM.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=serayuzgur.crates"&gt;crates&lt;/a&gt;: extensão para exibir quais dependências estão atualizadas e desatualizadas.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/docs/languages/go"&gt;Go&lt;/a&gt;: extensão para análise e debugger de código Go.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.jetbrains.com/pycharm/download/"&gt;PyCharm Community&lt;/a&gt; e a suíte da JetBrains: A IDE da Jetbrains dedicada ao Python oferece muitos recursos interessante, desde o linter até o debugger integrado. Por ser um pouco mais pesado eu só utilizado nos projetos grandes com muitos arquivos, pois ele facilita muito a busca e análise no projeto. Uso principalmente o PyCharm, mas também gosto de usar as outras ferramentas disponíveis da JetBrains para projetos maiores, como a IntelliJ e Webstorm.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://micro-editor.github.io/"&gt;Micro Editor&lt;/a&gt;: Esse cara eu descobri recentemente e tem sido muito útil, como o próprio nome indica ele é um editor de terminal maior que o Nano mas bem mais simples que o Vim pois permite utilizar atalhos do dia a dia como Ctrl+S para salvar, Ctrl+C/Ctrl+V para copiar e colar. Utilizo muito para a edição de scripts mais simples em Bash e Python.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="Micro Editor no terminal editando um script Python, com o aviso undefined name &amp;lsquo;send&amp;rsquo; do Flake8 na barra inferior" loading="lazy" src="https://blog.lucaspolo.dev/images/posts/minhas-ferramentas-do-dia-a-dia-compiladores-interpretadores-ides-e-editores/Screenshot_from_2021-05-25_11-23-41.png"&gt;
&lt;em&gt;Micro Editor: um editor simples que roda direto no terminal e faz até análise estática quando junto com o Flake8 (no caso de Python)&lt;/em&gt;&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>Syntax highlighting no blog</title><link>https://blog.lucaspolo.dev/posts/syntax-highlighting-no-blog/</link><pubDate>Tue, 17 Sep 2013 01:27:00 +0000</pubDate><guid>https://blog.lucaspolo.dev/posts/syntax-highlighting-no-blog/</guid><description>&lt;p&gt;Não podemos ter um blog de programação sem uma das coisas mais úteis que o programador usa para destacar a facilitar a leitura de seu código, o syntax highlight! Uma rápida pesquisa me retornou uma das bibliotecas mais usadas para tratar isso, o &lt;a href="http://alexgorbatchev.com/SyntaxHighlighter"&gt;SyntaxHighlighter&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Sua instalação é muito simples, em dois minutos eu consegui incorporar as bibliotecas no blog e já fiz o código a seguir usando ele.&lt;/p&gt;
&lt;p&gt;Um pequeno teste, instalando o SyntaxHighlighter no blog:&lt;/p&gt;</description></item></channel></rss>