<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Henrik Hedlund</title>
    <link>https://hedlund.xyz/</link>
    <description>Recent content on Henrik Hedlund</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Sun, 12 Feb 2023 14:30:00 +0100</lastBuildDate><atom:link href="https://hedlund.xyz/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Firestore Testing with Fakes in Go</title>
      <link>https://hedlund.xyz/posts/firestore-testing-with-fakes/</link>
      <pubDate>Sun, 12 Feb 2023 14:30:00 +0100</pubDate>
      
      <guid>https://hedlund.xyz/posts/firestore-testing-with-fakes/</guid>
      <description>&lt;p&gt;In this post we&amp;rsquo;re going to look at how we can create fakes to test &lt;a href=&#34;https://golang.org/&#34; target=&#34;_blank&#34;&gt;Go&lt;/a&gt; code that interacts with &lt;a href=&#34;https://firebase.google.com/docs/firestore&#34; target=&#34;_blank&#34;&gt;Firestore&lt;/a&gt;. I&amp;rsquo;m going to refer to this part of the application as a &lt;a href=&#34;https://deviq.com/design-patterns/repository-pattern&#34; target=&#34;_blank&#34;&gt;repository&lt;/a&gt;, but it could be any code that stores or fetches data in a Firestore database.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Cloud Pub/Sub Schemas</title>
      <link>https://hedlund.xyz/posts/pubsub-schemas/</link>
      <pubDate>Sun, 12 Feb 2023 14:00:00 +0100</pubDate>
      
      <guid>https://hedlund.xyz/posts/pubsub-schemas/</guid>
      <description>&lt;p&gt;Google Cloud Pub/Sub message schemas is a feature promising to bring some order
into the potential chaos that lurks within a highly event driven architecture.
In this post we&amp;rsquo;re going to investigate using Protocol Buffers as Pub/Sub
schemas together with Go and Terraform.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Google Cloud Functions with private Go dependencies</title>
      <link>https://hedlund.xyz/posts/cloud-functions-private-deps/</link>
      <pubDate>Wed, 26 May 2021 20:46:00 +0200</pubDate>
      
      <guid>https://hedlund.xyz/posts/cloud-functions-private-deps/</guid>
      <description>&lt;p&gt;Anyone who has deployed a &lt;a href=&#34;https://cloud.google.com/functions&#34; target=&#34;_blank&#34;&gt;Google Cloud Function&lt;/a&gt;  written in Go knows that there are a number of restrictions involved.  For example, the highest Go version supported is 1.13. Another example  is the lack of built-in support for    dependencies when using Go modules. This post covers an approach to handling the latter using Terraform.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Scheduled Google Cloud Functions, part 2</title>
      <link>https://hedlund.xyz/posts/scheduled-cloud-functions-pt2/</link>
      <pubDate>Tue, 19 Jan 2021 19:35:14 +0100</pubDate>
      
      <guid>https://hedlund.xyz/posts/scheduled-cloud-functions-pt2/</guid>
      <description>&lt;p&gt;This is the second part of a three part series about scheduling &lt;a href=&#34;https://cloud.google.com/functions&#34; target=&#34;_blank&#34;&gt;Google Cloud Functions&lt;/a&gt;, using technologies such as &lt;a href=&#34;https://www.terraform.io&#34; target=&#34;_blank&#34;&gt;Terraform&lt;/a&gt; and &lt;a href=&#34;https://cloud.google.com/scheduler&#34; target=&#34;_blank&#34;&gt;Cloud Scheduler&lt;/a&gt;. If you haven&amp;rsquo;t read the &lt;a href=&#34;https://hedlund.xyz/posts/scheduled-cloud-functions-pt1/&#34;&gt;first part&lt;/a&gt; yet, I suggest you have a glance at it, because it will be the foundation for the things I&amp;rsquo;m setting out to do here.&lt;/p&gt;
&lt;p&gt;In the last article we deployed, and scheduled, a Cloud Function using &lt;a href=&#34;https://cloud.google.com/pubsub&#34; target=&#34;_blank&#34;&gt;Pub/Sub&lt;/a&gt;, which is the quickest, easiest and recommend way of getting it done. In this article, we&amp;rsquo;re going to remove the Pub/Sub topic and simply have Cloud Scheduler invoke the Cloud Function directly over HTTP.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Terraform Quick Tip: Creating Multiple Resources</title>
      <link>https://hedlund.xyz/posts/terraform-quicktip-multiple-resources/</link>
      <pubDate>Mon, 18 Jan 2021 15:52:37 +0100</pubDate>
      
      <guid>https://hedlund.xyz/posts/terraform-quicktip-multiple-resources/</guid>
      <description>&lt;p&gt;This is a really simple Terraform tip, but it is a real time saver when you need to create multiple resources of the same type.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Scheduled Google Cloud Functions, part 1</title>
      <link>https://hedlund.xyz/posts/scheduled-cloud-functions-pt1/</link>
      <pubDate>Sun, 17 Jan 2021 19:53:18 +0100</pubDate>
      
      <guid>https://hedlund.xyz/posts/scheduled-cloud-functions-pt1/</guid>
      <description>&lt;p&gt;This is the first part of a planned three part series, covering using Terraform to deploy &lt;a href=&#34;https://cloud.google.com/functions&#34; target=&#34;_blank&#34;&gt;Google Cloud Functions&lt;/a&gt; and schedule invoking them using the &lt;a href=&#34;https://cloud.google.com/scheduler&#34; target=&#34;_blank&#34;&gt;Cloud Scheduler&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This first article will cover a normal, and simple, setup using &lt;a href=&#34;https://cloud.google.com/pubsub&#34; target=&#34;_blank&#34;&gt;Pub/Sub&lt;/a&gt; for the scheduling. The second part of the series is now available &lt;a href=&#34;https://hedlund.xyz/posts/scheduled-cloud-functions-pt2/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>About</title>
      <link>https://hedlund.xyz/about/</link>
      <pubDate>Sun, 06 Dec 2020 22:17:00 +0100</pubDate>
      
      <guid>https://hedlund.xyz/about/</guid>
      <description>Written in Go, Hugo is an open source static site generator available under the Apache Licence 2.0. Hugo supports TOML, YAML and JSON data file types, Markdown and HTML content files and uses shortcodes to add rich content. Other notable features are taxonomies, multilingual mode, image processing, custom output formats, HTML/CSS/JS minification and support for Sass SCSS workflows.
Hugo makes use of a variety of open source projects including:
https://github.com/yuin/goldmark https://github.</description>
    </item>
    
  </channel>
</rss>
