Skip to content

Commit 396762f

Browse files
committed
Some corrections and small additions
1 parent 1a33a0b commit 396762f

File tree

15 files changed

+118
-32
lines changed

15 files changed

+118
-32
lines changed

docs/cfg/glossary.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<term name="API">Eine API (Application Programming Interface) ist eine Schnittstelle, die es Softwareanwendungen ermöglicht, miteinander zu kommunizieren. APIs legen fest, wie verschiedene Softwarekomponenten miteinander interagieren sollen, indem sie eine Reihe von Funktionen, Methoden oder Endpunkten bereitstellen, die von einer Anwendung genutzt werden können, um auf bestimmte Funktionen einer anderen Anwendung zuzugreifen.</term>
55
<term name="Bit">Ein Bit (engl. Abkürzung für binary digit) ist die Bezeichnung für eine Binärziffer, welche als Maßeinheit für eine Datenmenge dient. Dabei ist ein Bit die kleinste darstellbare Datenmenge. Ein Bit kann nur den Zuständen 0 oder 1 entsprechen.</term>
66
<term name="Boilerplate-Code">Boilerplate-Code bezeichnet den sich wiederholenden, standardisierten Code, der oft notwendig ist, um eine bestimmte Funktionalität zu implementieren, aber keinen unmittelbaren Mehrwert für die spezifische Logik der Anwendung bietet. Dieser Code ist oft repetitiv und kann die Lesbarkeit und Wartbarkeit des Programms beeinträchtigen.</term>
7+
<term name="Bytecode">Ein Bytecode ist eine Art Programmcode, der von einer höheren Programmiersprache in einen maschinenlesbaren Code kompiliert wurde. Dieser wird nicht von der zugrundeliegenden Hardware, sondern durch eine VM (virtuelle Maschine) ausgeführt.</term>
78
<term name="Cache">Ein Cache ist ein spezieller Speicherbereich, der dazu dient, häufig verwendete Daten oder Berechnungen zu speichern, um schnelleren Zugriff darauf zu ermöglichen.</term>
89
<term name="CamelCase-Notation">Die CamelCase-Notation bezeichnet eine Schreibweise, wobei der Anfangsbuchstabe mit einem Kleinbuchstaben und jedes weitere Wort mit einem Großbuchstaben geschrieben wird.</term>
910
<term name="CLI">Ein Command-Line Interface (CLI) ist eine Benutzerschnittstelle, bei der der Nutzer durch direkte Eingaben von Textbefehlen mit einer Konsole oder einem Terminal interagiert.</term>
@@ -13,6 +14,8 @@
1314
<term name="IDE">Eine Integrated Development Environment (IDE) stellt eine Reihe von Programmierwerkzeugen wie einen Compiler oder Debugger zur Verfügung. Diese erleichtern deutlich das Schreiben und Entwickeln von Software.</term>
1415
<term name="IEEE-754">Die Norm IEEE 754 definiert Standarddarstellungen für binäre und dezimale Fließkommazahlen in Computern und legt genaue Verfahren für die Durchführung mathematischer Operationen, insbesondere für Rundungen, fest.</term>
1516
<term name="Java-Heap">Der Java-Heap ist ein Speicherbereich der für die dynamische Allokation von Speicherplatz während der Laufzeit reserviert ist. Der Heap wird verwendet, um Daten zuzuweisen, die während der Programmausführung dynamisch erstellt werden.</term>
17+
<term name="Java-Stack">Der Java-Stack ist ein Speicherbereich, der von der JVM verwendet wird, um die Ausführung von Java-Methoden zu verwalten. Jeder Thread, der in einer Java-Anwendung erstellt wird, hat seinen eigenen Java-Stack.</term>
18+
<term name="JIT">Just-In-Time (JIT) bezieht sich auf eine Art von Compiler, der verwendet wird, um Programmcode während der Laufzeit eines Programms zu kompilieren. In Programmiersprachen, wie Java oder .NET-Sprachen die Bytecode verwenden, wird JIT-Kompilierung verwendet, um Bytecode in nativen Maschinencode zu übersetzen, der direkt von der zugrunde liegenden Hardware ausgeführt werden kann.</term>
1619
<term name="JDK">Das Java Development Kit (JDK) ist ein Softwarepaket, welches eine Vielzahl von Werkzeugen und Dienstprogrammen enthält, die das Entwickeln, das Paketieren, das Überwachen und das Bereitstellen von Anwendungen ermöglicht. Die JRE ist Bestandteil des JDK.</term>
1720
<term name="JNI">Das Java Native Interface (JNI) ist eine Schnittstelle, die es dem Java-Code ermöglicht, nativen Code zu verwenden und mit ihm zu interagieren. Es fungiert als Bindeglied zwischen dem Java-Code, der in der JVM läuft und nativem Code, der in Sprachen wie C oder C++ geschrieben wurde.</term>
1821
<term name="JRE">Die Java Runtime Environment (JRE) ist eine Softwareschicht, die auf der Betriebssystemsoftware eines Computers ausgeführt wird und die Klassenbibliotheken, sowieso andere Ressourcen bereitstellt, die ein Java-Programm zur Ausführung benötigt. Die JVM ist Bestandteil der JRE.</term>
@@ -21,6 +24,7 @@
2124
<term name="Orthogonality">Orthogonalität ist ein Begriff, der ursprünglich aus der Geometrie stammt und „Rechtwinkligkeit“ bedeutet. Zwei Vektoren sind orthogonal zueinander, wenn sie einen Winkel von 90° bilden. Orthogonalität wird aber auch in anderen Bereichen verwendet, wie z. B. in der Statistik, Informatik und Signalverarbeitung. Hier beschreibt Orthogonalität im Allgemeinen Unabhängigkeit oder Nicht-Korrelation.</term>
2225
<term name="PascalCase-Notation">Die PascalCase-Notation bezeichnet eine Schreibweise, wobei der Anfangsbuchstabe mit einem Großbuchstaben und jedes weitere Wort ebenfalls mit einem Großbuchstaben geschrieben wird.</term>
2326
<term name="Serialization">Unter Serialisierung wird das Konvertieren des Zustands eines Objekts in eine Form verstanden, die erhalten oder transportiert werden kann. Das Gegenstück zur Serialisierung ist die Deserialisierung, die einen Stream in ein Objekt konvertiert.</term>
27+
<term name="SOLID">Das SOLID-Prinzip bezieht sich auf eine Reihe von (5) Designprinzipien, bestehend aus dem Single Responsibility Principle (SRP), Open/Closed Principle (OCP), Liskov Substitution Principle (LSP), Interface Segregation Principle (ISP) und dem Dependency Inversion Principle (DIP). Sie werden in der objektorientierten Programmierung angewendet.</term>
2428
<term name="String-Pool">Der String-Pool stellt sicher, dass identische Zeichenketten im Speicher nur einmal existieren.</term>
2529
<term name="Top-Level-Class">Top-Level-Klassen sind Klassen, die direkt innerhalb einer Datei definiert werden und nicht innerhalb einer anderen Klasse verschachtelt sind.</term>
2630
<term name="Utility-Class">Eine Utility-Klasse ist eine Hilfsklasse, die eine Sammlung von statischen Methoden und/oder Konstanten bietet, die allgemein nützliche Funktionen bereitstellt.</term>

