<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Dev Matters]]></title><description><![CDATA[Dev Matters]]></description><link>https://blog.beccari.dev</link><generator>RSS for Node</generator><lastBuildDate>Tue, 02 Jun 2026 03:13:08 GMT</lastBuildDate><atom:link href="https://blog.beccari.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Quick Start SonarQube for Lazy People]]></title><description><![CDATA[Introduction
In this article, I will show how to give a taste of SonarQube without any hassle or taking too much time of yours.
Sometimes you just want to try a new tool but don't want to install Gigabytes of software on your computer or even want to...]]></description><link>https://blog.beccari.dev/quick-start-sonarqube-for-lazy-people</link><guid isPermaLink="true">https://blog.beccari.dev/quick-start-sonarqube-for-lazy-people</guid><category><![CDATA[Docker]]></category><category><![CDATA[Security]]></category><category><![CDATA[coding]]></category><dc:creator><![CDATA[Marcelo Beccari]]></dc:creator><pubDate>Mon, 03 Jan 2022 22:28:57 GMT</pubDate><content:encoded><![CDATA[<h1 id="heading-introduction">Introduction</h1>
<p>In this article, I will show how to give a taste of SonarQube without any hassle or taking too much time of yours.</p>
<p>Sometimes you just want to try a new tool but don't want to install Gigabytes of software on your computer or even want to read tons of explanation texts.</p>
<h1 id="heading-about-sonarqube">About SonarQube</h1>
<p>SonarQube is a code quality and code security tool that helps teams to deliver safer and better code.</p>
<p>There is a free community edition with limited features that you can run on your own server. Check the available editions at https://www.sonarqube.org/downloads/</p>
<p>You can find more about SonarQube on official website https://www.sonarqube.org/</p>
<h1 id="heading-taking-the-best-of-sonarqube">Taking the Best of SonarQube</h1>
<p>The best way to use SonarQube in my opinion is to attach it to your CI/CD pipelines as an active Quality Gate solution.</p>
<p>This way, it is guaranteed that no major security vulnerabilities or bad coding practices go to production. Here you can find examples for Jenkins https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-jenkins/</p>
<h1 id="heading-try-before-buy">Try before buy</h1>
<p>So this is the fastest way one can try SonarQube with less effort and see what benefits SonarQube can bring to your project and your team.</p>
<h1 id="heading-tldr">TL;DR</h1>
<h2 id="heading-sonarqube-server">SonarQube Server</h2>
<p>Start the server listening on port 9000 </p>
<pre><code>docker run <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rm <span class="hljs-operator">-</span>p9000:<span class="hljs-number">9000</span> sonarqube:lts<span class="hljs-operator">-</span>community
</code></pre><p>Access http://localhost:9000/account/security and go to <strong>Generate Token</strong></p>
<p>Copy the new generated token e.g. <code>c402a1a4e1b1e5a12e67ebfd5ec4f5403a0a0903</code>. This will be used in the next part.</p>
<h2 id="heading-prepare-your-project">Prepare your Project</h2>
<p>On your project root, add a <code>sonar-project.properties</code> file with the following content</p>
<pre><code># must be <span class="hljs-keyword">unique</span> <span class="hljs-keyword">in</span> a given SonarQube instance
sonar.projectKey=my-project-key

# <span class="hljs-comment">--- optional properties ---</span>

# defaults <span class="hljs-keyword">to</span> project key
<span class="hljs-meta">#sonar.projectName=My project</span>
# defaults <span class="hljs-keyword">to</span> <span class="hljs-string">'not provided'</span>
<span class="hljs-meta">#sonar.projectVersion=1.0</span>

# <span class="hljs-type">Path</span> <span class="hljs-keyword">is</span> relative <span class="hljs-keyword">to</span> the sonar-project.properties file. Defaults <span class="hljs-keyword">to</span> .
<span class="hljs-meta">#sonar.sources=.</span>

