Skip to content

Instantly share code, notes, and snippets.

View ipfans's full-sized avatar
:shipit:
Focusing

ipfans ipfans

:shipit:
Focusing
View GitHub Profile
@AngerM
AngerM / http.go
Created October 30, 2018 03:25
High Performance Golang HTTP Client
package utils
import (
"context"
"io"
"io/ioutil"
"net"
"net/http"
"strings"
"time"
@rushilgupta
rushilgupta / GoConcurrency.md
Last active May 9, 2025 10:20
Concurrency in golang and a mini Load-balancer

INTRO

Concurrency is a domain I have wanted to explore for a long time because the locks and the race conditions have always intimidated me. I recall somebody suggesting concurrency patterns in golang because they said "you share the data and not the variables".

Amused by that, I searched for "concurrency in golang" and bumped into this awesome slide by Rob Pike: https://talks.golang.org/2012/waza.slide#1 which does a great job of explaining channels, concurrency patterns and a mini-architecture of load-balancer (also explains the above one-liner).

Let's dig in:

Goroutines

@vasanthk
vasanthk / System Design.md
Last active December 9, 2025 18:43
System Design Cheatsheet

System Design Cheatsheet

Picking the right architecture = Picking the right battles + Managing trade-offs

Basic Steps

  1. Clarify and agree on the scope of the system
  • User cases (description of sequences of events that, taken together, lead to a system doing something useful)
    • Who is going to use it?
    • How are they going to use it?