docs/ta.tree

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@
4646
<toc-element topic="java-multithreading.md"/>
4747
</toc-element>
4848

49-
<toc-element topic="00-mathematics.md">
50-
<toc-element topic="vectors.md"/>
51-
<toc-element topic="matrices.md"/>
49+
<toc-element topic="00-math.md">
50+
<toc-element topic="math-vectors.md"/>
51+
<toc-element topic="math-matrices.md"/>
5252
</toc-element>
5353
</instance-profile>

docs/topics/HTML/00-html.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,24 @@ Auf Basis von SGML sind in HTML bestimmte <format color="%LinkColor%">[Elemente]
1919

2020
- <format color="%Highlight%">XHTML (Extensible Hypertext Markup Language)</format> ist eine Sprache, die eine strengere und standardisierte Form von HTML darstellt. Sie wurde entwickelt, um die Prinzipien von HTML mit den Regeln von XML zu kombinieren.
2121

22-
## Was ist die DTD? {id="what-is-the-tdt"}
22+
## Was ist die DTD? {id="what-is-the-dtd"}
2323

2424
Eine DTD (Document Type Definition) spielt für das Bilden des grundlegenden Sprachumfangs von HTML eine wichtige Rolle, da sie genau festlegt, welche <format color="%LinkColor%">[Elemente](01-html-tags-and-elements.md)</format> es in HTML gibt, welche <format color="%LinkColor%">[Attribute](02-html-attributes-and-values.md)</format> diesen zugeordnet sind und welche <format color="%LinkColor%">[Werte](02-html-attributes-and-values.md)</format> sie annehmen dürfen. Darüber hinaus beschreibt eine DTD präzise, welche Elemente an welchen Positionen innerhalb eines HTML-Dokuments verwendet werden können und welche nicht.
2525

