Learning Hub

Search

Find articles by keyword, tag, or category.

110 results

A Practical Development Workflow with Coding Agents

Use coding agents safely from repository inspection through focused implementation, verification, and review.

10 min readcoding-agentssoftware-developmentgittesting

AI Agent Fundamentals: From Goal to Verified Result

Understand the agent loop, the role of tools and memory, and the controls that turn model output into verified work.

10 min readai-agentsarchitecturetoolscontext

CI/CD with GitHub Actions

Automate testing and deployment with a GitHub Actions workflow.

10 min readci-cdgithub-actions

Data Pipeline and Migration Quality

How to validate data pipelines and migrations so a successful job run also means the business data is correct.

3 min readtestingdata-qualitymigration

Designing Reliable AI Agent Workflows

Turn an AI-assisted business process into a bounded, reviewable workflow with evidence, approvals, and safe stopping conditions.

9 min readai-agentsworkflowgovernanceautomation

Getting Started with Next.js

Set up a Next.js project from scratch and understand the App Router.

6 min readnext.jsreactbeginner

Hands-on Playwright Starter

A hands-on start with Microsoft Playwright for a small set of critical, maintainable browser test journeys.

5 min readtestingplaywrighte2e

Intro to Prompt Engineering

Core techniques for writing effective prompts for LLMs.

8 min readllmpromptingbeginner

Layered Test Architecture

A layered test architecture that proves risk at the lowest effective level, from static checks to selective end-to-end tests.

4 min readtestingtest-architectureautomation

Modern Quality and Test Strategy

A practical, risk-driven wiki for testing software, data, AI, security, performance, and production releases.

4 min readtestingqarisk-management

Performance, Security, Resilience, and Production

Tying performance, security, and resilience testing to realistic workloads, explicit objectives, and observable production behavior.

4 min readtestingperformancesecurityresilience

Risk Model and Release Governance

How to identify critical business journeys, tier risk, and drive release decisions from evidence rather than pass rate alone.

3 min readtestingrisk-managementrelease-process

Testing AI and RAG Features

How to test a full AI/RAG system — retrieval, prompts, guardrails, and evaluation — not just the model's final answer.

4 min readtestingairag

Databases Roadmap: Store, Find, and Protect Information

Understand database choices without jargon, then practise modeling and querying a small product.

11 min readdatabase-foundationssqlnosqldata-modelingroadmap

DevOps Roadmap: From Code Change to Reliable Service

See DevOps as one feedback loop, then practise the tools in the order they become useful.

13 min readdevops-foundationslinuxdockerci-cdobservabilityroadmap

System Design Roadmap: From Requirements to Reliable Architecture

Learn system design as a sequence of decisions, using a small learning platform as the running example.

13 min readsystem-design-foundationsarchitecturescalabilityreliabilityroadmap

Web Development Roadmap: From Browser to Deployment

A beginner-friendly map of how websites work, what to learn first, and how to practise by building one small product.

12 min readweb-foundationsfrontendbackendapisroadmap

AI Overview

Artificial intelligence is a family of systems that infer useful outputs from data rather than following only hand-written rules. A practical AI product combines a model with context, tools, evaluation, safeguards, and human ownership.

6 min readfoundationspracticebeginner-friendly

Build a realistic learning plan

A realistic learning plan connects a concrete outcome to small projects, spaced practice, feedback, and evidence within the time and energy you actually have.

6 min readlearningpracticebeginner-friendly

DevOps lifecycle and team responsibilities

DevOps is a feedback-oriented way of delivering and operating software, not a job title or toolchain. Product, development, security, and operations share responsibility from planning through production learning.

6 min readdevops-foundationspracticebeginner-friendly

Functional vs non-functional requirements

Functional requirements describe behavior users need; non-functional requirements define qualities and constraints such as latency, accessibility, security, capacity, and recovery.

6 min readsystem-design-foundationspracticebeginner-friendly

How a website works: browser, server, DNS, and HTTPS

A browser resolves a domain through DNS, opens a protected connection with HTTPS, sends an HTTP request, receives resources from a server or CDN, and renders them while JavaScript may request more data.

6 min readweb-foundationspracticebeginner-friendly

