Skip to content

Commit

Permalink
docs: fix some more spelling issues (#167)
Browse files Browse the repository at this point in the history
  • Loading branch information
srotsch authored and bastianccm committed Feb 23, 2023
1 parent dd2e4e7 commit 94f3682
Show file tree
Hide file tree
Showing 10 changed files with 65 additions and 38 deletions.
2 changes: 1 addition & 1 deletion radar/2022-03-28/dgs.md
Original file line number Diff line number Diff line change
Expand Up @@ -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".
14 changes: 10 additions & 4 deletions radar/2022-03-28/pipeline-as-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
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.
14 changes: 8 additions & 6 deletions radar/2022-03-28/remix.md
Original file line number Diff line number Diff line change
@@ -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.
26 changes: 17 additions & 9 deletions radar/2022-03-28/resilience-thinking.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
9 changes: 6 additions & 3 deletions radar/2022-03-28/sass.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
12 changes: 8 additions & 4 deletions radar/2022-03-28/semanticore.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
20 changes: 12 additions & 8 deletions radar/2022-03-28/stitches.md
Original file line number Diff line number Diff line change
@@ -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.
2 changes: 1 addition & 1 deletion radar/2022-10-12/flutter.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion radar/2022-10-12/hotchocolate.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/).
2 changes: 1 addition & 1 deletion radar/2022-10-12/ldap-login.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 94f3682

Please sign in to comment.