# <span class="hljs-keyword">Encoding</span> <span class="hljs-keyword">of</span> the source code. <span class="hljs-keyword">Default</span> <span class="hljs-keyword">is</span> <span class="hljs-keyword">default</span> <span class="hljs-keyword">system</span> <span class="hljs-keyword">encoding</span>
<span class="hljs-meta">#sonar.sourceEncoding=UTF-8</span>
</code></pre><p>You may also want to add these lines to <code>.gitignore</code> and <code>.dockerignore</code></p>
<pre><code class="lang-`">...

# Ignore SonarQube scanner generated files
.scannerwork

...
</code></pre>
<h2 id="heading-sonar-scanner">Sonar Scanner</h2>
<p>While in your project's root folder, run the following command: </p>
<pre><code>docker run <span class="hljs-operator">-</span><span class="hljs-operator">-</span>rm <span class="hljs-operator">-</span>e SONAR_HOST_URL<span class="hljs-operator">=</span><span class="hljs-string">"http://host.docker.internal:9000"</span> <span class="hljs-operator">-</span>e SONAR_LOGIN<span class="hljs-operator">=</span><span class="hljs-string">"c402a1a4e1b1e5a12e67ebfd5ec4f5403a0a0903"</span> <span class="hljs-operator">-</span>v <span class="hljs-string">"$PWD"</span>:<span class="hljs-operator">/</span>usr<span class="hljs-operator">/</span>src sonarsource<span class="hljs-operator">/</span>sonar<span class="hljs-operator">-</span>scanner<span class="hljs-operator">-</span>cli
</code></pre><blockquote>
<p>where <code>c402a1a4e1b1e5a12e67ebfd5ec4f5403a0a0903</code> is the generated token on previous step. Please replace with your own token.</p>
</blockquote>
<p>Go to http://localhost:9000/projects and see your project rating and other cool stuff provided by SonarQube.</p>
]]></content:encoded></item><item><title><![CDATA[Life / Work Balance]]></title><description><![CDATA[This is my first post, and I've decided not to be about technology (just yet). I rather talk about this moment in my life and career that I want to share.
I am a workaholic just like you (probably)!
For the past 20 years, I've put my job and career a...]]></description><link>https://blog.beccari.dev/life-work-balance</link><guid isPermaLink="true">https://blog.beccari.dev/life-work-balance</guid><category><![CDATA[life]]></category><category><![CDATA[life-hack]]></category><category><![CDATA[work]]></category><category><![CDATA[Career]]></category><category><![CDATA[Off Topic]]></category><dc:creator><![CDATA[Marcelo Beccari]]></dc:creator><pubDate>Thu, 09 Sep 2021 23:06:30 GMT</pubDate><content:encoded><![CDATA[<p>This is my first post, and I've decided not to be about technology (just yet). I rather talk about this moment in my life and career that I want to share.</p>
<p>I am a workaholic just like you (probably)!</p>
<p>For the past 20 years, I've put my job and career as a top priority of my life, starting as a software developer, software engineer, tech lead, IT manager, and CTO. You know, this <strong>insane</strong> IT world we live in. Consume knowledge and learn new skills, develop software, create teams, lead teams, rebalance teams, design and create systems, troubleshoot systems in production, fix systems,  repeat! </p>
<p>Have you ever heard people saying "my work, is my life"? This is not accurate or good. Yes, working is a very important part of your life and gives you satisfaction sometimes accomplishment. It is not your <em>entire</em> life though.</p>
<p>I think life is actually the people you know and the people who know you. And to me, it is all about these <strong>relationships</strong>.  Your family, your friends, your co-workers, your customers, your acquaintances. We can't "measure" life, but if we could, it would be based on the impact you cause on others.</p>
<p>Do something else other than work or learn. Take your time and share it with the people around you. Listen, hug, have lunch, argue (even about work!), advise, care.</p>
<p>If you learn a new skill and don't share the knowledge or build a new platform, and don't invite anyone, I think is not worth it. Don't even make any sense.</p>
<p>There is no harm in taking one sprint or two <strong>really focused</strong> and excuse yourself from social life for a while. But do not make this a habit, because once a <strong>workaholic</strong>, it is very hard to leave this downward spiral.</p>
]]></content:encoded></item></channel></rss>