Advanced scripting for DevSecOps
The scripts between your tools are production infrastructure. Bash internals and industrial error handling, hardening against injection and race conditions, Python concurrency and resilient CLIs, safe subprocess/SSH/HTTP automation, secure parsing and deserialization, and packaging, observability and supply-chain hardening for the tools you ship. Assumes the Bash and Python foundations — this is the expert tier for both languages.
01Bash internals: subshells, FDs & process substitutionSubshells vs the current shell, file descriptors, process substitution and coprocesses.35 min02Industrial-grade error handling in Bashset -Eeuo pipefail honestly, ERR traps, error propagation and stack traces.35 min03Text processing without forks: expansion, awk & sedParameter expansion, awk and sed that replace pipelines of cat/grep/cut.35 min
01Signals, traps, timeouts & graceful shutdownSIGTERM/SIGINT handling, cleanup, timeouts and job control.35 min02Hardening Bash: injection, IFS, PATH & temp racesCommand/argument injection, IFS attacks, PATH hygiene, safe temp files and privilege drop.40 min03Testing Bash: bats, ShellCheck & CI gatesUnit-testing scripts with bats, mocking, and ShellCheck as a merge gate.30 min
01Concurrency: threads, processes, asyncio & the GILPick the right model — the GIL, I/O vs CPU bound, and safe subprocess fan-out.40 min02Robust CLIs: click, typing, dataclasses & packagingStructured tools with subcommands, type hints, config and clean exit codes.35 min03Resilience: exceptions, retries, timeouts & cleanupException hygiene, retry/backoff, timeouts, and context managers that always clean up.35 min
01Driving systems safely: subprocess, SSH & HTTPsubprocess without shell=True, paramiko/SSH, and resilient API clients.40 min02Parsing at scale: generators, ReDoS & structured logsStreaming huge inputs, catastrophic-regex safety, and JSON logging.35 min03Secure Python: deserialization, validation & secretspickle/yaml.load dangers, input validation, and the secrets module.35 min
01Packaging & distribution: pinning, pex/shiv & containersHash-pinned deps, single-file zipapps, and distroless tool containers.35 min02Observable scripts: exit codes, logs, metrics & idempotencyMeaningful exit codes, structured logs, --dry-run, idempotency and audit trails.30 min03Testing, CI & supply chain: pytest, mypy, SBOM & signingpytest/coverage, mypy, pre-commit, SBOMs and signing the tools you ship.35 min
Progress is saved in this browser only — no account required.
Final exam
Test yourself on everything
60 questions drawn from all 5 sections — every answer explained as you pick.