Skip to main content

104 docs tagged with "technical-knowledge"

View all tags

Apache Kafka Architecture & Core Fundamentals

Complete architectural overview of Apache Kafka — origins, the M×N integration problem, the 4 pillars of Kafka's extreme speed (sequential I/O, page cache, zero-copy, batching), message anatomy, and the dumb broker / smart consumer paradigm.

Apache Kafka Knowledge Base

Apache Kafka is a distributed event streaming platform designed for high-throughput, fault-tolerant, and scalable real-time data pipelines and streaming applications.

API Contract Governance, Linting & Testing

Run an API program at scale - design-first vs code-first, Spectral linting, oasdiff breaking-change gates, Prism mocks, OpenAPI Generator interfaces, Pact consumer-driven contracts, Schemathesis fuzzing, CI pipeline, API catalog and review process.

API Design, OpenAPI & Swagger Deep Dive

Senior-level API design handbook - OpenAPI/Swagger, contract-first workflow, naming conventions, resource modeling, errors, pagination, versioning, idempotency, security, governance and interview preparation.

API Naming Conventions & Style Guide

Comprehensive REST API naming conventions - URLs, query parameters, JSON fields, headers, enums, IDs, dates, money, operationIds and schema names - compared across Google AIP, Microsoft, Zalando, and Stripe guidelines, with a searchable rule book.

API Security Checklist (OWASP API Top 10 2023)

OWASP API Security Top 10 (2023) mapped to concrete Spring Boot and OpenAPI controls - BOLA, broken authentication, mass assignment, unrestricted resource consumption, SSRF, security misconfiguration, plus OAuth scopes in specs and gateway policy.

API Versioning, Breaking Changes & Deprecation

How to evolve APIs safely - catalog of breaking and non-breaking changes, versioning strategies (URI, header, media type, date-based), tolerant reader, expand-contract, deprecation with Sunset headers, and sunset governance.

Banking & Payments Glossary

A comprehensive A–Z reference of terms used in banking and payments. Essential reading for anyone joining the industry.

Banking Roles & Teams

A bank is made up of many specialised teams. Understanding who does what helps you collaborate effectively, know who to escalate to, and understand where you fit in the payments ecosystem.

Blockchain & Web3 Knowledge Base

Complete learning path for blockchain, distributed ledgers, consensus, Ethereum, smart contracts, Web3, sharding, rollups and IPFS - from first principles for new learners to production failure modes for senior engineers.

Conflict Resolution

A conflict occurs when two branches have made **different changes to the same line(s)** of the same file, and Git cannot automatically determine which version.

Consensus Mechanisms - PoW, PoS, BFT, and Finality

Distributed consensus for blockchains - FLP impossibility, Nakamoto consensus, Proof of Stake with Casper FFG, PBFT/Tendermint, Raft vs BFT, fork choice, 51% attacks, long-range attacks, and trade-offs.

Consumer Groups

A **consumer group** is a set of consumers that collectively consume a topic's partitions. Each partition is assigned to exactly one consumer within the group.

Core Banking System (CBS)

The **Core Banking System (CBS)** is the central software platform that manages a bank's **primary banking operations** — account management, transaction.

Cryptography Primitives for Blockchain

Hash functions, digital signatures (ECDSA, EdDSA, BLS), key derivation, Merkle trees, Merkle Patricia tries, and zero-knowledge proofs explained for blockchain engineers.

DeFi, AMMs, Flash Loans & MEV

DeFi internals for senior engineers - constant-product AMM math, impermanent loss, lending protocols and liquidation, stablecoin designs, flash loans, oracles, MEV, sandwich attacks, PBS and mitigation.

Dependency Inversion Principle

Don't let your important business logic classes depend directly on concrete implementations (like a specific database driver, a specific email provider, etc.).

git add — Staging Changes

`git add` moves changes from your **working tree** into the **index** (also called the staging area). Think of the index as a draft of your next commit — you.

git commit — Recording Changes

`git commit` takes everything in the **index (staging area)** and creates a permanent, immutable snapshot in the repository. Each commit has:

