Appearance
Master Table of Contents
This site contains 66 articles organised into thirteen topic sections. Use this page as a navigation hub or quick reference.
API & Authentication
| Article | Description |
|---|---|
| REST & HTTP | HTTP methods, status codes, RESTful principles, Java HttpServer examples |
| OAuth 2.0 | Authorization flows, OpenID Connect, Spring Boot OAuth client, token management |
| AWS SSO | Enterprise identity, SAML/OIDC integration, permission sets, AWS SDK |
| Protocol Buffers (Protobuf) | Efficient serialization, schema definition, cross-language compatibility, code generation |
Software Design
| Article | Description |
|---|---|
| Hexagonal Architecture | Ports and adapters pattern, domain isolation, testability, framework independence |
| Clean Architecture | Concentric dependency layers, Uncle Bob's rules, framework-independent enterprise design |
| Microservice SDKs: Pros & Cons | Client SDK trade-offs, coupling risks, versioning strategies |
| Kingdom of Nouns | Object-oriented design anti-patterns, verb-noun distinction, procedural vs declarative code |
GoF Design Patterns
Creational
| Article | Intent |
|---|---|
| Factory Method | Define an interface for creating an object, letting subclasses decide which class to instantiate |
| Builder | Separate the construction of a complex object from its representation |
| Singleton | Ensure a class has only one instance and provide a global access point to it |
Structural
| Article | Intent |
|---|---|
| Adapter | Convert an interface into another interface clients expect |
| Decorator | Attach additional responsibilities to an object dynamically |
| Facade | Provide a simplified interface to a complex subsystem |
Behavioral
| Article | Intent |
|---|---|
| Observer | Define a one-to-many dependency so that when one object changes state, all dependents are notified |
| Strategy | Define a family of algorithms, encapsulate each one, and make them interchangeable |
| Template Method | Define the skeleton of an algorithm in a superclass, deferring some steps to subclasses |
SOLID Principles (read sequentially)
| Article | Principle | Key Pattern |
|---|---|---|
| SRP | Single Responsibility | Repository pattern, class separation |
| OCP | Open/Closed | Strategy pattern, payment processors |
| LSP | Liskov Substitution | Substitutability, contract preservation |
| ISP | Interface Segregation | Role-based interfaces, client isolation |
| DIP | Dependency Inversion | Abstraction layers, Spring DI |
Concurrency & Performance
| Article | Description |
|---|---|
| Asynchronous Programming | CompletableFuture, virtual threads, callbacks, reactive basics |
| High-Performance Streaming | MapReduce, AWS Kinesis, AWS EMR, Apache Spark, sharding |
Distributed Systems
| Article | Description |
|---|---|
| Eventual Consistency | CAP theorem, ACID vs BASE, vector clocks, DynamoDB, S3 |
| Saga Pattern | Distributed transaction management, compensating actions, choreography vs orchestration |
| Microservices Interdependencies | Circuit breakers, bulkheads, event-driven choreography, API gateways, service meshes |
Data & Storage
| Article | Description |
|---|---|
| Graph Databases & GenAI | Graph data models, Neo4j, knowledge graphs, GenAI integration patterns |
| Apache Cassandra | Wide-column storage, partition keys, replication, tunable consistency |
| DynamoDB Indexes & High Availability | GSIs, LSIs, single-table design, multi-region replication |
| Columnar Data Stores | Column-oriented storage, analytics query patterns, compression, vectorised execution |
| Caching Strategies with Redis | Cache-aside, write-through, TTL, eviction policies, Redis data structures |
| Caching Patterns & Pitfalls | Cache stampede, thundering herd, stale reads, invalidation strategies |
Infrastructure & Operations
| Article | Description |
|---|---|
| Serverless & Containers | Monolith vs microservices vs serverless, Docker, Kubernetes, AWS Lambda |
| The Twelve-Factor App | Twelve-Factor methodology for scalable, maintainable cloud-native applications |
| Ansible Overview | Infrastructure as code, playbooks, idempotency, inventory management |
| Resilience Patterns | Fault tolerance, recovery strategies, availability design, graceful degradation |
Security
| Article | Description |
|---|---|
| RBAC and ABAC | Role-based and attribute-based access control, authorization models, policy engines |
| Cryptography | AES, RSA, SHA hashing, digital signatures, AWS KMS, Secrets Manager |
| Transport Layer Security (TLS) | TLS 1.2/1.3 handshake, cipher suites, certificate chains, mTLS, forward secrecy |
Fundamentals
| Article | Description |
|---|---|
| Network Handshaking | TCP three-way handshake, TLS negotiation, connection establishment |
| Hub and Spoke Network | Centralized network topology, routing patterns, scalability and single point of failure |
| Shadow DOM | Encapsulation, style isolation, web components, DOM tree abstraction |
Data Structures & Algorithms
| Article | Description |
|---|---|
| Big O Notation | Time and space complexity, asymptotic analysis, common algorithm complexity classes |
| Binary Search | O(log n) search in sorted collections, monotone-predicate generalisation, basis for lower_bound and upper_bound |
| Lower and Upper Bounds | Asymptotic complexity bounding, tight bounds, Big-Theta, floor and ceiling in sorted ranges |
| QuickSort and QuickSelect | Divide-and-conquer partitioning, optimal expected-time selection, randomised pivot strategies |
| Patience Sorting | Card-game sorting algorithm, O(n log n) LIS derivation, connection to longest increasing subsequence |
| Dynamic Programming | Memoisation vs tabulation, optimal substructure, overlapping subproblems, classic DP problem families |
| Longest Increasing Subsequence | LIS problem, O(n log n) patience-sort approach, sequence optimisation applications |
| Flood Fill | Connected-component traversal on 2D grids, BFS/DFS application, paint-bucket analogy, multi-source fill |
| Topological Sort | Directed acyclic graphs, topological ordering, Kahn's algorithm, dependency resolution |
| Floyd-Warshall Algorithm | All-pairs shortest paths, dense graphs, DP on adjacency matrices |
| Heaps | Min-heaps and max-heaps, heap property, priority queues, heapify operations |
| Tries | Prefix tree structures, efficient string search and autocomplete, key-value retrieval |
| Hashing | Hash functions, collision resolution, hash tables, load factor, cryptographic vs non-cryptographic hashing |
| Bloom Filters | Probabilistic data structure, false positives, hash-based membership testing, space efficiency |
Methodology
| Article | Description |
|---|---|
| Agentic Software Development | AI agents, LLM-driven workflows, tool use, autonomous software pipelines |
| Spec-Driven Development with AI | API-first design, OpenAPI specs, AI-assisted contract-driven development |
Learning Paths
Four curated sequences for different goals:
| Path | Sequence | Goal |
|---|---|---|
| Scalable APIs | REST → OAuth → Async → Serverless → Cryptography | Build production-grade APIs |
| Big Data & Analytics | Async → Streaming → Columnar → Serverless → Cryptography | Process high-volume data |
| Writing Quality Code | SRP → OCP → LSP → ISP → DIP | Apply SOLID principles |
| Enterprise Security | REST → OAuth → AWS SSO → Cryptography → TLS | Implement enterprise identity |
Quick Reference
By AWS Service
| AWS Service | Articles |
|---|---|
| AWS KMS | Cryptography |
| AWS Secrets Manager | Cryptography |
| AWS Certificate Manager | TLS |
| AWS Lambda | Serverless & Containers |
| Amazon Kinesis | High-Performance Streaming |
| AWS EMR | High-Performance Streaming |
| Amazon DynamoDB | DynamoDB Indexes & HA, Eventual Consistency |
| Amazon S3 | High-Performance Streaming, Eventual Consistency |
| AWS SSO / IAM Identity Center | AWS SSO |
| Amazon SQS | Serverless & Containers |
| Amazon ElastiCache | Caching Strategies with Redis |
By Java Technology
| Java Technology | Articles |
|---|---|
| Spring Boot | REST, OAuth, Serverless & Containers |
| Spring Security | OAuth |
| CompletableFuture | Async Programming |
| Virtual Threads | Async Programming |
| Apache Spark | High-Performance Streaming |
| javax.net.ssl / SSLContext | TLS |
| AWS SDK for Java | AWS SSO, High-Performance Streaming, Cryptography |
By Concept Type
Navigation Tips
- Use the sidebar to browse all articles by section.
- Use the search bar (top right) for full-text search across all articles.
- Each article ends with a Related Concepts section linking to relevant topics.
- Learning Paths provide next/previous navigation for sequential reading.
- Click any Mermaid diagram to view it fullscreen.