@rafaelgss tech blog

Network Performance in Real-world

1 month ago

Network Performance in Real-world Everybody knows or must know the famous statement: “Network is not reliable”. In fact, it’s true, however, it doesn’t means that you shouldn’t optimize it. If you got here by yourself, likely you understand why performance matters in the business. Otherwise, I recomm... read more

Performance Methodologies

10 months ago

Performance Methodologies Poor performance costs the software industry millions of dollars annually in lost revenue, decreased productivity, increased development, hardware costs and damaged customer relations. Most applications tend to focus on correctness over performance. The shift towards perform... read more

Diagnostics Channel is landed!

Diagnostics Channel In node v15 was landed a feature that should help a lot of APM vendors. diagnostics_channel has the objective to have a centralized channel of events between modules. As blog release says: diagnostics_channel is a new experimental module that provides an API to create named channe... read more

Node CPU Profiler

Node CPU Profiler How we can meansure the performance? If you are a software engineer, you have already thought about the performance of your nodejs application. And probably saw the feature flag: --inspect or --inspect-brk to enable CDT(Chrome Dev Tools) and measure performance from there. Well, tha... read more

Autonomous Microservices - Outbox Pattern

Autonomous Microservices - Outbox Pattern In a microservice architecture the most of its complexity is in the consistency of the data, the question is, what’s the best way to communicate microservices so that one gets data from the other? How to expose in a single endpoint the relationship between re... read more

Microsservicos Autonomos - Outbox Pattern

Microsservicos Autonomos - Outbox Pattern Em uma arquitetura de microsserviços boa parte de sua complexidade está na consistência dos dados, ou seja qual a melhor forma de comunicar os microsserviços de forma que um consiga dados do outro? Como expor em um single endpoint a relaçao entre um recurso e... read more

Vim Tips

1 year ago

Vim Tips This post is a aggregate of tips that I get it from vim The ideal world of VIM The ideal is one keystroke to move and one keystroke to execute. VIM are optimized to repetition with dot . keystroke, most of the commands that we are used to do in other text editors is not optimized for repetit... read more

Github Actions + Digital Ocean + Elixir ❤️

1 year ago

Github Actions + Digital Ocean + Elixir = ❤️ Today I performed an experiment with the new not so new CI from Github: Github Actions, implementing on my blog (yes, the one you are reading). The project has here, So, I ran this test with: Simple Droplet on DigitalOcean ($5) Elixir + Phoenix Docker + ... read more

Github Actions + Digital Ocean + Elixir ❤️

1 year ago

Github Actions + Digital Ocean + Elixir = ❤️ Hoje realizei um experimento com o novo não tão novo assim CI do Github: Github Actions, implementando no meu blog (sim, este que você está lendo). O projeto está aqui, Portanto, realizei esse teste com: Droplet simples no DigitalOcean ($5 doleta) Elixir ... read more

Communication between microservices - Asynchronous

2 years ago

Communication between microservices - Asynchronous Introduction to RabbitMQ and its achievements. In an architecture focused on microservices, two of its main key concepts are: scalability and resilience. Usually has the necessity to have a communication between microservices in some way, either to ... read more

Comunicação entre microsserviços - Async

2 years ago

Comunicação entre microsserviços Async Introdução ao RabbitMQ e seus feitos. Em uma arquitetura voltada para microsserviços, dois dos seus principais conceitos chaves são: escalabilidade e resiliência. Dito isso, é bem comum que haja a necessidade dos microsserviços se comunicarem de alguma forma, s... read more

Fastify, Why another Javascript Framework?

2 years ago

Fastify, why another Javascript framework? An intruduction to the concepts and motivations behind the framework. All of us know that the Javascript ecosystem is builtin by several frameworks. In this article, I’ll show you a framework called Fastify and why it’s taken my attention. Fastify is a web ... read more

Fastify, Porque outro framework JS?

2 years ago

Fastify, Porque outro framework JS? Uma introdução aos conceitos e motivações por trás do framework. Todos sabemos que o ecossistema Javascript é formado por diversos frameworks (possivelmente enquanto você está lendo esse artigo, um novo framework js é criado). E neste artigo irei apresentar um fra... read more

Node Core - Overview Libuv P1

2 years ago

Node Core: Overview P1 Esse post é somente para explicar o funcionamento da concorrência no NodeJS, mais especificamente a Libuv Async O NodeJS usa o libuv como gerenciador de async i/o. O Event Loop é sim Single Thread, porém, o libuv contem 4 Threads iniciais em seu pool. Ou seja, se fizermos 1 cha... read more