Posts

Es werden Posts vom Dezember, 2021 angezeigt.

Bedrohungslage Rot: Ist meine Anwendung von der kritischen log4j Schwachstelle betroffen?

Bild
Das Bundesamt für Sicherheit in der Informationstechnik hat wegen einer Schwachstelle im stark verbreiteten Java Logging-Framework log4j die IT-Bedrohungslage 4 / Rot ausgerufen. Daher schreibe ich aus aktuellem Anlass diesen Artikel, um euch eine Hilfestellung bei der Analyse zu geben. Seit dem 12.12.2021 geht dieser Alarm durch die Presse, hier Meldungen: https://www.heise.de/ratgeber/Schutz-vor-schwerwiegender-Log4j-Luecke-was-jetzt-hilft-und-was-nicht https://www.spiegel.de/netzwelt/web/log4-j-schwachstelle-ja-leute-die-scheisse-brennt-lichterloh https://www.bsi.bund.de/DE/Service-Navi/Presse/Alle-Meldungen-News/Meldungen/Schwachstelle_Log4j Wie prüfen, ob mein System betroffen ist? Um herauszufinden, ob ihr betroffen seid, durchsucht ihr die Dependencies bzw. verwendeten Bibliotheken in euer Software. Dabei prüft ihr, ob ihr generell log4j verwendet und wenn ja in welcher Version. Laut BSI sind die Versionen 2.0 bis 2.14.1 von log4j betroffen. Die ältere Version 1.x ist nicht betr

Clean Code Regeln zum Loslegen

Bild
In diesem Artikel stelle ich euch einige von mir ausgewählte Clean Code Richtlinien und Regeln vor. Sie sollen euch dabei helfen künftig leichter verständlichen und besser wartbaren Code zu schreiben, damit ihr euren KollegInnen das Entwickler-Leben angenehmer macht. Im Code zum Artikel wird das Spiel  Minesweeper  implementiert - ihr findet den Code in GitHub: https://github.com/elmar-brauch/minesweeper.git Und ein passendes Online Training bei Udemy . Namen mit Bedeutung Regel: Verwende Namen, welche die Absicht der Variable, Methode oder Klasse verraten. Im folgenden Code-Ausschnitt habe ich Kommentare ergänzt, um auf schlechte oder zumindest suboptimale Variablennamen hinzuweisen: public class MineField {      // Not optimal names: cells, field, listOfListOfCells, ...      private List<List<Cell>> fieldRows = new ArrayList<>();      ...      // Bad names: x, y, r, c      public MineField(int rows, int columns) {      ...      public void placeMineRandomly(int min