Go Concurrency Model
Go’s concurrency model builds on CSP, providing Goroutines and Channels as core tools. An overview of how each works and when to choose what.
Go’s concurrency model builds on CSP, providing Goroutines and Channels as core tools. An overview of how each works and when to choose what.
TLS builds a secure channel over an untrusted network by providing confidentiality, integrity, and authentication. A walkthrough of symmetric/asymmetric hybrid encryption, the TLS 1.2 handshake, the certificate and PKI trust model, and what TLS 1.3 improved.
A record of implementing and benchmarking three Go concurrency patterns — mutex, channel, and lock-free — to build hands-on understanding.
Why MongoDB and Redis end up in different roles even under the same NoSQL umbrella. A comparison across data model, storage, schema, scaling, and use cases.
A record of designing and building a chat system as a personal project to gain hands-on experience with Kafka and Hexagonal Architecture.
Spring MVC assigns one thread per request. When I/O waits pile up, threads sit idle. WebFlux replaces this with an event loop-based non-blocking model. A summary of the structural differences from MVC, the Reactor pattern, and when to choose which.
HTTP/1.1 processes requests and responses sequentially. HTTP/2 changed this with multiplexing, binary framing, and header compression. A summary of the differences between the two protocols and gRPC, which runs on HTTP/2.
Observer cuts coupling through a one-to-many relationship that notifies subscribers of state changes. The Subject just notifies, unaware of who listens. EventEmitter, RxJS, and event-driven architecture all extend from here. It differs from broker-mediated pub/sub.
Covers container concepts, the differences from VMs, Docker’s architecture, and the basics of Dockerfile and Docker Compose.
The difference between splitting code by technical layers (horizontal) and by features or domains (vertical). Trade-offs and selection criteria for each approach.