Open in app

Sign In

Write

Sign In

Vincent Blanchon
Vincent Blanchon

4.3K Followers

Home

About

Published in A Journey With Go

·May 6, 2022

Go: Story of TryLock Function

ℹ️ This article is based on Go 1.18. Go 1.18 comes with a new function TryLock (for the mutexes sync.Mutex and sync.RWMutex) that allows the developer to try acquiring a lock in a non-blocking mode, i.e. …

Golang

3 min read

Go: Story of TryLock Function
Go: Story of TryLock Function
Golang

3 min read


Published in A Journey With Go

·Apr 20, 2022

Go: How to Mitigate RUDY DoS Attack

ℹ️ This article is based on Go 1.18. In a previous article, we discussed the Slowloris attack — a DoS attack that aims to overwhelm a server by keeping open lots of connections — and how to mitigate it. The RUDY (R-U-Dead-Yet?) is a similar attack but uses the body…

Go

2 min read

Go: How to Mitigate RUDY DoS Attack
Go: How to Mitigate RUDY DoS Attack
Go

2 min read


Published in A Journey With Go

·Apr 20, 2022

Go: Understand and Mitigate Slowloris Attack

ℹ️ This article is based on Go 1.18. In cybersecurity, the most efficient way to ensure the security of the product we are building is to try to compromise it as an attacker would do. Penetration testing is a great way to achieve that, but it does not mean that…

Go

4 min read

Go: Understand And Mitigate Slowloris Attack
Go: Understand And Mitigate Slowloris Attack
Go

4 min read


Published in A Journey With Go

·Oct 2, 2020

Go: How Does a Program Recover?

Panics in Go are triggered when the program cannot handle an error properly, such as invalid memory access. It can also be triggered by the developer if the error is unexpected and there is no other way to deal with it. …

Golang

4 min read

Go: How Does a Program Recover?
Go: How Does a Program Recover?
Golang

4 min read


Published in A Journey With Go

·Sep 23, 2020

Go: Goroutine Leak Detector

A goroutine leak can easily be detected via an APM that monitors the number of live goroutines. Here is an example from NewRelic of a graph that monitors the goroutines:

Golang

4 min read

Go: Goroutine Leak Detector
Go: Goroutine Leak Detector
Golang

4 min read


Sep 13, 2020

Go: sysmon, Runtime Monitoring

ℹ️ This article is based on Go 1.14. The Go standard library dedicates a thread to watch after your application and help with bottlenecks your program could face. This thread, called sysmon, stands for system monitor, is not linked to any P in the G,M,P model, meaning it is not…

Golang

3 min read

Go: sysmon, Runtime Monitoring
Go: sysmon, Runtime Monitoring
Golang

3 min read


Published in A Journey With Go

·Sep 1, 2020

Go: Multiple Errors Management

Error management in Go is always prone to debate and a recurrent topic in the annual survey about the biggest challenges developers are facing when using Go. However, when it comes to dealing with errors in a concurrent environment or combining multiple errors for the same goroutine, Go provides great…

Golang

4 min read

Go: Multiple Errors Management
Go: Multiple Errors Management
Golang

4 min read


Published in A Journey With Go

·Aug 12, 2020

Go: Built-in Functions Optimizations

ℹ️ This article is based on Go 1.13. Go provides built-in functions to help the developers working with channels, slices, or maps. Some of them have a proper internal implementation, like make(), and some do not have any implementation and are managed by the compiler. …

Golang

3 min read

Go: Built-in Functions Optimizations
Go: Built-in Functions Optimizations
Golang

3 min read


Published in A Journey With Go

·Aug 6, 2020

Go: Introduction to the Escape Analysis

ℹ️ This article is based on Go 1.13. The escape analysis one of the phases of the Go compiler. It analyses the source code and determines what variables should be allocated on the stack and which ones should escape to the heap. Static analysis Go statically defines what should be heap or…

Golang

5 min read

Go: Introduction to the Escape Analysis
Go: Introduction to the Escape Analysis
Golang

5 min read


Published in A Journey With Go

·Aug 1, 2020

Go: How to Reduce Lock Contention with the Atomic Package

ℹ️ This article is based on Go 1.14. Go provides memory synchronization mechanisms such as channel or mutex that help to solve different issues. In the case of shared memory, mutex protects the memory against data races. However, although two mutexes exist, Go also provides atomic memory primitives via the…

Golang

4 min read

Go: How to Reduce Lock Contention with the Atomic Package
Go: How to Reduce Lock Contention with the Atomic Package
Golang

4 min read

Vincent Blanchon

Vincent Blanchon

4.3K Followers

French Gopher in Dubai

Following
  • Teiva Harsanyi

    Teiva Harsanyi

  • Elliot Chance

    Elliot Chance

  • Ben Johnson

    Ben Johnson

  • Fatih Arslan

    Fatih Arslan

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech