docs: tag blips with related academy trainings

This commit is contained in:
Stefan Rotsch
2024-05-03 11:11:36 +02:00
committed by Stefan Rotsch
parent e5738950cf
commit 291dfd138b
11 changed files with 77 additions and 78 deletions

View File

@@ -2,26 +2,26 @@
title: "Cypress"
ring: assess
quadrant: tools
tags: [frontend, quality assurance]
tags: [academy training, frontend, quality assurance]
---
[Cypress](https://www.cypress.io/) is a front-end testing tool (E2E). It comes as a simple node package and is therefore easy to use and maintain for front-end developers and testers. Cypress has a different approach than Selenium. It runs in the browser and in the same loop as the device under test.
[Cypress](https://www.cypress.io/) is a front-end testing tool (E2E). It comes as a simple node package, making it easy to use and maintain for front-end developers and testers. Cypress has a different approach than Selenium; it runs in the browser and in the same loop as the device under test.
Good:
**Good:**
* [Open source](https://github.com/cypress-io/cypress)
* [Locally installed](https://docs.cypress.io/guides/getting-started/installing-cypress.html#System-requirements)
* Straightforward (installed via npm and all tests are written in Javascript)
* Good [documentation](https://docs.cypress.io/guides/overview/why-cypress.html#In-a-nutshell) and learning material
* Straightforward (installed via npm, and all tests are written in JavaScript)
* Good [documentation](https://docs.cypress.io/guides/overview/why-cypress.html#In-a-nutshell) and learning materials
* Can run in a [headless mode](https://docs.cypress.io/guides/guides/command-line.html#cypress-run)
Not so good:
**Not so good:**
* No cross browser testing (only Chrome and Electron)
* Scenarios with multiple browser tabs can not be tested
* Relatively new test tool, though it is becoming more popular
* No cross-browser testing (only Chrome and Electron)
* Scenarios with multiple browser tabs cannot be tested
* Relatively new test tool, although it is becoming more popular
Example of a test :
**Example of a test:**
```js
describe('My First Test', function() {

View File

@@ -2,38 +2,34 @@
title: "Flamingo"
ring: adopt
quadrant: languages-and-frameworks
tags: [coding]
tags: [academy training, coding]
---
Flamingo is a high productivity go based framework for rapidly building fast and pluggable web projects.
It is used to build scalable and maintainable (web)applications.
Flamingo is a high productivity Go-based framework for rapidly building fast and pluggable web projects. It is used to construct scalable and maintainable (web) applications.
Flamingo is:
* open source
* written in go
* easy to learn
* fast and flexible
- Open source
- Written in Go
- Easy to learn
- Fast and flexible
Go as simple, powerful and typesafe language is great to implement and scale serverside logic.
Flamingo has a clean architecture with clear dependencies in mind and offers a typical features and support for nowadays web applications:
Go, as a simple, powerful, and typesafe language, is excellent for implementing and scaling server-side logic. Flamingo has a clean architecture with clear dependencies in mind and offers typical features and support for modern web applications:
* Powerful Templating Engines, e.g. support for Pug templates with reusable mixins and lightweight scripting.
* Configuration concepts using yml and support for multiple areas and contexts
* Powerful Dependency Injection
* A Module concept for building modular and pluggable applications
* Authentication concepts and security middleware
* Flexible routing with support for prefix routes and reverse routing
* Web Controller Support with: Request / Response / Form Handling etc
* Operational Readiness: Logging, (distributed) Tracing, Metrics and Healthchecks with separate endpoint
* Localisation
* Commands
* Session Handling and Management
* GraphQL support and therefore support to build nice SPA and PWAs on top of it
* Resilience and Caching for external APIs calls.
- Powerful templating engines, e.g., support for Pug templates with reusable mixins and lightweight scripting.
- Configuration concepts using YAML and support for multiple areas and contexts.
- Powerful dependency injection.
- A module concept for building modular and pluggable applications.
- Authentication concepts and security middleware.
- Flexible routing with support for prefix routes and reverse routing.
- Web controller support with Request/Response/Form Handling, etc.
- Operational readiness: Logging, (distributed) Tracing, Metrics, and Healthchecks with separate endpoints.
- Localization.
- Commands.
- Session handling and management.
- GraphQL support and, therefore, support to build nice SPAs and PWAs on top of it.
- Resilience and caching for external API calls.
Flamingo itself does not contain ORM Mapper or libraries - instead it emphasizes ["ports and adapters"](/methods-and-patterns/ports-and-adapters/) architecture - so that you have a technology free (domain) model and any possible (and replaceable) persistence behind it.
That makes Flamingo useful to build microservices and applications - especially to build "frontends" or portals that require interaction with other (micro) services in a distributed architecture.
When sticking to the architectural recommendation, you can build modular applications with replaceable adapters that gives you independent testability.
Flamingo itself does not contain an ORM mapper or libraries. Instead, it emphasizes a "ports and adapters" architecture so that you have a technology-free (domain) model and any possible (and replaceable) persistence behind it. This makes Flamingo useful for building microservices and applications, especially for constructing "frontends" or portals that require interaction with other (micro)services in a distributed architecture. By adhering to the architectural recommendation, you can build modular applications with replaceable adapters that provide independent testability.
With **"Flamingo Commerce"** there is an additional active projects that offer rich and flexible features to build modern e-commerce applications.
With **"Flamingo Commerce,"** there is an additional active project that offers rich and flexible features to build modern e-commerce applications.

View File

@@ -2,7 +2,7 @@
title: "Go / Golang"
ring: adopt
quadrant: languages-and-frameworks
tags: [coding]
tags: [academy training, coding]
---
We have moved Go to "adopt".

View File

@@ -2,16 +2,13 @@
title: "Terraform"
ring: adopt
quadrant: platforms-and-aoe-services
tags: [devops]
tags: [academy training, devops]
---
[Terraform](https://www.terraform.io/) is a tool for building, changing and versioning infrastructure using the infrastructure as code pattern.
Terraform supports popular service providers like AWS, Google Cloud Platform, Azure and many more.
[Terraform](https://www.terraform.io/) is a tool for building, changing, and versioning infrastructure using the infrastructure as code pattern. Terraform supports popular service providers like AWS, Google Cloud Platform, Azure, and many more.
Infrastructure is described in configuration files through the HCL (HashiCorp Configuration Language), which brings a set of string interpolations and built-in functions,
including conditionals and loops. Terraform validates configuration files before trying to run updates. It checks not only that all files use the correct syntax,
but also that all parameters are accessible and the configuration as a whole is valid. In Terraform, you can (and should) run a plan step before applying any changes.
This step tells you precisely what is going to change and why.
Another feature of Terraform is that it makes it easy to reuse code by using modules. That gives a lot of leeway in structuring projects in the way it makes most sense.
Infrastructure is described in configuration files through the HCL (HashiCorp Configuration Language), which offers a set of string interpolations and built-in functions, including conditionals and loops. Terraform validates configuration files before attempting to run updates, checking not only that all files use the correct syntax, but also that all parameters are accessible and the configuration as a whole is valid. In Terraform, you can (and should) run a 'plan' step before applying any changes. This step precisely outlines what is going to change and why.
Here at AOE we use terraform in multiple teams to provision infrastructure and manage their lifecycle on cloud platforms such as AWS and for platforms such as Kubernetes.
Another feature of Terraform is its facilitation of code reuse through modules. This allows for a lot of flexibility in structuring projects in the way that makes the most sense.
Here at AOE, we utilize Terraform across multiple teams to provision infrastructure and manage its lifecycle on cloud platforms such as AWS, as well as for platforms such as Kubernetes.