Skip to content
  • 4 min read

Tools — Practical Reference Guides

Hands-on command references, configuration patterns, and best practices for the tools a software engineer uses daily.

Docker & Docker Compose

Resource Topics
Overview Architecture, lifecycle, ecosystem, when to containerize
Commands & Fundamentals Image/container lifecycle, exec, logs, inspect, system cleanup
Dockerfile Best Practices Multi-stage builds, layer caching, base images, ARG/ENV, .dockerignore
Docker Compose Service definitions, profiles, overrides, depends_on, healthchecks
Networking & Volumes Bridge/host/overlay networks, DNS, named volumes, bind mounts, tmpfs
Security & Production Non-root, secrets, resource limits, image scanning, production checklist
Debugging & Troubleshooting Connectivity tests, log analysis, netshoot, compose diagnostics

Git

Resource Topics
Overview Object model, three-area workflow, distributed architecture
Commands & Fundamentals Init, add, commit, push, pull, log, diff, tags, cleanup
Branching Strategies GitHub Flow, Gitflow, Trunk-Based, merge vs rebase vs squash
Commit Conventions Conventional Commits, message rules, PR best practices, code review
Advanced Workflows Interactive rebase, stash, cherry-pick, worktree, submodules
Hooks & Configuration Pre-commit framework, native hooks, .gitignore, aliases, global config
Troubleshooting & Recovery Undo, reset, reflog, bisect, conflict resolution

Linux Terminal

Resource Topics
Overview Essential Linux terminal commands for daily user tasks
Navigation & File Operations pwd, ls, cd, mkdir, cp, mv, rm, cat, nano, sudo, chmod, tar
Search & Text Processing find, grep, rg, sort, uniq, wc, pipes, redirects
Processes & System Monitoring ps, top, kill, systemctl, journalctl, free, df
Network Basics ip, ss, ping, curl, wget, ssh, scp, netstat (legacy)
Administration & Scripting apt, user/group mgmt, .bashrc, bash scripting, cal, date

Kubernetes (K8s)

Resource Topics
Overview Architecture, control plane, nodes, Pods, quick reference
kubectl Fundamentals Commands, contexts, namespaces, output formats, aliases
Workloads & Scheduling Pods, Deployments, StatefulSets, DaemonSets, Jobs, CronJobs
Services & Networking ClusterIP, NodePort, LoadBalancer, Ingress, NetworkPolicies
Configuration & Storage ConfigMaps, Secrets, PVs, PVCs, StorageClasses
Helm & Deployment Strategies Helm charts, Kustomize, rolling update, canary, blue-green
Security & Observability RBAC, Pod Security, Prometheus, Grafana, EFK, debugging

Distributed Tracing

Resource Topics
Jaeger — Overview OTLP tracing backend, ports, Jaeger vs Phoenix / Langfuse / Tempo
Setup & Architecture v2 on the OTel Collector, roles, Docker, config file, memory / Badger / Elasticsearch / OpenSearch / Cassandra
Sending Traces from Python OTel SDK + OTLP exporter, FastAPI and requests instrumentation, env vars, sampling
UI & Trace Analysis Search, timeline, span details, compare traces, dependency graph, SPM, HTTP API
Testing, CI & Troubleshooting Tracing pytest runs, traceparent from API tests, span assertions, CI artifacts, pitfalls

LLM Observability & Tracing

Resource Topics
Arize Phoenix — Overview OpenTelemetry + OpenInference tracing, datasets, experiments, LLM-as-judge evals
Setup & Architecture phoenix serve, Docker, Compose + Postgres, ports, projects, auth, env vars
Tracing & Instrumentation register(), OpenInference instrumentors, manual spans, sessions, users, Collector, annotations
Datasets & Experiments Datasets from DataFrame / CSV / traces, run_experiment, evaluators, comparisons, prompts
Evaluations phoenix.evals, built-in metrics, create_classifier, code evals, logging results to spans, judge calibration
Testing, CI & Production pytest plugin, asserting on spans, CI regression gates, retention, sampling, PII
Resource Topics
Langfuse — Overview Traces, sessions, prompt management, datasets, scores and evaluations
Setup & Architecture Cloud vs self-hosted, web/worker/Postgres/ClickHouse/Redis/S3, Docker Compose, env vars, projects, API keys, RBAC
Tracing with the Python SDK get_client(), @observe, context managers, propagate_attributes, OpenAI/LangChain/LiteLLM/OTel, flushing, sampling, masking
Prompt Management Versions, labels, get_prompt, compile, caching, fallback, linking prompts to generations, prompt experiments
Datasets & Evaluations Datasets from code and traces, run_experiment, evaluators, scores, LLM-as-a-judge, annotation queues, user feedback
Testing, CI & Production pytest integration, experiments as CI gates, Metrics API, dashboards, retention, PII, production checklist
Resource Topics
MLflow — Overview Experiment tracking, GenAI tracing, mlflow.genai.evaluate, prompt and model registry, MLflow vs Phoenix / Langfuse / Jaeger
Setup & Architecture mlflow server, backend and artifact stores, Docker Compose + Postgres, allowed hosts, basic auth, env vars
Experiment Tracking Experiments, runs, params, metrics, tags, artifacts, autolog, search_runs filters, comparing runs
GenAI Tracing mlflow.<flavor>.autolog(), @mlflow.trace, span types, sessions, feedback, OTLP ingest and export
Evaluation & Prompts Built-in judges, @scorer, make_judge, DeepEval scorers, evaluation datasets, prompt registry
Testing, CI & Model Registry pytest + DeepEval results per CI run, trace assertions, regression gate vs main, GitHub Actions, aliases, pitfalls

See also