<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on André Santos</title><link>https://asantosdev.com/posts/</link><description>Recent content in Posts on André Santos</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 28 Feb 2025 20:05:08 +0000</lastBuildDate><atom:link href="https://asantosdev.com/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Functional Options Pattern</title><link>https://asantosdev.com/posts/functional-options-pattern/</link><pubDate>Fri, 28 Feb 2025 20:05:08 +0000</pubDate><guid>https://asantosdev.com/posts/functional-options-pattern/</guid><description>&lt;p&gt;This blog post is about the Functional Options Pattern, which provides a way to pass configuration options into a function or object while keeping the module&amp;rsquo;s API clean, flexible, and easy to use.&lt;/p&gt;
&lt;p&gt;This pattern became very popular in the Go programming language, but it can be applied in other languages.
All the examples will use Go, but they should be readable even if you don&amp;rsquo;t know Go.&lt;/p&gt;
&lt;p&gt;In this blog post, we&amp;rsquo;ll start by illustrating the problem the Functional Options Pattern tries to solve using a simple text rendering function that we want to take some options.
We&amp;rsquo;ll explore some traditional solutions for the problem and see how the Functional Options Pattern has some advantages over them.&lt;/p&gt;</description></item><item><title>Git Tricks: Global .gitignore</title><link>https://asantosdev.com/posts/global-gitignore/</link><pubDate>Tue, 29 Oct 2024 20:10:29 +0000</pubDate><guid>https://asantosdev.com/posts/global-gitignore/</guid><description>&lt;p&gt;Most git repositories have a &lt;code&gt;.gitignore&lt;/code&gt; file in it. If you are new to Git, this file controls the files that should be ignored by git in that specific repository. It&amp;rsquo;s useful to prevent accidentally committing unwanted files to the repository.&lt;/p&gt;
&lt;p&gt;But do you know that you can have a global &lt;code&gt;.gitignore&lt;/code&gt; file that can be applied to all your repositories?&lt;/p&gt;
&lt;p&gt;This can be very useful, mainly for two reasons:&lt;/p&gt;</description></item></channel></rss>