All Posts |

Posts on the software-development category, Browsing Page 3 of 5

  • post image

    Quick Peek into WebAssembly

    Is a new standard binary format that allows us developers to compile programs written in high-level languages such as C, C++, Rust, and Go into low-level code that can be executed in the browser. At the moment this is something that we can only achieve using Javascript, but now, with WASM the door is open for other languages to be run on the client side.
    Read more
  • post image

    Open-source licenses and their implications

    In an interconnected world where we see a rapid growth in the number of new libraries and tools that are available for development and in general, for technological advances, one important consideration leaders and teams should take into account is the licensing of the software they are using. Open source is an important weapon in the arsenal of any software development team, but it’s important to understand the different open-source licenses and how its usage may impact your application.
    Read more
  • post image

    Application Performance Monitoring

    The acronym stands for Application Performance Monitoring (and also Application Performance Management, but we will only focus on the first one) and it refers to the monitoring of telemetry data to measure our system’s health, and availability, or even to troubleshoot problems while it is online. APM is a means to increase the observability aspect of our system, allowing us to know about its internal state by reading through its external output.
    Read more
  • post image

    Page layouts in Go

    I recently tried to build a web application using Go and HTML templates. In doing so, I started to miss some cool features that Buffalo and plush have to avoid repeating the layout of your web pages. I thought this was a common enough problem that the Go team should have provided the tools in the standard library, and as usual, they did. That’s when I came across the block and define expressions for templates.
    Read more
  • post image

    Kotlin Coroutines for Android Networking

    Over the years, Android developers have been doing networking with the use of some APIs from the Android SDK and other tools which always involved a lot of work. The use of Retrofit became the standard when we are talking about consuming APIs. This means having an additional layer on top of Java and the logic of our app. With the introduction of Kotlin a few years ago and with their native support for asynchronous operations with Coroutines, developers were provided with tools easier to use.
    Read more
  • post image

    Batch Insert - Go database/sql

    We may have come across the need of having to create multiple records in a single operation. Now, this can be achieved through a single insert command of course, but the more records we require to persist the longer it’ll take for this entire operation to complete. Let’s set up a basic example to go over this topic. We will be creating a list of contacts in bulk using the database/sql library in Go.
    Read more
  • post image

    Using Go's build tags

    In Go, a build tag is an indicator that is added to a piece of our code, to indicate when a package will be included in the building process. This gives us the possibility to compile different versions or parts of our application from Go, switch between them in a fast and organized way, and all from the same source code.By using the build tags we can work on integration tests in development teams, which allows us to test the updates of our code without the need to make modifications to the already tested sections of it.
    Read more
  • post image

    My top 4 refactoring techniques in Go

    Martin Fowler in his book defines refactoring as “a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior”. This book contains a long list of refactorings techniques that mean to be applied under certain scenarios and with the intention to eliminate “code smells”. Refactorings are a very extense topic and I’ve found them to have an important role in the software development process.
    Read more
  • post image

    Go's Locations & Alpine Docker image

    My team has faced an issue with timezones repeated times: Apparently, default Locations were not present in our production deployments of our apps, that took us by surprise given locally these were present and working nicely 🤔. This is an issue I’ve faced before. Every time I wanted to show dates in a certain timezone but such timezone was not present in our production environment, Our app ended up in GMT for everything, or we had to create our own locations.
    Read more