Skip to main content

69 docs tagged with "technical-knowledge"

View all tags

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.

Cards & Card Schemes

**Payment cards** (debit and credit) are one of the most widely used payment methods globally. They operate on **card schemes** — networks that define rules.

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.

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.

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 rebase — Replaying Commits

`git rebase` moves or replays a sequence of commits onto a new base. It rewrites commit history by creating **new commits** with the same changes but different.

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.

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.

Kafka Broker

A **broker** is a single Kafka server. It receives messages from producers, stores them on disk, and serves them to consumers. A Kafka **cluster** consists of.

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 Knowledge Base

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

Kafka Producer

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

Kafka Streams

**Kafka Streams** is a client library for building **stream processing applications** directly on top of Kafka. Unlike batch processing (Spark, Flink running.

Kafka Topics

A **topic** is a named, durable stream of messages in Kafka. Think of it as a 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

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 (a log) within a topic. Each partition lives on exactly one broker at a time (as leader) and.

Producer Acknowledgements (acks)

The `acks` configuration controls **how many broker acknowledgements the producer requires before considering a send successful**. It directly trades off.

Schema Registry

**Schema Registry** is a centralized repository for managing and validating schemas for Kafka messages. It ensures that producers and consumers agree on the.

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.

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.