From 52a4fc5c821b2d0267f942ad5a11cb5e9c7d3848 Mon Sep 17 00:00:00 2001 From: mistermicheels <22038058+mistermicheels@users.noreply.github.com> Date: Sat, 1 Oct 2022 12:58:18 +0200 Subject: [PATCH] small improvements (mostly fixing dead links) --- architecture-design/Deployable-components.md | 7 ++++--- data/Data-schema-migration.md | 4 ++-- javascript/Event-loop.md | 4 ++-- processes-techniques/Feature-flags.md | 4 ++-- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/architecture-design/Deployable-components.md b/architecture-design/Deployable-components.md index 8063754..5d43f5e 100644 --- a/architecture-design/Deployable-components.md +++ b/architecture-design/Deployable-components.md @@ -1,6 +1,6 @@ --- description: Some thoughts on defining deployable components and the dependencies between them -last_modified: 2020-11-21T18:14:37.160Z +last_modified: 2022-10-01T10:59:07.948Z --- # Deployable components @@ -51,6 +51,7 @@ Three important principles: - Similar to Single Responsibility Principle in [SOLID principles](oo-design/SOLID-principles.md) - If the code of an application must change, you would ideally have all the changes to occur in a single component, so you only have to redeploy that single component - Other components depending on that single component do not need to be revalidated or redeployed + - If you always need to change and redeploy component A and B together, consider merging them into one component - Relation to Open-Closed Principle from [SOLID principles](oo-design/SOLID-principles.md): group together the classes that are closed to the same type of changes - This principle is inclusive: tends to make components larger - **CRP**: Common Reuse Principle @@ -67,7 +68,7 @@ Tension diagram (edges of diagram show the cost of abandoning the principle on t ![Tension diagram](_img/Deployable-components/cohesion-principles-tension-diagram.jpg) -([image source](https://www.codingblocks.net/podcast/clean-architecture-components-and-component-cohesion/)) +([image source](https://dev.to/codingblocks/71-clean-architecture--components-and-component-cohesion)) - Are “too many” components changing at the same time? Then your classes should be consolidated better (CCP) - Do you have “too many” releases? You should take a look at streamlining and minimizing your dependencies (CRP) @@ -164,4 +165,4 @@ What typically works: ## Resources - Clean Architecture (book by Robert C. Martin) -- [Clean Architecture – Components and Component Cohesion](https://www.codingblocks.net/podcast/clean-architecture-components-and-component-cohesion/) +- [Clean Architecture – Components and Component Cohesion](https://dev.to/codingblocks/71-clean-architecture--components-and-component-cohesion) diff --git a/data/Data-schema-migration.md b/data/Data-schema-migration.md index 9d9e4b0..f70977e 100644 --- a/data/Data-schema-migration.md +++ b/data/Data-schema-migration.md @@ -1,6 +1,6 @@ --- description: Some techniques for migrating the structure of your data -last_modified: 2020-06-14T18:51:13+02:00 +last_modified: 2022-10-01T10:59:07.973Z --- # Data schema migration @@ -95,5 +95,5 @@ Verifying correctness of migration: _Dark Reads_ ## Resources -- [Feature Flag Best Practices ebook](https://try.split.io/oreilly-feature-flag-best-practices) +- [Feature Flag Best Practices ebook](https://www.oreilly.com/library/view/feature-flag-best/9781492050452/) - [Online migrations at scale](https://stripe.com/blog/online-migrations) diff --git a/javascript/Event-loop.md b/javascript/Event-loop.md index 272cbc5..8682938 100644 --- a/javascript/Event-loop.md +++ b/javascript/Event-loop.md @@ -1,7 +1,7 @@ --- tree_title: Event loop description: A high-level overview of how JavaScript handles concurrency using its Event Loop -last_modified: 2021-12-27T16:49:37.804Z +last_modified: 2022-10-01T10:59:07.997Z --- # Event loop (JavaScript) @@ -213,7 +213,7 @@ Some ways to mitigate this: - Reject large input - Avoid regular expressions using nested quantifiers (like `(a+)*`), backreferences (like `(a.*) \1`, ...) - Use simple string matches (like `indexOf`) instead of regexes where possible -- Use tools like [safe-regex](https://github.com/substack/safe-regex) that can help you identify some (but not all) vulnerable regexes +- Use tools like [safe-regex](https://www.npmjs.com/package/safe-regex) that can help you identify some (but not all) vulnerable regexes ### Recommendation: task partitioning diff --git a/processes-techniques/Feature-flags.md b/processes-techniques/Feature-flags.md index 2fff548..71c7b34 100644 --- a/processes-techniques/Feature-flags.md +++ b/processes-techniques/Feature-flags.md @@ -1,6 +1,6 @@ --- description: A way to build flexibility into your codebase, allowing some features or alternate code paths to be toggled on or off at will -last_modified: 2020-10-25T21:56:09.027Z +last_modified: 2022-10-01T10:59:08.028Z --- # Feature flags @@ -276,4 +276,4 @@ Existing flags: - [Feature Toggles (aka Feature Flags)](https://martinfowler.com/articles/feature-toggles.html) - [Effective Feature Management ebook](https://launchdarkly.com/effective-feature-management-ebook/) -- [Feature Flag Best Practices ebook](https://try.split.io/oreilly-feature-flag-best-practices) +- [Feature Flag Best Practices ebook](https://www.oreilly.com/library/view/feature-flag-best/9781492050452/)