pixel
Select Page

NETWAYS Blog

stackconf online 2021 | Spot the Anti-Pattern

stackconf online 2021 is over and was a full success. It was all about open source infrastructure solutions in the spectrum of continuous integration, container, hybrid and cloud technologies. We’re still excited about all of our experts sessions and the large number of participants who joined us from all over the world. In the following you get an insight about one of our talks.

Arushi Jain, a senior software engineer at Reddit, talked about anti-pattern in her speech at stackconf 2021.

The talk on “Spot the Anti-Pattern” dives deep into the study of anti-patterns. How it helps to create a common language and focus the stakeholders on it. It helps to analyse the past and find out how to interrupt the patterns in the future to avoid the same mistakes. The presence of anti-patterns and how to find one, this information is properly communicated, such as a commonly implemented practice with negative effects when used in varying degrees of severity.  A common example of an anti-pattern is the fart system at work. Every system needs an upgrade after time and a variety of frameworks to develop the concerns and the need to show continuous upgrades.  To develop a solution for any kind of anti-pattern, the one common thing is to analyse the record consisting of a particular volume to find out the pattern and then work towards the alternative things to design a better way. 

Anti-patterns can be identified in almost everything and architectural and some micro-organisational examples that occur in everyday life were discussed. The follow up work is to keep all stakeholders informed and then have meaningful conversations to identify the counter plan by collecting the data and identifying the root cause. It also takes a team effort to identify the counter pattern and then work on the solution because nothing will happen in one go. Some patterns are complex and require multi-layered iteration to address.

About Patterns and Anti-Patterns

Following are some questions and answers that summarise the subject:

What is a pattern? 

A pattern is a general repeatable solution to a commonly occurring problem.

What is an anti-pattern? 

An anti-pattern is a common response to a recurring problem that is usually ineffective and risks being highly counterproductive.

Note the reference to “a common response”. Anti-patterns are not occasional mistakes, they are common ones, and are nearly always followed with good intentions.

Why anti-patterns exist? 

Patterns exist because humans are flawed thinkers. Cognitive bias is a systemic error in thinking that occurs when people process and interpret information from their environment and then use that information to influence the decisions and judgements they make.

How can you identify an anti-pattern?

Identify human conflict.

Incomprehensible systems are a sign.

Look for teams who are constantly behind.

More from and about stackconf

stackconf 2022 will take place in Berlin. The final date will be announced soon. If you want to learn more about infrastructure solutions in advance you have the possibility to take look at our archive where you can find all slides and videos from this year’s stackconf.

Stay tuned!

Sukhwinder Dhillon
Sukhwinder Dhillon
Developer

Sukhwinder ist seit Januar 2020 bei NETWAYS und macht bei uns seine Ausbildung als Fachinformatiker für Anwendungsentwicklung. In seiner Freizeit fährt er gerne Fahrrad, trifft sich mit Freunden, oder sitzt vorm Computer und lernt etwas Neues.

Kommende Icinga Web-Funktion: Rememberme

Wir freuen uns immer über Feedback von euch, um Icinga noch besser zu machen. Viele Icinga-Benutzer haben die Meinung geäußert, dass sie gerne eine Rememberme-Checkbox auf der Login-Seite von Icinga Web hätten, damit sie sich nicht jedes Mal anmelden müssen, wenn sie Icinga Web besuchen.
Wir haben an diesem neuen Feature speziell während des Home-Office gearbeitet und planen, es in der nächsten Version von Icinga Web zu veröffentlichen.

Hier sind einige Schritte, wie dies funktioniert:

  • Wir führen ein neues “remember me” Cookie und ein “Stay logged in” checkbox auf der Login Seite ein.
  • Alle sensiblen Benutzerinformationen werden mit einem RSA-Schlüsselpaar verschlüsselt.
  • Das Cookie läuft nach 30 Tagen ab.
  • Die Erneuerung erfolgt automatisch nach einer erfolgreichen “remember me” Authentifizierung und beinhaltet die Neuerstellung des RSA-Schlüsselpaares und des Cookies mit 30 Tagen Ablaufdatum.
  • Die Authentifizierung über das “remember me” Cookie löst unseren normalen Authentifizierungsprozess aus, d. h. die Anmeldung mit dem Benutzernamen und dem Kennwort und die Erstellung eines neuen Sitzungs-Cookies bei erfolgreicher Authentifizierung.
  • Das Cookie wird gelöscht, wenn die Authentifizierung fehlschlägt oder ein Logout ausgelöst wird.

