From 94f368249ed505e3b97e69195d05e40ef0dc6718 Mon Sep 17 00:00:00 2001 From: Stefan Rotsch Date: Wed, 22 Feb 2023 19:40:39 +0100 Subject: [PATCH] docs: fix some more spelling issues (#167) --- radar/2022-03-28/dgs.md | 2 +- radar/2022-03-28/pipeline-as-code.md | 14 +++++++++---- radar/2022-03-28/remix.md | 14 +++++++------ radar/2022-03-28/resilience-thinking.md | 26 ++++++++++++++++--------- radar/2022-03-28/sass.md | 9 ++++++--- radar/2022-03-28/semanticore.md | 12 ++++++++---- radar/2022-03-28/stitches.md | 20 +++++++++++-------- radar/2022-10-12/flutter.md | 2 +- radar/2022-10-12/hotchocolate.md | 2 +- radar/2022-10-12/ldap-login.md | 2 +- 10 files changed, 65 insertions(+), 38 deletions(-) diff --git a/radar/2022-03-28/dgs.md b/radar/2022-03-28/dgs.md index 97f7a09..45322af 100644 --- a/radar/2022-03-28/dgs.md +++ b/radar/2022-03-28/dgs.md @@ -6,5 +6,5 @@ tags: [frontend, architecture] --- DGS has proven to simplify the development of GraphQL server applications. -Thus we recommend a broader usage across AOE and decided to move the blip +Thus, we recommend a broader usage across AOE and decided to move the blip to "trial". diff --git a/radar/2022-03-28/pipeline-as-code.md b/radar/2022-03-28/pipeline-as-code.md index fabc032..e5adb78 100644 --- a/radar/2022-03-28/pipeline-as-code.md +++ b/radar/2022-03-28/pipeline-as-code.md @@ -2,11 +2,17 @@ title: "Pipeline as Code" ring: adopt quadrant: methods-and-patterns -tags: [devops] +tags: [devops] --- -In the past years many tools have evolved and especially [Gitlab CI](https://docs.gitlab.com/ee/ci/), [Github Actions](https://github.com/features/actions) and [AWS CodeDeploy](https://aws.amazon.com/de/codedeploy/) matured or became available and widely used across many teams. +In the past years many tools have evolved and especially [Gitlab CI](https://docs.gitlab.com/ee/ci/), +[GitHub Actions](https://github.com/features/actions) and [AWS CodeDeploy](https://aws.amazon.com/de/codedeploy/) +matured or became available and widely used across many teams. -Continuous Integration and Delivery is an important part in every project. Pipelines which are maintained as code, can now be handled like most other parts of your software. The pipeline configuration can run through lint checks, or a test suite before the configuration is shared across teams in your organisation. +Continuous Integration and Delivery is an important part in every project. Pipelines which are maintained as code, can +now be handled like most other parts of your software. The pipeline configuration can run through lint checks, or a test +suite before the configuration is shared across teams in your organisation. -Using [container based builds](https://www.aoe.com/techradar/methods-and-patterns/container-based-builds.html) is now also the de facto standard. Combining these two techniques enables running isolated builds in an easily reproducible environment so teams can get quick feedback on every change. \ No newline at end of file +Using [container based builds](https://www.aoe.com/techradar/methods-and-patterns/container-based-builds.html) is now +also the de facto standard. Combining these two techniques enables running isolated builds in an easily reproducible +environment so teams can get quick feedback on every change. diff --git a/radar/2022-03-28/remix.md b/radar/2022-03-28/remix.md index ae13fd6..3ed9acb 100644 --- a/radar/2022-03-28/remix.md +++ b/radar/2022-03-28/remix.md @@ -1,14 +1,16 @@ --- -title: "Remix" -ring: trial -quadrant: languages-and-frameworks -tags: [coding, frontend] +title: "Remix" +ring: trial +quadrant: languages-and-frameworks +tags: [coding, frontend] --- Remix is a full stack web framework that lets us focus on the user interface and work with web standards. -One of Remix biggest features is the availability of nested routes. Through nested routes, Remix can eliminate nearly every loading state. +One of Remix biggest features is the availability of nested routes. Through nested routes, Remix can eliminate nearly +every loading state. -Most web apps fetch inside of components, creating request waterfalls which leads to slower page loads. Remix loads data in parallel on the server and sends a fully formed HTML document +Most web apps fetch inside of components, creating request waterfalls which leads to slower page loads. Remix loads data +in parallel on the server and sends a fully formed HTML document At AOE we use Remix for our enterprise web applications to provide a first class UX and fast page loads. diff --git a/radar/2022-03-28/resilience-thinking.md b/radar/2022-03-28/resilience-thinking.md index 910fe10..aa5489c 100644 --- a/radar/2022-03-28/resilience-thinking.md +++ b/radar/2022-03-28/resilience-thinking.md @@ -2,18 +2,26 @@ title: "Resilience Thinking" ring: adopt quadrant: methods-and-patterns -tags: [architecture] +tags: [architecture] --- -Resilience is the capability of an application or service to resist different error scenarios. Especially for distributed systems - where a lot of communication between different services happen - it's very important to explicitly think of implementing resilience. +Resilience is the capability of an application or service to resist different error scenarios. Especially for +distributed systems - where a lot of communication between different services happen - it's very important to explicitly +think of implementing resilience. -There are a lot of different resilience patterns and it is also a matter of the overall software design. Typical patterns and methods used are: +There are a lot of different resilience patterns, and it is also a matter of the overall software design. Typical +patterns and methods used are: -* Do not hide API calls or any other external communication in your application (for example with unnecessary abstraction) - instead make it explicit that an external communication happens - e.g. by using the Facade Pattern. On the one hand, this makes it obvious that a potential slow and error prone communication is going to happen, and it makes it easier to implement error handling. -* Detect errors explicitly: Check the response message format and configure proper timeouts for external communication -* Handle errors in a smart way: Show a nice error message to your customer or, even better, graceful degrade features - e.g. by showing some fallback text -* Use message-based communication where useful ([Decoupling Infrastructure via Messaging](/methods-and-patterns/decoupling-infrastructure-via-messaging.html)) -* Use circuit breakers to isolate errors and allow systems to recover -* Use short activation paths in your strategic architecture - so that there is only a minimal set of communications between your services required for certain features or business requests +* Do not hide API calls or any other external communication in your application (for example with unnecessary + abstraction) - instead make it explicit that an external communication happens - e.g. by using the Facade Pattern. On + the one hand, this makes it obvious that a potential slow and error-prone communication is going to happen, and it + makes it easier to implement error handling. +* Detect errors explicitly: Check the response message format and configure proper timeouts for external communication +* Handle errors in a smart way: Show a nice error message to your customer or, even better, graceful degrade features - + e.g. by showing some fallback text +* Use message-based communication where useful ([Decoupling Infrastructure via Messaging](/methods-and-patterns/decoupling-infrastructure-via-messaging.html)) +* Use circuit breakers to isolate errors and allow systems to recover +* Use short activation paths in your strategic architecture - so that there is only a minimal set of communications + between your services required for certain features or business requests "Embrace Errors" should be the mindset - because it is not a question if errors appear - it's just a question of when. diff --git a/radar/2022-03-28/sass.md b/radar/2022-03-28/sass.md index 6d22631..6caa642 100644 --- a/radar/2022-03-28/sass.md +++ b/radar/2022-03-28/sass.md @@ -6,7 +6,10 @@ featured: false --- Since the heydays of Sass, the requirements for styling solutions have changed. -With modern solutions like [CSS-in-JS](/methods-and-patterns/css-in-js.html), [Tailwind](/languages-and-frameworks/tailwindcss.html) or [PostCSS](/tools/postcss.html), you get scoped CSS out of the box and can get rid of the manual and therefore error-prone BEM methodology. -Furthermore, mapping class names to elements is no longer necessary. -In general the modern solutions bring a better and more robust developer experience. Therefore we put Sass on hold. +With modern solutions like [CSS-in-JS](/methods-and-patterns/css-in-js.html), +[Tailwind](/languages-and-frameworks/tailwindcss.html) or [PostCSS](/tools/postcss.html), you get scoped CSS out of the +box and can get rid of the manual and therefore error-prone BEM methodology. Furthermore, mapping class names to +elements is no longer necessary. + +In general the modern solutions bring a better and more robust developer experience. Therefore, we put Sass on hold. diff --git a/radar/2022-03-28/semanticore.md b/radar/2022-03-28/semanticore.md index 93c30b6..d7b5eeb 100644 --- a/radar/2022-03-28/semanticore.md +++ b/radar/2022-03-28/semanticore.md @@ -2,14 +2,18 @@ title: "Semanticore" ring: trial quadrant: tools -tags: [ci/cd, documentation, quality assurance] +tags: [ci/cd, documentation, quality assurance] --- -[Semanticore](https://github.com/AOEpeople/semanticore) is an open source tool fulfilling our needs for managing changelogs and semantic releases. -Build upon git histories and conventional commits, Semanticore creates and maintains changelogs using Gitlab or Github merge requests, and, once merged, creates appropriate tags and releases. -Automating this workflow improves our daily work a lot, and always gives us a clear view on outstanding changes as well as a proper-maintained changelog. +[Semanticore](https://github.com/AOEpeople/semanticore) is an open source tool fulfilling our needs for managing +changelogs and semantic releases. + +Build upon git histories and conventional commits, Semanticore creates and maintains changelogs using Gitlab or GitHub +merge requests, and, once merged, creates appropriate tags and releases. Automating this workflow improves our daily +work a lot, and always gives us a clear view on outstanding changes as well as a proper-maintained changelog. Check out our Semanticore repository at https://github.com/AOEpeople/semanticore or run it locally for testing purposes: + ``` $ cd ~/path/to/my/repository $ go run github.com/aoepeople/semanticore@v0 diff --git a/radar/2022-03-28/stitches.md b/radar/2022-03-28/stitches.md index 7743230..565b36d 100644 --- a/radar/2022-03-28/stitches.md +++ b/radar/2022-03-28/stitches.md @@ -1,14 +1,18 @@ --- -title: "Stitches" -ring: trial -quadrant: languages-and-frameworks -tags: [coding, frontend] +title: "Stitches" +ring: trial +quadrant: languages-and-frameworks +tags: [coding, frontend] --- -Stitches is a lightweight & performant CSS-in-JS styling library with a focus on component architecture and developer experience. +Stitches is a lightweight & performant CSS-in-JS styling library with a focus on component architecture and developer +experience. -Unlike most CSS-in-JS libraries, Stitches promises near-zero runtime costs. This is possible by avoiding unnecessary prop interpolations and defining variants upfront. +Unlike most CSS-in-JS libraries, Stitches promises near-zero runtime costs. This is possible by avoiding unnecessary +prop interpolations and defining variants upfront. -Stitches has a fully typed API to provide an awesome developer experience. It comes with built-in theme support, server-side rendering & much more. +Stitches has a fully typed API to provide an awesome developer experience. It comes with built-in theme support, +server-side rendering & much more. -At AOE we use Stitches when we want to write performant and scalable CSS, but don't want to give up the flexibility and developer experience of React components. +At AOE we use Stitches when we want to write performant and scalable CSS, but don't want to give up the flexibility and +developer experience of React components. diff --git a/radar/2022-10-12/flutter.md b/radar/2022-10-12/flutter.md index 2392769..686127c 100644 --- a/radar/2022-10-12/flutter.md +++ b/radar/2022-10-12/flutter.md @@ -24,7 +24,7 @@ including Alibaba, Tencent and BMW adopted Flutter to develop their apps. This i a [blog post by Stackoverflow](https://stackoverflow.blog/2022/02/21/why-flutter-is-the-most-popular-cross-platform-mobile-sdk/) where it shows the increase in popularity in comparison to React Native -Based on these facts, we decided to get a deeper look on FLutter. We were able to prove that Flutter is more performant +Based on these facts, we decided to get a deeper look on Flutter. We were able to prove that Flutter is more performant than, React Native by building an identical Prototype application with both Frameworks. In addition to the Framework itself, Flutter does a lot to improve the developer experience (DX) due to its hot reload diff --git a/radar/2022-10-12/hotchocolate.md b/radar/2022-10-12/hotchocolate.md index d6f03e8..24ed02d 100644 --- a/radar/2022-10-12/hotchocolate.md +++ b/radar/2022-10-12/hotchocolate.md @@ -6,5 +6,5 @@ tags: [coding] --- [Hot Chocolate](https://chillicream.com/docs/hotchocolate/v12) is an open-source GraphQL server for .NET. -It is compatible to many GraphQL clients and tools and is really easy to setup and use. We assess it in one of our +It is compatible to many GraphQL clients and tools and is really easy to set up and use. We assess it in one of our projects as an alternative to [GraphQL .NET](https://graphql-dotnet.github.io/docs/getting-started/introduction/). diff --git a/radar/2022-10-12/ldap-login.md b/radar/2022-10-12/ldap-login.md index fb22892..20ccd28 100644 --- a/radar/2022-10-12/ldap-login.md +++ b/radar/2022-10-12/ldap-login.md @@ -8,7 +8,7 @@ tags: [devops, security] For years, we used LDAP Login mechanisms to authenticate our employees. While this worked as some kind of "single credential" model, it does not support extended Security features such as -WebAuthN, Multifactor-Authentication, etc. +WebAuthN, Multi-Factor Authentication, etc. These we do prefer to use integrations using OpenID Connect into SSO solutions such as [Bare.ID](/platforms-and-aoe-services/bareid.html) or [Keycloak](/tools/keycloak.html), which provide proper