January 17, 2021

How We Measure Developer Experience at Trybe

You have probably heard the term UX (User Experience), which is defined as “the discipline responsible for designing enchanting user experiences to retain and win customers”. Analogous to this term there is a more recent one, but it has been gaining popularity in recent years. This is the DX (Developer Experience). As this is the topic of the post, I will explain it using excerpts from this great post:...

July 6, 2020

Clean Architecture, 2 years later

UPDATE: This post is old and no longer reflects what I believe to be an ideal structure for a project. In 2023, I am using and recommending what my colleagues and I have described in this post. In February 2018 I wrote what would become the most relevant text I have ever published: Clean Architecture using Golang. With more than 105k views, the post generated presentations at some Go and PHP events and allowed me to talk about software architecture with several people....

April 21, 2020

Testing APIs in Golang using apitest

One advantage of the Go language is its standard library, which contains many useful features to develop modern applications, such as HTTP server and client, JSON parser, and tests. It is exactly this last point that I will talk about in this post. With the standard library it is possible to write tests for your API, as in the following example. API code In our main.go file, we will create a simple API:...

April 8, 2020

Profiling Golang applications using pprof

In the last few weeks, Codenation has been experiencing very significant growth. Confirming the sentence of the great Bruno Ghisi who says that “on the scale everything breaks”, features that always worked perfectly become problematic. We noticed in the metrics of our Prometheus that one of the endpoints of our API was consuming a lot of resources. Talking to the team we came up with a suspicious reason, but before I refactored the code, I thought it would be better to do a more “scientific” analysis....

March 13, 2020

Using Prometheus to collect metrics from Golang applications

This text is part of a series of posts I am doing with examples of applications using Clean Architecture. The other posts that are part of this series are: Clean Architecture using Golang Golang: using build tags to store configurations Continuous integration in projects using monorepo Data Migration with Golang and MongoDB Using Golang as a scripting language Creating test mocks using GoMock In this post, I will talk about a very important feature in the complex projects we work with daily: metrics....

December 20, 2019

Creating test mocks using GoMock

Using mocks in test development is a concept used in the vast majority of programming languages. In this post, I will talk about one solution to implement mocks in Go: GoMock. To show GoMock functionality, I will use the tests created in my repository about Clean Architecture Clean Architecture encourages testing across all layers, so it’s easy to see where we can use mocks to make development easier. As we write unit tests for the UseCases layer we are sure that the logic in this layer is covered by testing....

December 10, 2019

Processing parquet files in Golang

In this post, I will talk about a relatively new data file format, and how to use it in Go. The format is called Parquet and is currently a project supported by the Apache Foundation. It is a binary file format to store and facilitate data processing a columnar storage format. It supports different types of compression and is widely used in data science and big data environment, with tools like Hadoop....

August 8, 2019

Using Golang as a scripting language

Among the technical decisions we made during the development of [Codenation] (https://codenation.dev), one of the right ones was to choose Go as the main language. ...

June 1, 2019

Object Calisthenics in Golang

Jeff Bay introduced the term Object Calisthenics in his book [Thought Works Anthology] (https://pragprog.com/book/twa/thoughtworks-anthology). It is a set of good practices and programming rules that can improve the quality of our code. ...

February 9, 2019

Full Stack vs Full Cycle developer

Full Stack developer In the last years, the term full stack developer grown in many job opportunities, mainly in startups. According to this post, a full stack developer is: ...

<<

page 3 of 4

>>