docs: fix internal links

This commit is contained in:
Stefan Rotsch
2024-06-26 10:56:44 +02:00
committed by Stefan Rotsch
parent 014cc8d360
commit 84d5939770
36 changed files with 43 additions and 49 deletions

View File

@@ -30,7 +30,6 @@ The 15-factor model builds upon the original principles by adding:
14) **Telemetry**: Implement robust telemetry for monitoring and diagnostics.
15) **Authentication and Authorization**: Incorporate strong, centralized authentication and authorization mechanisms.
### Relevance
For us this rather old pattern is still very relevant and many methods, patterns and practices on our radar are related and enable these pattern in their core. To name a few [Kubernetes](/platforms-and-aoe-services/kubernetes/), [Prometheus](/platforms-and-aoe-services/prometheus/), [Self-Service Infrastructure](/platforms-and-aoe-services/self-service-infrastructure/) or the [API-First Design Approach](/methods-and-patterns/api-first-design-approach/) are very related, others like [Shared Responsibility Models](/methods-and-patterns/shared-responsibility/) are easier to implement based on this pattern.
For us this rather old pattern is still very relevant and many methods, patterns and practices on our radar are related and enable these pattern in their core. To name a few [Kubernetes](/platforms-and-aoe-services/kubernetes/), [Prometheus](/platforms-and-aoe-services/prometheus/), [Self-Service Infrastructure](/platforms-and-aoe-services/self-service-infrastructure/) or the [API-First Design Approach](/methods-and-patterns/api-first-design-approach/) are very related, others like [Shared Responsibility Models](/methods-and-patterns/shared-responsibility/) are easier to implement based on this pattern.

View File

@@ -5,4 +5,3 @@ ring: adopt
tags: [architecture, documentation]
featured: false
---

View File

@@ -5,4 +5,3 @@ quadrant: methods-and-patterns
tags: [devops]
featured: false
---

View File

@@ -7,11 +7,11 @@ tags: [ai, architecture, coding]
### Adopting GitHub Copilot
We've adopted AI Assisted Programming to enhance our overall efficiency and product quality, with [GitHub Copilot](../tools/github-copilot.html) serving as our primary tool for this purpose.
We've adopted AI Assisted Programming to enhance our overall efficiency and product quality, with [GitHub Copilot](/tools/github-copilot/) serving as our primary tool for this purpose.
Guidelines for its usage have been established, and we continuously refine our practices by sharing best practices and insights within our communities.
The use of [GitHub Copilot](../tools/github-copilot.html) is currently project-based and requires customer consent. While utilizing it, we remain mindful of potential risks and actively work to mitigate them.
The use of [GitHub Copilot](/tools/github-copilot/) is currently project-based and requires customer consent. While utilizing it, we remain mindful of potential risks and actively work to mitigate them.
### Potential Risks and Mitigation Strategies

View File