How websites, apps, and cloud services fit together

A website is the browser-facing interface, an application contains the behavior and rules, and cloud services provide rented compute, storage, networking, and managed capabilities. They are layers, not competing products.

6 min readdigital-foundationspracticebeginner-friendly

Project, program, product, and engineering management

Project management coordinates a temporary delivery, program management aligns related initiatives, product management maximizes customer and business outcomes, and engineering management builds the technical team and system.

6 min readengineering-deliverypracticebeginner-friendly

Software Testing Roadmap

Testing builds confidence by checking risks at the cheapest useful level: static checks, focused unit tests, integration and contract tests, a few critical end-to-end journeys, and production signals.

6 min readfoundationspracticebeginner-friendly

Why databases exist

Databases provide durable shared state plus controlled reads, writes, concurrency, constraints, recovery, and querying—problems that ordinary files alone do not solve safely at scale.

6 min readdatabase-foundationspracticebeginner-friendly

Files, folders, URLs, accounts, and permissions

Files hold information, folders organize it, URLs locate resources, accounts identify people, and permissions decide what each identity may do. Keeping these roles separate prevents many everyday security mistakes.

6 min readdigital-foundationspracticebeginner-friendly

High-level design vs low-level design

High-level design explains system boundaries, data flow, dependencies, and major tradeoffs; low-level design specifies components, interfaces, data models, algorithms, and failure handling.

6 min readsystem-design-foundationspracticebeginner-friendly

Large language models in plain language

A large language model predicts plausible token sequences from patterns learned during training. It can manipulate language impressively, but it is not a database of guaranteed facts or a person with intentions.

6 min readai-foundationspracticebeginner-friendly

Learn by creating small projects

Small projects turn passive knowledge into retrieval, decisions, debugging, and visible evidence. Scope should fit days, have one user journey, and finish with reflection.

6 min readlearningpracticebeginner-friendly

Linux command-line survival guide

The command line becomes safer when you always know the current directory, preview targets, quote paths, read help, and prefer reversible operations. Commands compose through files, streams, pipes, and exit codes.

6 min readdevops-foundationspracticebeginner-friendly

Tables, documents, keys, indexes, and transactions

Tables organize related rows, documents group nested fields, keys identify and connect records, indexes accelerate selected access paths, and transactions protect multi-step invariants.

6 min readdatabase-foundationspracticebeginner-friendly

Turn an idea into outcomes, milestones, and tasks

An idea becomes executable when desired user outcomes and measures lead to testable milestones, which are then decomposed into owned tasks with dependencies and completion evidence.

6 min readengineering-deliverypracticebeginner-friendly

Web terminology without jargon

Web vocabulary becomes manageable when grouped by journey: a client resolves a domain through DNS, opens a network connection, sends an HTTP request, receives a response, and renders resources identified by URLs.

6 min readweb-foundationspracticebeginner-friendly

Choose SQL or NoSQL with a decision tree

Choose a database from access patterns, consistency, relationships, scale, operational skills, and change needs—not fashion. SQL and NoSQL are broad families with overlapping capabilities.

6 min readdatabase-foundationspracticebeginner-friendly

Estimate traffic, storage, and bandwidth

A capacity estimate converts product assumptions into requests per second, concurrency, stored bytes, and network throughput. Ranges and peak factors are more honest than false precision.

6 min readsystem-design-foundationspracticebeginner-friendly

How to follow a technical tutorial safely

A technical tutorial is a hypothesis to test, not a script to trust blindly. Check the author, date, versions, requested permissions, and every command before running it.

6 min readdigital-foundationspracticebeginner-friendly

HTML: structure a useful page

HTML describes meaning and structure: headings form an outline, landmarks divide regions, links navigate, buttons perform actions, and labels connect controls to instructions. Semantic markup gives browsers and assistive technology useful information before CSS.

6 min readweb-foundationspracticebeginner-friendly

Keep a knowledge system that you actually use

A sustainable knowledge system has one trusted capture point, small notes in your own words, links to evidence, lightweight review, and regular conversion into decisions or practice.

6 min readlearningpracticebeginner-friendly

Networking essentials: IP, DNS, ports, and firewalls

