Directories ¶ Show internal Expand all Path Synopsis 00-how-computers-work 01-what-is-a-program command 02-code-to-execution command 03-memory-basics command 04-terminal-confidence command 05-os-processes command 01-getting-started 01-installation command 02-hello-world command 03-how-go-works command 04-dev-environment command 05-go-tools command 06-reading-compiler-errors command 02-language-basics 01-variables command 02-constants command 03-control-flow/01-if-else command 03-control-flow/02-for-basics command 03-control-flow/03-break-continue command 03-control-flow/04-switch command 03-control-flow/05-defer-basics command 03-control-flow/06-defer-use-cases command 03-control-flow/07-pricing-checkout command 03-control-flow/07-pricing-checkout/_starter command 03-enums command 04-application-logger command 04-application-logger/_starter command 04-data-structures/01-array command 04-data-structures/02-slices command 04-data-structures/03-maps command 04-data-structures/04-pointers command 04-data-structures/05-slices-2 command 04-data-structures/06-contact-manager command 04-data-structures/06-contact-manager/_starter command 04-data-structures/07-slices command 04-data-structures/08-maps command 03-functions-errors 01-functions-basics command 02-parameters-and-returns command 03-multiple-return-values command 04-errors-as-values command 05-validation command 06-orchestration command 07-first-class-functions command 08-closures-mechanics command 09-order-summary command 09-order-summary/_starter command 10-panic-and-recover command 04-types-design 01-struct command 02-methods command 03-interfaces command 04-interface-embedding command 05-stringer command 06-type-switch command 07-receiver-sets command 08-custom-errors command 09-generics command 10-payroll-processor command 10-payroll-processor/_starter command 11-dynamic-typing-with-any command 12-functional-options command 13-method-values command 14-complex-generic-constraints command 15-generic-data-structures command 16-composition command 17-embedding command 18-bank-account-project command 18-bank-account-project/_starter command 19-strings command 20-formatting command 21-unicode command 22-regex command 23-text-template command 24-config-parser-project command 24-config-parser-project/_starter command 05-packages-io 01-modules-and-packages/01-module-basics command 01-modules-and-packages/02-managing-deps command 01-modules-and-packages/03-versioning command 01-modules-and-packages/03-versioning/_starter command 01-modules-and-packages/04-build-tags command 02-io-and-cli/01-cli-tools/01-args command 02-io-and-cli/01-cli-tools/02-flags command 02-io-and-cli/01-cli-tools/03-subcommands command 02-io-and-cli/01-cli-tools/04-file-organizer command 02-io-and-cli/01-cli-tools/04-file-organizer/_starter command 02-io-and-cli/02-encoding/01-marshalling command 02-io-and-cli/02-encoding/02-unmarshal command 02-io-and-cli/02-encoding/03-encoder command 02-io-and-cli/02-encoding/04-decode command 02-io-and-cli/02-encoding/05-base64 command 02-io-and-cli/02-encoding/06-config-parser command 02-io-and-cli/02-encoding/06-config-parser/_starter command 02-io-and-cli/03-filesystem/01-files command 02-io-and-cli/03-filesystem/02-paths command 02-io-and-cli/03-filesystem/03-dir command 02-io-and-cli/03-filesystem/04-temp command 02-io-and-cli/03-filesystem/05-embed command 02-io-and-cli/03-filesystem/06-io-patterns command 02-io-and-cli/03-filesystem/07-log-search command 02-io-and-cli/03-filesystem/07-log-search/_starter command 02-io-and-cli/03-filesystem/08-fs-testing-seam command 06-backend-db 01-web-and-database/01-apis/01-rest-design-principles command 01-web-and-database/01-apis/02-api-versioning-strategies command 01-web-and-database/01-apis/03-pagination-and-filtering command 01-web-and-database/01-apis/04-protobuf-basics command 01-web-and-database/01-apis/05-grpc-fundamentals command 01-web-and-database/01-apis/06-grpc-streaming command 01-web-and-database/01-apis/07-grpc-interceptors command 01-web-and-database/01-apis/08-rest-vs-grpc command 01-web-and-database/01-apis/09-grpc-service-exercise command 01-web-and-database/01-apis/09-grpc-service-exercise/_starter command 01-web-and-database/02-database-migrations/1-embedded-migrations command 01-web-and-database/03-databases/01-connecting-to-db command 01-web-and-database/03-databases/02-query command 01-web-and-database/03-databases/03-select command 01-web-and-database/03-databases/04-prepare command 01-web-and-database/03-databases/05-transactions command 01-web-and-database/03-databases/06-repository command 01-web-and-database/03-databases/06-repository/_starter command 01-web-and-database/03-databases/06-repository/models 01-web-and-database/03-databases/06-repository/repository 01-web-and-database/03-databases/07-n-plus-one-query-detection command 01-web-and-database/03-databases/08-query-timeouts-via-context command 01-web-and-database/04-http-client/1-get-posts command 01-web-and-database/04-http-client/2-refactor-for-testability command 01-web-and-database/05-http-servers/01-net-http-basics command 01-web-and-database/05-http-servers/02-routing-patterns command 01-web-and-database/05-http-servers/03-middleware-pattern command 01-web-and-database/05-http-servers/04-request-parsing-and-validation command 01-web-and-database/05-http-servers/05-response-writing-patterns command 01-web-and-database/05-http-servers/06-error-handling-middleware command 01-web-and-database/05-http-servers/07-server-timeouts command 01-web-and-database/05-http-servers/08-graceful-http-shutdown command 01-web-and-database/05-http-servers/09-health-and-readiness-probes command 01-web-and-database/05-http-servers/10-rest-api-exercise command 01-web-and-database/05-http-servers/10-rest-api-exercise/_starter command 01-web-and-database/06-web-masterclass/1-routing command 01-web-and-database/06-web-masterclass/1-routing/exercise command 01-web-and-database/06-web-masterclass/10-comments command 01-web-and-database/06-web-masterclass/11-websockets command 01-web-and-database/06-web-masterclass/2-dependency-injection command 01-web-and-database/06-web-masterclass/3-templates command 01-web-and-database/06-web-masterclass/4-middleware command 01-web-and-database/06-web-masterclass/5-sessions command 01-web-and-database/06-web-masterclass/6-auth command 01-web-and-database/06-web-masterclass/7-forms command 01-web-and-database/06-web-masterclass/8-posts-crud command 01-web-and-database/06-web-masterclass/9-pagination command 07-concurrency 01-concurrency/01-context/01-background command 01-concurrency/01-context/02-with-cancel command 01-concurrency/01-context/03-with-timeout command 01-concurrency/01-context/04-with-value command 01-concurrency/01-context/05-timeout-client command 01-concurrency/01-context/05-timeout-client/_starter command 01-concurrency/01-context/06-afterfunc command 01-concurrency/02-goroutines/00-why-concurrency-exists command 01-concurrency/02-goroutines/01-goroutine command 01-concurrency/02-goroutines/02-wait-group command 01-concurrency/02-goroutines/03-channels command 01-concurrency/02-goroutines/04-channels-buffered command 01-concurrency/02-goroutines/05-channels-closing command 01-concurrency/02-goroutines/06-project-1 command 01-concurrency/02-goroutines/07-downloader command 01-concurrency/02-goroutines/07-downloader/_starter command 01-concurrency/02-goroutines/08-race command 01-concurrency/02-goroutines/09-select-deep-dive command 01-concurrency/02-goroutines/10-sync-primitives command 01-concurrency/03-sync-primitives/01-mutex-and-rwmutex command 01-concurrency/03-sync-primitives/02-once-and-sync-map command 01-concurrency/03-sync-primitives/03-atomic-operations command 01-concurrency/03-sync-primitives/04-race-conditions command 01-concurrency/03-sync-primitives/05-goroutine-leaks command 01-concurrency/03-sync-primitives/06-deadlocks command 01-concurrency/04-time-and-scheduling/01-time command 01-concurrency/04-time-and-scheduling/02-formatting command 01-concurrency/04-time-and-scheduling/03-timer-and-ticker command 01-concurrency/04-time-and-scheduling/04-random command 01-concurrency/04-time-and-scheduling/05-schedule command 01-concurrency/04-time-and-scheduling/06-timezone command 01-concurrency/04-time-and-scheduling/07-reminder command 01-concurrency/04-time-and-scheduling/07-reminder/_starter command 02-concurrency-patterns/01-errgroup command 02-concurrency-patterns/02-errgroup-context command 02-concurrency-patterns/03-sync-pool command 02-concurrency-patterns/04-bounded-pipeline-exercise command 02-concurrency-patterns/04-bounded-pipeline-exercise/_starter command 02-concurrency-patterns/05-url-checker-exercise command 02-concurrency-patterns/05-url-checker-exercise/_starter command 02-concurrency-patterns/06-worker-pool command 08-quality-test 01-quality-and-performance/01-profiling/01-cpu-profile command 01-quality-and-performance/01-profiling/02-http-pprof command 01-quality-and-performance/01-profiling/03-memory-profiling command 01-quality-and-performance/01-profiling/04-escape-analysis command 01-quality-and-performance/01-profiling/05-benchmark-driven-development command 01-quality-and-performance/01-profiling/06-memory-layout command 01-quality-and-performance/02-testing/01-unit-testing command 01-quality-and-performance/02-testing/02-table-driven-tests command 01-quality-and-performance/02-testing/03-http-handler-testing command 01-quality-and-performance/02-testing/05-sub-tests-and-cleanup command 01-quality-and-performance/02-testing/06-fuzz-testing command 01-quality-and-performance/02-testing/07-interfaces-for-testability command 01-quality-and-performance/02-testing/08-mocking-with-interfaces command 01-quality-and-performance/02-testing/09-integration-tests command 01-quality-and-performance/02-testing/10-golden-files command 01-quality-and-performance/02-testing/11-testable-design command 01-quality-and-performance/03-http-client-testing/3-manual-mock command 01-quality-and-performance/03-http-client-testing/4-manual-mock-2 command 01-quality-and-performance/03-http-client-testing/5-manual-mock-table-driven command 01-quality-and-performance/03-http-client-testing/6-testify-mock command 09-architecture 01-package-design/01-naming command 01-package-design/02-visibility command 01-package-design/03-project-layout command 02-grpc/01-unary/client command 02-grpc/01-unary/server command 02-grpc/02-streaming/client command 02-grpc/02-streaming/server command 02-grpc/gen 03-architecture-patterns/01-architecture-trade-offs command 03-architecture-patterns/02-ddd-basics command 03-architecture-patterns/03-hexagonal-architecture-in-go command 03-architecture-patterns/04-repository-pattern-deep-dive command 03-architecture-patterns/05-service-layer-pattern command 03-architecture-patterns/06-event-driven-architecture command 03-architecture-patterns/07-cqrs-basics command 03-architecture-patterns/08-when-to-split-services command 03-architecture-patterns/09-modular-refactor-exercise command 03-architecture-patterns/09-modular-refactor-exercise/_starter command 04-security/01-input-validation-patterns command 04-security/02-sql-injection-prevention command 04-security/03-xss-and-csrf command 04-security/04-authentication-basics command 04-security/05-jwt-implementation-and-risks command 04-security/06-password-hashing command 04-security/07-rate-limiting-patterns command 04-security/08-tls-and-https-in-go command 04-security/09-secrets-management command 04-security/10-owasp-top-10-for-go command 04-security/11-secure-api-exercise command 04-security/11-secure-api-exercise/_starter command 10-production 01-structured-logging/01-slog-basics command 01-structured-logging/02-context-logger command 01-structured-logging/03-custom-handler command 01-structured-logging/04-zerolog-comparison command 01-structured-logging/05-exercise command 01-structured-logging/05-exercise/_starter command 02-graceful-shutdown/01-signal-context command 02-graceful-shutdown/02-http-server command 02-graceful-shutdown/03-capstone command 03-docker-and-deployment/01-docker-basics command 03-docker-and-deployment/02-multi-stage command 03-docker-and-deployment/02-multi-stage-builds command 03-docker-and-deployment/03-docker-compose command 03-docker-and-deployment/03-layer-caching command 03-docker-and-deployment/04-cicd-pipelines command 03-docker-and-deployment/05-blue-green-and-rollback command 03-docker-and-deployment/06-dockerised-service command 03-docker-and-deployment/06-dockerised-service/_starter command 04-configuration/01-environment-variables command 04-configuration/02-configuration-files command 04-configuration/03-flag-parsing command 04-configuration/04-twelve-factor-principles command 04-configuration/05-config-validation-on-boot command 05-observability/01-metrics-basics command 05-observability/02-prometheus-integration command 05-observability/03-distributed-tracing-basics command 05-observability/04-feature-flags command 05-observability/05-alerting-mindset command 06-code-generation/01-go-generate command 06-code-generation/02-mockery command 06-code-generation/02-mockery/internal/storage 06-code-generation/03-sqlc command 11-flagship 01-opslane/cmd/server command 01-opslane/internal/auth 01-opslane/internal/cache 01-opslane/internal/config 01-opslane/internal/db 01-opslane/internal/events 01-opslane/internal/handlers 01-opslane/internal/logging 01-opslane/internal/metrics 01-opslane/internal/middleware 01-opslane/internal/models 01-opslane/internal/otel 01-opslane/internal/payment 01-opslane/internal/ratelimit 01-opslane/internal/services 01-opslane/internal/tracing 01-opslane/internal/workers scripts internal/curriculumvalidator Click to show internal directories. Click to hide internal directories.