Intermediate terms
Git Worktree
2.5
1
Checks out multiple branches into separate working directories from one repository, avoiding stash juggling and duplicate clones.
4mo ago
Git intermediate
Git Rebase vs Merge
1
Merge preserves branch history with a merge commit — rebase rewrites commits onto the target branch for a linear history.
6mo ago
Git intermediate
Generators & yield (PHP 5.5)
PHP 5.5+
Generators (PHP 5.5) use yield to produce values lazily — enabling memory-efficient iteration over large datasets without loading everything into memory.
6mo ago
PHP intermediate
Goroutine-Style Concurrency
Goroutines (Go) and similar lightweight green threads — coroutines, fibers — enable thousands of concurrent tasks with minimal memory, multiplexed onto OS threads by a runtime scheduler.
6mo ago
Concurrency intermediate
Guzzle HTTP Client
PHP 7.2+
1
Guzzle is PHP's most popular HTTP client library — providing a clean API for making synchronous and asynchronous HTTP requests, handling middleware, retries, authentication, and multipart uploads, with PSR-7 and PSR-18 compliance.
6mo ago
PHP intermediate
Global Error Handling in JavaScript
ES2017
window.onerror and unhandledrejection catch uncaught errors globally — essential for logging client-side errors back to PHP for monitoring.
6mo ago
JavaScript intermediate
Gateway Pattern
1
A class that encapsulates access to an external system or resource — wrapping HTTP APIs, queues, or legacy systems behind a clean interface that the rest of the application uses.
6mo ago
Code Quality intermediate
Git Blame & Archaeology
2
Using git blame, git log -S, and git bisect to trace when code was introduced, who wrote it, and which commit caused a bug — essential for debugging and context.
6mo ago
Git intermediate
Git Hooks in PHP Workflow
PHP 5.0+
Using pre-commit hooks to automatically run PHP-CS-Fixer, PHPStan, and security checks before every commit — preventing style violations and bugs from entering the repository.
6mo ago
Style intermediate
Git LFS
Replaces large binary files with text pointers in git — keeping repository fast while storing actual binaries on a separate LFS server.
6mo ago
Git intermediate
Three different ways to undo in git — revert creates a new undo commit (safe for shared branches), reset moves HEAD (rewrites history, dangerous on shared branches), restore undoes working directory changes.
6mo ago
Git intermediate
Git Submodules & Monorepo Alternatives
Git submodules embed one repo inside another — complex to manage. Composer packages, git subtrees, and monorepos are better alternatives for most PHP projects.
6mo ago
Git intermediate
Gitflow (feature/develop/release/main branches) vs Trunk-Based Development (short-lived branches merged to main daily) — TBD is preferred for CI/CD, Gitflow for release-based software.
6mo ago
Git intermediate
GitHub Actions — Reusable Workflows & Matrices
1
Advanced GitHub Actions patterns — reusable workflow files, matrix strategies for parallel testing, composite actions, and environment protection rules.
6mo ago
Git intermediate
Global Variable Abuse
PHP 5.0+
Using global variables or the global keyword to share state between functions — making code unpredictable, untestable, and impossible to reason about.
6mo ago
Code Quality intermediate
GraphQL vs REST vs gRPC
REST for public APIs and resource-oriented design, GraphQL for flexible client-driven queries, gRPC for high-performance internal service communication.
6mo ago
API Design intermediate
Graphs
3
A collection of nodes (vertices) connected by edges — directed or undirected, weighted or unweighted. The most general data structure, modelling networks, dependencies, and relationships.
6mo ago
Data Structures intermediate
Generators allow iterating over large datasets lazily using yield, without loading everything into memory at once.
6mo ago
PHP intermediate
A binary search tool that finds the commit that introduced a bug by marking commits as good or bad — locating the culprit in O(log n) steps.
6mo ago
Git intermediate
Applies the changes from a specific commit onto the current branch, creating a new commit with the same changes but a different hash.
6mo ago
Git intermediate