An IP address identifies a network endpoint, DNS maps names to records, ports distinguish services on a host, and firewalls allow or deny traffic by policy. Debug them layer by layer.

6 min readdevops-foundationspracticebeginner-friendly

Prioritization and risk management

Prioritization chooses the most valuable next work under constraints; risk management identifies uncertainty, likelihood, impact, signals, prevention, contingency, and owner.

6 min readengineering-deliverypracticebeginner-friendly

Retrieval-augmented generation

Retrieval-augmented generation first finds relevant source passages and then asks a generative model to answer with that context. Retrieval improves grounding, but poor chunks, search, permissions, or evaluation still produce unreliable answers.

6 min readai-foundationspracticebeginner-friendly

AI for coding, testing, delivery, and project management

AI can accelerate software work by drafting code, tests, summaries, plans, and risk lists, but it should operate inside explicit context, review, security, and verification boundaries.

6 min readapplied-aipracticebeginner-friendly

Build a portfolio around evidence, not buzzwords

A strong portfolio proves how you think and deliver: a clear problem, constraints, decisions, working result, tests, tradeoffs, and reflection. Tool names alone prove little.

6 min readcareerpracticebeginner-friendly

CSS: make the page readable and responsive

Readable CSS establishes a clear type scale, comfortable line length, sufficient contrast, consistent spacing, and layouts that adapt from narrow to wide screens. Responsive design follows content needs, not a list of device names.

6 min readweb-foundationspracticebeginner-friendly

Git workflow and branching strategies

A branching strategy controls integration risk. Most teams benefit from a protected main branch, short-lived feature branches, automated checks, small pull requests, and releases derived from known commits.

6 min readdevops-foundationspracticebeginner-friendly

Model a small shop database

A useful data model represents business facts, identities, relationships, constraints, and lifecycle—not merely screen fields. Start from questions the system must answer.

6 min readdatabase-foundationspracticebeginner-friendly

Monolith, modular monolith, and microservices

A monolith deploys as one unit, a modular monolith enforces internal boundaries within that unit, and microservices deploy bounded capabilities independently. Team and operational needs should drive the choice.

6 min readarchitecturepracticebeginner-friendly

Use AI for planning without outsourcing judgment

AI can generate options, questions, decompositions, and critiques, but you remain accountable for goals, private data, factual verification, tradeoffs, decisions, and monitoring.

6 min readengineering-deliverypracticebeginner-friendly

What AI can and cannot do

AI is strong at transforming patterns—summarizing, classifying, drafting, and generating options—but it does not automatically know current facts, intent, accountability, or whether an answer is safe in your context.

6 min readai-for-everyonepracticebeginner-friendly

Documentation and decision records

Useful documentation helps a named reader complete a task or understand a decision. An architecture decision record captures context, options, choice, consequences, and status.

6 min readengineering-teamspracticebeginner-friendly

Explain technical work to non-technical people

A useful non-technical explanation starts with user or business impact, uses one stable analogy, shows evidence, states uncertainty, and ends with a decision or next action.

6 min readcareerpracticebeginner-friendly

JavaScript: add behavior and state

JavaScript responds to events, transforms data, updates state, and reflects state back into the interface. Keeping a single source of truth prevents the screen and underlying data from disagreeing.

6 min readweb-foundationspracticebeginner-friendly

Prompting for research, writing, planning, and learning

A useful prompt states the outcome, audience, context, constraints, evidence standard, and output format. Iteration matters more than finding one magical phrase.

6 min readai-for-everyonepracticebeginner-friendly

Read data with SELECT

SELECT turns a data question into a reproducible result by naming columns, source, conditions, ordering, and limits. Correctness matters before cleverness.

6 min readsqlpracticebeginner-friendly

Shell and YAML automation

Shell expresses executable steps; YAML usually describes configuration consumed by another tool. Reliable automation pins assumptions, quotes data, fails clearly, validates configuration, and is safe to rerun.

6 min readdevops-foundationspracticebeginner-friendly

Stateful vs stateless services

A stateless service can handle the next request on any equivalent instance using external state; a stateful service owns durable or session state that affects placement, scaling, and recovery.

6 min readarchitecturepracticebeginner-friendly

Docker from image to running container