@@ -5,7 +5,7 @@ quadrant: tools
tags: [academy training, frontend, quality assurance]
---
[Cypress](https://www.cypress.io/) continues to prove its value in AOE Group projects and has evolved significantly since early 2022. Cypress remains one of our preferred testing tools for front-end developers, thanks to its robust support for JavaScript and [TypeScript](../languages-and-frameworks/typescript.html). The ease of adoption and implementation, combined with the maintainability of test specifications, has only improved with recent updates.
[Cypress](https://www.cypress.io/) continues to prove its value in AOE Group projects and has evolved significantly since early 2022. Cypress remains one of our preferred testing tools for front-end developers, thanks to its robust support for JavaScript and [TypeScript](/languages-and-frameworks/typescript/). The ease of adoption and implementation, combined with the maintainability of test specifications, has only improved with recent updates.
### Key Updates and Enhancements of the Past Years

View File

@@ -5,8 +5,6 @@ ring: assess
tags: [coding, devops]
---
## Introduction
[DevSpace](https://www.devspace.sh/) is an open-source developer tool for Kubernetes that lets you develop and
deploy cloud-native software faster. As a "client-only" development tool, it is very simple to develop kubernetes
native applications in local or any remote cluster.

View File

@@ -6,4 +6,4 @@ tags: [devops]
featured: false
---
While we continue to recommend the ELK Stack for specific use cases, we now prefer [Loki](../platforms-and-aoe-services/loki.html) for most [Kubernetes](../platforms-and-aoe-services/kubernetes.html)-based setups due to its seamless integration, cost efficiency and user-friendly query language.
While we continue to recommend the ELK Stack for specific use cases, we now prefer [Loki](/platforms-and-aoe-services/loki/) for most [Kubernetes](/platforms-and-aoe-services/kubernetes/)-based setups due to its seamless integration, cost efficiency and user-friendly query language.

View File

@@ -5,4 +5,3 @@ quadrant: tools
tags: [security]
featured: false
---

View File

@@ -16,7 +16,7 @@ tags: [architecture, ci/cd, quality assurance]
- **Alignment with Business Goals**: Ensures that technical decisions are aligned with business goals by making trade-offs explicit and measurable.
- **Evolutionary Approach**: Encourages iterative improvement and adaptation, similar to natural selection processes in evolutionary biology.
[DORA (DevOps Research and Assessment) Metrics](../methods-and-patterns/dora-metrics.html), such as deployment frequency, lead time for changes, mean time to recovery, and change failure rate, provide high-level insights into the overall health and effectiveness of an organization's software delivery practices. By integrating fitness functions into development workflows, teams receive detailed, actionable feedback on specific aspects of their systems, leading to continuous improvement in deployment speed, reliability, and quality.
[DORA (DevOps Research and Assessment) Metrics](/methods-and-patterns/dora-metrics/), such as deployment frequency, lead time for changes, mean time to recovery, and change failure rate, provide high-level insights into the overall health and effectiveness of an organization's software delivery practices. By integrating fitness functions into development workflows, teams receive detailed, actionable feedback on specific aspects of their systems, leading to continuous improvement in deployment speed, reliability, and quality.
By embedding fitness functions into the CI/CD pipeline, teams can ensure that their applications adhere to architectural standards and quality attributes. This proactive approach helps maintain a robust and scalable architecture that provides a solid foundation for the software as it evolves.

View File

@@ -14,4 +14,4 @@ tags: [ai, architecture, coding]
- **Code Generation Across Languages**: Supports multiple programming languages and frameworks, making it versatile for different project requirements.
- **Automated Documentation**: Generates documentation comments automatically, aiding in better code maintenance and readability.
See [AI Assisted Programming](../methods-and-patterns/assisted-ai.html) for more information on our adoption of AI tools in our development workflows.
See [AI Assisted Programming](/methods-and-patterns/assisted-ai/) for more information on our adoption of AI tools in our development workflows.

View File

@@ -5,7 +5,7 @@ quadrant: languages-and-frameworks
tags: [ai]
---
[LangChain](https://github.com/langchain-ai/langchain) is a framework designed to enhance the development and deployment of applications leveraging natural language processing (NLP) models. It is particularly suited for applications such as "question-answering," "chatbots," or "conversational agents," often utilizing the [Retrieval Augmented Generation (RAG)](../methods-and-patterns/retrieval-augmented-generation.html) pattern.
[LangChain](https://github.com/langchain-ai/langchain) is a framework designed to enhance the development and deployment of applications leveraging natural language processing (NLP) models. It is particularly suited for applications such as "question-answering," "chatbots," or "conversational agents," often utilizing the [Retrieval Augmented Generation (RAG)](/methods-and-patterns/retrieval-augmented-generation/) pattern.
## Key Features

View File

@@ -2,8 +2,8 @@
title: "OCI Container"
ring: adopt
quadrant: platforms-and-aoe-services
tags: [devops]
featured: false
tags: [devops]
featured: false
---
OCI Containers are a well-established industry standard now.

View File

@@ -2,7 +2,7 @@
title: "Open API"
ring: adopt
quadrant: tools
tags: [architecture]
tags: [architecture]
---
The [OpenAPI Specification](https://www.openapis.org/) (OAS) is a broadly adopted industry standard for describing modern REST APIs.
@@ -12,7 +12,7 @@ Other initiatives like RAML have [joined](https://blogs.mulesoft.com/dev/api-dev
The current version OpenAPI v3 added more features to the specification - for example the ability to describe APIs supporting request/callback pattern.
There is a very good api designer https://www.apicur.io/ and a good mock generator http://microcks.github.io/index.html
There is a very good api designer https://www.apicur.io/ and a good mock generator http://microcks.github.io/
The general tool support is excellent. See https://openapi.tools/
@@ -27,4 +27,4 @@ For more information on the TM Forum Open API, visit the following resources:
- [TM Forum Open API Specifications](https://projects.tmforum.org/wiki/display/API/Open+API+Table)
- [TM Forum GitHub Repository](https://github.com/tmforum-apis)
These additions from TM Forum further enhance the value of the OpenAPI Specification by providing industry-specific standards that help streamline telecommunications operations.
These additions from TM Forum further enhance the value of the OpenAPI Specification by providing industry-specific standards that help streamline telecommunications operations.

View File

@@ -5,4 +5,4 @@ quadrant: platforms-and-aoe-services
tags: [devops]
---
[OpenTofu](https://opentofu.org/) is a open source, community driven fork of terraform in response to HashiCorps license changes. It's terraform 1.6 compatible and can act as a drop-in replacement. We watch development and ecosystem growth closely and evaluate a move from terraform to OpenTofu in some projects.
[OpenTofu](https://opentofu.org/) is a open source, community driven fork of terraform in response to HashiCorps license changes. It's terraform 1.6 compatible and can act as a drop-in replacement. We watch development and ecosystem growth closely and evaluate a move from terraform to OpenTofu in some projects.

View File

@@ -5,10 +5,10 @@ quadrant: languages-and-frameworks
tags: [frontend, styling]
---
[Panda CSS](https://panda-css.com/) is a feature-rich and highly versatile [CSS-in-JS](../methods-and-patterns/css-in-js.html) library that generates CSS at build time. It provides a great developer experience without the disadvantages of runtime libraries. It is framework-agnostic, but unlike Stylex and Vanilla Extract, it provides JSX-specific features like the `styled` function and style props on top of it.
[Panda CSS](https://panda-css.com/) is a feature-rich and highly versatile [CSS-in-JS](/methods-and-patterns/css-in-js/) library that generates CSS at build time. It provides a great developer experience without the disadvantages of runtime libraries. It is framework-agnostic, but unlike [Stylex](/languages-and-frameworks/stylex/) and Vanilla Extract, it provides JSX-specific features like the `styled` function and style props on top of it.
### Key Features:
- Compatible with [React Server Components](../methods-and-patterns/react-server-components.html)
- Compatible with [React Server Components](/methods-and-patterns/react-server-components/)
- No performance disadvantages compared to runtime libraries
- Highly versatile:
- Recipes and variants like Stitches

View File

@@ -5,4 +5,3 @@ quadrant: methods-and-patterns
tags: [architecture]
featured: false
---

View File

@@ -2,6 +2,7 @@
title: "Puppet"
ring: adopt
quadrant: platforms-and-aoe-services
tags: [devops]
featured: false
---

View File

@@ -23,4 +23,4 @@ tags: [ai]
- **Maintenance overhead**: Regular updates and maintenance of the retrieval system and data sources are required to ensure continued accuracy and relevance, adding to the operational burden.
- **Potential for bias**: The retrieval process can introduce biases present in the external data, which can be propagated into the generated content, affecting the fairness and objectivity of the outputs.
At AOE, we are evaluating [LangChain](../languages-and-frameworks/langchain.html) as a framework for implementing chatbots that allow users to better interact with existing knowledge and ensure that they deliver accurate, contextual, and reliable information.
At AOE, we are evaluating [LangChain](/languages-and-frameworks/langchain/) as a framework for implementing chatbots that allow users to better interact with existing knowledge and ensure that they deliver accurate, contextual, and reliable information.

View File

@@ -5,9 +5,9 @@ quadrant: languages-and-frameworks
tags: [frontend, styling]
---
Facebook has released [StyleX](https://stylexjs.com/), an open-source JavaScript syntax and compiler for styling web apps. It combines the developer experience of [CSS-in-JS](../methods-and-patterns/css-in-js.html) libraries with the performance and scalability of static CSS using compile-time tools.
Facebook has released [StyleX](https://stylexjs.com/), an open-source JavaScript syntax and compiler for styling web apps. It combines the developer experience of [CSS-in-JS](/methods-and-patterns/css-in-js/) libraries with the performance and scalability of static CSS using compile-time tools.
It supports frameworks like [React](../languages-and-frameworks/react.html) and [Angular](../languages-and-frameworks/angular.html). Styles are defined using an object syntax and `create()` API, and can be conditionally applied within components.
It supports frameworks like [React](/languages-and-frameworks/react/) and [Angular](/languages-and-frameworks/angular/). Styles are defined using an object syntax and `create()` API, and can be conditionally applied within components.
### Key Features:
- **Atomic CSS**: Minimizes CSS output

View File

@@ -13,11 +13,11 @@ Software libraries and other external dependencies are a major attack vector whe
- Verify dependency artifact signatures and checksums to detect artifacts that were released or replaced by an attacker.
- Raise developer awareness regarding malicious dependencies and issues such as typosquatting in dependency package managers.
- Generate [Software Bills of Materials (SBOMs)](../platforms-and-aoe-services/sbom.html) for transparency regarding used software dependencies and to support the automated detection of known vulnerabilities.
- Generate [Software Bills of Materials (SBOMs)](/platforms-and-aoe-services/sbom/) for transparency regarding used software dependencies and to support the automated detection of known vulnerabilities.
- Evaluate and reduce the number of external dependencies to minimize the attack surface.
We believe that supply chain security can only be achieved when taking every step of the supply chain into account. Therefore, we utilize the DevSecOps lifecycle and evaluate potential attack vectors and countermeasures for the complete software development and operation lifecycle. As a result, we use the following general measures to improve supply chain security:
- Secure build, test, and deployment environments with [Zero Trust](../methods-and-patterns/zero-trust/).
- Secure build, test, and deployment environments with [Zero Trust](/methods-and-patterns/zero-trust/).
- Sign built software artifacts and verify the signature of artifacts before deploying them.
- Use static application security testing (SAST) and dynamic application security testing (DAST) to scan for known vulnerabilities and logic flaws before deploying artifacts to production environments.

View File

@@ -10,4 +10,4 @@ Terraform has become a de facto standard as a cloud-provider-agnostic infrastruc
Unfortunately, the [license change for HashiCorp products in August 2023](https://www.hashicorp.com/blog/hashicorp-adopts-business-source-license) has caused [some](https://blog.gruntwork.io/the-future-of-terraform-must-be-open-ab0b9ba65bca) [turmoil](https://zeet.co/blog/the-impact-of-hashicorps-license-change-on-terraform-users-and-providers-what-you-need-to-know) within the open source community. Terraform can no longer be considered truly open source. Of particular concern are the [usage limitations that prohibit "competitive offerings" to HashiCorp's products](https://www.hashicorp.com/license-faq#usage-limitations). The vagueness of this definition, coupled with the fact that HashiCorp can change their interpretation of what constitutes a "competitive offer" at any time, poses a potential liability for agencies and their customers.
As a result, we are currently [assessing OpenTofu](../platforms-and-aoe-services/opentofu.html) as a drop-in replacement for Terraform. [OpenTofu](https://opentofu.org) is an open source fork under the umbrella of the Linux Foundation, created from the last commit before Terraform's license change.
As a result, we are currently [assessing OpenTofu](/platforms-and-aoe-services/opentofu/) as a drop-in replacement for Terraform. [OpenTofu](https://opentofu.org) is an open source fork under the umbrella of the Linux Foundation, created from the last commit before Terraform's license change.

View File

@@ -6,4 +6,4 @@ tags: [ci/cd,devops,security]
featured: false
---
See [Supply Chain Security](../methods-and-patterns/supply-chain-security.html) for updated recommendations.
See [Supply Chain Security](/methods-and-patterns/supply-chain-security/) for updated recommendations.

View File

@@ -4,4 +4,4 @@ ring: assess
quadrant: tools
tags: [documentation, architecture]
featured: false
---
---

View File

@@ -1,8 +1,8 @@
---
title: "Visual Regression Tests for Frontend Developers"
ring: adopt
quadrant: methods-and-patterns
tags: [coding, frontend, quality assurance]
title: "Visual Regression Tests for Frontend Developers"
ring: adopt
quadrant: methods-and-patterns
tags: [coding, frontend, quality assurance]
---
In the realm of frontend development, ensuring that applications not only function correctly but also look as intended across various devices and browsers is paramount. This is where visual regression tests come into play, solving a critical problem faced by developers: detecting unintended visual changes. By automating the comparison of screenshots over time, these tests can identify differences between expected and actual UI appearances, down to the pixel level. In this respect, they exceed and replace some use cases of traditional unit tests, which focus on functional aspects of the code.
@@ -11,6 +11,6 @@ Visual regression tests address several challenges. They ensure consistency in t
Moreover, integrating visual regression tests into development pipelines enhances the reliability of deployments. By catching visual discrepancies early, it prevents potential UI issues from reaching end-users. This not only saves time and resources but also maintains the application's quality and reputation.
Currently there are several AOE teams that use visual regression tests with [Playwright](../tools/playwright.html) in their daily operations, with more teams expected to adopt this practice in the future.
Currently there are several AOE teams that use visual regression tests with [Playwright](/tools/playwright/) in their daily operations, with more teams expected to adopt this practice in the future.
In summary, visual regression tests are an invaluable tool for frontend developers. They streamline the development process, ensure visual consistency, and maintain high-quality user interfaces, making them an essential part of modern web development workflows.