Dein System: Das unbekannte Wesen?

Artikel als PDF herunterladen:
Download Dein System: Das unbekannte Wesen

Wir haben täglich mit über Jahre gewachsenen Softwaresystemen zu tun, welche so komplex und undurchdringlich sind, dass sie die Bezeichnung „Unbekanntes Wesen“ verdienen, das Stichwort ist hier oft Monolith. Das Hauptproblem: ein Großteil unserer Arbeitszeit fließt in das reine Verstehen solcher Monster, ohne dass wir produktiv etwas an der Anwendung ändern. Klar, es ist an der Zeit der Refaktorisierung, also wieder Struktur in das System zu bringen. Was sich so einfach anhört, birgt aber viele Gefahren. Diese sind zum einen technischer Natur: Wie soll die Zielstruktur aussehen? Stimmt meine gedachte Architektur mit der realen überein? Welche Komponenten gibt es und wie sollen sich die einzelnen Klassen diesen zuordnen? Welche Auswirkungen hat das Herauslösen von einer identifizierten Komponente? Aber auch wirtschaftliche Aspekte sind wichtig zu betrachten: Wie weise ich nach, dass eine Refaktorisierung für die zukünftige Arbeit wirtschaftliche Vorteile bringt? Wie kann der Aufwand und damit die Kosten möglichst geringgehalten werden? Was kann ich tun, um weiterhin lieferfähig zu bleiben? Beide Listen lassen sich vermutlich endlos weiterführen. Deswegen soll dieser Artikel einen Weg aufzeigen, wie mit dem SAR-Framework, einem Tool im jQAssistant-Universum, die bestehenden Strukturen analysiert und die Ergebnisse zur Beantwortung zahlreicher Fragen genutzt werden können.

weiterlesen

Optimieren durch Selektion –
Die Evolution im Algorithmus Teil 1

Bei der Lösung von Problemen lässt sich die Informatik häufig von anderen Wissenschaften inspirieren. Man denke nur an Neu­ronale Netze und die Möglichkeiten, die sich mit diesen eröff­nen. Doch während diese aufwendig angelernt werden müssen, bietet Darwin mit seiner Evolutionstheorie eine interessante und leicht umsetzbare Lösung für eine Vielzahl von Optimie­rungsproblemen. Wie man sich das Ganze vorstellen kann, soll diese Kolumne näher beleuchten.

Jeder ist sicher schon einmal auf Optimierungsprobleme gestoßen und hat überlegt, wie man diese algorithmisch lösen könnte. Ein Beispiel hierfür ist Ressourcenplanung. Dabei sollen Tasks in zeitlicher Begrenzung eine Menge von Ressourcen zugewiesen werden, um diese unter Beachtung verschiedener Gesichtspunkte, beispielsweise den entstehenden Kosten oder der benötigten Zeit, abzuarbeiten. Dies ist ganz klar ein Optimierungsproblem. Doch sind ausgefeilte, hochgradig spezialisierte Algorithmen oder Brute-Force die einzige Möglichkeit zur Lösung solch komplexer Optimierungsprobleme?

Dieser Artikel ist im Magazin JavaSPEKTRUM Ausgabe 01/2018 erschienen. Lesen Sie den vollständigen Artikel im Magazin oder hier:
Download Optimieren durch Selektion – Die Evolution im Algorithmus Teil 1 (PDF, 1 MB)

Der Artikel stellt den ersten von zwei Teilen zum Thema „Die Evolution im Algorithmus“ dar. Der zweite Teil wird sich mit multikriterieller Optimierung und automatisierter Architekturerkennung durch genetische Algorithmen beschäftigen. Er erscheint voraussichtlich im Magazin JavaSPEKTRUM Ausgabe 02/2018 (Erscheinungstermin: 23. März 2018).

Vielen Dank an JavaSPEKTRUM für die Bereitstellung des Artikels als PDF.

Besinnliche Weihnachten.

Weihnachten steht vor der Tür. Zeit, sich zu besinnen und das Jahr Revue passieren zu lassen:

buschmais erinnert sich an interessante Konferenzen, die wir als Referent, Sponsor oder Teilnehmer besucht haben: das JavaLand in Brühl, das 1. JUG Saxony Camp in Leipzig, die DEVOXX UK in London und zu guter Letzt den JUG Saxony Day in Radebeul.