A container image is an immutable package of filesystem layers and metadata; a container is a running instance with a writable layer, process, network, and configured resources.

6 min readdockerpracticebeginner-friendly

Event-driven and pub/sub architecture

In event-driven systems, producers publish facts that happened and consumers react independently. Pub/sub reduces direct coupling but introduces retries, ordering, duplication, and observability work.

6 min readarchitecturepracticebeginner-friendly

Filter, sort, group, and join

Filtering selects rows, sorting orders results, grouping summarizes sets, and joining combines related tables. Query correctness begins with expected rows before syntax.

6 min readsqlpracticebeginner-friendly

Healthy reviews, feedback, and retrospectives

Healthy review separates the work from the person, ties feedback to shared goals and evidence, invites questions, and tracks improvements. Retrospectives improve systems rather than assign blame.

6 min readengineering-teamspracticebeginner-friendly

Prepare for interviews without memorizing everything

Interview preparation should build recall and problem-solving under realistic constraints: explain fundamentals, clarify ambiguity, make tradeoffs, test, and reflect—not memorize perfect scripts.

6 min readcareerpracticebeginner-friendly

Verify AI output: a non-technical fact-checking workflow

AI output should be treated as a draft claim set. Break it into checkable statements, prioritize high-impact claims, trace them to primary evidence, and record what remains uncertain.

6 min readai-for-everyonepracticebeginner-friendly

What a backend does

A backend enforces business rules, coordinates data and external services, authenticates requests, and returns results through an interface such as an API. It protects invariants that cannot be trusted to browser code.

6 min readbackendpracticebeginner-friendly

Choose a server-side language

Choose a server-side language from constraints: team skill, ecosystem, runtime needs, libraries, operations, and hiring—not from benchmark headlines alone. Several mainstream choices can solve the same product problem well.

6 min readbackendpracticebeginner-friendly

Create and change data safely

Safe INSERT, UPDATE, and DELETE work starts with constraints and a narrow selection, runs inside a transaction when appropriate, and verifies affected rows before commit.

6 min readsqlpracticebeginner-friendly

Dockerfile and Compose practice project

A Dockerfile defines one reproducible image; Compose defines how multiple containers, networks, volumes, health checks, and environment values run together for a development or test stack.

6 min readdockerpracticebeginner-friendly

Metrics that help instead of harm

A healthy metric supports a decision, is close to an outcome, has context and counter-metrics, and is hard to improve by making the real goal worse.

6 min readengineering-teamspracticebeginner-friendly

Privacy checklist before sharing data with AI

Privacy-aware AI use starts by minimizing data: share only what the task requires, remove identifiers, understand retention, and prefer approved tools for confidential work.

6 min readai-for-everyonepracticebeginner-friendly

Serverless architecture

Serverless runs functions or managed services on demand while the provider handles much of the infrastructure. You still own code, data, permissions, cost behavior, observability, and recovery.

6 min readarchitecturepracticebeginner-friendly

Build a small HTTP server

An HTTP server listens on a port, parses requests, routes method-plus-path pairs, runs application logic, and returns a status, headers, and body. Start with one health route before adding frameworks or databases.

6 min readbackendpracticebeginner-friendly

Kubernetes architecture, pods, deployments, and services

Kubernetes reconciles declared desired state. The control plane stores and schedules intent; nodes run Pods; Deployments manage replicated rollout; Services provide stable discovery across changing Pods.

6 min readdockerpracticebeginner-friendly

SQL practice set with answers

SQL practice works best when each exercise begins with an expected result and ends by comparing an alternative query, edge cases, and an execution plan.

6 min readsqlpracticebeginner-friendly

Vertical vs horizontal scaling

Vertical scaling gives one machine more resources; horizontal scaling adds machines. The second needs distribution, coordination, and state design, so it is not automatically better.

6 min readscale-and-reliabilitypracticebeginner-friendly

Authentication and sessions

Authentication proves who a user is; a session remembers that proof across requests. A secure session uses an unpredictable identifier, server-side expiry, protected cookies, and explicit logout or revocation.

6 min readbackendpracticebeginner-friendly

Availability, reliability, and fault tolerance

Availability measures whether a service can be used, reliability measures correct behavior over time, and fault tolerance is the design ability to continue when a component fails.

