<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Leituras on rfbatista</title><link>https://rfbatista.github.io/jardim/leituras/</link><description>Recent content in Leituras on rfbatista</description><generator>Hugo</generator><language>pt-br</language><lastBuildDate>Tue, 09 Apr 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://rfbatista.github.io/jardim/leituras/index.xml" rel="self" type="application/rss+xml"/><item><title>Designing Data Intensive Application</title><link>https://rfbatista.github.io/jardim/leituras/designing-data-intensive-applications/</link><pubDate>Tue, 09 Apr 2024 00:00:00 +0000</pubDate><guid>https://rfbatista.github.io/jardim/leituras/designing-data-intensive-applications/</guid><description>&lt;h1 id="3-storage-and-retrieval"&gt;3. Storage and retrieval&lt;/h1&gt;&#10;&lt;p&gt;B-trees&lt;/p&gt;&#10;&lt;p&gt;Log-structured index&lt;/p&gt;&#10;&lt;p&gt;Clustered index: storing all row data within the index&lt;/p&gt;&#10;&lt;p&gt;Non-clustered index: storing only references to the data within the index&lt;/p&gt;&#10;&lt;h2 id="multi-column-indexes"&gt;Multi-column indexes&lt;/h2&gt;</description></item><item><title>100 Go Mistakes</title><link>https://rfbatista.github.io/jardim/leituras/100-go-mistakes/</link><pubDate>Sat, 16 Mar 2024 00:00:00 +0000</pubDate><guid>https://rfbatista.github.io/jardim/leituras/100-go-mistakes/</guid><description>&lt;h1 id="100-go-mistakes"&gt;100 Go Mistakes&lt;/h1&gt;&#10;&lt;h2 id="1-unintended-variable-shadowing"&gt;1: Unintended variable shadowing&lt;/h2&gt;&#10;&lt;figure class="highlight"&gt;&#10; &lt;pre tabindex="0" class="chroma"&#10; &gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="nx"&gt;http&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Client&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// esse valor sempre será nil, pois o client atribuido nas&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// condições abaixos não será o mesmo&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;tracing&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;err&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;createClientWithTracing&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;err&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;!=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;nil&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;err&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;Println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;err&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;createDefaultClient&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;err&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;!=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;nil&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;err&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;Println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&#10;&lt;/figure&gt;&#10;&lt;p&gt;Alternativa para evitar shadowing&lt;/p&gt;</description></item><item><title>Game Engine Architecture - Jason Gregory</title><link>https://rfbatista.github.io/jardim/leituras/game-engine-architecture/</link><pubDate>Sat, 16 Mar 2024 00:00:00 +0000</pubDate><guid>https://rfbatista.github.io/jardim/leituras/game-engine-architecture/</guid><description>&lt;h1 id="structure-of-a-typical-team"&gt;Structure of a typical team&lt;/h1&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Engineers&#10;Runtime programmers who works on the engine and the game itself and tools programmers to help other areas of development to work effectively&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Artists&#10;Concept artists, 3D Modelers, Texture artists, Lighting artists, animators, motion capture actors, sound designers, voice actors, composers&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Game designers&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Producers&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h1 id="what-is-a-game"&gt;What is a game&lt;/h1&gt;</description></item><item><title>The 7 Habits of Highly Effective People</title><link>https://rfbatista.github.io/jardim/leituras/the-7-habits-of-highly-effective-people/</link><pubDate>Sat, 16 Mar 2024 00:00:00 +0000</pubDate><guid>https://rfbatista.github.io/jardim/leituras/the-7-habits-of-highly-effective-people/</guid><description>&lt;ol&gt;&#10;&lt;li&gt;Be proactive&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Focus and act on what you can control and influence instead of what you can’t.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;ol start="2"&gt;&#10;&lt;li&gt;Begin with the end in mind&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Define clear measures of success and a plan to achieve them.&lt;/li&gt;&#10;&lt;li&gt;What i am doing is aligned to what I want to be&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;ol start="3"&gt;&#10;&lt;li&gt;Put first things first&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Prioritize and achieve your most important goals instead of constantly reacting to urgencies.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;ol start="4"&gt;&#10;&lt;li&gt;Think win-win&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Collaborate more effectively by building high-trust relationships.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;ol start="5"&gt;&#10;&lt;li&gt;Seek to first understood before to be understood&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Influence others by developing a deep understanding of their needs and perspectives.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;ol start="6"&gt;&#10;&lt;li&gt;Synergize&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Develop innovative solutions that leverage differences and satisfy all key stakeholders.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;ol start="7"&gt;&#10;&lt;li&gt;Sharpen the saw&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Increase motivation, energy, and work/life balance by making time for renewing activities.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>The Algorithms Design Manual</title><link>https://rfbatista.github.io/jardim/leituras/the-algorithm-design/</link><pubDate>Thu, 04 Jan 2024 00:00:00 +0000</pubDate><guid>https://rfbatista.github.io/jardim/leituras/the-algorithm-design/</guid><description>&lt;h1 id="the-algorithm-design-manual"&gt;The Algorithm Design Manual&lt;/h1&gt;&#10;&lt;p&gt;Podemos nos deparar em alguns momentos com situações onde o algoritmo com a solução correta, não é&#10;implementavel na prática, por motivos do poder computacional necessário ou outro, nesses casos recorremos a heuristica.&#10;Heuristica irá nos ajudar nesses cenários com atalhos que nos levam a soluções que respondam o problema satisfatoriamente.&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;Heuristica é utilizado em problema de otimização complexos onde algoritmos exatos demoram muito tempo para serem calculados&lt;/p&gt;</description></item><item><title>The C Programming Language</title><link>https://rfbatista.github.io/jardim/leituras/the-c-programing-language/</link><pubDate>Thu, 04 Jan 2024 00:00:00 +0000</pubDate><guid>https://rfbatista.github.io/jardim/leituras/the-c-programing-language/</guid><description/></item><item><title>Cloud Native DevOps with Kubernetes</title><link>https://rfbatista.github.io/jardim/leituras/cloud-native-devops-with-kubernetes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rfbatista.github.io/jardim/leituras/cloud-native-devops-with-kubernetes/</guid><description/></item></channel></rss>