Außerdem haben unsere Kollegen wieder spannende Artikel geschrieben, die wir in unserem Kundenmagazin, in unserem Blog oder auf anderen Portalen veröffentlicht haben: Dirk Mahler über „Architekturmanagement mit jQAssistant und Asciidoc“ und über „Automatisierte Codeanalyse mit jQAssistant“ (Interview bei heise.de), Michael Ruttka über „Clean(er) Code mit ECMAScript 6“ und Peter Herklotz über „CSS statt LESS und SASS“.

Ein gelungener Abschluss für 2017 war für uns ganz klar wieder die JUG Saxony Weihnachtsveranstaltung, die wir bereits zum neunten Mal in Folge thematisch schmücken durften. Frank und Tobias zeigten über 50 Teilnehmern, wie mobile Anwendungen mit Angular und Ionic erstellt werden. Als kleines Schmankerl gab es JUG Saxony M&Ms für alle. Die Weihnachtsveranstaltung fand am 14. Dezember 2017 in der Fakultät Informatik der TU Dresden statt. Slides und Fotos findet ihr am Ende dieses Beitrages.

Wir bedanken uns bei allen Teilnehmern, bei der JUG Saxony und bei der Fakultät für Informatik der TU Dresden für den schönen Vortragsabend.

Wir möchten uns auf diesem Wege herzlich bei unseren Kunden, Geschäftpartnern, Kollegen, Freunden und Familien für ein angenehmes und gelungenes Jahr bedanken und wünschen allen ein besinnliches Weihnachtsfest und ein gesundes und erfolgreiches neues Jahr.

In diesem Jahr unterstützen wir den MediClowns Dresden e.V. und die Integrationswerkstätten Niederlausitz in Senftenberg mit einer Spende.

Fotos zum JUG Saxony Weihnachtstreffen:

Slides „Mobile Anwendungen mit Angular und Ionic“
Download Mobile Anwendungen mit Angular und Ionic

Architekturmanagement mit jQAssistant und Asciidoc

Artikel als PDF herunterladen:
Download Architekturmanagement mit jQAssistant und Asciidoc

Welchen Nutzen hat eine aufwändig zu pflegende Architekturdokumentation, wenn deren Inhalt sich weit vom realen Geschehen im Code entfernt hat? Keinen, aber in der Realität ist dieser Zustand sehr oft anzutreffen. Im Folgenden soll an einem realen Beispiel ein leichtgewichtiger Ansatz beschrieben werden, der relevante Informationen direkt im Quellcode vorhält und nach Wunsch in jedem Build die Ist-Architektur mit dem gewünschten Soll-Zustand abgleicht.

weiterlesen

Clean(er) Code mit ECMAScript 6

Artikel als PDF herunterladen:
Download Clean(er) Code mit ECMAScript 6

JavaScript ist nicht gerade für seine übersichtlichen Quellcodes bekannt. ECMAScript 6 versucht mit dieser Tatsache aufzuräumen. In diesem Artikel stelle ich einige der neuen Features auf den Prüfstand und versuche herauszufinden, wie man heutige JavaScript-Projekte übersichtlicher und damit einfacher lesbar gestalten kann.

Der Kern von JavaScript wurde innerhalb von drei Tagen entwickelt und war ursprünglich nur dazu gedacht, etwas Dynamik in die bis dahin statischen HTML-Seiten zu bringen. Heute erfreut sich JavaScript einer immer stärker werdenden Beliebtheit und wird zur Umsetzung ganzer Anwendungen eingesetzt. Damit ist klar, dass sich die Anforderungen an die Sprache seit ihrer Schaffung drastisch geändert haben. Komplexere Anwendungen und größere Teams erfordern eine gute Organisation und Lesbarkeit des Quellcodes. Eine Eigenschaft, für die JavaScript heute nicht gerade bekannt ist.

ECMAScript 2015 ist die inzwischen sechste Spezifikation für JavaScript. Sie bringt Neuerungen, die bei der Erfüllung dieser Anforderungen helfen können. Nachfolgend stelle ich die meiner Meinung nach wichtigsten Neuerungen in ECMAScript 6 vor und zeige, wie diese den bisherigen Code (basierend auf ECMAScript 5) verbessern können.

weiterlesen

 1 2 3 Vor