6 min readscale-and-reliabilitypracticebeginner-friendly

Kubernetes configuration, secrets, ingress, and RBAC

ConfigMaps hold non-secret configuration, Secrets carry sensitive values with careful handling, Ingress routes external HTTP traffic, and RBAC grants identities only the Kubernetes API actions they need.

6 min readdockerpracticebeginner-friendly

MySQL starter project

A MySQL starter becomes valuable when schema constraints, repeatable seed data, transactions, queries, and cleanup are versioned together.

6 min readmysqlpracticebeginner-friendly

APIs explained with a restaurant analogy

An API is a contract for asking another system to do something or return data. In the restaurant analogy, the menu defines allowed requests, the waiter carries them, and the kitchen performs hidden implementation work.

6 min readapispracticebeginner-friendly

Build a CI pipeline step by step

Continuous integration gives every change the same reproducible checks before merge. A useful pipeline starts small—locked install, formatting or lint, types, tests, content validation, and build—then adds only checks that catch real risk.

6 min readci-cdpracticebeginner-friendly

CAP theorem with a practical example

CAP says that during a network partition, a distributed system must choose between always returning a response and guaranteeing every response reflects the latest successful write. It does not mean choosing only two properties forever.

6 min readscale-and-reliabilitypracticebeginner-friendly

PostgreSQL starter project

A PostgreSQL starter should make constraints, migrations, transactions, query plans, and reproducibility visible from the first small project.

6 min readmysqlpracticebeginner-friendly

Deployment strategies and safe rollback

Deployment strategy controls how a new version receives traffic and how quickly risk can be contained. Rolling, blue-green, and canary releases trade infrastructure cost, speed, observability, and blast radius.

6 min readci-cdpracticebeginner-friendly

JSON and XML

JSON represents objects and arrays with a small syntax optimized for common application data; XML represents nested elements and attributes with namespaces and richer document-oriented tooling. Choose from the receiving contract, not personal taste.

6 min readapispracticebeginner-friendly

Load balancing and consistent hashing

A load balancer distributes requests across healthy targets; consistent hashing keeps most key-to-node assignments stable when nodes change, which helps partitioned caches and stateful routing.

6 min readscale-and-reliabilitypracticebeginner-friendly

MongoDB starter project

A MongoDB starter should teach document boundaries, embedding versus references, indexes, validation, and observable queries—not only connection setup.

6 min readmysqlpracticebeginner-friendly

Build and call a REST API

A REST-style API models resources with stable URLs, uses HTTP methods for intent, returns meaningful status codes, and keeps requests self-contained. Consistency is more valuable than chasing architectural purity.

6 min readapispracticebeginner-friendly

Compare MySQL, PostgreSQL, and MongoDB

MySQL and PostgreSQL are relational databases with SQL and transactions; MongoDB stores BSON documents with flexible nesting. Compare concrete workload fit, guarantees, tooling, and team experience.

6 min readmysqlpracticebeginner-friendly

Replication, sharding, and partitioning

Replication copies data; partitioning divides it; sharding commonly means application-visible horizontal partitions across database nodes. Clear terminology matters more than labels.

6 min readsystem-data-performancepracticebeginner-friendly

Terraform fundamentals and modules

Terraform compares declarative configuration with recorded state and provider APIs to plan infrastructure changes. Modules package a coherent interface, but state, versioning, review, and lifecycle rules determine operational safety.

6 min readci-cdpracticebeginner-friendly

Cloud fundamentals without vendor lock-in

Cloud computing rents programmable compute, storage, networking, identity, and managed services. Vendor-neutral design begins with workload requirements and portable concepts, then accepts provider-specific features deliberately where their value exceeds switching cost.

6 min readci-cdpracticebeginner-friendly

Handle errors, pagination, and rate limits

Robust API clients classify errors, bound retries, paginate until a documented stopping signal, and respect rate-limit headers. Retrying everything blindly can amplify an outage.

6 min readapispracticebeginner-friendly

Indexes and query performance

An index is an additional ordered data structure that can reduce reads for matching access patterns at the cost of storage and slower writes. Execution plans show whether it helps.

