HN user

georgethomas

6 karma
Posts0
Comments4
View on HN
No posts found.

Thanks, Aloke. Looking forward to trying again :)

It might be worth updating the GitHub Issue: the impression I got from looking at it was that it wasn't a priority (the most recent official comment is over a year old and comes across as quite dismissive of the request).

I've experienced both: explicit passing of immutable Contexts in Go and using ThreadLocal storage in Java (DropWizard) apps.

I think it was our mistake to use ThreadLocal storage for request-specific data. This directly couples threads (which are an OS / scheduling concern) to the serving of requests. We then ran into issues spawning new background threads, or naively switching to Kotlin Coroutines (which can be scheduled on a different thread).

So I prefer the explicit, immutable context passing that Go uses. The `getThing()` pattern you mention seems reasonable and gives you some type safety that is otherwise missing with a bare `context.Value()` calls.

Ravelin | Software Engineer | London, UK | onsite, full time, interns, https://www.ravelin.com/

We use machine learning to provide real-time fraud detection for online businesses, such as Deliveroo, YPlan and Easy Taxi.

The tech stack is Go microservices on the backend and TypeScript and Angular on the frontend. Experience in these is nice, but definitely not required.

We're currently hiring for:

* Senior front end engineer: https://angel.co/ravelin/jobs/165301-javascript-engineer-sen...

* Senior / Mid level full stack engineers: https://angel.co/ravelin/jobs/133765-full-stack-engineer-dev...

* Software engineering interns: https://angel.co/ravelin/jobs/69087-software-engineering-int...

* and also a VP sales (but I don't know much about that one): https://angel.co/ravelin/jobs/207300-vp-sales

Email your CV / GitHub / LinkedIn to jobs@ravelin.com to apply!