# Reliable Go applications

Published articles for Reliable Go applications.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Ep. 12: Implementing Robust Transaction Handling in Go

DevFeed: [Ep. 12: Implementing Robust Transaction Handling in Go](<https://devfeed.tech/articles/ep-12-implementing-robust-transaction-handling-in-go-22252.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2024/07/implementing-robust-transaction-handling-in-go-ep-12.html>)

Published: 2024-08-05T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>), [Database](<https://devfeed.tech/topics/database.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [interfaces](<https://devfeed.tech/topics/interfaces.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [context](<https://devfeed.tech/topics/context.md>), [Logging](<https://devfeed.tech/topics/logging.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [advanced-transaction-management-go](<https://devfeed.tech/tags/advanced-transaction-management-go.md>), [atomic-database-operations-go](<https://devfeed.tech/tags/atomic-database-operations-go.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [configuring-transaction-middleware-go](<https://devfeed.tech/tags/configuring-transaction-middleware-go.md>), [context](<https://devfeed.tech/tags/context.md>), [database](<https://devfeed.tech/tags/database.md>), [database-transactions-in-go](<https://devfeed.tech/tags/database-transactions-in-go.md>), [flexible-transaction-management-go](<https://devfeed.tech/tags/flexible-transaction-management-go.md>), [go](<https://devfeed.tech/tags/go.md>), [go-authentication-authorization-middleware](<https://devfeed.tech/tags/go-authentication-authorization-middleware.md>), [go-data-integrity-consistency](<https://devfeed.tech/tags/go-data-integrity-consistency.md>), [go-middleware-integration](<https://devfeed.tech/tags/go-middleware-integration.md>), [go-request-handling-transactions](<https://devfeed.tech/tags/go-request-handling-transactions.md>), [go-transaction-handling](<https://devfeed.tech/tags/go-transaction-handling.md>), [go-transaction-middleware](<https://devfeed.tech/tags/go-transaction-middleware.md>), [go-transaction-rollback-commit](<https://devfeed.tech/tags/go-transaction-rollback-commit.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [logging](<https://devfeed.tech/tags/logging.md>), [logging-transaction-operations-go](<https://devfeed.tech/tags/logging-transaction-operations-go.md>), [middleware](<https://devfeed.tech/tags/middleware.md>), [middleware-functions-integration-go](<https://devfeed.tech/tags/middleware-functions-integration-go.md>), [reliable-go-applications](<https://devfeed.tech/tags/reliable-go-applications.md>), [scalable-software-systems-go](<https://devfeed.tech/tags/scalable-software-systems-go.md>), [secure-data-transactions-go](<https://devfeed.tech/tags/secure-data-transactions-go.md>), [transaction-context-handling-go](<https://devfeed.tech/tags/transaction-context-handling-go.md>), [transaction-interfaces-go](<https://devfeed.tech/tags/transaction-interfaces-go.md>), [transaction-management](<https://devfeed.tech/tags/transaction-management.md>), [transaction-management-in-go](<https://devfeed.tech/tags/transaction-management-in-go.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

### AI overview

Episode 12 explains how to implement transaction management in Go using middleware, interfaces, context, logging, and database operations. It covers committing successful operations, rolling back on errors, maintaining atomicity, and integrating transaction handling with authentication and authorization middleware.

### Source excerpt

Introduction: Welcome to Episode 12 of our Ultimate Software Design series! In this final installment, Bill guides us through the advanced implementation of transaction management in Go, ensuring robust and consistent data operations within applications. By focusing on middleware integration, Bill provides a comprehensive strategy for handling database transactions, committing successful operations, and rolling back when errors occur. Learn to configure and log transaction middleware for tracking commits and rollbacks.'

## Ep. 7: Building Resilient Go Applications: Key Error Handling Techniques

DevFeed: [Ep. 7: Building Resilient Go Applications: Key Error Handling Techniques](<https://devfeed.tech/articles/ep-7-building-resilient-go-applications-key-error-handling-techniques-22241.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2024/06/building-resilient-go-applications-key-error-handling-techniques-ep-7.html>)

Published: 2024-06-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Error Handling](<https://devfeed.tech/topics/error-handling.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Logging](<https://devfeed.tech/topics/logging.md>), [integrity](<https://devfeed.tech/topics/integrity.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [comprehensive-error-handling-go](<https://devfeed.tech/tags/comprehensive-error-handling-go.md>), [contextual-error-handling-go](<https://devfeed.tech/tags/contextual-error-handling-go.md>), [data-validation-signals-in-go](<https://devfeed.tech/tags/data-validation-signals-in-go.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [debugging-errors-in-go](<https://devfeed.tech/tags/debugging-errors-in-go.md>), [detailed-error-management-go](<https://devfeed.tech/tags/detailed-error-management-go.md>), [effective-go-error-logging](<https://devfeed.tech/tags/effective-go-error-logging.md>), [efficient-error-logging-go](<https://devfeed.tech/tags/efficient-error-logging-go.md>), [error-handling](<https://devfeed.tech/tags/error-handling.md>), [error-handling-best-practices-go](<https://devfeed.tech/tags/error-handling-best-practices-go.md>), [error-handling-framework-go](<https://devfeed.tech/tags/error-handling-framework-go.md>), [error-handling-strategies-go](<https://devfeed.tech/tags/error-handling-strategies-go.md>), [error-management-in-go](<https://devfeed.tech/tags/error-management-in-go.md>), [go](<https://devfeed.tech/tags/go.md>), [go-application-resilience](<https://devfeed.tech/tags/go-application-resilience.md>), [go-application-stability](<https://devfeed.tech/tags/go-application-stability.md>), [go-error-handling](<https://devfeed.tech/tags/go-error-handling.md>), [go-error-handling-methods](<https://devfeed.tech/tags/go-error-handling-methods.md>), [go-error-handling-techniques](<https://devfeed.tech/tags/go-error-handling-techniques.md>), [go-error-propagation-prevention](<https://devfeed.tech/tags/go-error-propagation-prevention.md>), [go-error-recovery-strategies](<https://devfeed.tech/tags/go-error-recovery-strategies.md>), [go-error-signaling-semantics](<https://devfeed.tech/tags/go-error-signaling-semantics.md>), [go-errors-as-signals](<https://devfeed.tech/tags/go-errors-as-signals.md>), [go-shutdown-signals](<https://devfeed.tech/tags/go-shutdown-signals.md>), [horizontal-signaling-go-errors](<https://devfeed.tech/tags/horizontal-signaling-go-errors.md>), [integrity](<https://devfeed.tech/tags/integrity.md>), [logging](<https://devfeed.tech/tags/logging.md>), [logging-errors-in-go](<https://devfeed.tech/tags/logging-errors-in-go.md>), [maintainable-go-code](<https://devfeed.tech/tags/maintainable-go-code.md>), [preventing-error-propagation-in-go](<https://devfeed.tech/tags/preventing-error-propagation-in-go.md>), [recovering-from-errors-in-go](<https://devfeed.tech/tags/recovering-from-errors-in-go.md>), [reliable-go-applications](<https://devfeed.tech/tags/reliable-go-applications.md>), [three-step-error-handling-go](<https://devfeed.tech/tags/three-step-error-handling-go.md>), [trusted-errors-in-go](<https://devfeed.tech/tags/trusted-errors-in-go.md>), [writing-robust-go-code](<https://devfeed.tech/tags/writing-robust-go-code.md>)

### AI overview

A video tutorial for Go developers presents a three-step error-handling approach: log errors once, decide whether recovery or termination is appropriate, and prevent handled errors from propagating. It also explains errors as signals and discusses trusted errors, shutdown signals, and data validation signals.

### Source excerpt

Introduction: Going into more detail on error handling, Bill provides a comprehensive overview of effective strategies and best practices for Go developers. By exploring the nuances of error management, he equips developers with the tools needed to write more reliable and maintainable code. Learn the three-step approach to logging errors, determining recovery, and preventing propagation. Understand how treating errors as signals, similar to channels' horizontal signaling, enhances error management. Discover the importance of implementing trusted errors, shutdown signals, and data validation signals to maintain code integrity and reliability.