6 min readdatabase-operationspracticebeginner-friendly

Latency, throughput, and bottlenecks

Latency is time per operation, throughput is completed work per time, and a bottleneck is the constrained resource that currently limits the system. Improving one metric can worsen another.

6 min readsystem-data-performancepracticebeginner-friendly

Backup and restore

A backup is only a candidate for recovery until a restore proves it is complete, readable, timely, and independent of the original failure. Recovery point and recovery time objectives make expectations measurable.

6 min readdatabase-operationspracticebeginner-friendly

Caching and cache invalidation

A cache trades freshness and complexity for lower latency and load. A safe design states the cache key, owner, lifetime, invalidation event, and behavior on a miss or stale value.

6 min readsystem-data-performancepracticebeginner-friendly

Git and GitHub for a small web project

Git records snapshots and branches locally; GitHub hosts the repository and adds collaboration, review, automation, and access controls. A small project needs a simple history more than an elaborate branching model.

6 min readweb-deliverypracticebeginner-friendly

Logs, metrics, and traces

Logs describe discrete events, metrics summarize numeric behavior over time, and traces connect work across service boundaries. Together they help answer what happened, how much, where, and for whom.

6 min readobservabilitypracticebeginner-friendly

CDN, edge, proxy, and API gateway

A CDN serves cacheable content near users, an edge layer runs limited logic near the network boundary, a reverse proxy routes and protects origins, and an API gateway applies API-specific policies.

6 min readsystem-data-performancepracticebeginner-friendly

Deploy a website from a repository

Git-based deployment connects a reviewed commit to a reproducible build and an environment. The host checks out the commit, installs locked dependencies, runs validation, publishes artifacts, and preserves logs for rollback.

6 min readweb-deliverypracticebeginner-friendly

Prometheus and Grafana starter lab

Prometheus scrapes and stores labeled time-series metrics; Grafana queries data sources and presents dashboards and alerts. A useful lab begins with a few service-level signals, not hundreds of panels.

6 min readobservabilitypracticebeginner-friendly

Replication and partitioning

Replication keeps copies of data for availability and read scale; partitioning divides a dataset for capacity and throughput. Each adds coordination and failure modes.

6 min readdatabase-operationspracticebeginner-friendly

Alerts, service-level objectives, and incident response

An SLO states a reliability target for a user-visible service indicator; alerts should fire on meaningful risk to that objective; incident response restores service, communicates, and learns without blame.

6 min readobservabilitypracticebeginner-friendly

Canvas vs SVG

Canvas paints pixels into one bitmap-like surface; SVG keeps shapes as DOM elements. Canvas suits dense, frequently redrawn scenes, while SVG suits scalable diagrams and individually interactive objects.

6 min readweb-deliverypracticebeginner-friendly

Queues, rate limiting, and backpressure

Queues absorb bursts, rate limits protect finite capacity, and backpressure tells producers to slow down. Together they bound work instead of hiding overload until failure.

6 min readsystem-data-performancepracticebeginner-friendly

SOLID, DRY, KISS, and YAGNI

SOLID guides change-friendly responsibilities and dependencies; DRY reduces harmful duplication; KISS favors understandable designs; YAGNI delays speculative capability. These are lenses, not absolute laws.

6 min readlow-level-designpracticebeginner-friendly

UML for communicating a design

UML is a shared visual vocabulary. Use the smallest diagram that answers a question: class for structure, sequence for interaction over time, state for lifecycle, and component for boundaries.

6 min readlow-level-designpracticebeginner-friendly

Design patterns through one small application

A design pattern names a recurring design tradeoff and arrangement of responsibilities; it is useful when the forces match, not as decoration for simple code.

6 min readlow-level-designpracticebeginner-friendly

Authentication, authorization, TLS, and disaster recovery

Authentication proves identity, authorization limits actions, TLS protects data in transit, and disaster recovery restores service and data after a severe failure. These controls cover different risks and must be tested together.

6 min readlow-level-designpracticebeginner-friendly

Test a distributed system

Distributed-system tests must cover boundaries and time: retries, duplicates, delay, reordering, partial failure, clock assumptions, and recovery—not only happy-path responses.

6 min readlow-level-designpracticebeginner-friendly