26-
> DTDs sind jedoch für das grundlegende Verständnis von HTML nicht unmittelbar erforderlich. Möglicherweise wird es zu einem späteren Zeitpunkt einen separaten Abschnitt dazu geben.
26+
DTDs sind jedoch für das grundlegende Verständnis von HTML nicht unmittelbar erforderlich. Möglicherweise wird es zu einem späteren Zeitpunkt einen separaten Abschnitt dazu geben.
27+
28+
<note>
29+
<p>Während es für HTML 4 noch ein DTD-Schema gab, wird für HTML 5 keins mehr benötigt. HTML 5 hat stattdessen eine einfache Doctype-Deklaration, die sicherstellt, dass der Browser das Dokument im Standard-Modus rendert, ohne die Komplexität von DTDs.</p>
30+
<compare first-title="HTML 4.01" second-title="HTML 5">
31+
<code-block>
32+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
33+
</code-block>
34+
<code-block>
35+
<!DOCTYPE html>
36+
</code-block>
37+
</compare>
38+
</note>
2739

2840
## Was ist das DOM? {id="what-is-the-dom"}
41+
42+
Das DOM (Document Object Model) ist eine Programmierschnittstelle, die die Struktur eines HTML- oder XML-Dokuments in einer baumartigen Form darstellt. Es ermöglicht Programmen auf das Dokument zuzugreifen, dessen Struktur und Inhalt auszulesen und zu manipulieren.

docs/topics/Java/00-java.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ Als Alternative zum normalen Texteditor auf Windows, ist <format color="%LinkCol
9090
<p>IntelliJ ist für Windows, Linux und MacOS verfügbar. Seit Version 9.0 gibt es zwei verschiedene Editionen.</p>
9191
<ul>
9292
<li>
93-
<format color="%Highlight%">IntelliJ IDEA Ultimate</format> ist kostenpflichtig. Es ist jedoch möglich eine kostenlose Bildungslizenz für Schüler/Studenten und Lehrende/Professoren zu erhalten. Des Weiteren gibt es auch einen 30-tägigen-Trail.
93+
<format color="%Highlight%">IntelliJ IDEA Ultimate</format> ist kostenpflichtig. Es ist jedoch möglich eine <format color="%LinkColor%"><a href="https://www.jetbrains.com/community/education">kostenlose Bildungslizenz</a></format> für Schüler/Studenten und Lehrende/Professoren zu erhalten. Des Weiteren gibt es auch einen 30-tägigen-Trail.
9494
</li>
9595
<li>
9696
<format color="%Highlight%">IntelliJ IDEA Community Edition</format> ist kostenlos. Sie bietet zwar weniger Features, ist aber dennoch eine sehr empfehlenswerte Alternative.

docs/topics/Java/02-java-data-types.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ Primitive Datentypen werden auch einfache oder elementare Datentypen genannt. In
8181
<td><code>java.lang.Boolean</code></td>
8282
<td>
8383
<p>Abhängig von der <tooltip term="JVM"><format color="%GlossaryLinkColor%">JVM</format></tooltip>.</p>
84-
<p>Aufgrund der Speicherarchitekturen wird 8 Bit allokiert, auch wenn ein Boolean theoretisch nur 1 Bit repräsentiert.</p>
84+
<p>Aufgrund der Speicherarchitekturen wird 8 Bit allokiert, auch wenn ein Boolean praktisch nur 1 Bit repräsentiert.</p>
8585
</td>
8686
<td><code>true</code> oder <code>false</code></td>
8787
<td>Boolescher Wahrheitswert</td>