Git Hooks — Automating Quality Checks

**Git hooks** are scripts that Git automatically executes before or after specific events (commit, push, merge, etc.). They live in `.git/hooks/` and can be.

Git Knowledge Base

**Git** is a distributed version control system (VCS) created by Linus Torvalds in 2005. Every developer has a full copy of the repository — including its.

git merge — Combining Branches

`git merge` integrates the history of one branch into another. It finds the **common ancestor** of the two branches and combines their changes, creating a new.

git push — Uploading to a Remote

`git push` uploads your local commits to a remote repository, making them available to other team members. It transfers only the objects (commits, trees.

git reflog — The Safety Net

The **reflog** (reference log) is a local journal of every place `HEAD` and your branch pointers have pointed to, in chronological order. Every time you.

git squash — Combining Commits

**Squashing** combines multiple commits into a single commit. This is used to clean up a messy feature branch before merging — turning a series of `wip`, `fix.

git stash — Shelving Work in Progress

`git stash` temporarily shelves (stashes) your uncommitted changes — both staged and unstaged — so you can switch context without committing half-finished.

git tag — Marking Releases

A **tag** is an immutable pointer to a specific commit — unlike a branch, it never moves. Tags are used to mark release points (`v1.2.0`), milestones, or any.

Hash Key Partitions

Kafka uses a hash of the message key to determine partition assignment. Understanding this mechanism is essential for ordering guarantees, avoiding hot partitions, and designing correct partition keys.

Idempotent Producer

Without idempotence, network retries create duplicate messages on Kafka brokers. Enabling idempotence guarantees exactly-once delivery per producer session.

Interest & Fees

Interest and fees are the primary ways banks **generate revenue** from accounts and products. Understanding how they work is important for product.

Interface Segregation Principle

Keep your interfaces **small and focused**. Don't create a "fat" interface that bundles unrelated methods together, forcing classes to implement things they.

Introduction to SOLID Principles

Welcome! This guide will walk you through the **SOLID principles** — five essential design principles that help you write Java code that is **clean, scalable.

IPFS & Decentralized Storage (Filecoin, Arweave)

IPFS internals - content addressing, CIDs and multihash, chunking and Merkle DAG, UnixFS, Kademlia DHT, Bitswap, IPNS, pinning, gateways, Filecoin and Arweave, and NFT metadata best practices.

Kafka ACLs & Authorization Patterns

Kafka Access Control Lists (ACLs) for fine-grained authorization. Covers KRaft ACL storage, resource patterns, OAuth/OPA/RBAC integration, and at-scale management.

Kafka Connect

**Kafka Connect** is a framework for **reliably moving data between Kafka and external systems** (databases, file systems, cloud services) without writing.

Kafka Consumer

A **consumer** reads messages from Kafka topics. Unlike traditional queues (push-based), Kafka consumers **pull** messages at their own pace. This gives.

Kafka Data Governance

The six primitives of Kafka data governance — schema policy, topic ownership, access control, encryption/masking, audit/lineage, and data quality. Why brokers don't provide governance and how to build it.

Kafka Log Compaction Explained

How Kafka log compaction preserves the latest value per key, enabling state stores, CDC changelog topics, and materialized views. Covers cleaner internals, tombstones, tiered storage, and KTable integration.

Kafka Performance Tuning Guide

End-to-end Kafka performance tuning — producer batching, broker I/O, consumer throughput, JVM and OS tuning, compression selection, tiered storage, and benchmarking methodology.

Kafka Producer

A **producer** is a client application that publishes (writes) messages to Kafka topics. It is responsible for:

Kafka Producers & Consumers

Combined guide to Kafka producers and consumers — internal architecture, delivery semantics, serialization, offset management, error handling, and production patterns.

Kafka Security Best Practices

End-to-end Kafka security guide covering authentication, ACLs, TLS 1.3 encryption, Zero Trust architecture, network isolation, credential management, and monitoring security events.

Kafka Topics

A topic is a named, durable stream of messages in Kafka — the logical category or feed where producers write and consumers read.

Liskov Substitution Principle

If class `B` extends class `A`, then anywhere you use `A`, you should be able to swap in `B` without anything breaking.

Message Ordering with Partition Keys

Kafka guarantees **total ordering within a partition**. Messages written to the same partition are always consumed in the exact order they were produced.

Open/Closed Principle

Your class should be: - **Open for extension** → You can add new behavior - **Closed for modification** → You don't change existing, working code

OpenAPI & Swagger Fundamentals

Deep dive into the OpenAPI 3.x specification - document structure, components, JSON Schema 3.1, polymorphism with oneOf and discriminator, security schemes, callbacks and webhooks, Swagger UI/Editor/Codegen tooling, and common spec pitfalls.

pacs.004 — Payment Return

`pacs.004` is the **interbank payment return message**. It is sent by the **Creditor Bank back to the Debtor Bank** when a previously received `pacs.008`.

Partitions

A partition is an ordered, immutable sequence of records within a topic — the fundamental unit of parallelism, replication, and storage scaling in Kafka.

Permissioned Ledgers - Hyperledger Fabric, Corda, Besu

Enterprise blockchain - when to use a permissioned ledger vs a database, Hyperledger Fabric execute-order-validate, channels and private data, Corda UTXO and notaries, Besu, decision framework, and production concerns.

Processing and Ordering

Kafka guarantees ordering within a partition, but single-threaded processing limits throughput. This guide covers four patterns for achieving high throughput while preserving per-key ordering.

Producer Acknowledgements (acks)

The `acks` configuration controls how many broker acknowledgements the producer requires before considering a send successful, trading off throughput, latency, and durability.

Replication, ISR & Fault Tolerance

The replication factor defines how many copies of each partition exist across the cluster to guarantee fault tolerance and high availability.

Resource Modeling & HTTP Semantics

Senior API design - modeling resources from domain use-cases, PUT vs PATCH (merge patch vs JSON Patch), safe and idempotent methods, status code selection, conditional requests with ETag, long-running operations, bulk endpoints, and hypermedia trade-offs.

Scaling Partitions

Partitions are the unit of parallelism in Kafka. Scaling them is critical for throughput but can break ordering for keyed topics. This guide covers the mechanics, risks, and migration strategies.

Sharding, Rollups & Blockchain Scaling

Blockchain scalability - the trilemma, database-style sharding vs blockchain sharding, Ethereum danksharding, data availability sampling, optimistic and ZK rollups, state channels, sidechains, cross-shard atomicity, and bridge risks.

Single Responsibility Principle

Every class should do **exactly one thing** and do it well. If a class is handling multiple unrelated responsibilities, then it has multiple reasons to change.

Smart Contract Security & Design Patterns

Solidity security for senior engineers - reentrancy, checks-effects-interactions, oracle manipulation, access control, upgradeable proxies, signature replay, integer handling, invariants and fuzzing, and audit workflow.

Spring Boot + springdoc-openapi (Code-First Swagger)

Generate and govern OpenAPI specs from Spring Boot 3 with springdoc-openapi - annotations, groups, security schemes, polymorphism, Pageable, global error responses, customizers, exporting the spec in CI, and production pitfalls.

Summary & Cheat Sheet

Congratulations! You've learned all 5 SOLID principles. Here's everything at a glance.

Testing in Banking & Payments

Testing in banking is **high-stakes** — a defect in a payment system can result in customer funds lost, duplicate payments, regulatory breaches, or system.

Understanding bootstrap.yml in Spring Boot

A comprehensive guide to bootstrap.yml in Spring Boot — covering the bootstrap context lifecycle, configuration server integration, spring.config.import evolution in Spring Boot 2.4+, and senior deep dives on pitfalls.

What Is a Blockchain? (Beginner Guide)

Beginner-friendly but technically accurate explanation of blocks, hashes, nodes, wallets, transactions, mining, smart contracts, and the difference between blockchain, crypto, and Web3.