Heroku Router 2.0 launches with HTTP/2, better performance, and reliability. Learn how we uncovered a Puma bug during beta and how to avoid it.| Heroku
Welcome to the 19th edition of the Cloudflare DDoS Threat Report. Released quarterly, these reports provide an in-depth analysis of the DDoS threat landscape as observed across the Cloudflare network. This edition focuses on the third quarter of 2024.| The Cloudflare Blog
Learn how to take a regular command-line application and convert it into a serverless function.| OpenFaaS - Serverless Functions Made Simple
I recently read A Philosophy of Software Design by John Ousterhout (of Tcl/Tk, Raft, Sprite fame).| tpaschalis.me
Ardan Labs is trusted by small startups and Fortune 500 companies to train their engineers and develop business software solutions and applications.| www.ardanlabs.com
Start With the Go Standard Library| Matthew Sanabria
Alex explores recent changes that makes OpenFaaS more practical for your long running tasks.| OpenFaaS - Serverless Functions Made Simple
TL;DR ¶ I’ve just released jub0bs/cors, a new CORS middleware library for Go, perhaps the best one yet. It has some advantages over the more popular rs/cors library, including a simpler API, better documentation, extensive configuration validation, a useful debug mode, stronger performance guarantees. Here is a representative example of client code: package main import ( "io" "log" "net/http" "github.com/jub0bs/cors" ) func main() { mux := http.NewServeMux() mux.HandleFunc("GET /hello", ha...| jub0bs.com
TL;DR ¶ In this post, I investigate why developers struggle with CORS and I derive Fearless CORS, a design philosophy for better CORS middleware libraries, which comprises the following twelve principles: Optimise for readability Strive for a simple and cohesive API Provide support for Private Network Access Categorise requests correctly Validate configuration and fail fast Treat CORS as a compilation target Provide no default configuration Do not preclude legitimate configurations Ease trou...| jub0bs.com
Since September 2022, Aurora malware is advertised as an infostealer and several traffers teams announced they added it to their malware toolset.| Sekoia.io Blog
If you're not yet comfortable with Go's type system and/or interfaces it can be a surprisingly difficult thing to wrap your head around. Read this post to learn how it works.| www.willem.dev
This article shows how to implement URL path parameters using the routing pattern wildcards introduced in Go 1.22.| www.willem.dev
How to handle and send "cancellation signals" using the context package in the standard library.| www.willem.dev
How I switched hosting my Go-based side projects from Amazon EC2 to Fly.io, significantly simplified deployment, and saved a bit of cash while I was at it.| benhoyt.com
Recently, I was adding timeouts to a Go HTTP server and ended up exploring how the different settings and approaches act and interact. I’m going to publish my notes here, along with the code I used for testing. Hopefully this will help someone else (or myself) in the future.| adam-p.ca
The second part of a three part look at new features in Go 1.20.| blog.carlana.net
type ResponseRecorder ¶| pkg.go.dev
type ClientConn ¶| pkg.go.dev
type Client struct {| pkg.go.dev
Flame Graphs for Go With pprof| www.benburwell.com
The OSI model attempts to build a model for network communications, where increasingly high level layers are built upon lower layers. This is only slightly useful in practice, as the real world is not so simple. In service mesh, generally discussion is reduced to L4 and L7, or TCP and HTTP. This oversimplifies the problem, leading to some confusion. Thinking in terms of termination Simply saying "HTTP" is not really clear about what is going on.| blog.howardjohn.info
I recently witnessed a goroutine leak in my Go server. It looked like this. Searching online, the overwhelming consensus was that there must be a| manishrjain.com
Overview ¶| pkg.go.dev
We periodically check our own| utcc.utoronto.ca
This article describes how I use the wardleyToGo SDK to create a plugin in Go for ChatGPT (to display Wardley Maps)| blog.owulveryck.info
Learn how to configure the Collector to suit your needs| OpenTelemetry
An introduction to Go errors.| go.dev
type Server ¶| pkg.go.dev
Idioms and patterns for handling errors in Go.| go.dev
Overview ¶| pkg.go.dev
Shipping a speedy key/value store for datasets larger than memory.| healeycodes.com
[ 2022-May-23 10:19 ]| www.evanjones.ca
This post references the Kubernetes codebase at commit d92a443ca7 and kube-openapi at commit ee342a809c, but should remain mostly applicable for an extended period of time barring any massive refactor to Kubernetes internals. This is also intended to be a very active read and a reference to come back to over time. There are a lot of links to source code that is not embedded because the post would have become even more unwieldy than it already is.| danielmangum.com
Compares various routing techniques in Go, including five custom approaches and three using third-party routing libraries.| benhoyt.com
Simple Lists is a tiny to-do list web application written in Go, with old school server-side rendering and no JavaScript.| benhoyt.com
My re-implementation of the code from the official Go tutorial 'Developing a RESTful API with Go and Gin', using only the standard library, adding tests, and fixing issues.| benhoyt.com