Um die Geheimnisse des Benutzers sicher zu speichern, erzeugen wir auf der Serverseite ein RSA-Schlüsselpaar bei der Erstellung des “remember me” Cookies. Das Schlüsselpaar wird in unserer Web-Datenbank gespeichert. Der Inhalt des Cookies sieht wie folgt aus:

  • Öffentlicher Schlüssel
  • Benutzername und Kennwort, verschlüsselt mit dem öffentlichen Schlüssel

Damit ist der öffentliche Schlüssel unser gemeinsames Geheimnis. Bei der Authentifizierung über das “remember me” Cookie suchen wir den öffentlichen Schlüssel in unserer Datenbank, entschlüsseln die Geheimnisse mit dem privaten Schlüssel und lösen unsere normale Authentifizierung mit dem entschlüsselten Benutzernamen und Passwort aus.

Warum lösen wir die normale Authentifizierung aus?

Die normale Authentifizierung beinhaltet bereits die Überprüfung der Kombination aus Benutzernamen und Passwort. Auf diese Weise prüfen wir, ob der Benutzer existiert oder das Passwort geändert wurde.
Wenn das Cookie bereits existiert und der Benutzer die Seite besucht, entschlüsseln wir die Benutzergeheimnisse und versuchen, uns damit anzumelden. Das funktioniert genauso, als ob der Benutzer diese Informationen manuell eingegeben und auf Login geklickt hätte.

Du kannst die Entwicklung dieser Funktion auf Github verfolgen. Wenn Du einen anderen Vorschlag oder einen neuen Feature Vorschlag hast, den Du gerne sehen würdest, kannst Du gerne ein Issue auf Issue auf Github öffnen.

 

Sukhwinder Dhillon
Sukhwinder Dhillon
Developer

Sukhwinder ist seit Januar 2020 bei NETWAYS und macht bei uns seine Ausbildung als Fachinformatiker für Anwendungsentwicklung. In seiner Freizeit fährt er gerne Fahrrad, trifft sich mit Freunden, oder sitzt vorm Computer und lernt etwas Neues.

NETWAYS stellt sich vor – Sukhwinder Dhillon

This entry is part 27 of 34 in the series NETWAYS stellt sich vor


Name:
 Sukhwinder Dhillon
Alter: 23
Position bei NETWAYS: Junior Developer
Ausbildung: Fachinformatiker, Richtung Anwendungsentwicklung
Bei NETWAYS seit: Januar 2020

Wie bist du zu NETWAYS gekommen und was genau gehört zu Deinem Aufgabenbereich?
Ich habe meine Ausbildung in einem anderen Betrieb angefangen und habe mein Betrieb wechseln wollen. Da ich in der Berufsschule NETWAYS Azubis als Klassenkameraden habe und sehr viel Gutes über NETWAYS gehört hatte, habe ich mich im Dezember hier beworben.
Die Aufgabenbereiche sind vielfältig. Zurzeit habe ich das Entwickeln von neue Modulen und Features für Icinga Web zu meinem Aufgabenbereich gemacht. Inzwischen habe ich auch Schulungen und andere kleine Aufgaben.

Was macht Dir an Deiner Arbeit am meisten Spaß?
Jeden Tag etwas Neues zu lernen und somit meine Programmierkenntnisse zu erweitern, nette Kollegen helfen immer bei Problemen und es wird nie langweilig. Und Problemlösungen zu finden macht mir am meisten Spaß.

Welche größeren, besonders interessanten Projekte stehen künftig an?
Die nächsten Wochen entwickle ich das Support-Modul, füge neue Features hinzu und bin auf das Endergebnis sehr gespannt. Außerdem steht bald das jährliche Azubi-Projekt an, bei dem alle Azubis gemeinsam ein Projekt ihrer Wahl umsetzen und präsentieren.

Was machst Du, wenn Du mal nicht bei NETWAYS bist?
Ich fahre gerne Fahrrad und mache manchmal Fahrradtouren. Spiele gerne Volleyball, treffe mich mit Freunden und fahre mit Freunden in den Urlaub. In meiner Freizeit, wenn ich nichts anderes mache, lerne ich Programmieren und arbeite an meinem Blog.

Wie geht es in Zukunft bei Dir weiter?
Nachdem ich die Ausbildung erfolgreich abgeschlossen habe, würde ich gerne bei NETWAYS bleiben und die Icinga Entwicklung unterstützen.

Sukhwinder Dhillon
Sukhwinder Dhillon
Developer

Sukhwinder ist seit Januar 2020 bei NETWAYS und macht bei uns seine Ausbildung als Fachinformatiker für Anwendungsentwicklung. In seiner Freizeit fährt er gerne Fahrrad, trifft sich mit Freunden, oder sitzt vorm Computer und lernt etwas Neues.

Trainings

Web Services

Events