bacebu4Articles on TypeScript, Software Designhttps://bacebu4.com/When Your Saga Rollback Succeeds and Your Users Lose Moneyhttps://bacebu4.com/posts/saga-rollback-race-condition/https://bacebu4.com/posts/saga-rollback-race-condition/A race condition between saga rollback and downstream service processing that silently freezes user fundsSun, 19 Apr 2026 18:03:33 GMTCase Study. Application-Level Deadlockshttps://bacebu4.com/posts/case-study-application-level-deadlocks/https://bacebu4.com/posts/case-study-application-level-deadlocks/Case study of how I debugged service freezes while querying the database poolSat, 09 Aug 2025 06:42:33 GMTCommon Prometheus Pitfalls in Node.js Applications and How to Avoid Themhttps://bacebu4.com/posts/common-prometheus-pitfalls-in-nodejs-applications-and-how-to-avoid-them/https://bacebu4.com/posts/common-prometheus-pitfalls-in-nodejs-applications-and-how-to-avoid-them/Avoid Prometheus pitfalls in Node.js with this guide on monitoring Event Loop Utilization, managing metric cardinality, and handling gauge errors.Sun, 13 Jul 2025 15:35:24 GMTAvoiding the Repository-Gateway Confusion Traphttps://bacebu4.com/posts/avoiding-the-repository-gateway-confusion-trap/https://bacebu4.com/posts/avoiding-the-repository-gateway-confusion-trap/Explore why this confusion happens, its consequences, and how to design clear, maintainable data access layers for each category.Sat, 24 May 2025 10:22:50 GMTData Source Architectural Patterns Categorizedhttps://bacebu4.com/posts/data-source-architectural-patterns-categorized/https://bacebu4.com/posts/data-source-architectural-patterns-categorized/Easy to follow categorization of Data Source Architectural PatternsWed, 05 Mar 2025 10:15:11 GMTAutomated Testing with Node.js and Gitlabhttps://bacebu4.com/posts/automated-testing-with-nodejs-and-gitlab/https://bacebu4.com/posts/automated-testing-with-nodejs-and-gitlab/Learn how to set up a CI pipeline for testing Node.js applications in GitLab with test coverage, reporting, and visualization. Step-by-step guide for a robust CI setup.Sat, 25 Jan 2025 14:22:50 GMTDDD Anti-patterns: Manual Transaction Managementhttps://bacebu4.com/posts/ddd-anti-patterns-manual-transaction-management/https://bacebu4.com/posts/ddd-anti-patterns-manual-transaction-management/Using manual transaction management in service layerSun, 01 Dec 2024 13:34:11 GMTNode.js --experimental-specifier-resolution removedhttps://bacebu4.com/posts/node-experimental-specifier-resolution-removed/https://bacebu4.com/posts/node-experimental-specifier-resolution-removed/Directory import '...' is not supported resolving ES modules imported from ...Tue, 30 Jul 2024 05:17:19 GMT(node:61774) ExperimentalWarning: `--experimental-loader` may be removed in the futurehttps://bacebu4.com/posts/experimental-loader-may-be-removed-in-the-future/https://bacebu4.com/posts/experimental-loader-may-be-removed-in-the-future/...instead use `register()`: --import 'data:text/javascript,import { register } from "node:module"; import { pathToFileURL } from "node:url"; register("./loader.js", pathToFileURL("./"));'Mon, 29 Jul 2024 21:30:19 GMTImplementing Telegram "OAuth" in TypeScripthttps://bacebu4.com/posts/implementing-telegram-oauth-in-typescript/https://bacebu4.com/posts/implementing-telegram-oauth-in-typescript/The objective of this guide is to create a custom login button, distinct from the pre-built option provided by the Telegram scriptSat, 23 Sep 2023 15:17:19 GMT