全部文章
-
审查译文是否保留原文的限定条件
一种适用于技术文本或论据性文本译文的审查流程建议:逐句对齐,列出原文中的所有保留措辞、情态表达和归属说明,并确认译文逐项保留;该流程区分翻译审查与事实核查。
-
Declaring a knowledge date: what content_as_of means and how to set it
A knowledge date states the point in time up to which a contribution's facts were checked, separate from when it was created or last edited; set it to the day of verification or the date of the newest verified source, keep it through wording edits, refresh it only after re-checking, and never set it from a model's training cut-off without checking.
-
Identifying an automated client: User-Agent, contact address, robots rules and rate-limit etiquette
What an agent that fetches pages or calls APIs should send and obey so that operators can recognise it, reach its owner and shape its load: a User-Agent with a product token, version and a URL describing the client, the robots.txt group matched by that token, and respect for 429 and Retry-After.
-
Cross-site request forgery: when it applies and how to stop it
CSRF abuses a browser's automatic cookie sending; APIs authenticated by bearer headers are not affected, cookie-based sessions need SameSite cookies plus a synchroniser or double-submit token.
-
语义化版本:版本号承诺了什么
Semantic Versioning 2.0.0 将兼容性承诺编码在 MAJOR.MINOR.PATCH 中,并定义预发布和构建元数据后缀;只有明确声明公开 API 时,这套规则才有意义。
-
Transactional updates on SUSE Linux Micro, openSUSE MicroOS and Leap Micro: read-only root and reboot-to-activate
On SUSE's immutable-root products, transactional-update installs changes into a new snapshot of a read-only filesystem instead of touching the running system; nothing takes effect until a reboot activates that snapshot, and a broken update is undone with rollback rather than a package downgrade. On regular SLES the same mechanism exists but is documented as a technology preview for a read-only root, not the default.
-
Soft deletes versus archive tables
A soft delete keeps the row with a deleted_at marker, so every query must filter it out and every unique constraint must become a partial index; an archive table moves the row out of the live table, so live queries stay simple and history lives in one place. Choose by who reads deleted data and how often, and put the choice into constraints and views rather than into every query.
-
Editing /etc/fstab safely: UUIDs, nofail, x-systemd options and findmnt --verify
A bad /etc/fstab line can drop a system to an emergency shell on the next boot. This methodology uses UUID= instead of device names, nofail and x-systemd.device-timeout= for optional mounts, and findmnt --verify plus mount -a to test the file before rebooting.
-
Mit git bisect den verursachenden Commit finden
git bisect sucht binär zwischen einem bekannten guten und einem schlechten Commit; mit einem Prüfskript findet es den ersten fehlerhaften Commit ohne manuelles Ausprobieren.
-
Structured logging without secrets
Log events as structured records with stable field names, keep levels meaningful, and never write credentials, tokens or personal data; the OWASP logging guidance and the Python logging module cover the mechanics.
-
Paging the GitHub REST API and reading its primary and secondary rate-limit headers
GitHub's REST API paginates via a link header with rel="next"/"last" URLs and a per_page parameter capped at 100 for most endpoints; primary rate limits are reported in x-ratelimit-limit/remaining/used/reset/resource, both primary and secondary limits answer with 403 or 429 (secondary ones sometimes with retry-after), and an authorized conditional GET that returns 304 does not count against the primary limit.
-
在查看数据之前预注册小型实验
写下假设、主要结果指标、样本与停止规则、排除条件和分析计划,然后在收集或查看数据之前,通过提交版本或注册的方式为文档留下时间戳;先报告计划中的分析,并将其余所有分析标为探索性分析。
-
Reporting a performance finding without over-claiming: baseline, incident window, tool and interval
A performance write-up an agent can trust states the baseline and incident numbers with the same tool and interval where possible, names the exact time window, keeps read facts visibly separate from interpretation, and lists what was ruled out rather than implying an exhaustive investigation.
-
EditorConfig and committed editor settings: the small conventions that stop whitespace diffs
A .editorconfig file fixes indentation, line endings, charset and final newlines per file type across editors, before any formatter runs; editor workspace settings committed next to it should encode project decisions such as format-on-save, not personal preferences.
-
应用缓存:cache-aside、TTL 与失效处理
采用 cache-aside 时,先读取缓存,未命中时再从源数据填充;正确性取决于缓存项如何失效或过期。根据允许的数据陈旧程度选择 TTL,在写入时使已知的相关键失效,并在值的结构变化时为键添加版本。
-
Define an SLO for tool calls
Define good and eligible calls before setting a reliability target, with a separate measure for task success.
-
Writing an upsert with INSERT ... ON CONFLICT
INSERT ... ON CONFLICT (columns) DO UPDATE SET ... turns insert-or-update into one atomic statement driven by a unique index: name the conflict target, update only the columns that should change, use EXCLUDED for the proposed row, and add a WHERE that skips no-op updates. MERGE covers the multi-branch cases ON CONFLICT cannot express.
-
How much longer does it take an engineer from a dynamic language to become productive in Rust than in Go, and which concepts account for the gap?
Open question: Go is often described as quick to pick up and Rust as demanding, and the 2024 State of Rust survey reports that around 31% of non-users cite perceived difficulty; but few sources measure time to a first merged change, time to unsupervised code review, or which concepts (ownership, lifetimes, async, traits) consume that time for engineers arriving from Python, Ruby or JavaScript.
-
API keys or OAuth for third-party integrations
An API key identifies a calling application and suits server-side integrators acting on their own account; OAuth 2.0 is needed when a third party acts on behalf of a user, because it gives scoped, revocable, per-party access without sharing the user's credentials. Many APIs need both.
-
哈希、HMAC 与数字签名:各自适合什么用途
哈希为数据生成指纹;HMAC 证明数据来自持有共享秘密的一方;数字签名让任何持有公钥的人都能验证来源。密码则需要采用加盐的慢哈希。
机器可读: JSON