Review Glossary FR

Size

Eyes

Finish a part in any dojo to unlock the next eyes.

Glossary

:=
Go’s short declaration. In a new block it declares every name on its left, even if a variable with that name exists outside the block.
The cancel function that stays nil
`%` in C
The remainder of an integer division. Its sign follows the left operand: -7 % 3 is -1, and -6 % 3 is 0.
A remainder of zero
`argv[2]`
The third word of the command. For MOVE key 5, it is the string "5".
A database called notanumber
`atoi`
A C function that turns the start of a string into an int. It stops at the first character that is not a digit, and returns 0 when there is no number at all. It never reports an error.
A database called notanumber
`Date.new(year, month, -1)`
In Ruby, day -1 means the last day of that month. .day then gives the number of days in the month.
The last Thursday of February
`drain`
Runs every queued job of one worker class until none is left. drain_all does it for all classes.
Sidekiq drain_all loops on a job outside its default queue
`IMPLEMENT_var_keylen_cipher`
Macro arguments, in order: algorithm, upper-case name, mode, upper-case mode, flags, key bits, block bits, IV bits, block or stream. The key bits set the default key length and appear in the table name, as in cast5128cbc_functions.
CAST5 CFB and OFB default to an 8-byte key
`selectDb`
Points the client at database id. It returns REDIS_ERR only when id is below 0 or not below the number of databases (16 by default).
A database called notanumber
`sigchain_push_common`
Pushes the same handler for SIGINT, SIGHUP, SIGTERM, SIGQUIT and SIGPIPE.
Two signal handlers, pushed in the wrong order
AbortSignal
An object you pass to fetch as signal. When it fires, the fetch stops and its promise rejects.
A fetch with no timeout
Alias
A name in the [alias] table of a Cargo config that expands to another command, here cargo foo to cargo a b.
A config parse error reported as an unknown command
asyncio.gather
Takes several tasks and returns one future that completes when all of them are done. Code waits for it with await.
A missing await on asyncio.gather
Atomic group `(?>...)`
Once the group has matched, the engine never goes back into it to try another way.
Regex backtracking on an email with too few words
Attribute breakout
A value placed inside attr="..." that contains a ". The quote ends the attribute early and the rest is read as new HTML.
A quote in a heading ID
Auto-commit
A connection mode where each statement is committed on its own. The incrementer turns it off to commit by hand.
A connection close skipped by a throw in finally
Background task
A task made with hass.async_create_background_task. Its docstring says it "Will be automatically cancelled on shutdown".
An OAuth task still waiting at shutdown
Backtracking
When part of a regex fails, the engine goes back and tries another way to match the earlier parts.
Regex backtracking on an email with too few words
Binding
bind:currentTime={x} keeps x and the playback position in sync, in both directions. set writes the position into x.
A timeupdate listener left on a removed audio element
BOM
Byte order mark: the character U+FEFF that some editors write at the very start of a UTF-8 file. It is invisible but counts as one character in a JavaScript string.
Offsets after stripping a BOM
BYDAY
The part of a repeat rule (RRULE) that names the weekday. BYDAY=4TH is the fourth Thursday, BYDAY=-1TH the last one.
The last Thursday of February
Cache key
The string a value is stored under. Two pieces of code that build the same key read and write the same value.
A rate limit key without the controller
CAST5
A block cipher with 64-bit blocks and keys of 5 to 16 bytes. Its normal key is 16 bytes (128 bits).
CAST5 CFB and OFB default to an 8-byte key
Cents
The smallest unit of the price. Stripe wants unit_amount as a whole number of cents: $19.99 is 1999.
Floating point error when converting dollars to cents
Closure
A function literal that uses variables from the code around it. It reads the variable itself, not a copy.
A loop variable captured by a goroutine
Column
A position inside one line. The HTML parser Vite uses counts columns from 1.
Off-by-one between a column and an offset
Connection pool
A set of open database connections that callers borrow and give back, so each query does not open a new one.
A connection counted but never pooled
Content script
Extension code that runs inside the inspected page and talks to the rest of the extension with chrome.runtime.sendMessage.
A fetch with no timeout
context.CancelFunc
The function returned by context.WithCancel. Calling it closes the context’s Done() channel and frees what waits on it.
The cancel function that stays nil
controller_path
The path name of a controller: "sessions" for SessionsController, "admin/users" for Admin::UsersController.
A rate limit key without the controller
Coroutine
A function defined with async def. Calling it does not run it to the end; something has to await it or schedule it.
A missing await on asyncio.gather
CRI
Container Runtime Interface: the gRPC API the kubelet uses to start, stop and remove containers in a runtime such as containerd.
An idempotent StopContainer in containerd
DataSource
The Java object that gives out database connections. It is often a pool that reuses a fixed number of them.
A connection close skipped by a throw in finally
Daylight saving time (DST)
Clocks move one hour forward in spring and one hour back in autumn. The day they go back lasts 25 hours on the local clock.
Daylight saving time in monthly log rotation
defaults
A module-level dict in requests/defaults.py. It is created once, when the module is imported, and every session reads from it.
A headers dict shared by every session
Double-checked locking
Testing a field without the lock, then taking the lock and testing it again before building the value.
Double-checked locking: assign the field last
Drop
Rust runs a value’s destructor when the value goes away. Assigning a new value to a field drops the old one on that line.
A waker dropped while the JoinSet mutex is held
ECB, CBC, GCM
Three cipher modes: ECB uses no IV, CBC needs an IV of a fixed length, GCM accepts IVs of different lengths.
An empty IV that passed the length check
Embedded
An object whose data fits inside its own slot, so there is nothing else to free.
Hashes that were never freed
ERR_FAIL_NULL_MSG
A Godot macro that prints the message and returns from the function when the pointer is null.
The check one line too late
errdefs.IsNotFound
A containerd helper that tells whether an error means "this object does not exist".
An idempotent StopContainer in containerd
Exclusive end
An end offset that points just past the last character. slice(start, end) already stops before end.
One character past the template
Exit condition
The test a loop checks before each turn, here jobs.any?. The loop ends only when the body makes it false.
Sidekiq drain_all loops on a job outside its default queue
explicitTimeout
The duration prop as a number, or null when the component has no duration.
A duration of 0 that still animated
Facade
A Laravel class with static methods that forward each call to one object taken from the service container.
A locale that stays set
Fake mode
Sidekiq::Testing.fake!: pushed jobs go into in-memory arrays instead of Redis, so a test can inspect and run them.
Sidekiq drain_all loops on a job outside its default queue
Falsy
A value that if treats as false: 0, "", NaN, null, undefined and false.
A duration of 0 that still animated
finally
A Java block that runs after try and catch, whether they end normally or throw.
A connection close skipped by a throw in finally
Flag bit
A bit in the object header that records a fact about the object, tested with flags & SOME_FLAG.
Hashes that were never freed
Floating point
How JavaScript stores every number: in binary, with about 16 significant digits. Most decimal fractions, like 0.99, have no exact binary value.
Floating point error when converting dollars to cents
Future
An object for a result that will exist later. await future pauses the caller until the result is there.
A missing await on asyncio.gather
getTransitionInfo
Reads the CSS transition or animation of the element and returns its type and its total time.
A duration of 0 that still animated
GIL
The global interpreter lock in CPython. Only one thread runs Python bytecode at a time, but the interpreter can switch threads between two bytecode instructions.
Thread names from an unlocked counter
Goroutine
A function that Go runs at the same time as the code that started it, with go func() { ... }().
A loop variable captured by a goroutine
Idempotent
A call you can repeat: sending it twice leaves the same state and gives the same kind of answer as sending it once.
An idempotent StopContainer in containerd
Idle list
The open connections that no caller holds right now, kept in freeConn (at most 2 by default).
A connection counted but never pooled
if let Ok(x)
Runs the block only when the value is Ok. On Err it skips the block, and the error is dropped.
A config parse error reported as an unknown command
int32
A signed 32-bit integer. Its largest value is 2,147,483,647, which is 2**31 minus 1.
Integer overflow in a NumPy element count
itertools.count
An iterator that yields 0, 1, 2 and so on. Its __next__ is written in C, so one call is a single step for Python code.
Thread names from an unlocked counter
IV
Initialization vector: extra bytes a cipher mixes into the first block. CBC mode needs one exactly as long as a block, 8 bytes for DES.
An empty IV that passed the length check
Lazy initialization
Building a value the first time someone asks for it, then reusing it.
Double-checked locking: assign the field last
Lazy quantifier `+?`
Matches as few characters as possible first, and takes one more each time the engine backtracks into it.
Regex backtracking on an email with too few words
Leader and follower
etcd members agree through Raft. One member is the leader (isPrimary() is true), the others are followers that apply the same log.
A lease heap that only the etcd leader empties
Lease
An etcd object with a time to live. When it expires or is revoked, the keys attached to it are deleted.
A lease heap that only the etcd leader empties
leaseExpiredNotifier
A heap of lease IDs ordered by expiry time, plus a map from ID to item. The leader polls it to find leases to revoke.
A lease heap that only the etcd leader empties
Log rotation
Renaming the current log file and starting a new one, here once per day, week or month.
Daylight saving time in monthly log rotation
Loop variable
The id, c of for id, c := range. Before Go 1.22 the loop declared them once and overwrote them on each turn.
A loop variable captured by a goroutine
max()
Python’s built-in that returns the largest item. On an empty sequence it raises ValueError, unless you pass default=.
A sitemap with nothing in it
multiply.reduce
NumPy’s product of all items. It first converts the input to an array, which stores Python ints as NumPy integers of a fixed width.
Integer overflow in a NumPy element count
Mutex
A lock that one thread holds at a time. This one cannot be taken twice by the same thread: the second lock() waits forever.
A waker dropped while the JoinSet mutex is held
Null dereference
Reading a field through a pointer that is null. In C++ this usually crashes the process.
The check one line too late
numOpen
The pool's count of open connections. With SetMaxOpenConns(n), callers wait once it reaches n.
A connection counted but never pooled
O(n²)
Work that grows with the square of the input size: twice the entries, four times the work.
Copying a list from the head every time
OAuth
A login flow where the user signs in on another site, and that site then hands tokens back to the app.
An OAuth task still waiting at shutdown
Off-by-one
A count that is wrong by exactly one, often because one value starts at 0 and another at 1.
Off-by-one between a column and an offset
Offset
A position in the whole file, counted in characters from 0.
Off-by-one between a column and an offset
Offset
A position in the text, counted in characters from 0.
Offsets after stripping a BOM
Ordinal
The position of a weekday in its month: first, second, third, fourth, or last.
The last Thursday of February
os.path.abspath
Turns a path into an absolute one and resolves .. segments as text. It returns /tmp/x for /tmp/proj/../x.
A sibling folder with a longer name
Path traversal
A file name with .. segments, or an absolute path, that makes a write or a read leave the directory it was meant for.
A sibling folder with a longer name
Pending promise
A promise that is neither resolved nor rejected. Code chained on it with .then does not run.
A fetch with no timeout
Plane
One block of pixel data in a frame, for example the luma or one color channel. A row of it holds width values.
A remainder of zero
Precedence
The rules for how operators group when there are no parentheses. a && b && c must all be true; a parenthesis decides which part a condition belongs to.
An empty IV that passed the length check
Progress
A float that goes from 1 at the first frame of the transition to 0 at the last one.
A remainder of zero
Provider
In OpenSSL 3, the module that implements an algorithm. legacyprov.c maps names such as "CAST5-CFB" to these function tables.
CAST5 CFB and OFB default to an 8-byte key
Range formatting
Formatting only the code between rangeStart and rangeEnd, used by editors for "format selection".
Offsets after stripping a BOM
Rate limit
A cap on how many requests one client can make in a time window. Over the cap, the server answers 429.
A rate limit key without the controller
Read-modify-write
An update in three steps: read the value, compute the new one, store it. Another thread can run between the steps.
Thread names from an unlocked counter
RegExp.prototype.test
Returns true when the pattern matches. It converts a non-string argument to a string first.
An array that passes as a severity
Result
A Rust value that is either Ok(value) or Err(error). CargoResult<T> is Cargo’s name for a Result with its error type.
A config parse error reported as an unknown command
RID
A handle Godot uses to refer to an object owned by a server, here a texture. An empty RID points to nothing.
The check one line too late
Schematic
An Angular CLI script that edits the files of a project, here to migrate templates to the new control flow.
One character past the template
setdefault
d.setdefault(k, v) stores v under k if k is missing. It stores the object itself, not a copy of it.
A headers dict shared by every session
Setter
A set name(value) method. It runs when code assigns plan.amountDollars = ....
Floating point error when converting dollars to cents
Severity
How ESLint reports a rule: off, warning or error, written as 0, 1, 2 or as a string.
An array that passes as a severity
Shadowing
Declaring a variable in an inner block with the same name as one outside. Inside the block, the name means the new variable, and the outer one is not changed.
The cancel function that stays nil
Shallow copy
A copy of a container that holds the same inner objects as the original. Changing an inner dict through the copy changes it for both.
A headers dict shared by every session
sigchain
Git’s stack of signal handlers. sigchain_push puts a handler on top, sigchain_pop removes the top one. When a signal arrives, the handler on top runs.
Two signal handlers, pushed in the wrong order
SIGPIPE
The signal a process gets when it writes to a pipe that nobody reads any more. By default it kills the process.
Two signal handlers, pushed in the wrong order
Singleton
An object the container creates once and returns to every caller for the rest of the process.
A locale that stays set
Singly linked list
A chain of nodes where each one knows only the next. Finding the last node means walking from the first.
Copying a list from the head every time
Sitemap
A Django class that lists the URLs of a site section. items() returns the objects, and lastmod(item) returns when one object last changed.
A sitemap with nothing in it
Sitemap index
The top /sitemap.xml file. It links to each section and, since Django 4.1, gives each section a last modification date.
A sitemap with nothing in it
Source span
The start and end offsets of an element in the template text, as the Angular parser records them.
One character past the template
st_table
The hash table Ruby uses for bigger hashes. Its entries live in memory allocated with malloc, outside the object.
Hashes that were never freed
store.increment
Adds 1 to the counter saved under a key in the cache, creates it if missing, and returns the new value.
A rate limit key without the controller
SuspiciousOperation
The Django exception for input that looks like an attack. Here it stops the extraction.
A sibling folder with a longer name
Sweep
The phase of the garbage collector that walks dead objects and frees them.
Hashes that were never freed
Table of contents (ToC)
The list of links to the headings of a page. Hugo builds its HTML in tocBuilder by writing strings to a buffer.
A quote in a heading ID
Tail pointer
A pointer kept to the last node, or to its next field, so an append does not have to walk the list.
Copying a list from the head every time
tap()
The Laravel helper tap($value, $callback) calls the callback with the value, then returns the value.
A locale that stays set
teardown
Svelte calls the function given to teardown when the effect is destroyed, here when the {#if} block removes the element.
A timeupdate listener left on a removed audio element
template.HTMLEscapeString
A Go function that replaces <, >, &, ' and " with HTML entities, so the browser reads them as text.
A quote in a heading ID
TextEncoder
The browser and Node API whose encode method turns a string into its UTF-8 bytes, as a Uint8Array.
Sizing a UTF-8 buffer with the string length
The ? operator
On Err, returns the error to the caller right away. On Ok, gives the value inside.
A config parse error reported as an unknown command
Time.mktime
Builds a Ruby Time from year, month, day (and more) in the local time zone.
Daylight saving time in monthly log rotation
timeupdate
An event a media element fires as its playback position changes.
A timeupdate listener left on a removed audio element
Tracked task
A task made with hass.async_create_task. Home Assistant keeps it in its _tasks set. If it is still running at the last shutdown stage, Home Assistant logs a warning and cancels it.
An OAuth task still waiting at shutdown
Type coercion
JavaScript converting a value to another type on its own, for example an array to a string.
An array that passes as a severity
Uint8Array view
new Uint8Array(buffer, offset, n) is a window of n bytes on existing memory. set copies into it and throws if the source is longer.
Sizing a UTF-8 buffer with the string length
UTF-16 code unit
What JavaScript strings are made of. str.length counts these units, not bytes.
Sizing a UTF-8 buffer with the string length
UTF-8
A text encoding where ASCII takes 1 byte and other characters take 2 to 4. 世 takes 3.
Sizing a UTF-8 buffer with the string length
volatile
A Java field modifier: a write to the field is seen right away by every thread that reads it.
Double-checked locking: assign the field last
Waker
A handle a future gives to whoever must wake it later. An executor can make its own waker type, with its own Drop code.
A waker dropped while the JoinSet mutex is held
Wraparound
When a fixed-width integer goes past its largest value, it continues from its smallest one instead of raising an error.
Integer overflow in a NumPy element count