But encouraging more widespread adoption of the technology might be tricky. Nyvang says it is sometimes difficult to convince engineers to switch to a completely different way of doing things.
English, dual CTC/TDT decoder heads
。关于这个话题,夫子提供了深入分析
To achieve testability in modular software we need to leverage the Dependency Inversion Principle (DIP) up to the level of application architecture. That was the reasoning behind introducing the concept of Infrastructure-Modules. When we extract all the infrastructure code from Business-Modules, they can stay focused on the business logic and have no design/compile-time dependencies on any untestable infrastructure code. As a side effect, we achieve Separation of Concerns.
Postgres has its own primitives for things that forges currently build custom infrastructure around. A trigger on the refs table firing NOTIFY means any connected client learns about a push the moment it happens, which is how forges normally end up building a custom webhook polling layer. Multi-tenant repo isolation becomes a database concern through row-level security on the objects and refs tables, and logical replication lets you selectively stream repositories across Postgres instances, a kind of partial mirroring that filesystem-based git can’t do. Commit graph traversal for ancestry queries and merge-base computation falls to recursive CTEs, and pg_trgm indexes on blob content give you substring search across all repositories without standing up a separate search index.