From 658efae7b6c919f3a712dd7913a62527c938bf8a Mon Sep 17 00:00:00 2001 From: Goller Date: Wed, 7 Dec 2022 10:29:23 +0100 Subject: [PATCH] =?UTF-8?q?Push=20mit=20=C3=84nderungen=20der=20Syntax.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Lerntagebuch.md | 89 ++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 74 insertions(+), 15 deletions(-) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 525e920..ed8f365 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -2,15 +2,15 @@ #### Lernziel -- Lernziel : +### Lernziel : Mehr über Programmierer erfahren und neue Informationen gewinnen aus der Vorlesung. Erste Erfahrungen mit Visual Studio machen. -- Erkenntnis : +### Erkenntnis : Was unterscheidet einen Laien von einem Profi? Ein Laie macht etwas versehentlich. Ein Profi macht es mit absícht. Ein Profi hat genug Fachwissen, Werkzeuge und einen Ablauf (Prinzipien) und weiß wie er verschiedene Probleme lösen kann.. -- Wiederholung: +### Wiederholung: Den Code mehrmals überprüfen damit keine fehler entstehen. Risikofreudig sein und einfach ausprobieren Künsteler = Erschaffen Emotionen @@ -22,39 +22,39 @@ Ein Profie hat genug Fachwissen, werkzeugen und einen Ablauf(Prinzipien) und wei ### Datum: 02.11.2022 -Lernziel: +### Lernziel: Kennenlernen verschiedener Programmiersprachen und deren Ausrichtung. Prinzipien der Programmierung und deren Definition kennengelernt. -Erkenntnis: +### Erkenntnis: Anwendung der do´s und don`ts der Prinzipien SOLID & STUPID. Weitere Prinzipien sind KISS, FCoH oder SLA. -Wiederholung: +### Wiederholung: Imperative Programmierung = ein Programmierparadigma, nach dem "ein Programm aus einer Folge von Anweisungen besteht, die vorgeben, in welcher Reihenfolge was vom Computer getan werden soll. Objektorientierte Programmierung = Bezieht sich auf eine Technik oder Programmiersprache, welche Objekte, Klassen und Vererbun unterstützt. -Kritik: +### Kritik: Sie gehen davon aus, dass jeder Programmiererfahrung hat. Dies ist aber nicht der Fall. Wenn Sie in Zukunft etwas "leichter" bzw ohne Vorraussetzung von extremen Vorwissen die Vorleseungen halten, würden sich viele sehr darüber freuen. # Mein Lerntagebuch für Programmiermethoden und -werkzeuge ### Datum: 09.11.2022 -Lernziel: +### Lernziel: Entwurfsmuster oder design patterns sind bewährte Lösungsschablonen für wiederkehrende Entwurfsprobleme. Erzeugungsmuster vs Strukturmuster vs Verhaltensmuster -Erkenntnis: +### Erkenntnis: Der Architekt bzw das Team erstellt den Grobentwurf (Makro-Design) auf Modulebene, wohingegen der Programmierer auf der Klassenebene die Beziehungen der Codebestandteile zu einander regelt (Mikro-Design) -Wiederholung: +### Wiederholung: Erbauer (builder) trennt den Aufbau komplexer Objekte von ihrer konkreten Instanziierung. Adapter adaptiert eine Schnittstelle für eine Klasse in eine andere, die der Client erwartet Accumulator ist ein Data Building Muster. -Kritik: +### Kritik: Was zu Ihrer Vorlesung gut passen würde, sind praktische Beispiele. Also mal "Code" mitgebracht und an diesem Erklärt warum wir uns damit beschäftigen. @@ -62,19 +62,78 @@ Was zu Ihrer Vorlesung gut passen würde, sind praktische Beispiele. Also mal "C ### Datum: 16.11.2022 -Lernziel: +### Lernziel: Source Code Management (SCM); Branching-master vs Branching-develop vs Branching-release vs Branching-hotfix vs Branching-feature. Jeder Branch ist ein bestimmter Ablauf einer Kette, die zum Endprodukt führt. -Erkenntnis: +### Erkenntnis: Die commits klein halten und vorallem "sauber". centralized vs distributed bei SCM -Wiederholung: +### Wiederholung: Erst commiten, wenn das komplette Projekt kompiliert und alle Tests positiv durchgelaufen sind. rebase sollte man nehmen, wenn man weiter an einem Feture arbeitet, aber dieses noch nicht in andere Bereiche gebrancht ist. merge sollte man nehmen, wenn der aktuelle branch develop oder master ist. -Kritik: +### Kritik: xxxxx + +# Mein Lerntagebuch für Programmiermethoden und -werkzeuge + +### Datum: 23.11.2022 + +### Lernziel: +Warum automatisierte Tests gut sind, wobei jedoch ihre Grenzen liegen. +Die Semantische Versionierung wird in vier Unterüberschriften gegliedert: Major, Minor, Patch und Label. +Unter dem Build Prozess versteht man, dass übersetzten, Abhänigkeiten organisieren, automatisierte Tests ausführen, Liefer-Artefakte erzeugen und das Deploayment. + +### Erkenntnis: +Der Softwareentwicklungsprozess kann ich verschiedene Bereiche gegliedert werden: Bestandteile, Abhänigkeitenverwaltung, Semantische Versionierung, Source Code Managment System (SCM), build - Prozess, Integration; + +### Wiederholung: +Ein SCM sichert die Arbeit der Entwickler. Ermöglicht die zentrale Verfügbarkeit, die zusammenführung parallel geänderter Dateien, sowie Zugriff auf dedizierte Stände (realeases) + +### Kritik: +xxxxx + +# Mein Lerntagebuch für Programmiermethoden und -werkzeuge + +### Datum: 30.11.2022 + +### Lernziel: +Projektmanagment - Teamfähigkeit sehr wichtig - Auftraggeber bestimmt die Rahmenbedingungen +verschiedene "Teilnehmer" wie zB Scrum Master, der aber nur ein "Erfüllungsgehilfe" ist und nicht der "Boss" +Wasserfallmodel wird meist im Maschinenbau umgesetzt | V-Modell | Agiles Modell wird meist in der Programmierung eingesetzt +Kanban -> Teilaufgaben definieren/Backlog/Workflow-Darstellung +Burn-Down-Chart -> zeigt Projektfortschritt über die Zeit +Scrum -> Mitarbeit unter einader zu organisieren / regelmäßige Meetings zB Planning, Daily, Review + +### Erkenntnis: +Zum Projektmanagment gehören: Organisationsprojekte, IT-Projekte, Einarbeitung/Qualifikation von Mitarbeitern und zB Kundenaufträge. +Es gibt verschiedene Rollen im Projektmanagement: Auftraggeber; Projektmitarbeiter; Projektleiter und Betroffene (Stakeholder). + +### Wiederholung: +Ein Projekt muss in folgende Punkte gegliedert und organisiert sein: Start und Endzeitpunkt; komplexe Handlungsabläufe; dedizierte Ressourcen (personell, materiell); fachübergreifend; risikiobehaftet; eigenen Organisationsform notwendig; + +### Kritik: +xxxxx + + +# Mein Lerntagebuch für Programmiermethoden und -werkzeuge + +### Datum: 07.12.2022 + +### Lernziel: +Testen ist ein wichtiger Aspekt für die Programmierung. Punkte wie Qualitätssicherung, Testmanagment und Testumgebung sind dabei entscheidend. Fehlerarten: Akuter, Latenter, maskierter Fehler, kaskadierter Fehler; + +### Erkenntnis: +Das Fehlerauftreten kann man gliedern in Akuter und Latenter Fehler. +Ein Akuter Fehler ist: bei normaler Programmausführung oder ein Direkter Verstoß gegen die Anforderung. +Ein Latenter Fehler ist: Wenn Daten nicht wie erwartet sind, wird üblicher Weise durch Anwender aufgedeckt. + +### Wiederholung: +Unter Testmanagement fällt: Konzeptionierung, Planung, Schätzung, Überwachung, Berichterstattung, Steuerung und der Abschluss von Testaktivitäten. Unter "prüfen" versteht man die nach DIN 1319 das Feststellen, inwieweit ein Prüfobjekt eine Forderung erfüllt. + +### Kritik: +xxxxx \ No newline at end of file