<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Home on Roham</title><link>https://justroham.ir/</link><description>Recent content in Home on Roham</description><generator>Hugo -- 0.153.3</generator><language>en</language><lastBuildDate>Tue, 27 Oct 2026 10:00:00 +0330</lastBuildDate><atom:link href="https://justroham.ir/index.xml" rel="self" type="application/rss+xml"/><item><title>Getting started with Go: install, modules, tooling</title><link>https://justroham.ir/posts/go-getting-started/</link><pubDate>Tue, 27 Oct 2026 10:00:00 +0330</pubDate><guid>https://justroham.ir/posts/go-getting-started/</guid><description>Install Go, create your first module with go mod init, and learn the everyday commands: run, build, fmt, vet, test and mod tidy.</description></item><item><title>Go Blocks Eight eMudhra Intermediates: CVE-2026-111943 and Why You Must Rebuild</title><link>https://justroham.ir/posts/go-x509-emudhra-distrusted-intermediates-cve-2026-111943/</link><pubDate>Mon, 26 Oct 2026 08:00:00 +0330</pubDate><guid>https://justroham.ir/posts/go-x509-emudhra-distrusted-intermediates-cve-2026-111943/</guid><description>Go 1.26.10 and 1.27.3 block eight compromised eMudhra (emSign) intermediates in crypto/x509. What the fix does, why old binaries stay exposed, how to check</description></item><item><title>Multiple workers on one consumer and monitoring lag in JetStream</title><link>https://justroham.ir/posts/nats-jetstream-scaling-lag/</link><pubDate>Sun, 25 Oct 2026 10:00:00 +0330</pubDate><guid>https://justroham.ir/posts/nats-jetstream-scaling-lag/</guid><description>Scale processing by running several workers on one durable JetStream consumer, see what happens when one crashes, and monitor lag with ConsumerInfo.</description></item><item><title>Critical GitLab Flaw (CVSS 10): Unauthenticated RCE, CVE-2026-110264</title><link>https://justroham.ir/posts/gitlab-critical-rce-cve-2026-110264/</link><pubDate>Fri, 23 Oct 2026 10:00:00 +0330</pubDate><guid>https://justroham.ir/posts/gitlab-critical-rce-cve-2026-110264/</guid><description>CVE-2026-110264 in GitLab CE/EE scores 10 out of 10 and can lead to unauthenticated code execution. Affected and fixed versions, plus what to do right now.</description></item><item><title>Critical PHP RCE Vulnerability: CVE-2026-109618</title><link>https://justroham.ir/posts/php-critical-rce-cve-2026-109618/</link><pubDate>Thu, 22 Oct 2026 10:00:00 +0330</pubDate><guid>https://justroham.ir/posts/php-critical-rce-cve-2026-109618/</guid><description>NCSC alert on two critical PHP vulnerabilities (CVSS 9.2, CVE-2026-109618 and CVE-2026-109619): affected and fixed versions, plus what to do right now.</description></item><item><title>Retry and Dead-Letter Queues in NATS JetStream with Go</title><link>https://justroham.ir/posts/nats-jetstream-retry-dlq/</link><pubDate>Sun, 18 Oct 2026 14:00:00 +0330</pubDate><guid>https://justroham.ir/posts/nats-jetstream-retry-dlq/</guid><description>A follow-up: retry failed messages with MaxDeliver and BackOff, then route the ones that never succeed to a dead-letter stream.</description></item><item><title>A Simple Publisher and Worker with NATS JetStream in Go</title><link>https://justroham.ir/posts/nats-jetstream-go/</link><pubDate>Sun, 18 Oct 2026 12:00:00 +0330</pubDate><guid>https://justroham.ir/posts/nats-jetstream-go/</guid><description>Building a pair of Go services with Docker Compose and NATS JetStream that process messages through a durable consumer.</description></item><item><title>About Me</title><link>https://justroham.ir/about/</link><pubDate>Mon, 29 Dec 2025 00:00:00 +0000</pubDate><guid>https://justroham.ir/about/</guid><description>About Roham, a senior software engineer in Tehran working with Go, Node.js and event-driven systems (Kafka, NATS JetStream).</description></item><item><title>My First Post</title><link>https://justroham.ir/posts/first-post/</link><pubDate>Mon, 29 Dec 2025 00:02:08 +0330</pubDate><guid>https://justroham.ir/posts/first-post/</guid><description>Welcome to my personal blog: why I created this site, to share experiences and knowledge, keep learning and connect with people who share my interests.</description></item><item><title>__slots__</title><link>https://justroham.ir/glossary/slots/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/slots/</guid><description>A class option that fixes the attribute names up front so instances store them without a per-instance &lt;strong&gt;dict&lt;/strong&gt;, saving memory and blocking new attributes.</description></item><item><title>.gitignore</title><link>https://justroham.ir/glossary/gitignore/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/gitignore/</guid><description>a file of patterns telling Git which untracked files to leave alone.</description></item><item><title>A*</title><link>https://justroham.ir/glossary/a-star/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/a-star/</guid><description>Dijkstra guided by a heuristic estimate of the remaining cost, so fewer nodes are expanded.</description></item><item><title>ABI</title><link>https://justroham.ir/glossary/abi/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/abi/</guid><description>Application Binary Interface: the binary-level contract (calling convention, type layout, symbol names) between compiled code.</description></item><item><title>AbortController</title><link>https://justroham.ir/glossary/abort-controller/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/abort-controller/</guid><description>A standard object that signals cancellation to async operations through its AbortSignal.</description></item><item><title>ACID</title><link>https://justroham.ir/glossary/acid/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/acid/</guid><description>The four guarantees of a transaction: Atomicity, Consistency, Isolation, Durability.</description></item><item><title>Acknowledgement (ack)</title><link>https://justroham.ir/glossary/acknowledgement/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/acknowledgement/</guid><description>The consumer&amp;rsquo;s reply to JetStream: ack (done), nak (retry), term (never retry).</description></item><item><title>AckWait</title><link>https://justroham.ir/glossary/ack-wait/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/ack-wait/</guid><description>How long JetStream waits for an ack before it redelivers a message.</description></item><item><title>ACME</title><link>https://justroham.ir/glossary/acme/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/acme/</guid><description>A protocol that lets software request and renew certificates from a CA automatically.</description></item><item><title>AddressSanitizer</title><link>https://justroham.ir/glossary/addresssanitizer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/addresssanitizer/</guid><description>A compiler-inserted runtime checker (ASan) that reports out-of-bounds access, use-after-free and double free.</description></item><item><title>Adjacency list</title><link>https://justroham.ir/glossary/adjacency-list/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/adjacency-list/</guid><description>A graph representation that stores, for every vertex, the list of its neighbours. It uses memory proportional to V + E and suits sparse graphs.</description></item><item><title>ADR</title><link>https://justroham.ir/glossary/adr/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/adr/</guid><description>Architecture Decision Record: a short, numbered note saying what was decided, why, and with what trade-offs.</description></item><item><title>Advisory lock</title><link>https://justroham.ir/glossary/advisory-lock/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/advisory-lock/</guid><description>An application-defined lock on a number; the database enforces it but attaches no meaning to it.</description></item><item><title>AEAD</title><link>https://justroham.ir/glossary/aead/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/aead/</guid><description>Authenticated encryption with associated data: one operation that gives confidentiality and tamper detection.</description></item><item><title>AES-GCM</title><link>https://justroham.ir/glossary/aes-gcm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/aes-gcm/</guid><description>An authenticated encryption mode: it hides the data and detects any change to it.</description></item><item><title>Aggregate</title><link>https://justroham.ir/glossary/aggregate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/aggregate/</guid><description>A cluster of objects changed as one unit, with a root that enforces its rules.</description></item><item><title>AggregateError</title><link>https://justroham.ir/glossary/aggregate-error/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/aggregate-error/</guid><description>An error that bundles several errors, e.g. what Promise.any rejects with.</description></item><item><title>Alert fatigue</title><link>https://justroham.ir/glossary/alert-fatigue/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/alert-fatigue/</guid><description>When too many false alerts make people ignore or mute the real ones.</description></item><item><title>Allow-list</title><link>https://justroham.ir/glossary/allow-list/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/allow-list/</guid><description>A list of the only values accepted, with everything else rejected by default.</description></item><item><title>ALPN</title><link>https://justroham.ir/glossary/alpn/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/alpn/</guid><description>Application-Layer Protocol Negotiation: TLS picks the protocol, such as h2 or http/1.1.</description></item><item><title>Amortized analysis</title><link>https://justroham.ir/glossary/amortized-analysis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/amortized-analysis/</guid><description>Cost per operation averaged over a whole sequence of operations. An append that sometimes copies everything is still O(1) amortized if the expensive copies are rare enough.</description></item><item><title>Annotated tag</title><link>https://justroham.ir/glossary/annotated-tag/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/annotated-tag/</guid><description>a tag stored as its own object with a message, author and date.</description></item><item><title>Anti-corruption layer</title><link>https://justroham.ir/glossary/anti-corruption-layer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/anti-corruption-layer/</guid><description>A translation layer that keeps another system&amp;rsquo;s model from leaking into yours.</description></item><item><title>Anti-entropy</title><link>https://justroham.ir/glossary/anti-entropy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/anti-entropy/</guid><description>A background process that compares replicas and copies the differences, whether or not anyone reads the data.</description></item><item><title>API contract</title><link>https://justroham.ir/glossary/api-contract/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/api-contract/</guid><description>The written agreement about what an API accepts and returns, which both client and server must keep.</description></item><item><title>Arbitrary precision</title><link>https://justroham.ir/glossary/arbitrary-precision/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/arbitrary-precision/</guid><description>An integer type whose size grows as needed, so results never overflow. Python&amp;rsquo;s int works this way.</description></item><item><title>argon2</title><link>https://justroham.ir/glossary/argon2/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/argon2/</guid><description>A modern password hashing function whose cost is set by time, memory and parallelism; argon2id is the usual variant.</description></item><item><title>argparse</title><link>https://justroham.ir/glossary/argparse/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/argparse/</guid><description>The standard-library module that parses command-line arguments, generates &amp;ndash;help and exits with code 2 on bad usage.</description></item><item><title>async/await</title><link>https://justroham.ir/glossary/async-await/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/async-await/</guid><description>Syntax that lets you write code on top of promises as if it were sequential.</description></item><item><title>At-least-once delivery</title><link>https://justroham.ir/glossary/at-least-once-delivery/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/at-least-once-delivery/</guid><description>The broker delivers every message one or more times, never zero, so duplicates are possible.</description></item><item><title>Atomic commit</title><link>https://justroham.ir/glossary/atomic-commit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/atomic-commit/</guid><description>A commit that contains one complete, logical change and nothing else.</description></item><item><title>Atomic write</title><link>https://justroham.ir/glossary/atomic-write/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/atomic-write/</guid><description>Writing a file so readers see either the old or the new content, never a half-written one.</description></item><item><title>Audit log</title><link>https://justroham.ir/glossary/audit-log/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/audit-log/</guid><description>A tamper-evident record of who did what to which object, when, from where, and with what result.</description></item><item><title>Authoritative server</title><link>https://justroham.ir/glossary/authoritative-server/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/authoritative-server/</guid><description>A DNS server that holds the real records of a zone and answers with the AA flag.</description></item><item><title>Authorization</title><link>https://justroham.ir/glossary/authorization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/authorization/</guid><description>Deciding what an already identified caller is allowed to do.</description></item><item><title>Authorization Code flow</title><link>https://justroham.ir/glossary/authorization-code-flow/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/authorization-code-flow/</guid><description>The OAuth2 flow where the browser carries only a short-lived code and the client swaps it for tokens on a back channel.</description></item><item><title>authorized_keys</title><link>https://justroham.ir/glossary/authorized-keys/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/authorized-keys/</guid><description>The server-side file listing public keys allowed to log in, with optional restrictions per key.</description></item><item><title>Autovacuum</title><link>https://justroham.ir/glossary/autovacuum/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/autovacuum/</guid><description>The PostgreSQL background worker that runs VACUUM and ANALYZE automatically when a table has enough changes.</description></item><item><title>AVL tree</title><link>https://justroham.ir/glossary/avl-tree/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/avl-tree/</guid><description>A binary search tree that keeps the heights of every node&amp;rsquo;s two subtrees within 1 of each other using rotations.</description></item><item><title>B-tree</title><link>https://justroham.ir/glossary/b-tree/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/b-tree/</guid><description>A balanced tree of fixed-size pages with sorted keys, the default index type in PostgreSQL.</description></item><item><title>Backfill</title><link>https://justroham.ir/glossary/backfill/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/backfill/</guid><description>Filling a new column for existing rows, in small batches so locks and transactions stay short.</description></item><item><title>Backing array</title><link>https://justroham.ir/glossary/backing-array/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/backing-array/</guid><description>The memory block a slice points into. Several slices can share one backing array, so a write through one can be seen through another.</description></item><item><title>Backpressure</title><link>https://justroham.ir/glossary/backpressure/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/backpressure/</guid><description>A signal from a slow consumer telling a fast producer to pause so buffers do not grow without limit.</description></item><item><title>Backtracking</title><link>https://justroham.ir/glossary/backtracking/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/backtracking/</guid><description>Building a solution step by step and undoing a step when it cannot lead to an answer.</description></item><item><title>bcrypt</title><link>https://justroham.ir/glossary/bcrypt/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/bcrypt/</guid><description>A password hashing function with a cost parameter and a built-in salt; it only uses the first 72 bytes of the password.</description></item><item><title>Bearer token</title><link>https://justroham.ir/glossary/bearer-token/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/bearer-token/</guid><description>A token that grants access to whoever holds it, sent as &lt;code&gt;Authorization: Bearer &amp;lt;token&amp;gt;&lt;/code&gt;.</description></item><item><title>Bellman-Ford</title><link>https://justroham.ir/glossary/bellman-ford/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/bellman-ford/</guid><description>Shortest paths that allow negative weights by relaxing every edge up to V times, at O(V·E).</description></item><item><title>Big-O</title><link>https://justroham.ir/glossary/big-o/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/big-o/</guid><description>An upper bound on how an algorithm&amp;rsquo;s cost grows with input size n, ignoring constants and lower-order terms.</description></item><item><title>Binary heap</title><link>https://justroham.ir/glossary/binary-heap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/binary-heap/</guid><description>A complete binary tree stored in a slice where every parent is not larger than its children; the minimum is always at index 0.</description></item><item><title>Binary search</title><link>https://justroham.ir/glossary/binary-search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/binary-search/</guid><description>A search that discards half of the remaining range at every step, in O(log n).</description></item><item><title>Binary search tree</title><link>https://justroham.ir/glossary/binary-search-tree/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/binary-search-tree/</guid><description>A tree where every node&amp;rsquo;s left subtree holds smaller keys and its right subtree larger ones.</description></item><item><title>Bipartite graph</title><link>https://justroham.ir/glossary/bipartite-graph/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/bipartite-graph/</guid><description>A graph whose vertices can be split into two groups so that every edge joins different groups. Equivalent to having no odd-length cycle.</description></item><item><title>Bitmap scan</title><link>https://justroham.ir/glossary/bitmap-scan/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/bitmap-scan/</guid><description>A plan that collects matching row locations from one or more indexes into a bitmap, then reads the table pages in order.</description></item><item><title>Blast radius</title><link>https://justroham.ir/glossary/blast-radius/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/blast-radius/</guid><description>how many users or requests a bad change can hurt.</description></item><item><title>Blob</title><link>https://justroham.ir/glossary/blob/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/blob/</guid><description>the Git object that stores the content of one file, with no name.</description></item><item><title>Bloom filter</title><link>https://justroham.ir/glossary/bloom-filter/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/bloom-filter/</guid><description>A bit-array structure that answers &amp;lsquo;definitely not present&amp;rsquo; or &amp;lsquo;maybe present&amp;rsquo;, never a false negative.</description></item><item><title>Blue/green deployment</title><link>https://justroham.ir/glossary/blue-green-deployment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/blue-green-deployment/</guid><description>Two identical releases side by side; traffic switches from the live one to the new one only after it is healthy.</description></item><item><title>Borrowing</title><link>https://justroham.ir/glossary/borrowing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/borrowing/</guid><description>Using a value through a reference without taking ownership of it.</description></item><item><title>Bounded context</title><link>https://justroham.ir/glossary/bounded-context/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/bounded-context/</guid><description>A boundary inside which one model and one language apply consistently.</description></item><item><title>Branch</title><link>https://justroham.ir/glossary/git-branch/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/git-branch/</guid><description>a movable pointer: a file holding one commit id.</description></item><item><title>Branch by abstraction</title><link>https://justroham.ir/glossary/branch-by-abstraction/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/branch-by-abstraction/</guid><description>replace code in small steps by hiding old and new behind one interface.</description></item><item><title>Branch protection</title><link>https://justroham.ir/glossary/branch-protection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/branch-protection/</guid><description>Hosting-platform rules that restrict how a branch such as main can be changed.</description></item><item><title>Breadth-first search</title><link>https://justroham.ir/glossary/bfs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/bfs/</guid><description>Visiting a tree or graph level by level, nearest nodes first, using a queue. It finds shortest paths in unweighted graphs.</description></item><item><title>Breaking change</title><link>https://justroham.ir/glossary/breaking-change/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/breaking-change/</guid><description>A change to an API that makes a correctly written existing client stop working.</description></item><item><title>Brooks's law</title><link>https://justroham.ir/glossary/brooks-law/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/brooks-law/</guid><description>Adding people to a late software project tends to make it later.</description></item><item><title>Buffer overflow</title><link>https://justroham.ir/glossary/buffer-overflow/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/buffer-overflow/</guid><description>Writing (or reading) past the end of a fixed-size buffer, corrupting neighbouring memory.</description></item><item><title>Build tag</title><link>https://justroham.ir/glossary/build-tag/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/build-tag/</guid><description>A &lt;code&gt;//go:build&lt;/code&gt; line at the top of a Go file that selects the OS or conditions the file compiles under.</description></item><item><title>Bulkhead</title><link>https://justroham.ir/glossary/bulkhead/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/bulkhead/</guid><description>Separate resource limits per dependency so one slow dependency cannot use up everything.</description></item><item><title>Burn rate</title><link>https://justroham.ir/glossary/burn-rate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/burn-rate/</guid><description>Observed error rate divided by the error rate the SLO allows; 1 spends the whole budget exactly.</description></item><item><title>Byte order mark</title><link>https://justroham.ir/glossary/byte-order-mark/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/byte-order-mark/</guid><description>Invisible bytes at the start of a text file; in UTF-8 they are EF BB BF and mark the file as UTF-8.</description></item><item><title>Cache locality</title><link>https://justroham.ir/glossary/cache-locality/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/cache-locality/</guid><description>Data that is used together and sits close together in memory is cheaper to read, because the CPU loads memory in cache lines and prefetches sequential access.</description></item><item><title>Canary release</title><link>https://justroham.ir/glossary/canary-release/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/canary-release/</guid><description>exposing a change to a small share of traffic first.</description></item><item><title>CAP theorem</title><link>https://justroham.ir/glossary/cap-theorem/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/cap-theorem/</guid><description>During a network partition a system must give up either linearizability or availability for the operations it cannot complete.</description></item><item><title>Capacity planning</title><link>https://justroham.ir/glossary/capacity-planning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/capacity-planning/</guid><description>Estimating and checking how much hardware a service needs for expected load, and repeating it as load grows.</description></item><item><title>Cascading failure</title><link>https://justroham.ir/glossary/cascading-failure/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/cascading-failure/</guid><description>A failure that spreads: one slow or failed component exhausts its callers, which then fail their own callers.</description></item><item><title>Causal consistency</title><link>https://justroham.ir/glossary/causal-consistency/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/causal-consistency/</guid><description>If one operation could have influenced another, everyone sees them in that order; unrelated ones may differ.</description></item><item><title>Certificate authority (CA)</title><link>https://justroham.ir/glossary/certificate-authority/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/certificate-authority/</guid><description>The party whose signature on a certificate a client chooses to trust.</description></item><item><title>Certificate chain</title><link>https://justroham.ir/glossary/certificate-chain/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/certificate-chain/</guid><description>The list leaf, intermediate(s), root that links a server certificate to a trusted root CA.</description></item><item><title>Certificate pinning</title><link>https://justroham.ir/glossary/certificate-pinning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/certificate-pinning/</guid><description>Accepting only a server whose certificate or public key matches a hash the client already knows.</description></item><item><title>cgroup</title><link>https://justroham.ir/glossary/cgroup/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/cgroup/</guid><description>A kernel feature that groups processes and limits or accounts for their CPU, memory and process count.</description></item><item><title>Channel</title><link>https://justroham.ir/glossary/channel/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/channel/</guid><description>A typed conduit that goroutines use to send and receive values safely.</description></item><item><title>Chaos engineering</title><link>https://justroham.ir/glossary/chaos-engineering/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/chaos-engineering/</guid><description>Experimenting on a system by injecting failures to build confidence that it withstands them.</description></item><item><title>Characterization test</title><link>https://justroham.ir/glossary/characterization-test/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/characterization-test/</guid><description>A test that records what code does today, bugs included, so you can change it safely.</description></item><item><title>CHECK constraint</title><link>https://justroham.ir/glossary/check-constraint/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/check-constraint/</guid><description>A rule on a table, such as balance_cents &amp;gt;= 0, that every written row must satisfy.</description></item><item><title>Checksum</title><link>https://justroham.ir/glossary/checksum/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/checksum/</guid><description>A small number computed from data to detect accidental corruption.</description></item><item><title>checksum database</title><link>https://justroham.ir/glossary/checksum-database/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/checksum-database/</guid><description>A public append-only log of module hashes (Go uses sum.golang.org) that detects a module changing between users.</description></item><item><title>cherry-pick</title><link>https://justroham.ir/glossary/cherry-pick/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/cherry-pick/</guid><description>Copies the patch of one commit onto the current branch as a new commit with a new hash.</description></item><item><title>Choreography</title><link>https://justroham.ir/glossary/choreography/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/choreography/</guid><description>Services react to each other&amp;rsquo;s events with no central coordinator deciding the flow.</description></item><item><title>Chunked encoding</title><link>https://justroham.ir/glossary/chunked-encoding/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/chunked-encoding/</guid><description>An HTTP/1.1 way to send a body in pieces without knowing its total length.</description></item><item><title>CI</title><link>https://justroham.ir/glossary/ci/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/ci/</guid><description>Continuous integration: a server runs checks (build, tests, lint) on every push or pull request.</description></item><item><title>CIDR</title><link>https://justroham.ir/glossary/cidr/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/cidr/</guid><description>Classless Inter-Domain Routing: writing a network as address/prefix-length, e.g. 192.0.2.0/24.</description></item><item><title>Circuit breaker</title><link>https://justroham.ir/glossary/circuit-breaker/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/circuit-breaker/</guid><description>A wrapper that stops calling a failing dependency for a while and fails fast instead.</description></item><item><title>Clock skew</title><link>https://justroham.ir/glossary/clock-skew/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/clock-skew/</guid><description>The difference between the clocks of two machines at the same real moment.</description></item><item><title>Closure</title><link>https://justroham.ir/glossary/closure/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/closure/</guid><description>A function that remembers variables from the scope where it was defined, even after that scope has returned.</description></item><item><title>Code churn</title><link>https://justroham.ir/glossary/code-churn/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/code-churn/</guid><description>How often a file or function changes over time; a cheap signal for where the work and the bugs gather.</description></item><item><title>Code coverage</title><link>https://justroham.ir/glossary/code-coverage/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/code-coverage/</guid><description>The share of lines, branches and functions that ran while the tests ran.</description></item><item><title>Code review</title><link>https://justroham.ir/glossary/code-review/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/code-review/</guid><description>Another person reading a change before it is merged, to catch problems and share knowledge.</description></item><item><title>CODEOWNERS</title><link>https://justroham.ir/glossary/codeowners/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/codeowners/</guid><description>A repository file that maps paths to the people or teams who must review changes to them.</description></item><item><title>Command injection</title><link>https://justroham.ir/glossary/command-injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/command-injection/</guid><description>A bug where user input becomes part of a shell command line and changes what runs.</description></item><item><title>commit</title><link>https://justroham.ir/glossary/commit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/commit/</guid><description>The Git object that ties a tree to its parents, author, committer and message.</description></item><item><title>CommonJS</title><link>https://justroham.ir/glossary/commonjs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/commonjs/</guid><description>the original Node.js module system: &lt;code&gt;require()&lt;/code&gt; loads a file synchronously and &lt;code&gt;module.exports&lt;/code&gt; is what it hands back.</description></item><item><title>Compensating transaction</title><link>https://justroham.ir/glossary/compensating-transaction/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/compensating-transaction/</guid><description>A new action that semantically undoes an earlier committed step, such as a refund for a charge.</description></item><item><title>Composite index</title><link>https://justroham.ir/glossary/composite-index/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/composite-index/</guid><description>An index on several columns, sorted by the first, then the second, and so on.</description></item><item><title>Composition root</title><link>https://justroham.ir/glossary/composition-root/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/composition-root/</guid><description>The single place (usually &lt;code&gt;main&lt;/code&gt;) where concrete parts are created and wired together.</description></item><item><title>Conditional exports</title><link>https://justroham.ir/glossary/conditional-exports/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/conditional-exports/</guid><description>the &lt;code&gt;exports&lt;/code&gt; field of &lt;code&gt;package.json&lt;/code&gt;, which maps import paths to files and can pick a different file for &lt;code&gt;import&lt;/code&gt; and &lt;code&gt;require&lt;/code&gt;.</description></item><item><title>Connected component</title><link>https://justroham.ir/glossary/connected-component/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/connected-component/</guid><description>A maximal group of vertices in an undirected graph where every vertex can reach every other. A BFS or DFS from one vertex finds exactly its component.</description></item><item><title>Connection pool</title><link>https://justroham.ir/glossary/connection-pool/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/connection-pool/</guid><description>A set of open database connections that are lent out and reused.</description></item><item><title>Connection tracking</title><link>https://justroham.ir/glossary/connection-tracking/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/connection-tracking/</guid><description>The kernel table of flows that lets firewall rules match by connection state.</description></item><item><title>Consensus</title><link>https://justroham.ir/glossary/consensus/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/consensus/</guid><description>Getting a group of nodes to agree on one value (or one ordered log) even when some nodes crash or messages are lost.</description></item><item><title>Consistent hashing</title><link>https://justroham.ir/glossary/consistent-hashing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/consistent-hashing/</guid><description>A key-to-node mapping where removing a node moves only that node&amp;rsquo;s keys.</description></item><item><title>Constant-time comparison</title><link>https://justroham.ir/glossary/constant-time-comparison/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/constant-time-comparison/</guid><description>Comparing secrets in a way whose running time does not depend on where they first differ.</description></item><item><title>Consumer-driven contract</title><link>https://justroham.ir/glossary/consumer-driven-contract/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/consumer-driven-contract/</guid><description>A contract written by the clients, saying which parts of an API they really use, which the server then verifies.</description></item><item><title>Container</title><link>https://justroham.ir/glossary/container/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/container/</guid><description>A normal Linux process (or group) started with its own namespaces and cgroup limits, usually from an image.</description></item><item><title>Content Security Policy</title><link>https://justroham.ir/glossary/content-security-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/content-security-policy/</guid><description>A response header that tells the browser which sources of scripts and other content a page may use.</description></item><item><title>Context</title><link>https://justroham.ir/glossary/context/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/context/</guid><description>A value carrying cancellation, deadlines and request-scoped data across API boundaries.</description></item><item><title>Context manager</title><link>https://justroham.ir/glossary/context-manager/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/context-manager/</guid><description>An object used with the with statement whose &lt;strong&gt;enter&lt;/strong&gt; and &lt;strong&gt;exit&lt;/strong&gt; methods run setup and guaranteed cleanup around a block.</description></item><item><title>Contract test</title><link>https://justroham.ir/glossary/contract-test/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/contract-test/</guid><description>A test that checks real requests or responses against the API contract, not against hand-written expectations.</description></item><item><title>Contributing factor</title><link>https://justroham.ir/glossary/contributing-factor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/contributing-factor/</guid><description>One of several conditions that together allowed an incident to happen.</description></item><item><title>Conventional Commits</title><link>https://justroham.ir/glossary/conventional-commits/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/conventional-commits/</guid><description>A convention for commit subjects shaped like type(scope): summary.</description></item><item><title>Conway's law</title><link>https://justroham.ir/glossary/conways-law/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/conways-law/</guid><description>A system&amp;rsquo;s design tends to mirror the communication structure of the organization that builds it.</description></item><item><title>copytruncate</title><link>https://justroham.ir/glossary/copytruncate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/copytruncate/</guid><description>A logrotate option that copies the log and truncates the original in place instead of renaming it.</description></item><item><title>Coroutine</title><link>https://justroham.ir/glossary/coroutine/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/coroutine/</guid><description>A function defined with async def; calling it returns a coroutine object that does nothing until it is awaited or wrapped in a task.</description></item><item><title>Correlated subquery</title><link>https://justroham.ir/glossary/correlated-subquery/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/correlated-subquery/</guid><description>A subquery that refers to the outer row, so it runs once per outer row.</description></item><item><title>CORS</title><link>https://justroham.ir/glossary/cors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/cors/</guid><description>Cross-Origin Resource Sharing: headers that tell a browser whether a page from another origin may read a response.</description></item><item><title>Coverage-guided fuzzing</title><link>https://justroham.ir/glossary/coverage-guided-fuzzing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/coverage-guided-fuzzing/</guid><description>Fuzzing that keeps and mutates inputs which reach new code paths.</description></item><item><title>Covering index</title><link>https://justroham.ir/glossary/covering-index/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/covering-index/</guid><description>An index that contains every column a query needs, so the table is not read.</description></item><item><title>CPU cache</title><link>https://justroham.ir/glossary/cpu-cache/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/cpu-cache/</guid><description>Small, fast memory next to the CPU that holds recently used data; sequential access uses it far better than random access.</description></item><item><title>CPU profile</title><link>https://justroham.ir/glossary/cpu-profile/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/cpu-profile/</guid><description>A sampled record of which functions the CPU was running, used to find where time goes.</description></item><item><title>CPU-bound</title><link>https://justroham.ir/glossary/cpu-bound/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/cpu-bound/</guid><description>Work whose speed is limited by the processor, such as computing primes, not by waiting for I/O.</description></item><item><title>CQRS</title><link>https://justroham.ir/glossary/cqrs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/cqrs/</guid><description>Command Query Responsibility Segregation: the model that handles writes is separate from the model that serves reads.</description></item><item><title>CRDT</title><link>https://justroham.ir/glossary/crdt/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/crdt/</guid><description>A conflict-free replicated data type: replicas update independently and a merge function that is commutative, associative and idempotent makes them converge.</description></item><item><title>CREATE INDEX CONCURRENTLY</title><link>https://justroham.ir/glossary/create-index-concurrently/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/create-index-concurrently/</guid><description>A way to build an index without blocking writes, at the cost of more passes and a possible INVALID index on failure.</description></item><item><title>Credential stuffing</title><link>https://justroham.ir/glossary/credential-stuffing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/credential-stuffing/</guid><description>Trying username and password pairs leaked elsewhere against your login, many users from one source.</description></item><item><title>Critical path</title><link>https://justroham.ir/glossary/critical-path/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/critical-path/</guid><description>The longest chain of dependent tasks; it sets the minimum time even with unlimited workers.</description></item><item><title>cron</title><link>https://justroham.ir/glossary/cron/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/cron/</guid><description>The classic Unix scheduler that runs commands at times written in a five-field table.</description></item><item><title>Crypto-shredding</title><link>https://justroham.ir/glossary/crypto-shredding/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/crypto-shredding/</guid><description>Deleting data from an immutable log by encrypting personal fields with a per-subject key and destroying the key.</description></item><item><title>CSRF</title><link>https://justroham.ir/glossary/csrf/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/csrf/</guid><description>Cross-site request forgery: another site makes the browser send an authenticated request you did not intend.</description></item><item><title>CTE</title><link>https://justroham.ir/glossary/cte/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/cte/</guid><description>A named subquery defined with WITH, usable in the main query.</description></item><item><title>CVE</title><link>https://justroham.ir/glossary/cve/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/cve/</guid><description>Common Vulnerabilities and Exposures: a public identifier for a known security flaw.</description></item><item><title>Cyclomatic complexity</title><link>https://justroham.ir/glossary/cyclomatic-complexity/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/cyclomatic-complexity/</guid><description>A count of the independent decision paths through a function.</description></item><item><title>Daemon thread</title><link>https://justroham.ir/glossary/daemon-thread/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/daemon-thread/</guid><description>A thread that does not keep the program alive: when only daemon threads remain, the process exits.</description></item><item><title>DAG</title><link>https://justroham.ir/glossary/dag/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/dag/</guid><description>Directed acyclic graph: the shape of Git history, commits pointing to their parents.</description></item><item><title>Database index</title><link>https://justroham.ir/glossary/database-index/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/database-index/</guid><description>A separate sorted structure that lets the database find rows without reading the whole table.</description></item><item><title>Dataclass</title><link>https://justroham.ir/glossary/dataclass/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/dataclass/</guid><description>A class decorated with @dataclass: Python generates &lt;strong&gt;init&lt;/strong&gt;, &lt;strong&gt;repr&lt;/strong&gt; and &lt;strong&gt;eq&lt;/strong&gt; from the annotated fields, with options like frozen, order and slots.</description></item><item><title>Datagram</title><link>https://justroham.ir/glossary/datagram/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/datagram/</guid><description>A self-contained packet of data sent without a connection; it arrives whole or not at all.</description></item><item><title>Dead man's switch</title><link>https://justroham.ir/glossary/dead-mans-switch/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/dead-mans-switch/</guid><description>An alert that fires when an expected signal does NOT arrive.</description></item><item><title>Dead tuple</title><link>https://justroham.ir/glossary/dead-tuple/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/dead-tuple/</guid><description>A row version that no current or future transaction can see any more, but that still occupies space until VACUUM removes it.</description></item><item><title>Dead-letter queue</title><link>https://justroham.ir/glossary/dlq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/dlq/</guid><description>A place where messages that keep failing are moved so they do not block the main flow.</description></item><item><title>Deadline</title><link>https://justroham.ir/glossary/deadline/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/deadline/</guid><description>An absolute point in time after which a network read or write fails with a timeout.</description></item><item><title>Deadlock</title><link>https://justroham.ir/glossary/deadlock/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/deadlock/</guid><description>Two or more sessions each wait for a lock the other holds, so none can continue; the database aborts one of them.</description></item><item><title>Decorator</title><link>https://justroham.ir/glossary/decorator/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/decorator/</guid><description>A function that takes a function and returns a wrapped version of it, applied with @name.</description></item><item><title>Default partition</title><link>https://justroham.ir/glossary/default-partition/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/default-partition/</guid><description>A partition that receives rows that match no other partition of the table.</description></item><item><title>Delta compression</title><link>https://justroham.ir/glossary/delta-compression/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/delta-compression/</guid><description>Storing an object as a small difference against a similar base object.</description></item><item><title>Denial of service</title><link>https://justroham.ir/glossary/denial-of-service/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/denial-of-service/</guid><description>An attack or accident that makes a service unavailable by exhausting a resource such as memory, connections or CPU.</description></item><item><title>Denormalization</title><link>https://justroham.ir/glossary/denormalization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/denormalization/</guid><description>Deliberately storing a fact more than once to make reads cheaper.</description></item><item><title>Deny by default</title><link>https://justroham.ir/glossary/deny-by-default/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/deny-by-default/</guid><description>A route or action is forbidden until a rule explicitly allows it.</description></item><item><title>Dependency injection</title><link>https://justroham.ir/glossary/dependency-injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/dependency-injection/</guid><description>Passing dependencies (like time or a database) in from outside instead of creating them inside the function.</description></item><item><title>Depth-first search</title><link>https://justroham.ir/glossary/dfs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/dfs/</guid><description>Visiting a graph by going as deep as possible along one path before backing up, using recursion or a stack.</description></item><item><title>Deque</title><link>https://justroham.ir/glossary/deque/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/deque/</guid><description>A double-ended queue: push and pop at both the front and the back, all in O(1) amortized. A ring buffer with growth implements it well.</description></item><item><title>Detached HEAD</title><link>https://justroham.ir/glossary/detached-head/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/detached-head/</guid><description>The state where HEAD points straight at a commit instead of a branch name.</description></item><item><title>Deterministic simulation</title><link>https://justroham.ir/glossary/deterministic-simulation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/deterministic-simulation/</guid><description>Running a system in a simulated world driven by a seed so any failure can be replayed exactly.</description></item><item><title>Differential testing</title><link>https://justroham.ir/glossary/differential-testing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/differential-testing/</guid><description>Running two implementations on the same input and flagging any difference.</description></item><item><title>Digital signature</title><link>https://justroham.ir/glossary/digital-signature/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/digital-signature/</guid><description>A value computed with a private key that anyone with the public key can verify, proving origin and integrity.</description></item><item><title>Dijkstra's algorithm</title><link>https://justroham.ir/glossary/dijkstra/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/dijkstra/</guid><description>Shortest paths from one source in a graph with non-negative weights, always expanding the closest unfinished vertex.</description></item><item><title>Distributed monolith</title><link>https://justroham.ir/glossary/distributed-monolith/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/distributed-monolith/</guid><description>Services split over the network that still have to change, deploy and fail together.</description></item><item><title>DNS</title><link>https://justroham.ir/glossary/dns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/dns/</guid><description>The system that maps names to records such as IP addresses.</description></item><item><title>DNS rebinding</title><link>https://justroham.ir/glossary/dns-rebinding/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/dns-rebinding/</guid><description>A name that resolves to a harmless address for the check and to an internal one for the connection.</description></item><item><title>Domain event</title><link>https://justroham.ir/glossary/domain-event/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/domain-event/</guid><description>A fact that happened in the domain, named in the past tense, such as OrderPlaced.</description></item><item><title>Domain-driven design</title><link>https://justroham.ir/glossary/domain-driven-design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/domain-driven-design/</guid><description>An approach that shapes the code around the business domain, using its language, boundaries and rules.</description></item><item><title>Dual write</title><link>https://justroham.ir/glossary/dual-write/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/dual-write/</guid><description>writing the old and new form of data at once.</description></item><item><title>Duck typing</title><link>https://justroham.ir/glossary/duck-typing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/duck-typing/</guid><description>Using an object because it has the methods you call, not because of its declared class: if it has speak(), you can call speak().</description></item><item><title>Dunder method</title><link>https://justroham.ir/glossary/dunder-method/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/dunder-method/</guid><description>A special method with double underscores around its name, like &lt;strong&gt;repr&lt;/strong&gt; or &lt;strong&gt;eq&lt;/strong&gt;, that Python calls for you when you use syntax such as print(), == or len().</description></item><item><title>Durable consumer</title><link>https://justroham.ir/glossary/durable-consumer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/durable-consumer/</guid><description>A named JetStream consumer whose position survives restarts and reconnects.</description></item><item><title>Dynamic array</title><link>https://justroham.ir/glossary/dynamic-array/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/dynamic-array/</guid><description>A growable array: elements sit in one contiguous block, and when it is full the structure allocates a bigger block and copies everything over. Go slices and Rust Vec work this way.</description></item><item><title>Dynamic programming</title><link>https://justroham.ir/glossary/dynamic-programming/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/dynamic-programming/</guid><description>Solving a problem by combining answers to smaller subproblems, each solved once and stored.</description></item><item><title>ECB mode</title><link>https://justroham.ir/glossary/ecb-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/ecb-mode/</guid><description>A block cipher mode that encrypts every block independently, so equal plaintext blocks give equal ciphertext blocks.</description></item><item><title>Edit distance</title><link>https://justroham.ir/glossary/edit-distance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/edit-distance/</guid><description>The minimum number of insertions, deletions and substitutions needed to turn one sequence into another (Levenshtein).</description></item><item><title>editable install</title><link>https://justroham.ir/glossary/editable-install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/editable-install/</guid><description>Installing a project so the environment points at your working copy instead of a copied snapshot, so edits apply immediately.</description></item><item><title>Encapsulation</title><link>https://justroham.ir/glossary/encapsulation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/encapsulation/</guid><description>Wrapping the data of one layer inside the header of the layer below.</description></item><item><title>entry point</title><link>https://justroham.ir/glossary/entry-point/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/entry-point/</guid><description>A named hook in a package&amp;rsquo;s metadata; console_scripts entry points become commands on PATH when the package is installed.</description></item><item><title>Envelope encryption</title><link>https://justroham.ir/glossary/envelope-encryption/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/envelope-encryption/</guid><description>Encrypting data with a random per-record key that is itself encrypted by a master key.</description></item><item><title>Environment variable</title><link>https://justroham.ir/glossary/environment-variable/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/environment-variable/</guid><description>A named string a process inherits from its parent, used to pass configuration such as ports and keys.</description></item><item><title>epoll</title><link>https://justroham.ir/glossary/epoll/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/epoll/</guid><description>The Linux system call family that lets one thread wait efficiently for readiness on thousands of file descriptors.</description></item><item><title>errgroup</title><link>https://justroham.ir/glossary/errgroup/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/errgroup/</guid><description>A &lt;code&gt;golang.org/x/sync&lt;/code&gt; helper that runs goroutines together and cancels the rest on the first error.</description></item><item><title>errno</title><link>https://justroham.ir/glossary/errno/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/errno/</guid><description>The error code a failed system call reports, such as ENOENT or EACCES.</description></item><item><title>Error budget</title><link>https://justroham.ir/glossary/error-budget/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/error-budget/</guid><description>The amount of failure an SLO allows in a window; spending it is how reliability is traded against change.</description></item><item><title>ESM</title><link>https://justroham.ir/glossary/esm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/esm/</guid><description>the standard JavaScript module system (&lt;code&gt;import&lt;/code&gt;/&lt;code&gt;export&lt;/code&gt;), loaded asynchronously and analysed statically before any code runs.</description></item><item><title>Event envelope</title><link>https://justroham.ir/glossary/event-envelope/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/event-envelope/</guid><description>A fixed wrapper around every event with metadata (id, type, time, source, schema version, correlation id) separate from the payload.</description></item><item><title>Event loop</title><link>https://justroham.ir/glossary/event-loop/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/event-loop/</guid><description>The loop that lets single-threaded JavaScript handle many waiting operations by running callbacks when they are ready.</description></item><item><title>Event sourcing</title><link>https://justroham.ir/glossary/event-sourcing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/event-sourcing/</guid><description>State is not stored; the append-only list of events that led to it is, and current state is a fold of them.</description></item><item><title>EventEmitter</title><link>https://justroham.ir/glossary/event-emitter/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/event-emitter/</guid><description>Node&amp;rsquo;s built-in publish/subscribe object: emit named events, listeners react.</description></item><item><title>Eventual consistency</title><link>https://justroham.ir/glossary/eventual-consistency/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/eventual-consistency/</guid><description>If writes stop, all replicas end up with the same value; before that, reads may be stale or out of order.</description></item><item><title>Exception chaining</title><link>https://justroham.ir/glossary/exception-chaining/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/exception-chaining/</guid><description>Linking a new exception to the one being handled: raise &amp;hellip; from e sets &lt;strong&gt;cause&lt;/strong&gt;, raising inside except sets &lt;strong&gt;context&lt;/strong&gt;.</description></item><item><title>ExceptionGroup</title><link>https://justroham.ir/glossary/exception-group/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/exception-group/</guid><description>An exception that bundles several exceptions; except* handles each matching type on its own slice of the group.</description></item><item><title>Exit status</title><link>https://justroham.ir/glossary/exit-status/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/exit-status/</guid><description>The number a command returns when it ends; 0 means success and anything else means failure. The shell exposes it as &lt;code&gt;$?&lt;/code&gt; and uses it in &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt;, &lt;code&gt;||&lt;/code&gt; and &lt;code&gt;if&lt;/code&gt;.</description></item><item><title>Expand/contract</title><link>https://justroham.ir/glossary/expand-contract/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/expand-contract/</guid><description>A migration recipe in small safe steps: add the new shape, copy data, switch the app, drop the old shape.</description></item><item><title>Exponential backoff</title><link>https://justroham.ir/glossary/exponential-backoff/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/exponential-backoff/</guid><description>Waiting longer after each failed attempt, doubling the delay up to a cap.</description></item><item><title>Expression index</title><link>https://justroham.ir/glossary/expression-index/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/expression-index/</guid><description>An index built on the result of an expression such as lower(email) instead of a plain column.</description></item><item><title>Extended statistics</title><link>https://justroham.ir/glossary/extended-statistics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/extended-statistics/</guid><description>Multi-column statistics created with &lt;code&gt;CREATE STATISTICS&lt;/code&gt;.</description></item><item><title>Fail open</title><link>https://justroham.ir/glossary/fail-open/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/fail-open/</guid><description>Letting requests through when a protective component, such as the limiter store, is unavailable.</description></item><item><title>Failover</title><link>https://justroham.ir/glossary/failover/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/failover/</guid><description>Switching to a standby as the new primary when the old one fails.</description></item><item><title>Failure detector</title><link>https://justroham.ir/glossary/failure-detector/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/failure-detector/</guid><description>A component that guesses whether a remote node is down, usually from missing heartbeats within a timeout.</description></item><item><title>Fan-out</title><link>https://justroham.ir/glossary/fan-out/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/fan-out/</guid><description>The number of children a tree node can have; a larger fan-out makes the tree shallower.</description></item><item><title>fast-forward</title><link>https://justroham.ir/glossary/fast-forward/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/fast-forward/</guid><description>moving a branch pointer ahead along a straight line of commits, with no new commit.</description></item><item><title>Fault injection</title><link>https://justroham.ir/glossary/fault-injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/fault-injection/</guid><description>Deliberately causing latency, errors or crashes in a dependency to see how the system reacts.</description></item><item><title>Feature flag</title><link>https://justroham.ir/glossary/feature-flag/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/feature-flag/</guid><description>a runtime switch that turns code paths on or off without a deploy.</description></item><item><title>FFI</title><link>https://justroham.ir/glossary/ffi/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/ffi/</guid><description>Foreign Function Interface: calling code written in another language, usually through the C ABI.</description></item><item><title>File descriptor</title><link>https://justroham.ir/glossary/file-descriptor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/file-descriptor/</guid><description>A small integer a process uses to refer to an open file, pipe or socket. 0, 1 and 2 are stdin, stdout and stderr; shell redirects rewire them.</description></item><item><title>File permissions</title><link>https://justroham.ir/glossary/file-permissions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/file-permissions/</guid><description>Nine bits (read, write, execute for user, group and other) stored in the inode. Octal modes such as 755 or 640 write them compactly.</description></item><item><title>Fisher exact test</title><link>https://justroham.ir/glossary/fisher-exact-test/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/fisher-exact-test/</guid><description>an exact significance test for a 2x2 table of counts.</description></item><item><title>Five whys</title><link>https://justroham.ir/glossary/five-whys/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/five-whys/</guid><description>A technique of asking why repeatedly to find a cause; it follows a single chain.</description></item><item><title>Fixture</title><link>https://justroham.ir/glossary/fixture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/fixture/</guid><description>a function that prepares (and cleans up) what a test needs</description></item><item><title>Fixup commit</title><link>https://justroham.ir/glossary/fixup-commit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/fixup-commit/</guid><description>A commit marked to be folded into an earlier commit during an autosquash rebase.</description></item><item><title>Flaky test</title><link>https://justroham.ir/glossary/flaky-test/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/flaky-test/</guid><description>A test that sometimes passes and sometimes fails with no change in the code.</description></item><item><title>Flame graph</title><link>https://justroham.ir/glossary/flame-graph/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/flame-graph/</guid><description>A picture of sampled stacks where box width shows how often a function was on the stack.</description></item><item><title>force push</title><link>https://justroham.ir/glossary/force-push/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/force-push/</guid><description>overwrites a remote branch with your local one, even if that discards commits; prefer &amp;ndash;force-with-lease.</description></item><item><title>Foreign key</title><link>https://justroham.ir/glossary/foreign-key/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/foreign-key/</guid><description>A column that must match a primary key value in another table.</description></item><item><title>Free-threaded Python</title><link>https://justroham.ir/glossary/free-threading/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/free-threading/</guid><description>A CPython build, available since 3.13 as an option, that runs without the GIL.</description></item><item><title>Fuzzing</title><link>https://justroham.ir/glossary/fuzzing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/fuzzing/</guid><description>Feeding a program automatically mutated inputs, guided by coverage, to find crashes and bugs.</description></item><item><title>Game day</title><link>https://justroham.ir/glossary/game-day/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/game-day/</guid><description>A planned session where a team injects failures and practises detecting and handling them.</description></item><item><title>Garbage collector</title><link>https://justroham.ir/glossary/garbage-collector/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/garbage-collector/</guid><description>The runtime part that frees objects nothing can reach any more.</description></item><item><title>Generated column</title><link>https://justroham.ir/glossary/generated-column/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/generated-column/</guid><description>A column whose value is computed from other columns of the same row by an expression, and stored automatically.</description></item><item><title>Generator</title><link>https://justroham.ir/glossary/generator/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/generator/</guid><description>A function that uses yield to produce values one at a time, pausing between them.</description></item><item><title>Generics</title><link>https://justroham.ir/glossary/generics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/generics/</guid><description>Code written once for any type, with the type as a parameter, for example def first[T](xs: list[T]) -&amp;gt; T. The checker keeps track of which T is used at each call.</description></item><item><title>GIL</title><link>https://justroham.ir/glossary/gil/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/gil/</guid><description>A lock in standard CPython that lets only one thread run Python bytecode at a time.</description></item><item><title>GIN index</title><link>https://justroham.ir/glossary/gin-index/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/gin-index/</guid><description>An inverted index in PostgreSQL that maps each element inside a value (a JSON key, a word) to the rows that contain it.</description></item><item><title>git bisect</title><link>https://justroham.ir/glossary/git-bisect/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/git-bisect/</guid><description>A Git command that binary-searches your history to find the first commit that introduced a bug.</description></item><item><title>Git hook</title><link>https://justroham.ir/glossary/git-hook/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/git-hook/</guid><description>A script Git runs automatically at a point in its workflow, such as before a commit.</description></item><item><title>Git object</title><link>https://justroham.ir/glossary/git-object/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/git-object/</guid><description>A blob, tree, commit or tag stored under its hash in .git/objects.</description></item><item><title>git reset</title><link>https://justroham.ir/glossary/git-reset/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/git-reset/</guid><description>Moves the current branch to another commit; the mode decides what happens to the index and working tree.</description></item><item><title>git revert</title><link>https://justroham.ir/glossary/git-revert/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/git-revert/</guid><description>Undoes a commit by adding a new commit with the opposite patch, leaving history intact.</description></item><item><title>Gitlink</title><link>https://justroham.ir/glossary/gitlink/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/gitlink/</guid><description>A tree entry (mode 160000) that records a commit id from another repository.</description></item><item><title>Go workspace (go.work)</title><link>https://justroham.ir/glossary/go-workspace/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/go-workspace/</guid><description>A go.work file that makes several local Go modules resolve to each other without published versions.</description></item><item><title>GOAWAY</title><link>https://justroham.ir/glossary/goaway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/goaway/</guid><description>An HTTP/2 frame that tells the peer to stop opening new streams on this connection.</description></item><item><title>Goroutine</title><link>https://justroham.ir/glossary/goroutine/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/goroutine/</guid><description>A lightweight function execution managed by the Go runtime, not the OS.</description></item><item><title>Graceful shutdown</title><link>https://justroham.ir/glossary/graceful-shutdown/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/graceful-shutdown/</guid><description>Stopping a server by refusing new work but letting in-flight requests finish before exiting.</description></item><item><title>Graph</title><link>https://justroham.ir/glossary/graph/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/graph/</guid><description>A set of vertices (nodes) connected by edges. Edges can be directed or undirected. Networks, maps, dependencies and friendships are all graphs.</description></item><item><title>Gray failure</title><link>https://justroham.ir/glossary/gray-failure/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/gray-failure/</guid><description>A node that is not dead but so slow or flaky that it harms the system while still looking alive.</description></item><item><title>Greedy algorithm</title><link>https://justroham.ir/glossary/greedy-algorithm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/greedy-algorithm/</guid><description>Making the locally best choice at each step and never revisiting it.</description></item><item><title>gRPC</title><link>https://justroham.ir/glossary/grpc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/grpc/</guid><description>A binary RPC framework built on HTTP/2 and Protocol Buffers.</description></item><item><title>Half-close</title><link>https://justroham.ir/glossary/half-close/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/half-close/</guid><description>Closing only the sending direction of a TCP connection while still reading.</description></item><item><title>Happens-before</title><link>https://justroham.ir/glossary/happens-before/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/happens-before/</guid><description>The partial order of causality: program order, send before receive, and transitivity; events with no such path are concurrent.</description></item><item><title>Hard link</title><link>https://justroham.ir/glossary/hard-link/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/hard-link/</guid><description>A second name for the same inode. Both names are equal, the link count goes up, and the data is freed only when the last name is removed.</description></item><item><title>Hash chain</title><link>https://justroham.ir/glossary/hash-chain/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/hash-chain/</guid><description>Each record stores the hash of the previous one, so any edit, deletion or reorder breaks every later link.</description></item><item><title>Hash collision</title><link>https://justroham.ir/glossary/hash-collision/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/hash-collision/</guid><description>Two different keys that map to the same slot of a hash table.</description></item><item><title>Hash slot</title><link>https://justroham.ir/glossary/hash-slot/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/hash-slot/</guid><description>One of a fixed number of logical buckets that keys hash into; whole slots, not single keys, are assigned to and moved between nodes.</description></item><item><title>Hash table</title><link>https://justroham.ir/glossary/hash-table/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/hash-table/</guid><description>A structure that finds a key by computing its hash, giving O(1) lookups on average. Go&amp;rsquo;s map is one.</description></item><item><title>HEAD</title><link>https://justroham.ir/glossary/head/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/head/</guid><description>the pointer to the commit (usually via a branch) that your checkout is based on.</description></item><item><title>Head-of-line blocking</title><link>https://justroham.ir/glossary/head-of-line-blocking/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/head-of-line-blocking/</guid><description>One slow item at the front of a queue holds up everything behind it.</description></item><item><title>Health check</title><link>https://justroham.ir/glossary/health-check/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/health-check/</guid><description>A probe that tells a load balancer whether a backend can take traffic.</description></item><item><title>Heap snapshot</title><link>https://justroham.ir/glossary/heap-snapshot/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/heap-snapshot/</guid><description>A dump of every live object in the JavaScript heap with sizes and references, used to find what holds memory.</description></item><item><title>Heap sort</title><link>https://justroham.ir/glossary/heap-sort/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/heap-sort/</guid><description>Build a max-heap in place, then repeatedly swap the root to the end and sift down; O(n log n), no extra memory, not stable.</description></item><item><title>Heapify</title><link>https://justroham.ir/glossary/heapify/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/heapify/</guid><description>Turning an unordered slice into a heap in place in O(n), by sifting down from the last parent to the root.</description></item><item><title>Heartbeat</title><link>https://justroham.ir/glossary/heartbeat/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/heartbeat/</guid><description>A periodic small message (such as a ping) used to find out whether the other side is still alive.</description></item><item><title>Hedged request</title><link>https://justroham.ir/glossary/hedged-request/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/hedged-request/</guid><description>Sending a second copy of a slow request to another replica and using the first reply.</description></item><item><title>Here-document</title><link>https://justroham.ir/glossary/here-document/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/here-document/</guid><description>Shell syntax (&lt;code&gt;&amp;lt;&amp;lt;EOT&lt;/code&gt;) that feeds the following lines to a command’s stdin. A quoted marker (&lt;code&gt;&amp;lt;&amp;lt;’EOT’&lt;/code&gt;) disables variable expansion inside.</description></item><item><title>highWaterMark</title><link>https://justroham.ir/glossary/high-water-mark/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/high-water-mark/</guid><description>The buffer size at which a stream starts asking producers to slow down (16 KiB by default for a Writable).</description></item><item><title>Hinted handoff</title><link>https://justroham.ir/glossary/hinted-handoff/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/hinted-handoff/</guid><description>When a replica is down, another node holds its writes with a hint and hands them over when it returns.</description></item><item><title>HMAC</title><link>https://justroham.ir/glossary/hmac/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/hmac/</guid><description>A message authentication code built from a hash and a secret key; unlike sha256(secret||msg) it resists length extension.</description></item><item><title>Hot key</title><link>https://justroham.ir/glossary/hot-key/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/hot-key/</guid><description>A single key that receives so much traffic that the shard owning it is overloaded no matter how evenly the other keys are spread.</description></item><item><title>HOT update</title><link>https://justroham.ir/glossary/hot-update/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/hot-update/</guid><description>Heap-Only Tuple update: a new row version stored in the same page with no new index entries, possible when no indexed column changes.</description></item><item><title>HPACK</title><link>https://justroham.ir/glossary/hpack/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/hpack/</guid><description>The header compression scheme of HTTP/2.</description></item><item><title>HSTS</title><link>https://justroham.ir/glossary/hsts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/hsts/</guid><description>HTTP Strict Transport Security: a header telling the browser to use only HTTPS for this site for a period.</description></item><item><title>HTTP</title><link>https://justroham.ir/glossary/http/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/http/</guid><description>A text protocol for requests and responses, usually carried over TCP.</description></item><item><title>HTTP redirect</title><link>https://justroham.ir/glossary/http-redirect/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/http-redirect/</guid><description>A 3xx response with a Location header telling the client to request another URL.</description></item><item><title>HTTP trailers</title><link>https://justroham.ir/glossary/http-trailers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/http-trailers/</guid><description>Header fields sent after the body, once the final result is known.</description></item><item><title>HTTP Upgrade</title><link>https://justroham.ir/glossary/http-upgrade/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/http-upgrade/</guid><description>A request header that asks the server to switch the connection to another protocol (101 Switching Protocols).</description></item><item><title>HttpOnly</title><link>https://justroham.ir/glossary/httponly/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/httponly/</guid><description>A cookie attribute that hides the cookie from JavaScript running in the page.</description></item><item><title>Huffman coding</title><link>https://justroham.ir/glossary/huffman-coding/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/huffman-coding/</guid><description>A greedy prefix code that gives frequent symbols shorter bit strings.</description></item><item><title>Hunk</title><link>https://justroham.ir/glossary/hunk/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/hunk/</guid><description>one contiguous block of changes inside a diff.</description></item><item><title>Hybrid logical clock</title><link>https://justroham.ir/glossary/hybrid-logical-clock/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/hybrid-logical-clock/</guid><description>A timestamp combining physical time with a logical counter, close to real time yet respecting causality.</description></item><item><title>Hysteresis</title><link>https://justroham.ir/glossary/hysteresis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/hysteresis/</guid><description>Requiring several consecutive probes before changing state, so a flapping instance does not flip in and out of rotation.</description></item><item><title>I/O-bound</title><link>https://justroham.ir/glossary/io-bound/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/io-bound/</guid><description>Work that spends most of its time waiting for the network or disk rather than computing.</description></item><item><title>ICMP</title><link>https://justroham.ir/glossary/icmp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/icmp/</guid><description>The control-message protocol of IP, used for errors such as port unreachable.</description></item><item><title>Idempotency</title><link>https://justroham.ir/glossary/idempotency/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/idempotency/</guid><description>Processing the same operation more than once has the same effect as processing it once.</description></item><item><title>Idempotency key</title><link>https://justroham.ir/glossary/idempotency-key/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/idempotency-key/</guid><description>A unique id the client sends with a request so the server can recognise a retry and return the first result instead of acting twice.</description></item><item><title>Idle in transaction</title><link>https://justroham.ir/glossary/idle-in-transaction/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/idle-in-transaction/</guid><description>A session that opened a transaction and is doing nothing, still holding its connection and locks.</description></item><item><title>IDOR</title><link>https://justroham.ir/glossary/idor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/idor/</guid><description>Insecure direct object reference: an endpoint returns an object by its ID without checking that the caller may see it.</description></item><item><title>In-degree</title><link>https://justroham.ir/glossary/in-degree/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/in-degree/</guid><description>The number of edges pointing into a vertex; in dependency graphs, how many prerequisites it still waits for.</description></item><item><title>Incident response</title><link>https://justroham.ir/glossary/incident-response/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/incident-response/</guid><description>The organised process of detecting, containing, removing and learning from a security incident.</description></item><item><title>Index Only Scan</title><link>https://justroham.ir/glossary/index-only-scan/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/index-only-scan/</guid><description>A plan node that answers a query from the index alone, without visiting the table.</description></item><item><title>inline script metadata</title><link>https://justroham.ir/glossary/inline-script-metadata/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/inline-script-metadata/</guid><description>PEP 723: a comment block at the top of a single-file script that lists its dependencies and Python version.</description></item><item><title>Inode</title><link>https://justroham.ir/glossary/inode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/inode/</guid><description>The filesystem record that holds a file&amp;rsquo;s metadata (owner, mode, size, link count) and where its data lives. A name in a directory just points to an inode number.</description></item><item><title>Integer overflow</title><link>https://justroham.ir/glossary/integer-overflow/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/integer-overflow/</guid><description>A result too large for its integer type; in Go it wraps around silently.</description></item><item><title>Integration test</title><link>https://justroham.ir/glossary/integration-test/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/integration-test/</guid><description>A test that runs several parts together, such as a service with a repository.</description></item><item><title>Invariant</title><link>https://justroham.ir/glossary/invariant/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/invariant/</guid><description>A condition that holds before and after every loop iteration, used to prove an algorithm correct.</description></item><item><title>iproute2</title><link>https://justroham.ir/glossary/iproute2/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/iproute2/</guid><description>The Linux network tool family driven by the ip command.</description></item><item><title>IPv6</title><link>https://justroham.ir/glossary/ipv6/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/ipv6/</guid><description>The 128-bit successor of IPv4, with hex notation, /64 subnets and no broadcast.</description></item><item><title>Isolation level</title><link>https://justroham.ir/glossary/isolation-level/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/isolation-level/</guid><description>The setting that decides how much one transaction sees of others running at the same time.</description></item><item><title>Iterator</title><link>https://justroham.ir/glossary/iterator/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/iterator/</guid><description>An object with &lt;strong&gt;next&lt;/strong&gt; that returns the next value and raises StopIteration when it is done.</description></item><item><title>JetStream</title><link>https://justroham.ir/glossary/jetstream/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/jetstream/</guid><description>The persistence layer of NATS: streams that store messages, and consumers that read them.</description></item><item><title>Jitter</title><link>https://justroham.ir/glossary/jitter/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/jitter/</guid><description>Randomness added to a retry delay so clients stop retrying in lockstep.</description></item><item><title>JOIN</title><link>https://justroham.ir/glossary/sql-join/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/sql-join/</guid><description>Combining rows of two tables by a matching condition.</description></item><item><title>journald</title><link>https://justroham.ir/glossary/journald/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/journald/</guid><description>The systemd service that collects logs from services and the kernel into a structured journal.</description></item><item><title>JSON Schema</title><link>https://justroham.ir/glossary/json-schema/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/json-schema/</guid><description>A vocabulary for describing the shape of a JSON document so a library can validate it automatically.</description></item><item><title>JSONB</title><link>https://justroham.ir/glossary/jsonb/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/jsonb/</guid><description>A PostgreSQL column type that stores JSON in a parsed binary form that can be indexed and queried.</description></item><item><title>JWKS</title><link>https://justroham.ir/glossary/jwks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/jwks/</guid><description>A JSON document, usually at /jwks.json, that publishes the public keys used to verify an issuer&amp;rsquo;s signed tokens.</description></item><item><title>JWT</title><link>https://justroham.ir/glossary/jwt/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/jwt/</guid><description>A signed token (header.payload.signature, base64url) carrying claims; signed, not encrypted.</description></item><item><title>Keep-alive</title><link>https://justroham.ir/glossary/keep-alive/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/keep-alive/</guid><description>Reusing one TCP connection for several HTTP requests instead of opening a new one each time.</description></item><item><title>Key derivation function</title><link>https://justroham.ir/glossary/key-derivation-function/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/key-derivation-function/</guid><description>A function that turns a password or a master secret into uniformly random keys of the needed length.</description></item><item><title>Key rotation</title><link>https://justroham.ir/glossary/key-rotation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/key-rotation/</guid><description>Replacing a key with a new one on a schedule or after exposure, while old data stays readable.</description></item><item><title>Keyset pagination</title><link>https://justroham.ir/glossary/keyset-pagination/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/keyset-pagination/</guid><description>Paging by &amp;lsquo;rows after this key&amp;rsquo; instead of &amp;lsquo;skip N rows&amp;rsquo;.</description></item><item><title>Kill switch</title><link>https://justroham.ir/glossary/kill-switch/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/kill-switch/</guid><description>a flag whose only job is to turn a feature off at once.</description></item><item><title>KMP algorithm</title><link>https://justroham.ir/glossary/kmp-algorithm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/kmp-algorithm/</guid><description>String search that precomputes a failure function so the text pointer never moves backwards.</description></item><item><title>Knapsack problem</title><link>https://justroham.ir/glossary/knapsack/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/knapsack/</guid><description>Choose items with weights and values to maximise value within a weight capacity.</description></item><item><title>known_hosts</title><link>https://justroham.ir/glossary/known-hosts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/known-hosts/</guid><description>The client-side file of server host keys already trusted, used to detect a changed or fake server.</description></item><item><title>kqueue</title><link>https://justroham.ir/glossary/kqueue/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/kqueue/</guid><description>The BSD and macOS event notification interface, the cousin of Linux epoll.</description></item><item><title>Lamport clock</title><link>https://justroham.ir/glossary/lamport-clock/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/lamport-clock/</guid><description>A single counter per process, advanced on events and merged with max on receive, so that a happens-before b implies a smaller timestamp.</description></item><item><title>Last write wins</title><link>https://justroham.ir/glossary/last-write-wins/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/last-write-wins/</guid><description>A conflict rule that keeps the value with the highest timestamp and discards the others.</description></item><item><title>Late binding</title><link>https://justroham.ir/glossary/late-binding/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/late-binding/</guid><description>A closure looks up a variable by name when it runs, so it sees the variable&amp;rsquo;s latest value.</description></item><item><title>Lazy deletion</title><link>https://justroham.ir/glossary/lazy-deletion/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/lazy-deletion/</guid><description>Not removing or editing an old entry; push a new one and skip the stale one when it is popped.</description></item><item><title>Lazy evaluation</title><link>https://justroham.ir/glossary/lazy-evaluation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/lazy-evaluation/</guid><description>Computing a value only when it is actually needed, not up front.</description></item><item><title>LCS</title><link>https://justroham.ir/glossary/longest-common-subsequence/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/longest-common-subsequence/</guid><description>The longest sequence that appears in both inputs in the same order, not necessarily contiguous.</description></item><item><title>Leader election</title><link>https://justroham.ir/glossary/leader-election/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/leader-election/</guid><description>Choosing one node to coordinate for a period; in Raft a candidate needs votes from a majority in a new term.</description></item><item><title>Lease</title><link>https://justroham.ir/glossary/lease/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/lease/</guid><description>A grant of a resource or a quota to a holder for a limited share or time.</description></item><item><title>Least privilege</title><link>https://justroham.ir/glossary/least-privilege/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/least-privilege/</guid><description>Give a process or person only the permissions needed for the job and nothing more, so a mistake or compromise has a small blast radius.</description></item><item><title>Legacy code</title><link>https://justroham.ir/glossary/legacy-code/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/legacy-code/</guid><description>A common working definition: code without tests, so you cannot change it with confidence.</description></item><item><title>Length extension attack</title><link>https://justroham.ir/glossary/length-extension-attack/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/length-extension-attack/</guid><description>An attack on hashes like SHA-256 where knowing H(secret||msg) lets you compute H(secret||msg||extra) without the secret.</description></item><item><title>Level-triggered and edge-triggered</title><link>https://justroham.ir/glossary/edge-level-triggered/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/edge-level-triggered/</guid><description>Two ways a readiness API reports events: while data is still waiting (level) or only when new data arrives (edge).</description></item><item><title>libuv</title><link>https://justroham.ir/glossary/libuv/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/libuv/</guid><description>The C library under Node.js that provides the event loop, async I/O and a thread pool.</description></item><item><title>Lifecycle hook</title><link>https://justroham.ir/glossary/lifecycle-hook/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/lifecycle-hook/</guid><description>A function the framework calls at a fixed stage of a request, such as before the handler runs.</description></item><item><title>Lifetime</title><link>https://justroham.ir/glossary/lifetime/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/lifetime/</guid><description>A compile-time annotation describing how long a reference stays valid.</description></item><item><title>Linear probing</title><link>https://justroham.ir/glossary/linear-probing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/linear-probing/</guid><description>Open addressing strategy: if the slot is taken, try the next one, and the next, until a free slot or the key is found.</description></item><item><title>Linearizability</title><link>https://justroham.ir/glossary/linearizability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/linearizability/</guid><description>Every operation appears to take effect at one instant between its start and end, as if there were a single copy of the data.</description></item><item><title>Linked list</title><link>https://justroham.ir/glossary/linked-list/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/linked-list/</guid><description>A sequence of separately allocated nodes, each holding a value and a pointer to the next one (and sometimes the previous one). Cheap to splice, slow to index.</description></item><item><title>Linux capabilities</title><link>https://justroham.ir/glossary/linux-capabilities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/linux-capabilities/</guid><description>The kernel splits the powers of root into separate units such as CAP_NET_BIND_SERVICE or CAP_CHOWN, so a process can hold only the ones it needs.</description></item><item><title>List comprehension</title><link>https://justroham.ir/glossary/list-comprehension/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/list-comprehension/</guid><description>A Python expression that builds a list from an iterable in one line, e.g. [x * x for x in data if x % 2 == 0].</description></item><item><title>Listen backlog</title><link>https://justroham.ir/glossary/listen-backlog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/listen-backlog/</guid><description>The size of the kernel queue of connections waiting for accept().</description></item><item><title>Little's law</title><link>https://justroham.ir/glossary/littles-law/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/littles-law/</guid><description>In a stable system, average WIP equals throughput times average cycle time.</description></item><item><title>Live binding</title><link>https://justroham.ir/glossary/live-binding/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/live-binding/</guid><description>an ES module import that points at the exporting module&amp;rsquo;s variable itself, not at a copy of its value.</description></item><item><title>Load average</title><link>https://justroham.ir/glossary/load-average/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/load-average/</guid><description>Average number of runnable jobs (on Linux also those waiting for disk) over the last 1, 5 and 15 minutes.</description></item><item><title>Load balancer</title><link>https://justroham.ir/glossary/load-balancer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/load-balancer/</guid><description>A component that spreads incoming traffic across several backend servers.</description></item><item><title>Load factor</title><link>https://justroham.ir/glossary/load-factor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/load-factor/</guid><description>How full a hash table is: stored entries divided by slots. Past a threshold the table is rehashed into a bigger one.</description></item><item><title>Load shedding</title><link>https://justroham.ir/glossary/load-shedding/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/load-shedding/</guid><description>Rejecting some requests early so the rest can still be served in time.</description></item><item><title>Lock</title><link>https://justroham.ir/glossary/lock/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/lock/</guid><description>A mechanism that makes a session wait before touching data another session is using; PostgreSQL has table-level and row-level locks.</description></item><item><title>lock_timeout</title><link>https://justroham.ir/glossary/lock-timeout/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/lock-timeout/</guid><description>A setting that makes a statement give up with an error if it waits too long for a lock.</description></item><item><title>lockfile</title><link>https://justroham.ir/glossary/lockfile/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/lockfile/</guid><description>A file that records the exact versions, download URLs and hashes of every installed dependency.</description></item><item><title>Log injection</title><link>https://justroham.ir/glossary/log-injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/log-injection/</guid><description>User input containing a newline or control character that forges extra log lines.</description></item><item><title>Log rotation</title><link>https://justroham.ir/glossary/log-rotation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/log-rotation/</guid><description>Renaming, compressing and deleting old log files so a log never grows without bound.</description></item><item><title>Logical backup</title><link>https://justroham.ir/glossary/logical-backup/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/logical-backup/</guid><description>A backup made of SQL or row data (pg_dump, COPY) instead of copies of the data files.</description></item><item><title>Loopback</title><link>https://justroham.ir/glossary/loopback/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/loopback/</guid><description>The virtual interface that sends traffic back to the same machine: 127.0.0.0/8 and ::1.</description></item><item><title>Lost update</title><link>https://justroham.ir/glossary/lost-update/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/lost-update/</guid><description>Two transactions read the same value, both write a result computed from it, and one write silently overwrites the other.</description></item><item><title>Lower bound (search)</title><link>https://justroham.ir/glossary/lower-bound/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/lower-bound/</guid><description>The first index in a sorted array whose element is not less than the target.</description></item><item><title>LRU cache</title><link>https://justroham.ir/glossary/lru-cache/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/lru-cache/</guid><description>A cache with a fixed size that, when full, evicts the least recently used entry. Usually a map plus a doubly linked list.</description></item><item><title>LSN</title><link>https://justroham.ir/glossary/lsn/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/lsn/</guid><description>Log sequence number: a position in the WAL, shown like 0/1830840.</description></item><item><title>Mass assignment</title><link>https://justroham.ir/glossary/mass-assignment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/mass-assignment/</guid><description>A bug where the server copies every field of a client request into an internal object, so the client can set fields it should never control (price, status, role).</description></item><item><title>Memoization</title><link>https://justroham.ir/glossary/memoization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/memoization/</guid><description>Caching a function&amp;rsquo;s result per argument so repeated calls skip the work.</description></item><item><title>Memory leak</title><link>https://justroham.ir/glossary/memory-leak/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/memory-leak/</guid><description>Memory that is no longer needed but is still reachable, so the garbage collector cannot free it.</description></item><item><title>Memory safety</title><link>https://justroham.ir/glossary/memory-safety/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/memory-safety/</guid><description>A language or tool guarantee that a program cannot read or write memory it does not own.</description></item><item><title>merge</title><link>https://justroham.ir/glossary/merge/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/merge/</guid><description>joins two lines of history; if they diverged, Git creates a merge commit with two parents.</description></item><item><title>merge commit</title><link>https://justroham.ir/glossary/merge-commit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/merge-commit/</guid><description>a commit with two parents that records the joining of two histories.</description></item><item><title>Merge conflict</title><link>https://justroham.ir/glossary/merge-conflict/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/merge-conflict/</guid><description>Git could not combine two changes to the same lines automatically and asks you to choose.</description></item><item><title>Merge sort</title><link>https://justroham.ir/glossary/merge-sort/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/merge-sort/</guid><description>Split in half, sort each half, merge the two sorted halves; always O(n log n), stable, but needs O(n) extra memory.</description></item><item><title>Merkle tree</title><link>https://justroham.ir/glossary/merkle-tree/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/merkle-tree/</guid><description>A tree of hashes where each parent hashes its children, so equal root hashes mean equal data.</description></item><item><title>Message framing</title><link>https://justroham.ir/glossary/message-framing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/message-framing/</guid><description>Rules that mark where one message ends in a byte stream such as TCP.</description></item><item><title>Microservices</title><link>https://justroham.ir/glossary/microservices/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/microservices/</guid><description>Independently deployed services that each own their data and talk over the network.</description></item><item><title>Microtask</title><link>https://justroham.ir/glossary/microtask/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/microtask/</guid><description>A small job (promise callback, queueMicrotask) that runs right after the current code, before the event loop continues.</description></item><item><title>Migration</title><link>https://justroham.ir/glossary/migration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/migration/</guid><description>A versioned change to the database schema, applied in order by a script or a tool.</description></item><item><title>Minimum spanning tree</title><link>https://justroham.ir/glossary/minimum-spanning-tree/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/minimum-spanning-tree/</guid><description>The cheapest set of edges that connects every node of a weighted graph without forming a cycle.</description></item><item><title>Modular monolith</title><link>https://justroham.ir/glossary/modular-monolith/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/modular-monolith/</guid><description>One deployable whose modules talk only through narrow interfaces.</description></item><item><title>monkeypatch</title><link>https://justroham.ir/glossary/monkeypatch/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/monkeypatch/</guid><description>temporarily replacing an attribute, env var or dict item during a test</description></item><item><title>Monorepo</title><link>https://justroham.ir/glossary/monorepo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/monorepo/</guid><description>One repository that holds the code of several services or libraries, built and versioned together.</description></item><item><title>Monotonic clock</title><link>https://justroham.ir/glossary/monotonic-clock/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/monotonic-clock/</guid><description>A clock that only moves forward and is meant for measuring durations, not for telling the date.</description></item><item><title>Monotonic reads</title><link>https://justroham.ir/glossary/monotonic-reads/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/monotonic-reads/</guid><description>A client&amp;rsquo;s successive reads never go back to an older value.</description></item><item><title>Monte Carlo simulation</title><link>https://justroham.ir/glossary/monte-carlo-simulation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/monte-carlo-simulation/</guid><description>Estimating a result by running a random model many times and reading percentiles.</description></item><item><title>MRO (method resolution order)</title><link>https://justroham.ir/glossary/mro/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/mro/</guid><description>The order in which Python searches a class and its parents for an attribute; super() follows this order, and you can print it with Class.&lt;strong&gt;mro&lt;/strong&gt;.</description></item><item><title>MSS</title><link>https://justroham.ir/glossary/mss/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/mss/</guid><description>Maximum Segment Size: the most TCP payload bytes per segment.</description></item><item><title>MTU</title><link>https://justroham.ir/glossary/mtu/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/mtu/</guid><description>Maximum Transmission Unit: the largest packet a link carries in one frame.</description></item><item><title>Multiplexing</title><link>https://justroham.ir/glossary/multiplexing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/multiplexing/</guid><description>Sending many independent requests and responses at once over a single connection.</description></item><item><title>Mutation testing</title><link>https://justroham.ir/glossary/mutation-testing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/mutation-testing/</guid><description>Judging a test suite by whether it fails when the code is deliberately broken.</description></item><item><title>Mutex</title><link>https://justroham.ir/glossary/mutex/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/mutex/</guid><description>A lock that lets only one goroutine at a time touch a piece of shared state.</description></item><item><title>Mutual TLS (mTLS)</title><link>https://justroham.ir/glossary/mutual-tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/mutual-tls/</guid><description>TLS where the client also presents a certificate and the server verifies it.</description></item><item><title>MVCC</title><link>https://justroham.ir/glossary/mvcc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/mvcc/</guid><description>Multi-version concurrency control: the database keeps several versions of a row so readers and writers do not block each other.</description></item><item><title>N+1 queries</title><link>https://justroham.ir/glossary/n-plus-one/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/n-plus-one/</guid><description>One query to fetch a list, then one more query per item in the list.</description></item><item><title>Namespace</title><link>https://justroham.ir/glossary/namespace/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/namespace/</guid><description>A kernel feature that gives a process its own view of a resource such as PIDs, mounts, network or hostname.</description></item><item><title>Negative cycle</title><link>https://justroham.ir/glossary/negative-cycle/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/negative-cycle/</guid><description>A cycle whose edge weights sum to less than zero, so going around it forever keeps lowering the cost.</description></item><item><title>netfilter</title><link>https://justroham.ir/glossary/netfilter/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/netfilter/</guid><description>The kernel hooks in the network stack where packets can be filtered or changed.</description></item><item><title>Netmask</title><link>https://justroham.ir/glossary/netmask/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/netmask/</guid><description>A 32-bit mask whose leading ones mark the network part of an IPv4 address.</description></item><item><title>Network partition</title><link>https://justroham.ir/glossary/network-partition/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/network-partition/</guid><description>A failure where nodes are alive but groups of them cannot reach each other.</description></item><item><title>nftables</title><link>https://justroham.ir/glossary/nftables/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/nftables/</guid><description>The Linux packet-filtering framework configured with nft.</description></item><item><title>no_new_privs</title><link>https://justroham.ir/glossary/no-new-privs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/no-new-privs/</guid><description>A per-thread flag, set with prctl, that stops execve from granting more privilege through setuid bits or file capabilities. Once set it cannot be unset.</description></item><item><title>Node cluster</title><link>https://justroham.ir/glossary/node-cluster/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/node-cluster/</guid><description>The &lt;code&gt;cluster&lt;/code&gt; module: several Node processes sharing one listening port.</description></item><item><title>Non-blocking I/O</title><link>https://justroham.ir/glossary/non-blocking-io/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/non-blocking-io/</guid><description>A mode where read, write and accept return immediately with an error such as EAGAIN instead of making the thread wait.</description></item><item><title>Non-repeatable read</title><link>https://justroham.ir/glossary/non-repeatable-read/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/non-repeatable-read/</guid><description>Reading the same row twice in one transaction and getting different values.</description></item><item><title>Nonce</title><link>https://justroham.ir/glossary/nonce/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/nonce/</guid><description>A value that must be used only once per key, such as the per-message input of AES-GCM.</description></item><item><title>Normalization</title><link>https://justroham.ir/glossary/normalization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/normalization/</guid><description>Split tables so each fact is stored exactly once.</description></item><item><title>npm</title><link>https://justroham.ir/glossary/npm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/npm/</guid><description>The package manager that ships with Node.js and the default public registry of JavaScript packages.</description></item><item><title>NULL</title><link>https://justroham.ir/glossary/sql-null/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/sql-null/</guid><description>The SQL marker for an unknown or missing value.</description></item><item><title>NXDOMAIN</title><link>https://justroham.ir/glossary/nxdomain/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/nxdomain/</guid><description>The DNS response code meaning that the name does not exist.</description></item><item><title>OAuth 2.0</title><link>https://justroham.ir/glossary/oauth2/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/oauth2/</guid><description>A framework that lets an app get limited access to an API on a user&amp;rsquo;s behalf through tokens, without seeing the user&amp;rsquo;s password.</description></item><item><title>Object mode</title><link>https://justroham.ir/glossary/object-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/object-mode/</guid><description>A stream option where each chunk is any JavaScript value instead of bytes or a string.</description></item><item><title>OCSP</title><link>https://justroham.ir/glossary/ocsp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/ocsp/</guid><description>A way to ask a CA whether a specific certificate has been revoked.</description></item><item><title>OOM killer</title><link>https://justroham.ir/glossary/oom-killer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/oom-killer/</guid><description>The kernel mechanism that kills a process when memory runs out, system-wide or inside a cgroup that hit memory.max.</description></item><item><title>OpenAPI</title><link>https://justroham.ir/glossary/openapi/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/openapi/</guid><description>A standard YAML/JSON format for describing an HTTP API: paths, parameters, request and response schemas.</description></item><item><title>OpenID Connect (OIDC)</title><link>https://justroham.ir/glossary/oidc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/oidc/</guid><description>A thin identity layer on top of OAuth 2.0 that adds an ID token and a userinfo endpoint to tell the client who logged in.</description></item><item><title>Operational error</title><link>https://justroham.ir/glossary/operational-error/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/operational-error/</guid><description>An expected runtime failure (bad input, missing record, timeout), as opposed to a bug.</description></item><item><title>Optimal substructure</title><link>https://justroham.ir/glossary/optimal-substructure/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/optimal-substructure/</guid><description>An optimal answer to the whole problem is built from optimal answers to its subproblems.</description></item><item><title>Optimistic concurrency</title><link>https://justroham.ir/glossary/optimistic-concurrency/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/optimistic-concurrency/</guid><description>Do not lock; write with the version you read and fail if someone else wrote first, then reload and retry.</description></item><item><title>Orchestration</title><link>https://justroham.ir/glossary/orchestration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/orchestration/</guid><description>One coordinator sends commands to services in order and decides what happens on each reply or failure.</description></item><item><title>ORM</title><link>https://justroham.ir/glossary/orm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/orm/</guid><description>Object-relational mapper: a library that maps tables to classes and rows to objects.</description></item><item><title>Outbox pattern</title><link>https://justroham.ir/glossary/outbox-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/outbox-pattern/</guid><description>Writing an event to a database table in the same transaction as the data change, then publishing it afterwards.</description></item><item><title>Output encoding</title><link>https://justroham.ir/glossary/output-encoding/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/output-encoding/</guid><description>Escaping data for the exact context (HTML body, attribute, JavaScript, URL) it is written into.</description></item><item><title>Overcommit</title><link>https://justroham.ir/glossary/overcommit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/overcommit/</guid><description>Letting processes reserve more virtual memory than physical RAM plus swap, because most of it is never touched.</description></item><item><title>Overlapping subproblems</title><link>https://justroham.ir/glossary/overlapping-subproblems/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/overlapping-subproblems/</guid><description>The same smaller problem is needed again and again by different branches of the recursion.</description></item><item><title>overlayfs</title><link>https://justroham.ir/glossary/overlayfs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/overlayfs/</guid><description>A Linux filesystem that stacks a writable layer over read-only layers; container images use it for their layers.</description></item><item><title>OWASP Top 10</title><link>https://justroham.ir/glossary/owasp-top-10/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/owasp-top-10/</guid><description>A periodically updated list of the ten most critical web application security risk categories, published by OWASP.</description></item><item><title>Ownership</title><link>https://justroham.ir/glossary/ownership/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/ownership/</guid><description>Rust&amp;rsquo;s rule that every value has exactly one owner, and is dropped when the owner goes out of scope.</description></item><item><title>PACELC</title><link>https://justroham.ir/glossary/pacelc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/pacelc/</guid><description>If there is a Partition choose Availability or Consistency, Else choose Latency or Consistency.</description></item><item><title>Packfile</title><link>https://justroham.ir/glossary/packfile/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/packfile/</guid><description>A single Git file that stores many objects compactly, usually with delta compression.</description></item><item><title>Page cache</title><link>https://justroham.ir/glossary/page-cache/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/page-cache/</guid><description>The kernel&amp;rsquo;s in-memory cache of file contents, which makes repeated reads of a file avoid the disk and is reclaimed when memory is needed.</description></item><item><title>Pagination</title><link>https://justroham.ir/glossary/pagination/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/pagination/</guid><description>Returning a large list in pages instead of all at once.</description></item><item><title>Parameterized query</title><link>https://justroham.ir/glossary/parameterized-query/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/parameterized-query/</guid><description>A SQL statement with placeholders (&lt;code&gt;$1&lt;/code&gt;) whose values are sent separately from the SQL text.</description></item><item><title>Parametrized test</title><link>https://justroham.ir/glossary/parametrized-test/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/parametrized-test/</guid><description>one test body run over many input rows</description></item><item><title>Partial clone</title><link>https://justroham.ir/glossary/partial-clone/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/partial-clone/</guid><description>A clone that skips some objects (e.g. file contents) and fetches them on demand.</description></item><item><title>Partial failure</title><link>https://justroham.ir/glossary/partial-failure/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/partial-failure/</guid><description>One part of a system fails while the rest keeps running, so the caller cannot tell what happened.</description></item><item><title>Partial index</title><link>https://justroham.ir/glossary/partial-index/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/partial-index/</guid><description>An index that covers only the rows matching a WHERE condition.</description></item><item><title>Partition pruning</title><link>https://justroham.ir/glossary/partition-pruning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/partition-pruning/</guid><description>The planner skipping partitions that cannot contain matching rows because the query filters on the partition key.</description></item><item><title>Password hashing</title><link>https://justroham.ir/glossary/password-hashing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/password-hashing/</guid><description>A deliberately slow, salted one-way function used to store passwords so a database leak does not reveal them.</description></item><item><title>Path compression</title><link>https://justroham.ir/glossary/path-compression/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/path-compression/</guid><description>During Find, point every node on the path straight at the root so later Finds are shorter.</description></item><item><title>Path traversal</title><link>https://justroham.ir/glossary/path-traversal/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/path-traversal/</guid><description>A bug where &lt;code&gt;../&lt;/code&gt; in user input makes a file handler read outside its intended directory.</description></item><item><title>Pepper</title><link>https://justroham.ir/glossary/pepper/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/pepper/</guid><description>A secret value kept outside the database and mixed into password hashing, so a stolen database alone is not enough.</description></item><item><title>Percentile</title><link>https://justroham.ir/glossary/percentile/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/percentile/</guid><description>The value below which a given share of observations fall; p99 is the latency 99% of requests beat.</description></item><item><title>perf</title><link>https://justroham.ir/glossary/perf/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/perf/</guid><description>Linux performance tool that counts hardware events and samples where CPU time goes.</description></item><item><title>PgBouncer</title><link>https://justroham.ir/glossary/pgbouncer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/pgbouncer/</guid><description>A separate connection pooler placed between applications and PostgreSQL.</description></item><item><title>Phantom read</title><link>https://justroham.ir/glossary/phantom-read/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/phantom-read/</guid><description>Running the same query twice in one transaction and getting a different set of rows.</description></item><item><title>pickle</title><link>https://justroham.ir/glossary/pickle/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/pickle/</guid><description>Python&amp;rsquo;s built-in serialization of objects to bytes, used to send data between processes.</description></item><item><title>pip</title><link>https://justroham.ir/glossary/pip/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/pip/</guid><description>Python&amp;rsquo;s standard package installer, which downloads packages from PyPI.</description></item><item><title>Pipe</title><link>https://justroham.ir/glossary/pipe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/pipe/</guid><description>Connects one command’s stdout to the next command’s stdin (&lt;code&gt;a | b&lt;/code&gt;), so small tools chain into a pipeline.</description></item><item><title>PITR</title><link>https://justroham.ir/glossary/pitr/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/pitr/</guid><description>Point-in-time recovery: restore a base backup and replay archived WAL up to a chosen moment.</description></item><item><title>PKCE</title><link>https://justroham.ir/glossary/pkce/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/pkce/</guid><description>Proof Key for Code Exchange: the client proves at the token request that it is the one that started the authorization request.</description></item><item><title>Planner statistics</title><link>https://justroham.ir/glossary/planner-statistics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/planner-statistics/</guid><description>Per-column summaries that &lt;code&gt;ANALYZE&lt;/code&gt; stores for the planner.</description></item><item><title>plumbing</title><link>https://justroham.ir/glossary/plumbing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/plumbing/</guid><description>Git&amp;rsquo;s low-level commands (hash-object, write-tree, commit-tree&amp;hellip;) that porcelain commands are built on.</description></item><item><title>Poison message</title><link>https://justroham.ir/glossary/poison-message/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/poison-message/</guid><description>A message that makes its consumer fail every time, so redelivery never succeeds.</description></item><item><title>Polyrepo</title><link>https://justroham.ir/glossary/polyrepo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/polyrepo/</guid><description>Each service or library lives in its own repository and is released and versioned on its own.</description></item><item><title>Postmortem</title><link>https://justroham.ir/glossary/postmortem/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/postmortem/</guid><description>A written review of an incident: what happened, its impact, why, and what to change.</description></item><item><title>Power of two choices</title><link>https://justroham.ir/glossary/power-of-two-choices/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/power-of-two-choices/</guid><description>Load balancing rule: pick two random instances and send the request to the one with the shorter queue.</description></item><item><title>pprof</title><link>https://justroham.ir/glossary/pprof/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/pprof/</guid><description>Go&amp;rsquo;s profiling tool and the &lt;code&gt;net/http/pprof&lt;/code&gt; handlers that expose profiles over HTTP.</description></item><item><title>Preflight request</title><link>https://justroham.ir/glossary/preflight/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/preflight/</guid><description>An OPTIONS request a browser sends first to ask whether a cross-origin request with a custom method or header is allowed.</description></item><item><title>Prepared transaction</title><link>https://justroham.ir/glossary/prepared-transaction/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/prepared-transaction/</guid><description>In PostgreSQL, a transaction detached from its session by PREPARE TRANSACTION, stored on disk and finished later by COMMIT PREPARED or ROLLBACK PREPARED.</description></item><item><title>Primary key</title><link>https://justroham.ir/glossary/primary-key/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/primary-key/</guid><description>The column(s) that identify each row uniquely.</description></item><item><title>Priority lane</title><link>https://justroham.ir/glossary/priority-lane/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/priority-lane/</guid><description>A separate queue or consumer per priority, served in strict order so urgent messages never wait behind a backlog.</description></item><item><title>Priority queue</title><link>https://justroham.ir/glossary/priority-queue/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/priority-queue/</guid><description>An abstract container where you always remove the item with the highest priority first, not the oldest.</description></item><item><title>Process</title><link>https://justroham.ir/glossary/process/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/process/</guid><description>A running instance of a program, with its own pid, memory and a parent process.</description></item><item><title>Process group</title><link>https://justroham.ir/glossary/process-group/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/process-group/</guid><description>A set of related processes (for example a pipeline) that can receive a signal together.</description></item><item><title>Process substitution</title><link>https://justroham.ir/glossary/process-substitution/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/process-substitution/</guid><description>A bash/zsh feature, &lt;code&gt;&amp;lt;(cmd)&lt;/code&gt;, that presents a command’s output as a file name, so tools that want files can read it (&lt;code&gt;diff &amp;lt;(a) &amp;lt;(b)&lt;/code&gt;). Not POSIX.</description></item><item><title>procfs</title><link>https://justroham.ir/glossary/procfs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/procfs/</guid><description>Linux&amp;rsquo;s virtual /proc filesystem, where the kernel exposes process and system state as files.</description></item><item><title>Projection</title><link>https://justroham.ir/glossary/projection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/projection/</guid><description>A read model built by consuming events and maintaining a table shaped for queries; it can be dropped and rebuilt by replay.</description></item><item><title>Projects</title><link>https://justroham.ir/projects/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/projects/</guid><description>Selected open-source projects and experiments</description></item><item><title>Promise</title><link>https://justroham.ir/glossary/promise/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/promise/</guid><description>A value that stands for a result that is not ready yet: pending, then fulfilled or rejected.</description></item><item><title>Property-based testing</title><link>https://justroham.ir/glossary/property-based-testing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/property-based-testing/</guid><description>Testing a rule that must hold for all inputs, with inputs generated automatically.</description></item><item><title>Protocol Buffers</title><link>https://justroham.ir/glossary/protobuf/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/protobuf/</guid><description>A compact binary format for structured messages, described in .proto files.</description></item><item><title>Prototype pollution</title><link>https://justroham.ir/glossary/prototype-pollution/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/prototype-pollution/</guid><description>A JavaScript bug where attacker-controlled keys like &lt;strong&gt;proto&lt;/strong&gt; change the prototype of objects, so unrelated objects suddenly get extra properties.</description></item><item><title>ptrace</title><link>https://justroham.ir/glossary/ptrace/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/ptrace/</guid><description>The system call that lets one process observe and control another; strace and debuggers use it.</description></item><item><title>Pull consumer</title><link>https://justroham.ir/glossary/pull-consumer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/pull-consumer/</guid><description>A JetStream consumer where the client asks for messages instead of the server pushing them.</description></item><item><title>Pydantic</title><link>https://justroham.ir/glossary/pydantic/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/pydantic/</guid><description>A Python library that validates and converts data using type hints.</description></item><item><title>PyO3</title><link>https://justroham.ir/glossary/pyo3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/pyo3/</guid><description>A Rust library for writing Python extension modules (and calling Python from Rust).</description></item><item><title>PyPI</title><link>https://justroham.ir/glossary/pypi/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/pypi/</guid><description>The Python Package Index, the default public registry that pip and uv download from.</description></item><item><title>pyproject.toml</title><link>https://justroham.ir/glossary/pyproject-toml/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/pyproject-toml/</guid><description>The standard Python project file with metadata, the required Python version and direct dependencies.</description></item><item><title>Query plan</title><link>https://justroham.ir/glossary/query-plan/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/query-plan/</guid><description>The tree of steps the database chooses to run a query, shown by EXPLAIN.</description></item><item><title>Query planner</title><link>https://justroham.ir/glossary/query-planner/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/query-planner/</guid><description>The part of the database that chooses how to run a query.</description></item><item><title>Queue</title><link>https://justroham.ir/glossary/queue/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/queue/</guid><description>A first-in, first-out collection: add at the back, remove from the front. Usually built on a ring buffer.</description></item><item><title>Queue group</title><link>https://justroham.ir/glossary/queue-group/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/queue-group/</guid><description>Subscribers that share a name so each message goes to only one member of the group.</description></item><item><title>Quicksort</title><link>https://justroham.ir/glossary/quicksort/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/quicksort/</guid><description>Pick a pivot, partition the slice around it, then sort both sides recursively; O(n log n) on average, in place.</description></item><item><title>Quorum</title><link>https://justroham.ir/glossary/quorum/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/quorum/</guid><description>A group of replicas whose agreement is required, usually a strict majority, so that any two quorums overlap.</description></item><item><title>Rabin–Karp</title><link>https://justroham.ir/glossary/rabin-karp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/rabin-karp/</guid><description>String search that compares hashes of windows first and verifies real text only when hashes are equal.</description></item><item><title>Race condition</title><link>https://justroham.ir/glossary/race-condition/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/race-condition/</guid><description>A bug where the result depends on the unsynchronized timing of concurrent accesses.</description></item><item><title>Raft</title><link>https://justroham.ir/glossary/raft/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/raft/</guid><description>A consensus algorithm built from leader election, log replication and safety rules, designed to be easier to understand than Paxos.</description></item><item><title>Rate limiting</title><link>https://justroham.ir/glossary/rate-limiting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/rate-limiting/</guid><description>Capping how many requests a client may make in a time span.</description></item><item><title>RBAC</title><link>https://justroham.ir/glossary/rbac/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/rbac/</guid><description>Role-based access control: users get roles, roles map to permissions.</description></item><item><title>RCE</title><link>https://justroham.ir/glossary/rce/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/rce/</guid><description>Remote Code Execution: an attacker runs their own code on your server.</description></item><item><title>Read model</title><link>https://justroham.ir/glossary/read-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/read-model/</guid><description>A copy of the data shaped for queries, built by applying the events of the write side; it may lag behind but must converge.</description></item><item><title>Read repair</title><link>https://justroham.ir/glossary/read-repair/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/read-repair/</guid><description>When a read finds a replica holding an older version, the reader writes the newest version back to it.</description></item><item><title>Read-your-writes</title><link>https://justroham.ir/glossary/read-your-writes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/read-your-writes/</guid><description>After a client writes a value, its own later reads see that value or a newer one.</description></item><item><title>rebase</title><link>https://justroham.ir/glossary/rebase/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/rebase/</guid><description>replays your commits on top of another base, producing new commits with new hashes.</description></item><item><title>Recursive resolver</title><link>https://justroham.ir/glossary/recursive-resolver/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/recursive-resolver/</guid><description>A DNS server that does the whole lookup for a client and caches the result.</description></item><item><title>Ref</title><link>https://justroham.ir/glossary/git-ref/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/git-ref/</guid><description>a human-readable name that points to a Git object.</description></item><item><title>Refactoring</title><link>https://justroham.ir/glossary/refactoring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/refactoring/</guid><description>Changing the structure of code without changing its observable behavior.</description></item><item><title>Reference-class forecasting</title><link>https://justroham.ir/glossary/reference-class-forecasting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/reference-class-forecasting/</guid><description>Forecasting by looking at the outcomes of similar past projects, not at the details of this one.</description></item><item><title>reflog</title><link>https://justroham.ir/glossary/reflog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/reflog/</guid><description>A local log of where HEAD and branch tips have pointed, used to recover commits after a reset or deleted branch.</description></item><item><title>Refresh token</title><link>https://justroham.ir/glossary/refresh-token/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/refresh-token/</guid><description>A long-lived credential that the client exchanges for a new short-lived access token.</description></item><item><title>Regression</title><link>https://justroham.ir/glossary/regression/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/regression/</guid><description>A bug that breaks something which used to work.</description></item><item><title>Relational model</title><link>https://justroham.ir/glossary/relational-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/relational-model/</guid><description>A model where data lives in tables of rows and columns linked by keys.</description></item><item><title>Relaxation</title><link>https://justroham.ir/glossary/relaxation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/relaxation/</guid><description>Updating a vertex&amp;rsquo;s distance when a route through an edge is shorter than the best known.</description></item><item><title>Remote-tracking branch</title><link>https://justroham.ir/glossary/remote-tracking-branch/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/remote-tracking-branch/</guid><description>a local, read-only record of a branch on a remote, like origin/main.</description></item><item><title>Rendezvous hashing</title><link>https://justroham.ir/glossary/rendezvous-hashing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/rendezvous-hashing/</guid><description>Each key goes to the node with the highest hash(node, key) score (also called HRW).</description></item><item><title>Replicated log</title><link>https://justroham.ir/glossary/replicated-log/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/replicated-log/</guid><description>An ordered list of commands copied to several nodes; if every node applies the same log in order, their state machines end up identical.</description></item><item><title>Replication</title><link>https://justroham.ir/glossary/replication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/replication/</guid><description>Keeping a second, continuously updated copy of a database on another server.</description></item><item><title>Reproducible build</title><link>https://justroham.ir/glossary/reproducible-build/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/reproducible-build/</guid><description>Building the same source twice gives byte-identical output, so a checksum can prove what was built.</description></item><item><title>Request ID</title><link>https://justroham.ir/glossary/request-id/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/request-id/</guid><description>A unique identifier attached to one request and to every log line it produces.</description></item><item><title>Request smuggling</title><link>https://justroham.ir/glossary/request-smuggling/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/request-smuggling/</guid><description>An attack that exploits two HTTP parsers disagreeing about where a request ends.</description></item><item><title>rerere</title><link>https://justroham.ir/glossary/rerere/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/rerere/</guid><description>Git feature (reuse recorded resolution) that replays a conflict resolution you made before.</description></item><item><title>Retry budget</title><link>https://justroham.ir/glossary/retry-budget/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/retry-budget/</guid><description>A cap on retries as a fraction of normal requests, often kept in a token bucket.</description></item><item><title>Retry storm</title><link>https://justroham.ir/glossary/retry-storm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/retry-storm/</guid><description>Overload made worse by clients that retry failed requests all at once.</description></item><item><title>Reverse proxy</title><link>https://justroham.ir/glossary/reverse-proxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/reverse-proxy/</guid><description>A server that receives client requests and forwards them to backends on the client&amp;rsquo;s behalf.</description></item><item><title>RFC</title><link>https://justroham.ir/glossary/rfc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/rfc/</guid><description>Request for Comments: a proposal document circulated for discussion before a decision is made.</description></item><item><title>Ring buffer</title><link>https://justroham.ir/glossary/ring-buffer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/ring-buffer/</guid><description>A fixed array with a head index and a count where positions wrap around with modulo, so removing from the front never shifts elements. When full it can double (copying once) to keep amortized O(1) pushes.</description></item><item><title>Roll forward</title><link>https://justroham.ir/glossary/roll-forward/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/roll-forward/</guid><description>fixing a bad release with a new release instead of reverting.</description></item><item><title>Rollback</title><link>https://justroham.ir/glossary/rollback/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/rollback/</guid><description>Returning production to the previous known-good release, as opposed to rolling forward with a new fix.</description></item><item><title>Rolling hash</title><link>https://justroham.ir/glossary/rolling-hash/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/rolling-hash/</guid><description>A hash of a sliding window that is updated in O(1) by removing the old character and adding the new one.</description></item><item><title>Rolling update</title><link>https://justroham.ir/glossary/rolling-update/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/rolling-update/</guid><description>a deploy that replaces instances one by one.</description></item><item><title>RSS</title><link>https://justroham.ir/glossary/rss/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/rss/</guid><description>Resident set size: the part of a process&amp;rsquo;s memory currently held in physical RAM, not its whole virtual size.</description></item><item><title>RST</title><link>https://justroham.ir/glossary/tcp-rst/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/tcp-rst/</guid><description>A TCP segment that aborts a connection immediately, without the orderly FIN exchange.</description></item><item><title>Runbook</title><link>https://justroham.ir/glossary/runbook/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/runbook/</guid><description>Step-by-step instructions for operating a system and handling a known failure.</description></item><item><title>Rune</title><link>https://justroham.ir/glossary/rune/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/rune/</guid><description>In Go, an int32 holding one Unicode code point; a string is bytes, and one character can be several bytes.</description></item><item><title>Saga</title><link>https://justroham.ir/glossary/saga/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/saga/</guid><description>A long business transaction split into local transactions, each with a compensating action that undoes it if a later step fails.</description></item><item><title>Salt</title><link>https://justroham.ir/glossary/salt/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/salt/</guid><description>A random value stored next to a password hash so equal passwords give different hashes.</description></item><item><title>SameSite</title><link>https://justroham.ir/glossary/samesite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/samesite/</guid><description>A cookie attribute that limits when the browser sends the cookie on cross-site requests.</description></item><item><title>Sargable</title><link>https://justroham.ir/glossary/sargable/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/sargable/</guid><description>A condition written so an index can be used for it.</description></item><item><title>Savepoint</title><link>https://justroham.ir/glossary/savepoint/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/savepoint/</guid><description>A named point inside a transaction that you can roll back to without abandoning the whole transaction.</description></item><item><title>SBOM</title><link>https://justroham.ir/glossary/sbom/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/sbom/</guid><description>Software Bill of Materials: a machine-readable list of the components inside a build.</description></item><item><title>Scatter-gather</title><link>https://justroham.ir/glossary/scatter-gather/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/scatter-gather/</guid><description>Sending a query to every shard and merging the partial answers, needed when the query does not contain the shard key.</description></item><item><title>Schema validation</title><link>https://justroham.ir/glossary/schema-validation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/schema-validation/</guid><description>Checking untrusted data against a declared shape (types, ranges, required fields) at the boundary, before the rest of the code uses it.</description></item><item><title>sdist</title><link>https://justroham.ir/glossary/sdist/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/sdist/</guid><description>The source distribution of a Python package: an archive of the sources plus metadata, built into a wheel at install time if needed.</description></item><item><title>Seam</title><link>https://justroham.ir/glossary/seam/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/seam/</guid><description>A place where you can change behavior without editing the code around it.</description></item><item><title>Secret scanning</title><link>https://justroham.ir/glossary/secret-scanning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/secret-scanning/</guid><description>Searching code and git history for credentials by pattern and entropy.</description></item><item><title>Seed corpus</title><link>https://justroham.ir/glossary/seed-corpus/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/seed-corpus/</guid><description>The starting inputs given to a fuzzer, ideally real samples.</description></item><item><title>Selectivity</title><link>https://justroham.ir/glossary/selectivity/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/selectivity/</guid><description>The fraction of rows a condition keeps.</description></item><item><title>Semaphore</title><link>https://justroham.ir/glossary/semaphore/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/semaphore/</guid><description>A counter-based primitive that lets at most N holders in at once; the rest wait.</description></item><item><title>Semver</title><link>https://justroham.ir/glossary/semver/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/semver/</guid><description>A versioning scheme MAJOR.MINOR.PATCH, plus the range syntax (&lt;code&gt;^&lt;/code&gt;, &lt;code&gt;~&lt;/code&gt;) npm uses to pick versions.</description></item><item><title>Sequential consistency</title><link>https://justroham.ir/glossary/sequential-consistency/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/sequential-consistency/</guid><description>All clients see one order of operations that keeps each client&amp;rsquo;s own order, but it need not match real time.</description></item><item><title>Server-Sent Events</title><link>https://justroham.ir/glossary/server-sent-events/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/server-sent-events/</guid><description>A one-way, text-based stream of events from server to browser over a normal HTTP response.</description></item><item><title>Service discovery</title><link>https://justroham.ir/glossary/service-discovery/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/service-discovery/</guid><description>Finding the current network addresses of the instances of a service while they come and go.</description></item><item><title>Service mesh</title><link>https://justroham.ir/glossary/service-mesh/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/service-mesh/</guid><description>A layer of sidecar proxies next to each service that handles discovery, load balancing, retries and TLS outside the application code.</description></item><item><title>Service registry</title><link>https://justroham.ir/glossary/service-registry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/service-registry/</guid><description>A small service that stores which instances are alive; instances register with a TTL and keep renewing it.</description></item><item><title>Session</title><link>https://justroham.ir/glossary/session/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/session/</guid><description>Server-side state that is looked up by a random id stored in a cookie.</description></item><item><title>setuid and setgid</title><link>https://justroham.ir/glossary/setuid/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/setuid/</guid><description>Mode bits that make an executable run with its owner&amp;rsquo;s (or group&amp;rsquo;s) identity instead of the caller&amp;rsquo;s; on a directory, setgid makes new files inherit its group. They show as s in ls -l.</description></item><item><title>SHA-1</title><link>https://justroham.ir/glossary/sha-1/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/sha-1/</guid><description>Hash function Git uses by default to name objects (40 hex characters).</description></item><item><title>Shadow mode</title><link>https://justroham.ir/glossary/shadow-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/shadow-mode/</guid><description>Running the new implementation next to the old one on real inputs, serving only the old answer and counting differences.</description></item><item><title>Shallow clone</title><link>https://justroham.ir/glossary/shallow-clone/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/shallow-clone/</guid><description>A clone with truncated history, e.g. git clone &amp;ndash;depth 1.</description></item><item><title>Shallow copy</title><link>https://justroham.ir/glossary/shallow-copy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/shallow-copy/</guid><description>A copy that duplicates only the outer container; the elements inside are still the same objects. A deep copy duplicates them too.</description></item><item><title>Shannon entropy</title><link>https://justroham.ir/glossary/shannon-entropy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/shannon-entropy/</guid><description>A measure of how random a string looks, in bits per character.</description></item><item><title>Sharding</title><link>https://justroham.ir/glossary/sharding/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/sharding/</guid><description>Splitting one dataset across several nodes by a shard key, so each node owns only part of the data.</description></item><item><title>shared memory</title><link>https://justroham.ir/glossary/shared-memory/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/shared-memory/</guid><description>A block of memory that several processes map at once, so they can read and write the same bytes without copying.</description></item><item><title>SharedArrayBuffer</title><link>https://justroham.ir/glossary/shared-array-buffer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/shared-array-buffer/</guid><description>A memory block visible to several threads at once, used with Atomics.</description></item><item><title>Shrinking</title><link>https://justroham.ir/glossary/shrinking/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/shrinking/</guid><description>Reducing a failing random input to the smallest one that still fails.</description></item><item><title>SIGKILL</title><link>https://justroham.ir/glossary/sigkill/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/sigkill/</guid><description>The forced kill (signal 9); it cannot be caught or ignored, so no cleanup code runs.</description></item><item><title>Signal</title><link>https://justroham.ir/glossary/signal/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/signal/</guid><description>A small asynchronous message the kernel or another process sends to a process, such as SIGTERM or SIGINT.</description></item><item><title>SIGPIPE</title><link>https://justroham.ir/glossary/sigpipe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/sigpipe/</guid><description>The signal a process gets when it writes to a pipe whose reader has closed (signal 13).</description></item><item><title>SIGTERM</title><link>https://justroham.ir/glossary/sigterm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/sigterm/</guid><description>The polite signal that asks a process to stop, which it may catch to clean up first.</description></item><item><title>site-packages</title><link>https://justroham.ir/glossary/site-packages/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/site-packages/</guid><description>The folder inside an environment where installed third-party packages are placed.</description></item><item><title>Size class</title><link>https://justroham.ir/glossary/size-class/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/size-class/</guid><description>The Go allocator rounds each request up to one of a fixed set of block sizes. That is why a slice&amp;rsquo;s capacity can be larger than the growth formula alone predicts.</description></item><item><title>SKIP LOCKED</title><link>https://justroham.ir/glossary/skip-locked/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/skip-locked/</guid><description>A &lt;code&gt;SELECT ... FOR UPDATE&lt;/code&gt; option that skips rows other sessions have locked instead of waiting, used to build job queues.</description></item><item><title>SLI</title><link>https://justroham.ir/glossary/sli/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/sli/</guid><description>Service level indicator: a measured ratio of good events to total events, such as non-5xx requests.</description></item><item><title>Slice (Go)</title><link>https://justroham.ir/glossary/slice/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/slice/</guid><description>A Go slice is a three-word header: a pointer to a backing array, a length and a capacity. Copying the header does not copy the elements.</description></item><item><title>Sliding window counter</title><link>https://justroham.ir/glossary/sliding-window/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/sliding-window/</guid><description>An approximate limiter that weights the previous fixed window by how much of it still overlaps the last interval.</description></item><item><title>SLO</title><link>https://justroham.ir/glossary/slo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/slo/</guid><description>A target for a service level indicator over a window, for example 99.5% of requests succeed in 30 days.</description></item><item><title>Slowloris</title><link>https://justroham.ir/glossary/slowloris/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/slowloris/</guid><description>A denial-of-service pattern where a client sends a request extremely slowly to hold server connections open.</description></item><item><title>Smoke test</title><link>https://justroham.ir/glossary/smoke-test/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/smoke-test/</guid><description>A very small check that the built artifact starts and answers at all, before deeper checks or deploy.</description></item><item><title>Snapshot (event sourcing)</title><link>https://justroham.ir/glossary/event-snapshot/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/event-snapshot/</guid><description>A saved copy of folded state at some version, so loading replays only the events after it.</description></item><item><title>Snapshot isolation</title><link>https://justroham.ir/glossary/snapshot-isolation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/snapshot-isolation/</guid><description>Each transaction reads from a consistent snapshot of the data taken when it started.</description></item><item><title>SNI</title><link>https://justroham.ir/glossary/sni/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/sni/</guid><description>Server Name Indication: the client names the host it wants inside the TLS handshake.</description></item><item><title>Socket</title><link>https://justroham.ir/glossary/socket/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/socket/</guid><description>The operating system handle an application uses to send and receive over the network.</description></item><item><title>software supply chain</title><link>https://justroham.ir/glossary/software-supply-chain/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/software-supply-chain/</guid><description>Everything your software is built from and delivered by: dependencies, registries, build tools and CI.</description></item><item><title>Sparse checkout</title><link>https://justroham.ir/glossary/sparse-checkout/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/sparse-checkout/</guid><description>Checking out only chosen directories into the working tree.</description></item><item><title>Split-brain</title><link>https://justroham.ir/glossary/split-brain/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/split-brain/</guid><description>Two nodes both believe they are the primary and accept different writes.</description></item><item><title>SQL injection</title><link>https://justroham.ir/glossary/sql-injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/sql-injection/</guid><description>An attack where user input becomes part of the SQL text and changes its meaning.</description></item><item><title>SQLSTATE</title><link>https://justroham.ir/glossary/sqlstate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/sqlstate/</guid><description>A five-character standard error code, e.g. 23505 for a unique violation.</description></item><item><title>squash merge</title><link>https://justroham.ir/glossary/squash-merge/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/squash-merge/</guid><description>collapses all commits of a branch into one new commit on the target branch.</description></item><item><title>SSH certificate</title><link>https://justroham.ir/glossary/ssh-certificate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/ssh-certificate/</guid><description>A public key signed by a CA key, with principals and a validity period, instead of a list of raw keys.</description></item><item><title>SSH key pair</title><link>https://justroham.ir/glossary/ssh-key-pair/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/ssh-key-pair/</guid><description>A private key you keep plus a public key you share, used to log in without a password.</description></item><item><title>ssh-agent</title><link>https://justroham.ir/glossary/ssh-agent/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/ssh-agent/</guid><description>A process that keeps decrypted private keys in memory and signs on behalf of ssh.</description></item><item><title>SSRF</title><link>https://justroham.ir/glossary/ssrf/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/ssrf/</guid><description>Server-side request forgery: making the server fetch a URL chosen by the user, so it reaches places the user cannot.</description></item><item><title>Stable sort</title><link>https://justroham.ir/glossary/stable-sort/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/stable-sort/</guid><description>A sort that keeps equal elements in their original relative order.</description></item><item><title>Stack</title><link>https://justroham.ir/glossary/stack/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/stack/</guid><description>A last-in, first-out collection: you only push and pop at one end. Typical uses are undo history, bracket matching and the call stack.</description></item><item><title>Staging area (index)</title><link>https://justroham.ir/glossary/staging-area/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/staging-area/</guid><description>the snapshot of what the next commit will contain, stored in .git/index.</description></item><item><title>start method</title><link>https://justroham.ir/glossary/start-method/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/start-method/</guid><description>How multiprocessing creates a child process: spawn (fresh interpreter), fork (copy of the parent) or forkserver.</description></item><item><title>Stash</title><link>https://justroham.ir/glossary/stash/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/stash/</guid><description>a stack of shelved changes you can put back later.</description></item><item><title>statement_timeout</title><link>https://justroham.ir/glossary/statement-timeout/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/statement-timeout/</guid><description>A PostgreSQL setting that cancels any single statement running longer than the given time.</description></item><item><title>Static analysis</title><link>https://justroham.ir/glossary/static-analysis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/static-analysis/</guid><description>Checking source code for likely bugs without running it.</description></item><item><title>Statistical power</title><link>https://justroham.ir/glossary/statistical-power/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/statistical-power/</guid><description>the chance a test detects a real effect.</description></item><item><title>Steady state</title><link>https://justroham.ir/glossary/steady-state/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/steady-state/</guid><description>A measurable description of normal behaviour, such as an SLO, that an experiment must not violate.</description></item><item><title>Stemming</title><link>https://justroham.ir/glossary/stemming/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/stemming/</guid><description>Reducing a word to its stem so that different forms match, for example running, runs and run all become run.</description></item><item><title>Sticky bit</title><link>https://justroham.ir/glossary/sticky-bit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/sticky-bit/</guid><description>A directory mode bit (t in ls -l) that lets only a file&amp;rsquo;s owner or the directory&amp;rsquo;s owner delete or rename entries, as in /tmp.</description></item><item><title>Stop-and-wait</title><link>https://justroham.ir/glossary/stop-and-wait/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/stop-and-wait/</guid><description>A reliability scheme: send one packet, wait for its acknowledgement, resend on timeout.</description></item><item><title>strace</title><link>https://justroham.ir/glossary/strace/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/strace/</guid><description>Linux tool that prints the system calls and signals of a process.</description></item><item><title>Strangler fig</title><link>https://justroham.ir/glossary/strangler-fig/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/strangler-fig/</guid><description>Replacing a system piece by piece behind a router, so old and new run side by side.</description></item><item><title>Stream</title><link>https://justroham.ir/glossary/stream/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/stream/</guid><description>An object that moves data in chunks, so a program never needs the whole thing in memory.</description></item><item><title>STRIDE</title><link>https://justroham.ir/glossary/stride/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/stride/</guid><description>A checklist of six threat categories: Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege.</description></item><item><title>Structural pattern matching</title><link>https://justroham.ir/glossary/structural-pattern-matching/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/structural-pattern-matching/</guid><description>Python&amp;rsquo;s match statement, which destructures a value by shape (literals, sequences, mappings, classes) and can add guards.</description></item><item><title>Structural typing (Protocol)</title><link>https://justroham.ir/glossary/structural-typing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/structural-typing/</guid><description>A type is satisfied by any object that has the right methods, with no explicit inheritance. In Python, typing.Protocol describes this shape for type checkers.</description></item><item><title>Structured concurrency</title><link>https://justroham.ir/glossary/structured-concurrency/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/structured-concurrency/</guid><description>A style where concurrent tasks live inside a scope that waits for all of them and cancels the rest if one fails.</description></item><item><title>Structured logging</title><link>https://justroham.ir/glossary/structured-logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/structured-logging/</guid><description>Writing each log line as a JSON object with named fields instead of free text.</description></item><item><title>SubjectAltName (SAN)</title><link>https://justroham.ir/glossary/subject-alt-name/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/subject-alt-name/</guid><description>The certificate extension that lists the DNS names and IPs it is valid for.</description></item><item><title>Submodule</title><link>https://justroham.ir/glossary/submodule/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/submodule/</guid><description>A repository nested inside another one and pinned to one exact commit.</description></item><item><title>Subnet</title><link>https://justroham.ir/glossary/subnet/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/subnet/</guid><description>A contiguous block of IP addresses sharing one prefix.</description></item><item><title>Subpath imports</title><link>https://justroham.ir/glossary/subpath-imports/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/subpath-imports/</guid><description>The &lt;code&gt;imports&lt;/code&gt; field of package.json: private aliases that start with &lt;code&gt;#&lt;/code&gt; and map to files.</description></item><item><title>Subtree</title><link>https://justroham.ir/glossary/subtree/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/subtree/</guid><description>A way to copy another repository&amp;rsquo;s files into a subdirectory of yours, keeping their history mergeable.</description></item><item><title>sudo</title><link>https://justroham.ir/glossary/sudo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/sudo/</guid><description>A program that runs one command as another user (usually root) if the sudoers policy allows it, and logs the attempt.</description></item><item><title>sudoers</title><link>https://justroham.ir/glossary/sudoers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/sudoers/</guid><description>The policy file that says which users may run which commands as which target users via sudo; edit it only with visudo, which checks the syntax.</description></item><item><title>Surrogate key</title><link>https://justroham.ir/glossary/surrogate-key/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/surrogate-key/</guid><description>An artificial row identifier with no business meaning, such as an identity number.</description></item><item><title>Swap</title><link>https://justroham.ir/glossary/swap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/swap/</guid><description>Disk (or compressed memory) space the kernel uses to move rarely used anonymous memory pages out of RAM.</description></item><item><title>Symbolic link</title><link>https://justroham.ir/glossary/symbolic-link/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/symbolic-link/</guid><description>A small file whose content is a path to another file. It has its own inode and dangles if the target is removed.</description></item><item><title>synchronous_commit</title><link>https://justroham.ir/glossary/synchronous-commit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/synchronous-commit/</guid><description>The PostgreSQL setting that decides whether COMMIT waits until its WAL is flushed to disk.</description></item><item><title>Syslog severity</title><link>https://justroham.ir/glossary/syslog-severity/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/syslog-severity/</guid><description>The eight standard log levels from 0 (emerg) to 7 (debug), defined by syslog(3).</description></item><item><title>System call</title><link>https://justroham.ir/glossary/syscall/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/syscall/</guid><description>A request from a program to the kernel, such as open or read; tools like strace list them.</description></item><item><title>systemd</title><link>https://justroham.ir/glossary/systemd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/systemd/</guid><description>The init system and service manager on most Linux distributions, running as PID 1.</description></item><item><title>Table bloat</title><link>https://justroham.ir/glossary/table-bloat/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/table-bloat/</guid><description>Wasted space in a table or index left by dead row versions that were never reused.</description></item><item><title>Table partitioning</title><link>https://justroham.ir/glossary/partitioning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/partitioning/</guid><description>Splitting one big logical table into smaller physical tables (partitions) by a key such as a date range, a list of values or a hash.</description></item><item><title>Table rewrite</title><link>https://justroham.ir/glossary/table-rewrite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/table-rewrite/</guid><description>An ALTER that copies the whole table into a new file while holding a strong lock.</description></item><item><title>Tail latency</title><link>https://justroham.ir/glossary/tail-latency/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/tail-latency/</guid><description>The slowest few percent of requests (p99, p999), which dominate what users feel in fan-out systems.</description></item><item><title>TCP</title><link>https://justroham.ir/glossary/tcp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/tcp/</guid><description>A reliable, ordered byte-stream protocol on top of IP.</description></item><item><title>TCP keepalive</title><link>https://justroham.ir/glossary/tcp-keepalive/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/tcp-keepalive/</guid><description>Probe packets the kernel sends on an idle connection to detect a dead peer.</description></item><item><title>TCP/IP model</title><link>https://justroham.ir/glossary/tcp-ip-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/tcp-ip-model/</guid><description>The 4-layer model of the internet: link, internet, transport, application.</description></item><item><title>TDD</title><link>https://justroham.ir/glossary/tdd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/tdd/</guid><description>Test-driven development: write a failing test, make it pass, then clean up (red, green, refactor).</description></item><item><title>Technical debt</title><link>https://justroham.ir/glossary/technical-debt/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/technical-debt/</guid><description>Shortcuts or aging choices in code that make future change slower, like a loan that charges interest.</description></item><item><title>Test double</title><link>https://justroham.ir/glossary/test-double/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/test-double/</guid><description>A fake object (mock, stub, fake) that replaces a real dependency in a test.</description></item><item><title>Test pyramid</title><link>https://justroham.ir/glossary/test-pyramid/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/test-pyramid/</guid><description>A model: many fast unit tests, fewer integration tests, very few end-to-end tests.</description></item><item><title>Test runner</title><link>https://justroham.ir/glossary/test-runner/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/test-runner/</guid><description>The tool that finds and runs test files and reports the results.</description></item><item><title>Thread</title><link>https://justroham.ir/glossary/thread/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/thread/</guid><description>An independent flow of execution inside a process that shares its memory with other threads.</description></item><item><title>Thread pool</title><link>https://justroham.ir/glossary/thread-pool/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/thread-pool/</guid><description>A fixed set of worker threads that run blocking work (files, crypto, DNS) for Node.js; default size 4.</description></item><item><title>Threat modeling</title><link>https://justroham.ir/glossary/threat-modeling/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/threat-modeling/</guid><description>A structured way to ask what you are building, what can go wrong and what you will do about it, before attackers ask the same questions.</description></item><item><title>Three-way handshake</title><link>https://justroham.ir/glossary/three-way-handshake/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/three-way-handshake/</guid><description>SYN, SYN-ACK, ACK: how TCP opens a connection.</description></item><item><title>Three-way merge</title><link>https://justroham.ir/glossary/three-way-merge/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/three-way-merge/</guid><description>Merge that compares two branch tips against their common ancestor.</description></item><item><title>Thundering herd</title><link>https://justroham.ir/glossary/thundering-herd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/thundering-herd/</guid><description>Many waiting processes or threads are all woken by one event, but only one can use it, wasting work.</description></item><item><title>TIME_WAIT</title><link>https://justroham.ir/glossary/time-wait/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/time-wait/</guid><description>The state of the side that closed first, kept for a while after the connection ends.</description></item><item><title>TLS</title><link>https://justroham.ir/glossary/tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/tls/</guid><description>Transport Layer Security: encrypts and authenticates a connection on top of TCP.</description></item><item><title>TOCTOU</title><link>https://justroham.ir/glossary/toctou/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/toctou/</guid><description>Time-of-check to time-of-use: the state changes between the check and the action that relied on it.</description></item><item><title>Token bucket</title><link>https://justroham.ir/glossary/token-bucket/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/token-bucket/</guid><description>A limiter that refills tokens at a fixed rate and spends one per request, allowing bursts up to its capacity.</description></item><item><title>Tolerant reader</title><link>https://justroham.ir/glossary/tolerant-reader/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/tolerant-reader/</guid><description>A client that ignores fields it does not know, so additive API changes do not break it.</description></item><item><title>Tombstone</title><link>https://justroham.ir/glossary/tombstone/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/tombstone/</guid><description>A marker left in an open-addressing table when an entry is deleted, so lookups keep probing past it.</description></item><item><title>Top-level await</title><link>https://justroham.ir/glossary/top-level-await/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/top-level-await/</guid><description>using &lt;code&gt;await&lt;/code&gt; directly at the top of an ES module, outside any async function.</description></item><item><title>Topological sort</title><link>https://justroham.ir/glossary/topological-sort/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/topological-sort/</guid><description>An ordering of a DAG&amp;rsquo;s vertices in which every edge goes from earlier to later.</description></item><item><title>traceroute</title><link>https://justroham.ir/glossary/traceroute/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/traceroute/</guid><description>Lists the routers on the path to a host by sending packets with a growing TTL.</description></item><item><title>Trait</title><link>https://justroham.ir/glossary/trait/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/trait/</guid><description>A set of methods a type can implement, Rust&amp;rsquo;s way of sharing behavior.</description></item><item><title>Transaction</title><link>https://justroham.ir/glossary/transaction/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/transaction/</guid><description>A group of statements that the database treats as one unit: all of them take effect, or none do.</description></item><item><title>transitive dependency</title><link>https://justroham.ir/glossary/transitive-dependency/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/transitive-dependency/</guid><description>A package you did not ask for directly but that one of your dependencies needs.</description></item><item><title>tree</title><link>https://justroham.ir/glossary/git-tree/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/git-tree/</guid><description>The Git object that represents a directory: names, modes and hashes of blobs and subtrees.</description></item><item><title>Tree rotation</title><link>https://justroham.ir/glossary/tree-rotation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/tree-rotation/</guid><description>A local rewiring of two or three nodes that changes the shape of a search tree but keeps its in-order sequence.</description></item><item><title>Tree traversal</title><link>https://justroham.ir/glossary/tree-traversal/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/tree-traversal/</guid><description>A systematic order for visiting every node: pre-order, in-order, post-order or level-order.</description></item><item><title>Trie</title><link>https://justroham.ir/glossary/trie/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/trie/</guid><description>A tree where each edge is one character, so words that share a prefix share a path. Lookup cost depends on the word length, not on the number of words.</description></item><item><title>Trigger</title><link>https://justroham.ir/glossary/trigger/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/trigger/</guid><description>A function the database runs automatically before or after an INSERT, UPDATE or DELETE on a table.</description></item><item><title>Trigram</title><link>https://justroham.ir/glossary/trigram/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/trigram/</guid><description>A group of three consecutive characters; comparing the trigram sets of two strings gives a similarity score used for fuzzy matching.</description></item><item><title>Trunk-based development</title><link>https://justroham.ir/glossary/trunk-based-development/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/trunk-based-development/</guid><description>everyone integrates small changes into the main branch at least daily.</description></item><item><title>Trust boundary</title><link>https://justroham.ir/glossary/trust-boundary/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/trust-boundary/</guid><description>A line in a diagram where data passes between parts that trust each other differently, for example from the internet into your API.</description></item><item><title>Truthiness</title><link>https://justroham.ir/glossary/truthiness/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/truthiness/</guid><description>How an object behaves in a boolean context. In Python zero, None and empty containers are false; most other values are true.</description></item><item><title>tsvector</title><link>https://justroham.ir/glossary/tsvector/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/tsvector/</guid><description>A PostgreSQL type holding a document as a sorted list of normalized words (lexemes) with their positions, used for full-text search.</description></item><item><title>TTFB</title><link>https://justroham.ir/glossary/ttfb/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/ttfb/</guid><description>Time to first byte: how long until the first byte of the response arrives.</description></item><item><title>TTL</title><link>https://justroham.ir/glossary/ttl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/ttl/</guid><description>How many seconds a cached record may be reused before asking again.</description></item><item><title>Two-phase commit (2PC)</title><link>https://justroham.ir/glossary/two-phase-commit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/two-phase-commit/</guid><description>A protocol where a coordinator asks all participants to prepare, then tells them all to commit or all to abort.</description></item><item><title>Type affinity</title><link>https://justroham.ir/glossary/type-affinity/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/type-affinity/</guid><description>SQLite&amp;rsquo;s rule that a column prefers a type and converts values when it can, but does not strictly enforce it.</description></item><item><title>Type checker</title><link>https://justroham.ir/glossary/type-checker/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/type-checker/</guid><description>A tool such as mypy that reads type hints and reports type errors without running the program.</description></item><item><title>Type hint</title><link>https://justroham.ir/glossary/type-hint/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/type-hint/</guid><description>An optional annotation such as x: int or -&amp;gt; str that states the expected type. The interpreter stores it but does not enforce it; type checkers read it.</description></item><item><title>typosquatting</title><link>https://justroham.ir/glossary/typosquatting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/typosquatting/</guid><description>Publishing a malicious package whose name is a near-miss of a popular one, hoping for a typo.</description></item><item><title>Ubiquitous language</title><link>https://justroham.ir/glossary/ubiquitous-language/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/ubiquitous-language/</guid><description>The shared vocabulary used by developers and domain experts, and used literally in the code.</description></item><item><title>UDP</title><link>https://justroham.ir/glossary/udp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/udp/</guid><description>A connectionless datagram protocol on top of IP, with no delivery guarantee.</description></item><item><title>umask</title><link>https://justroham.ir/glossary/umask/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/umask/</guid><description>A per-process mask of permission bits that are removed from the mode of newly created files and directories. With 022, a new file gets 644 and a directory 755.</description></item><item><title>Unhandled rejection</title><link>https://justroham.ir/glossary/unhandled-rejection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/unhandled-rejection/</guid><description>A rejected promise that nobody handled with catch or try/catch.</description></item><item><title>Union by size</title><link>https://justroham.ir/glossary/union-by-size/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/union-by-size/</guid><description>When merging two trees, attach the smaller under the larger root so trees stay shallow.</description></item><item><title>Union-find</title><link>https://justroham.ir/glossary/union-find/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/union-find/</guid><description>A structure that tracks which elements belong to the same group, with Find (which group?) and Union (merge two groups).</description></item><item><title>Unit file</title><link>https://justroham.ir/glossary/unit-file/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/unit-file/</guid><description>A small INI-like text file that tells systemd how to run or schedule one thing.</description></item><item><title>Unit of work</title><link>https://justroham.ir/glossary/unit-of-work/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/unit-of-work/</guid><description>A pattern where an object tracks changes and writes them together in one transaction.</description></item><item><title>Unsafe deserialization</title><link>https://justroham.ir/glossary/unsafe-deserialization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/unsafe-deserialization/</guid><description>Rebuilding objects from untrusted bytes with a format that can run code while decoding, such as Python pickle.</description></item><item><title>Upcasting</title><link>https://justroham.ir/glossary/upcasting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/upcasting/</guid><description>Converting an old stored event shape to the current one while reading, instead of editing stored events.</description></item><item><title>Use-after-free</title><link>https://justroham.ir/glossary/use-after-free/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/use-after-free/</guid><description>Using a pointer after the memory it points to has been freed.</description></item><item><title>Utilization</title><link>https://justroham.ir/glossary/utilization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/utilization/</guid><description>The fraction of time a server is busy: arrival rate divided by service rate.</description></item><item><title>uv</title><link>https://justroham.ir/glossary/uv/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/uv/</guid><description>A fast tool that manages Python versions, virtual environments, dependencies and lock files.</description></item><item><title>VACUUM</title><link>https://justroham.ir/glossary/vacuum/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/vacuum/</guid><description>The PostgreSQL maintenance command that removes dead row versions and updates the visibility map.</description></item><item><title>Value object</title><link>https://justroham.ir/glossary/value-object/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/value-object/</guid><description>An immutable object with no identity, compared by its values, such as money or an email address.</description></item><item><title>Vector clock</title><link>https://justroham.ir/glossary/vector-clock/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/vector-clock/</guid><description>One counter per process; comparing two vectors tells before, after or concurrent exactly.</description></item><item><title>Version vector</title><link>https://justroham.ir/glossary/version-vector/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/version-vector/</guid><description>A vector clock attached to a stored value so replicas can tell an update from a conflicting one.</description></item><item><title>veth</title><link>https://justroham.ir/glossary/veth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/veth/</guid><description>A pair of virtual Ethernet interfaces: what goes in one end comes out the other.</description></item><item><title>virtual environment</title><link>https://justroham.ir/glossary/virtual-environment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/virtual-environment/</guid><description>An isolated folder with its own interpreter link and site-packages, so each project has its own dependencies.</description></item><item><title>Visibility map</title><link>https://justroham.ir/glossary/visibility-map/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/visibility-map/</guid><description>A per-table bitmap that marks heap pages where all rows are visible to every transaction.</description></item><item><title>WAL</title><link>https://justroham.ir/glossary/wal/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/wal/</guid><description>Write-ahead log: PostgreSQL records every change in a sequential log before it touches the data files.</description></item><item><title>Walrus operator</title><link>https://justroham.ir/glossary/walrus-operator/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/walrus-operator/</guid><description>The := operator in Python, which assigns a value to a name inside an expression, e.g. if (n := len(x)) &amp;gt; 5.</description></item><item><title>WebSocket</title><link>https://justroham.ir/glossary/websocket/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/websocket/</guid><description>A protocol for a persistent two-way message channel, started by an HTTP upgrade.</description></item><item><title>wheel</title><link>https://justroham.ir/glossary/wheel/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/wheel/</guid><description>A built Python package: a zip file ending in .whl that can be installed without running any build step.</description></item><item><title>WIP limit</title><link>https://justroham.ir/glossary/wip-limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/wip-limit/</guid><description>A cap on how many items may be in progress at once.</description></item><item><title>Word splitting</title><link>https://justroham.ir/glossary/word-splitting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/word-splitting/</guid><description>The shell step that splits an unquoted expansion into separate words.</description></item><item><title>Worker pool</title><link>https://justroham.ir/glossary/worker-pool/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/worker-pool/</guid><description>A fixed number of goroutines consuming jobs from a shared queue.</description></item><item><title>Worker threads</title><link>https://justroham.ir/glossary/worker-threads/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/worker-threads/</guid><description>Threads inside one Node process, each with its own event loop and heap, for CPU-bound work.</description></item><item><title>Working tree</title><link>https://justroham.ir/glossary/working-tree/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/working-tree/</guid><description>the files on disk that you edit, as opposed to what Git has staged or committed.</description></item><item><title>Worktree</title><link>https://justroham.ir/glossary/worktree/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/worktree/</guid><description>An extra working directory attached to the same repository, with its own checked-out branch.</description></item><item><title>Write skew</title><link>https://justroham.ir/glossary/write-skew/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/write-skew/</guid><description>Two transactions read overlapping data, each updates a different row, and together they break a rule neither broke alone.</description></item><item><title>X.509 certificate</title><link>https://justroham.ir/glossary/x509-certificate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/x509-certificate/</guid><description>A signed document binding a public key to a name, with a validity period.</description></item><item><title>xargs</title><link>https://justroham.ir/glossary/xargs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/xargs/</guid><description>Reads items from stdin and runs a command with them as arguments. Use &lt;code&gt;-0&lt;/code&gt; with &lt;code&gt;find -print0&lt;/code&gt; so file names containing spaces survive.</description></item><item><title>XSS</title><link>https://justroham.ir/glossary/xss/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/xss/</guid><description>Cross-site scripting: attacker-controlled text is rendered as HTML or JavaScript in another user&amp;rsquo;s browser.</description></item><item><title>Zipf distribution</title><link>https://justroham.ir/glossary/zipf-distribution/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/zipf-distribution/</guid><description>A skewed access pattern where a few keys get most requests and a long tail gets few.</description></item><item><title>Zombie process</title><link>https://justroham.ir/glossary/zombie-process/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://justroham.ir/glossary/zombie-process/</guid><description>A child that has exited but whose parent has not yet called &lt;code&gt;wait&lt;/code&gt;, so its table entry remains.</description></item></channel></rss>