Building web applications can feel very rewarding, once you see some effects in the browser on your very own `localhost`. Unfortunately, it's harder from there on out, as you need to figure out how to share your project with the _outside world_. I've struggled often at this point as I was never sure if I should already share the project with the world, is it time to set up some complicated CI/CD workflow to push it to go live. I don't have these doubts any more ever since I saw how easy it is to deploy stuff to Heroku. Let me show you how you can do that, too.
Some time ago I've first heard about Web Assembly and that it will be the "next big thing" in web application development. Then, once Go 1.11 was released with build support for it included in the language itself, I knew I need to play around with it. Although it took me quite a while, I finally did, so I decided to write down things I found out about it, alongside with a few basic examples.
Some time ago I was facing an interesting issue, which was filtering data based on a part of one of the attributes. It was a classic case of allowing users to get data by entering something in the search box. I figured out that there are more than one ways of completing the task, so I decided to research each of them a bit to have a better understanding of how good those options are.
Kubernetes is a powerful orchestration tool that can make developers' lives much easier, if used and configured correctly. One of the most important things to know about the system in order to manage it correctly is being able to determine if the application is working correctly or if it should be restarted. All of this can be achieved with proper health checks.
They have been available for some time already, but I forgot to share the link! The videos from Gophercon UK 2018, including my _Documenting Go Code with Beautiful Tests_ have been published on Youtube! Enjoy!
The latest release of Go, 1.11, was one of the largest in a long time when it comes to functionality. One of the headlines of this version were modules, which were very hyped and hated at the same time, since the community is divided into "modules team" and "dep team". While I feel that dep solves the problems I face on the daily basis, I decided to give the other approach a chance. Let me show you how you can build a small, sample application using "go mod".
When I was first introduced to Docker, I was excited to see how much easier this can make developing eg. Java applications. Setting up the whole environment was brought down to a set of simple commands allowing me to spin it up without any fuss. But after spending some time with Go, which compiles to static binary files, I was wondering if I really need Docker containers to run them efficiently? This led me to a little experiment with "launchd".
If I wanted to sum up my experience at GopherCon UK 2018, I would probably say something like _awesome_, _unforgettable_ and _amazing_. But those three words would not fully explain everything I saw and felt during that time. It was super-exciting for me, being a first-time speaker at a Go conference. It was also incredibly stressful because even though I'm pretty confident about my English skills, it's something totally different to use it with other people for whom the language is not their native one. Standing on a stage in front of a few hundred people, and butcher the native langue of many (most? half? I have no idea) of them, that was scary. I heard that my jokes got some laughs, so maybe it wasn't that bad. Or they laughed at me, but at this point, it's too late to feel bad about myself. Anyway, I would like to share my thoughts on four of the most important elements of my London experience.
Hi there! This is just a quick and short post to keep you guys updated on what is happening with this blog and myself. I'm getting ready for GopherCon UK, and it takes much more time than I thought.
So far we've managed to play with NATS pub/sub and extended it with streaming service to create a more reliable messaging queue. The problem is, that by using the default configuration, we have little to no control over where the messages, subscriptions, and information about queue's clients reside. Fortunately, NATS Streaming allows you to use SQL database as a storage, which we will explore in this very post.