‏ ‏ ‎ ‏ ‏ ‎

1. 2024-10-01

1.1. Test-Driven-Development (TDD)

tdd

2. 2024-10-08

2.1. Maven

  • Motivation (Wieso maven)

    • Früher gab es für jede IDE ein eigenes Projektformat (ant). Es war nicht möglich zB ein Netbeans Projekt in Eclipse zu öffnen.

  • Was ist maven?

    • maven ist ein Package Manager

    • ein weiterer package manager ist gradle

  • Vorteile von maven

    • maven hat eine einheitliche Struktur der Projektstruktur (Dateien und Verzeichnisse)

    • Die Libraries (Abhängigkeiten) werden automatisch heruntergeladen.

      • Die Libraries werden optimiert gespeichert, dh nicht in jedem Projekt, sondern im Home-Verzeichnis

    • maven hat noch viel mehr Funktionalitäten …​

3. Erstellen von Webseiten und Slides mit Asciidoctor

  1. Erstellen eines Repos vom Asciidoctor-Template

  2. Clonen des Repos

  3. Committen und pushen der Änderungen

  4. Aktivieren der gh-pages in den Settings

enable gh pages

  1. Aktiviere Link zu Website

link to gh pages

3.3. Doku

4. 2024-10-22 - Docker

  • Virtualisierung bezeichnet in der Informatik die Nachbildung eines Hard- oder Software-Objekts durch ein ähnliches Objekt vom selben Typ mit Hilfe einer Abstraktionsschicht. Dadurch lassen sich virtuelle (d. h. nicht-physische) Geräte oder Dienste wie emulierte Hardware, Betriebssysteme, Datenspeicher oder Netzwerkressourcen erzeugen. Dies erlaubt es etwa, Computer-Ressourcen (insbesondere im Server-Bereich) transparent zusammenzufassen oder aufzuteilen, oder ein Betriebssystem innerhalb eines anderen auszuführen. Dadurch können u. a. mehrere Betriebssysteme auf einem physischen Server oder „Host“ ausgeführt werden.

5. 2024-11-05

5.1. Projektziele (Buch)

magisches dreieck
projektziele

5.2. Projektteams

projekte

5.3. Projektauftrag

5.4. Pflichtenheft

v modell

5.4.1. Ausgangssituation

5.4.2. Istzustand

5.4.3. Problemstellung

5.4.4. Ziele

5.4.5. Anforderungen (Soll-Zustand)

5.4.5.1. Funktionale Anforderungen (FA)
5.4.5.2. Nichtfunktionale Anforderungen (NFA)

5.4.6. Mengengerüst

nichtfunktionale anforderungen

6. 2024-12-10

6.1. Datenbanken

  • noSQL

  • Relationale Datenbanken

6.1.1. kommerzielle Produkte

  • Oracle

  • Microsoft SQL Server

6.1.2. Open Source

  • lokal lauffähig ohne Installation

    • SQLite

    • H2

    • Derby DB

  • größere Installationen

    • MySQL

    • MariaDB

    • PostgreSQL

7. 2025-01-08

7.1. UML-Klassendiagramm

7.1.1. Plugins für Intellij

plugin asciidoctor
plugin plantuml
  • Bitte graphviz installieren

    • mit brew

    • apt: sudo apt install graphviz

7.1.2. plantuml-webite

7.1.3. plantuml im code zeichnen

cld
Person hansi = new Person("hansi");
hansi.setFirma(new Firma("IBM"));

System.out.printLine(hansi.getFirma().getName());
// IBM
uml complete incomplete
uml disjoint overlapping

7.1.4. Beziehungen CLD

  • Vererbung

  • Assoziation (benutzt)

  • Aggregation (Ganzes-Teile-Beziehung, zerstörungsfrei)

    • zB Auto - Autoreifen

  • Komposition (Ganzes-Teile-Beziehung, zerstörend)

    • zB Haus - Etage, Buch - Kapitel

uml beziehungen notation

Extension → Vererbung

Im Code gibt es zwischen Assoziation, Aggregation und Komposition keinen Unterschied

7.2. Asciidoctor - Wiederholung

  • Callout

  • Admonition

  • Präambel (preamble)

    • toc

    • Verzeichnis für images usw

  • Table

  • Einfügen von Code

  • numbered and unnumbered Lists

8. 2025-01-21

8.1. Unterschied CLD und OD

cld od
od cld

9. 2025-01-28

9.1. Asciidoctor

9.1.1. Admonitions

  • Voraussetzung :icons: font in Präambel

Das ist wichtig
  • Admonition mit Block

Feeding the Werewolves

While werewolves are hardy community members, keep in mind the following dietary concerns:

  1. They are allergic to cinnamon.

  2. More than two glasses of orange juice in 24 hours makes them howl in harmony with alarms and sirens.

  3. Celery makes them sad.

9.1.2. Callouts

public class MyStack {

    boolean isEmpty() { (1)
        return true; (2)
    }

}
1 Kommentar 1
2 Kommentar 2
Unresolved directive in index.adoc - include::../../labs/tdd/src/main/java/at/htl/MyStack.java[tags=stack]
1 Auch das ist ein Kommentar

9.2. Git Architecture

10. 2025-02-04

  • Conventional Commits

  • Aufgabe:

    • User Stories erstellen

    • Asciidoc-Präsentation für gh-pages erstellen

  • Benennung von Files:

    • Jedes Gespräch ist mittels Ergebnisprotokoll zu dokumentieren (vgl. minutes-of-meetings.adoc)

    • Bezeichnung: yyyy-mm-dd-topic.adoc

11. 2025-02-11

11.1. Aktivitätsdiagramme

12. 2025-03-11

13. GUI Gestaltung

14. 2025-03-25

14.1. git

14.1.1. Branching

14.1.2. Stashing

14.1.3. Cherry-Picking

15. 2025-04-08

cloud
Erstellen eines Quarkus-Projekts
mvn io.quarkus.platform:quarkus-maven-plugin:3.21.1:create \
    -DprojectGroupId=at.htl \
    -DprojectArtifactId=webserver \
    -Dextensions='rest'