docs/topics/Java/03-java-variables.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ short ab = (short) (a + b);
151151
>Da zum Beispiel ein `byte` weniger Speicherplatz bietet als ein `short` und ein `short` im Vergleich zu `double` nur ganze Zahlen verarbeitet, kann es zu fehlerhaften Berechnungen kommen - mit anderen Worten: <format color="%WarningLinkColor%">Datenverlust</format>!
152152
> {style="warning" title="Achtung: Datenverlust!"}
153153
154-
> Auch die Konvertierung zwischen Referenztypen ist möglich. Dazu mehr in <format color="%LinkColor%">[Kapitel 14 – OOP](14-java-oop.md)</format>.
154+
> Auch die Konvertierung zwischen Referenztypen ist möglich. Dazu mehr in <format color="%LinkColor%">[Kapitel 14 – OOP: Das Keyword `instanceof`](14-java-oop.md#the-keyword-instanceof)</format>.
155155
156156
## Reservierter Typname – `var` {id="reserved-type-name-var"}
157157

@@ -229,7 +229,7 @@ Eine Ausnahme bildet hier die in Java 10 hinzugefügte Möglichkeit Variablen mi
229229

230230
> Stark typisierte Sprachen sind z.B. Java, C++, Python, Smalltalk, Haskell und Pascal.
231231
>
232-
> Schwach typisierte Sprachen sind z.B. C, JavaScript, PHP und Perl.
232+
> Schwach typisierte Sprachen sind z.B. C, JavaScript, Lua, PHP und Perl.
233233
234234
### Statische vs. dynamische Typisierung {id="static-vs-dynamic-typing"}
235235

@@ -242,11 +242,11 @@ Bei der <format color="%Highlight%">dynamischen Typisierung</format> findet dies
242242

243243
> Statisch typisierte Sprachen sind z.B. Java, C, C++, Haskell und Pascal.
244244
>
245-
> Dynamisch typisierte Sprachen sind z.B. Python, Smalltalk, PHP, JavaScript und Perl.
245+
> Dynamisch typisierte Sprachen sind z.B. Python, Smalltalk, Lua, PHP, JavaScript und Perl.
246246
247247
## Coding Conventions {id="coding-conventions"}
248248

249249
- Variablen sollten nach der <tooltip term="CamelCase-Notation"><format color="%GlossaryLinkColor%">CamelCase-Notation</format></tooltip> geschrieben werden.
250-
- Bei einer <format color="%LinkColor%">[Schleifenvariable](07-java-loops.md)</format> ist auch ein Buchstabe ausreichend.
250+
- Bei einer <format color="%LinkColor%">[Schleifenvariable](07-java-loops.md)</format> ist auch ein einziger Buchstabe ausreichend.
251251
- Variablen vom Typ `boolean`, sollten nach Möglichkeit mit `is` beginnen. Alternativ kann auch auf `has` zurückgegriffen werden.
252252
- <format color="%c5%"><a href="10-java-classes.md#constants">Konstanten</a></format> sollten nach der <tooltip term="Constants-Notation"><format color="%GlossaryLinkColor%">SCREAMING_SNAKE_CASE-Notation</format></tooltip> geschrieben werden.

docs/topics/Java/06-java-branches.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ Da hier eine UND-Verknüpfung besteht, muss sowohl die linke als auch die rechte
393393
</tr>
394394
</table>
395395

396-
> Etwas tiefgehendere Informationen über die <format color="%NoteHighlight%">Short-Circuit Evaluation</format>, die logischen Operatoren `&&` und `||` und den bitweisen Operatoren `&` und `|` könnt ihr in diesem interessanten Artikel "<format color="%NoteHighlight%">[Bitwise operators in Java: unpacking ambiguities](https://pvs-studio.com/en/blog/posts/java/1135/?ref=dailydev)</format>" finden.
396+
> Etwas tiefgehendere Informationen über die <format color="%NoteHighlight%">Short-Circuit Evaluation</format>, die logischen Operatoren `&&` und `||` und den bitweisen Operatoren `&` und `|` könnt ihr in diesem interessanten Artikel <format color="%NoteHighlight%">["Bitwise operators in Java: unpacking ambiguities"](https://pvs-studio.com/en/blog/posts/java/1135/?ref=dailydev)</format> finden.
397397
{style="note"}
398398

399399
## Assertions {id="assertions"}

docs/topics/Java/11-java-objects.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ Im Vergleich dazu bietet ein <tooltip term="GC"><format color="%GlossaryLinkColo
262262

263263
Wie wir am Beispiel unserer `Dog`-Klasse gesehen haben, können <format color="%LinkColor%">[Referenztypen](02-java-data-types.md)</format> auch andere Referenztypen als Eigenschaften besitzen. Der Umfang eines Objekts oder einer Klassenhierarchie kann dabei so flexibel wie die Anforderungen der jeweiligen Anwendung sein – von schlicht und einfach bis hin zu regelrechten Code-Monstern.
264264

265-
Stellen wir uns beispielsweise ein `Motor`-Objekt vor. Dieses könnte durchaus ein weiteres Objekt, sagen wir `Cylinder`, als Eigenschaft haben. Und weil sich Zylinder gerne in Gesellschaft von Schrauben befinden, könnte dieses `Cylinder`-Objekt wiederum ein <format color="%LinkColor%">[Array](08-java-arrays.md)</format> von `Screw[]`-Objekten beinhalten, um alles schön zusammenzuhalten.
265+
Stellen wir uns beispielsweise ein `Motor`-Objekt vor. Dieses könnte durchaus ein weiteres Objekt, sagen wir `Cylinder`, als Eigenschaft haben. Und weil sich Zylinder gerne in Gesellschaft von Schrauben befinden, könnte dieses `Cylinder`-Objekt wiederum ein <format color="%LinkColor%">[Array](08-java-arrays.md)</format> von `Screw`-Objekten beinhalten, um alles schön zusammenzuhalten.
266266

267267
Um einmal ganz kurz das Thema der <format color="%LinkColor%">[Vererbung](14-java-oop.md#inheritance)</format> vorwegzunehmen, könnte es in einem anderen Szenario notwendig sein, eine Anwendung zu entwickeln, die Lebewesen voneinander unterscheidet. Hier könnte man eine Klassenhierarchie aufbauen, in der `Animal` und `Human` von einer übergeordneten Klasse `Creature` erben, während `Dog` von `Animal` abstammt. In einer anderen, weniger komplexen Anwendung, die sich ausschließlich mit Menschen befasst, könnte man es einfach bei einer `Human`-Klasse belassen, ohne tiefer in die Stammesgeschichte abzutauchen.
268268

docs/topics/Mathematics/00-math.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# Mathematik
2+
<primary-label ref="mathematics"/>
3+
<secondary-label ref="wip"/>
4+
<secondary-label ref="beta"/>
5+
6+
Willkommen im faszinierenden Universum der Mathematik, wo Zahlen, Formeln und Konzepte auf den ersten Blick vielleicht abschreckend wirken, aber letztlich die Grundlage für alles bilden, was wir in der IT und darüber hinaus kennen. Ob in der Physik, Informatik oder im Alltag – Mathematik spielt in unserem Leben eine zentrale Rolle.
7+
8+
Mathematik ist weit mehr als nur Zahlen und Formeln. Sie ist ein systematischer Ansatz, um Muster zu erkennen, Beziehungen zu verstehen und logische Schlussfolgerungen zu ziehen. Von der Grundrechenart bis hin zu abstrakten Konzepten wie der Zahlentheorie: Mathematik ist ein mächtiges Werkzeug, das uns hilft, komplexe Sachverhalte zu modellieren und zu analysieren.
9+
10+
In diesem Abschnitt werden wir uns mit verschiedenen mathematischen Konzepten beschäftigen, die in der IT von Bedeutung sind. Egal, ob ihr gerade erst anfangt euch mit bestimmten Themen zu beschäftigen oder euer Wissen vertiefen möchtet – hier findet ihr Erklärungen und Beispiele, die euch dabei helfen, die Grundlagen zu festigen und fortgeschrittene Themen zu meistern.
11+
12+
## Mathematische Symbole
13+
14+
<table>
15+
<tr>
16+
<td>Symbol</td>
17+
<td>Bezeichnung</td>
18+
<td>Bedeutung</td>
19+
<td>Shortcut (Numpad)</td>
20+
</tr>
21+
<tr>
22+
<td>
23+
<code-block lang="tex">
24+
\neg
25+
</code-block>
26+
</td>
27+
<td>Negation</td>
28+
<td>Verneinung</td>
29+
<td><code>Alt + 170</code></td>
30+
</tr>
31+
<tr>
32+
<td>
33+
<code-block lang="tex">
34+
\wedge
35+
</code-block>
36+
</td>
37+
<td>Logisches Und</td>
38+
<td>und</td>
39+
<td><code>Alt + 8743</code></td>
40+
</tr>
41+
<tr>
42+
<td>
43+
<code-block lang="tex">
44+
\vee
45+
</code-block>
46+
</td>
47+
<td>Logisches Oder</td>
48+
<td>oder</td>
49+
<td><code>Alt + 8744</code></td>
50+
</tr>
51+
<tr>
52+
<td>
53+
<code-block lang="tex">
54+
\rightarrow
55+
</code-block>
56+
</td>
57+
<td>impliziert</td>
58+
<td>wenn... dann...</td>
59+
<td><code>Alt + 8594</code></td>
60+
</tr>
61+
<tr>
62+
<td>
63+
<code-block lang="tex">
64+
\leftrightarrow
65+
</code-block>
66+
</td>
67+
<td>äquivalent</td>
68+
<td>gleich</td>
69+
<td><code>Alt + 8596</code></td>
70+
</tr>
71+
</table>

docs/topics/Mathematics/00-mathematics.md

Lines changed: 0 additions & 10 deletions
This file was deleted.

0 commit comments

Comments
 (0)