Compare commits
11 Commits
2bfede6112
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 27ef0a0ba7 | |||
| 6e124dfb67 | |||
| d900fa258d | |||
| 1f21067f75 | |||
| 0306fabb91 | |||
| a52d5ab983 | |||
| 25fc5690fe | |||
| f88a170d86 | |||
| 71678fafa3 | |||
| 898d7eacce | |||
| deb8173bde |
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
::: columns
|
::: columns
|
||||||
|
|
||||||
:::: column
|
::: {.column width="50%"}
|
||||||
**Aufgabenbereiche**:
|
**Aufgabenbereiche**:
|
||||||
|
|
||||||
- Product Owner
|
- Product Owner
|
||||||
@@ -17,10 +17,11 @@
|
|||||||
- Black Board
|
- Black Board
|
||||||
- Report System
|
- Report System
|
||||||
- Mass Mailer
|
- Mass Mailer
|
||||||
|
- Token Lifetime
|
||||||
|
|
||||||
::::
|
:::
|
||||||
|
|
||||||
:::: column
|
::: {.column width="50%"}
|
||||||
|
|
||||||
\begin{tikzpicture}
|
\begin{tikzpicture}
|
||||||
\clip (0,0) circle (3em);
|
\clip (0,0) circle (3em);
|
||||||
@@ -28,14 +29,14 @@
|
|||||||
\draw[accent, line width=3pt] (0,0) circle (3em);
|
\draw[accent, line width=3pt] (0,0) circle (3em);
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
|
|
||||||
::::
|
:::
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Infrastruktur
|
## Infrastruktur
|
||||||
|
|
||||||
::: columns
|
::: columns
|
||||||
:::: column
|
::: {.column width="50%"}
|
||||||
|
|
||||||
**Entwicklung:**
|
**Entwicklung:**
|
||||||
|
|
||||||
@@ -45,8 +46,8 @@
|
|||||||
- **GitHub:** Transfer
|
- **GitHub:** Transfer
|
||||||
- **Gitea Actions:** CI/CD
|
- **Gitea Actions:** CI/CD
|
||||||
|
|
||||||
::::
|
:::
|
||||||
:::: column
|
::: {.column width="50%"}
|
||||||
|
|
||||||
**Produktion:**
|
**Produktion:**
|
||||||
|
|
||||||
@@ -55,7 +56,7 @@
|
|||||||
- **PostgreSQL:** Datenbank
|
- **PostgreSQL:** Datenbank
|
||||||
- **Oqtane:** CMS
|
- **Oqtane:** CMS
|
||||||
|
|
||||||
::::
|
:::
|
||||||
:::
|
:::
|
||||||
|
|
||||||
\vfill
|
\vfill
|
||||||
@@ -74,7 +75,9 @@
|
|||||||
\vfill
|
\vfill
|
||||||
<!-- { width=100% } -->
|
<!-- { width=100% } -->
|
||||||
|
|
||||||
---
|
## {.unnumbered .noframenumbering}
|
||||||
|
|
||||||
|
\vfill
|
||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
sequenceDiagram
|
sequenceDiagram
|
||||||
@@ -92,8 +95,9 @@ sequenceDiagram
|
|||||||
nginx-->>-browser: HTTPS
|
nginx-->>-browser: HTTPS
|
||||||
```
|
```
|
||||||
|
|
||||||
|
\vfill
|
||||||
|
|
||||||
## Von Commit zu Paket
|
## Vom Commit zu Paket
|
||||||
|
|
||||||
\begin{tikzpicture}[
|
\begin{tikzpicture}[
|
||||||
node distance=1cm,
|
node distance=1cm,
|
||||||
@@ -105,14 +109,14 @@ sequenceDiagram
|
|||||||
% Central Track
|
% Central Track
|
||||||
\draw[track] (-1,0) -- (12,0);
|
\draw[track] (-1,0) -- (12,0);
|
||||||
|
|
||||||
\node[stepnode, draw=gray!60!black] (n1) at (0,0) {\color{gray!60!black}\small\faCodeBranch};
|
\node[stepnode, draw=red] (n1) at (0,0) {\color{red}\small\faCodeBranch};
|
||||||
\node[stepnode, draw=green!60!black, right=of n1] (n2) {\color{green!60!black}\small\faCheckCircle};
|
\node[stepnode, draw=green!60!black, right=of n1] (n2) {\color{green!60!black}\small\faTag};
|
||||||
\node[stepnode, draw=blue!60!black, right=of n2] (n3) {\color{blue!60!black}\small\faCogs};
|
\node[stepnode, draw=blue!60!black, right=of n2] (n3) {\color{blue!60!black}\small\faTasks};
|
||||||
\node[stepnode, draw=green!60!black, right=of n3] (n4) {\color{green!60!black}\small\faBoxOpen};
|
\node[stepnode, draw=green!60!black, right=of n3] (n4) {\color{green!60!black}\small\faBoxOpen};
|
||||||
\node[stepnode, draw=blue!60!black, right=of n4] (n5) {\color{blue!60!black}\small\faDatabase};
|
\node[stepnode, draw=blue!60!black, right=of n4] (n5) {\color{blue!60!black}\small\faDatabase};
|
||||||
|
|
||||||
% Labels Above
|
% Labels Above
|
||||||
\node[labelnode, below=0.2cm of n1, color=gray!60!black] {Commit};
|
\node[labelnode, below=0.2cm of n1, color=red] {Commit};
|
||||||
\node[labelnode, below=0.2cm of n2, color=green!60!black] {Tag};
|
\node[labelnode, below=0.2cm of n2, color=green!60!black] {Tag};
|
||||||
\node[labelnode, below=0.2cm of n3, color=blue!60!black] {CI/CD};
|
\node[labelnode, below=0.2cm of n3, color=blue!60!black] {CI/CD};
|
||||||
\node[labelnode, below=0.2cm of n4, color=green!60!black] {.deb Paket};
|
\node[labelnode, below=0.2cm of n4, color=green!60!black] {.deb Paket};
|
||||||
@@ -139,7 +143,7 @@ sequenceDiagram
|
|||||||
node distance=0.15cm,
|
node distance=0.15cm,
|
||||||
stepnode/.style={rectangle, draw, line width=1.5pt, minimum width=1.5cm, minimum height=1.5cm, fill=white, inner sep=0pt},
|
stepnode/.style={rectangle, draw, line width=1.5pt, minimum width=1.5cm, minimum height=1.5cm, fill=white, inner sep=0pt},
|
||||||
]
|
]
|
||||||
\node[stepnode, draw=gray!60!black] (n1) at (0,0) {\LARGE\color{gray!60!black}S};
|
\node[stepnode, draw=red] (n1) at (0,0) {\LARGE\color{red}S};
|
||||||
\node[stepnode, draw=green!60!black, right=of n1] (n2) {\LARGE\color{green!60!black}O};
|
\node[stepnode, draw=green!60!black, right=of n1] (n2) {\LARGE\color{green!60!black}O};
|
||||||
\node[stepnode, draw=blue!60!black, right=of n2] (n3) {\LARGE\color{blue!60!black}L};
|
\node[stepnode, draw=blue!60!black, right=of n2] (n3) {\LARGE\color{blue!60!black}L};
|
||||||
\node[stepnode, draw=orange, right=of n3] (n4) {\LARGE\color{orange}I};
|
\node[stepnode, draw=orange, right=of n3] (n4) {\LARGE\color{orange}I};
|
||||||
@@ -155,7 +159,7 @@ sequenceDiagram
|
|||||||
## Module
|
## Module
|
||||||
|
|
||||||
::: columns
|
::: columns
|
||||||
:::: column
|
::: {.column width="50%"}
|
||||||
**Admin Module:**
|
**Admin Module:**
|
||||||
|
|
||||||
- Mass Mailer
|
- Mass Mailer
|
||||||
@@ -167,10 +171,12 @@ sequenceDiagram
|
|||||||
- Event Registration
|
- Event Registration
|
||||||
- Black Board
|
- Black Board
|
||||||
|
|
||||||
::::
|
:::
|
||||||
:::: column
|
::: {.column width="50%"}
|
||||||
|
\vfill
|
||||||

|

|
||||||
::::
|
\vfill
|
||||||
|
:::
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Produktion $\neq$ Staging
|
## Produktion $\neq$ Staging
|
||||||
@@ -201,14 +207,16 @@ sequenceDiagram
|
|||||||
\vfill
|
\vfill
|
||||||
|
|
||||||
::: columns
|
::: columns
|
||||||
:::: column{.column width=33%}
|
::: {.column width="40%"}
|
||||||
"It works on my Machine"
|
"It works on my Machine"
|
||||||
::::
|
:::
|
||||||
:::: column{.column width=66%}
|
::: {.column width="60%"}
|
||||||
**Deploymentprobleme bei Hetzner**
|
**Deploymentprobleme**
|
||||||
Problem: schlechte Dokumentation.
|
|
||||||
Lösung: Debugging mithilfe von Wireshark und lesen des Source Codes um das Framework zu verstehen und den Fehler zu finden.
|
**Problem:** Schlechte Dokumentation.
|
||||||
::::
|
|
||||||
|
**Lösung:** Debugging mithilfe von Wireshark und Source Code lesen.
|
||||||
|
:::
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
|
||||||
@@ -233,7 +241,7 @@ Lösung: Debugging mithilfe von Wireshark und lesen des Source Codes um das Fram
|
|||||||
|
|
||||||
{ width=60% }
|
{ width=60% }
|
||||||
|
|
||||||
## Was bleibt
|
## Fazit
|
||||||
|
|
||||||
\vspace{0.5em}
|
\vspace{0.5em}
|
||||||
|
|
||||||
@@ -248,24 +256,10 @@ Lösung: Debugging mithilfe von Wireshark und lesen des Source Codes um das Fram
|
|||||||
\node[anchor=north west, inner sep=3pt, text=accent] at (0, 1.2) {\scriptsize \textbf{Letzte 10\,\% des Codes $\rightarrow$ weitere 90\,\% der Zeit}};
|
\node[anchor=north west, inner sep=3pt, text=accent] at (0, 1.2) {\scriptsize \textbf{Letzte 10\,\% des Codes $\rightarrow$ weitere 90\,\% der Zeit}};
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
|
|
||||||
\vspace{0.5em}
|
\vspace{1em}
|
||||||
|
|
||||||
::: columns
|
Learnings:
|
||||||
:::: { .column width=33% }
|
|
||||||
\begin{block}{Lean beats Perfect}
|
|
||||||
\scriptsize Weniger bauen, dafür fertig stellen.
|
|
||||||
\end{block}
|
|
||||||
::::
|
|
||||||
|
|
||||||
:::: { .column width=33% }
|
- **Asynchrones Arbeiten:** Entkopplung von Meetings und Deadlines.
|
||||||
\begin{block}{Environment First}
|
- **Review-First-Policy:** Konsequente Umsetzung der *Definition of Done*.
|
||||||
\scriptsize Zielumgebung testen, nicht nur lokal.
|
- **Team-Fokus:** höhere Motivation und Eigenverantwortung durch Verkleinerung des Teams.
|
||||||
\end{block}
|
|
||||||
::::
|
|
||||||
|
|
||||||
:::: { .column width=33% }
|
|
||||||
\begin{block}{Fragen ist Architektur}
|
|
||||||
\scriptsize Wer früh fragt, spart später Monate.
|
|
||||||
\end{block}
|
|
||||||
::::
|
|
||||||
:::
|
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
\fill[orange] (0,0) rectangle (3.4,-0.85);
|
\fill[orange] (0,0) rectangle (3.4,-0.85);
|
||||||
\end{scope}
|
\end{scope}
|
||||||
\node[text=white, font=\small\bfseries, align=center] at (1.7,-0.425)
|
\node[text=white, font=\small\bfseries, align=center] at (1.7,-0.425)
|
||||||
{\faShieldAlt\ \ Datensicherheit};
|
{\faLock\ \ Datensicherheit};
|
||||||
\node[font=\small, align=center, text width=3.0cm] at (1.7,-1.95)
|
\node[font=\small, align=center, text width=3.0cm] at (1.7,-1.95)
|
||||||
{DSGVO-konform \& verschlüsselt};
|
{DSGVO-konform \& verschlüsselt};
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@
|
|||||||
|
|
||||||
\begin{column}{0.33\textwidth}
|
\begin{column}{0.33\textwidth}
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[height=2.2cm]{image-5.png}\\[0.5em]
|
\includegraphics[height=2.2cm]{image-7.png}\\[0.5em]
|
||||||
{\large\textbf{\color{accent}Bash}}\\[0.3em]
|
{\large\textbf{\color{accent}Bash}}\\[0.3em]
|
||||||
{\small Automatisierte Skripte\\für Linux Cronjobs}
|
{\small Automatisierte Skripte\\für Linux Cronjobs}
|
||||||
\end{column}
|
\end{column}
|
||||||
@@ -115,7 +115,7 @@
|
|||||||
\node[stepnode, draw=orange, below=of n2] (n4) {};
|
\node[stepnode, draw=orange, below=of n2] (n4) {};
|
||||||
|
|
||||||
% Icons – obere Reihe
|
% Icons – obere Reihe
|
||||||
\node[iconnode] at (n1.north) [yshift=-0.7cm] {\color{gray}\small\faFileAlt};
|
\node[iconnode] at (n1.north) [yshift=-0.7cm] {\color{gray}\small\faFile};
|
||||||
\node[iconnode] at (n2.north) [yshift=-0.7cm] {\color{green!60!black}\small\faFilter};
|
\node[iconnode] at (n2.north) [yshift=-0.7cm] {\color{green!60!black}\small\faFilter};
|
||||||
|
|
||||||
% Icons – untere Reihe
|
% Icons – untere Reihe
|
||||||
@@ -129,9 +129,9 @@
|
|||||||
\node[titlenode] at (n4.center) [yshift=-0.2cm] {Betroffenen-\\rechte};
|
\node[titlenode] at (n4.center) [yshift=-0.2cm] {Betroffenen-\\rechte};
|
||||||
|
|
||||||
% Pfeile: → rechts oben, ↓ rechts, → rechts unten
|
% Pfeile: → rechts oben, ↓ rechts, → rechts unten
|
||||||
\draw[arrow] (n1) -- (n2);
|
% \draw[arrow] (n1) -- (n2);
|
||||||
\draw[arrow] (n2) -- (n4);
|
% \draw[arrow] (n2) -- (n4);
|
||||||
\draw[arrow] (n3) -- (n4);
|
% \draw[arrow] (n3) -- (n4);
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
|
|||||||
@@ -149,23 +149,28 @@
|
|||||||
\begin{tikzpicture}[remember picture, overlay,
|
\begin{tikzpicture}[remember picture, overlay,
|
||||||
problem/.style={rectangle, rounded corners=3pt, draw=red!60!black, fill=red!8, minimum width=5cm, minimum height=1.4cm, align=center, font=\small},
|
problem/.style={rectangle, rounded corners=3pt, draw=red!60!black, fill=red!8, minimum width=5cm, minimum height=1.4cm, align=center, font=\small},
|
||||||
solution/.style={rectangle, rounded corners=3pt, draw=green!60!black, fill=green!8, minimum width=5cm, minimum height=1.4cm, align=center, font=\small},
|
solution/.style={rectangle, rounded corners=3pt, draw=green!60!black, fill=green!8, minimum width=5cm, minimum height=1.4cm, align=center, font=\small},
|
||||||
header/.style={font=\small\bfseries\color{gray!70}}
|
header/.style={font=\small\bfseries\color{gray!70!black}},
|
||||||
|
arrow/.style={-latex, line width=1.5pt, color=accent!70}
|
||||||
]
|
]
|
||||||
% Spalten-Header
|
% Spalten-Header
|
||||||
\node[header] at ([xshift=-2.5cm, yshift=2.2cm]current page.center) {Herausforderung};
|
\node[header] at ([xshift=-2.5cm, yshift=2.2cm]current page.center) {Herausforderung};
|
||||||
\node[header] at ([xshift=2.5cm, yshift=2.2cm]current page.center) {Lösung};
|
\node[header] at ([xshift=4cm, yshift=2.2cm]current page.center) {Lösung};
|
||||||
|
|
||||||
% Reihe 1
|
% Reihe 1
|
||||||
\node[problem] at ([xshift=-2.5cm, yshift=0.9cm]current page.center) (p1) {$\triangle$\;\textbf{Plattformwechsel}\\[-1mm]{\scriptsize Windows $\rightarrow$ macOS}};
|
\node[problem] at ([xshift=-2.5cm, yshift=0.9cm]current page.center) (p1) {$\triangle$\;\textbf{Plattformwechsel}\\[-1mm]{\scriptsize Windows $\rightarrow$ macOS}};
|
||||||
\node[solution] at ([xshift=2.5cm, yshift=0.9cm]current page.center) (s1) {\checkmark\;\textbf{Visual Studio Code}\\[-1mm]{\scriptsize Plattformübergreifend}};
|
\node[solution] at ([xshift=4cm, yshift=0.9cm]current page.center) (s1) {\checkmark\;\textbf{Visual Studio Code}\\[-1mm]{\scriptsize Plattformübergreifend}};
|
||||||
|
|
||||||
% Reihe 2
|
% Reihe 2
|
||||||
\node[problem] at ([xshift=-2.5cm, yshift=-1.1cm]current page.center) (p2) {$\triangle$\;\textbf{Kein CMS verfügbar}\\[-1mm]{\scriptsize Sommer 2025, Event steht an}};
|
\node[problem] at ([xshift=-2.5cm, yshift=-1.1cm]current page.center) (p2) {$\triangle$\;\textbf{Kein CMS verfügbar}\\[-1mm]{\scriptsize Sommer 2025, Event steht an}};
|
||||||
\node[solution] at ([xshift=2.5cm, yshift=-1.1cm]current page.center) (s2) {\checkmark\;\textbf{Node.js/HTML}\\[-1mm]{\scriptsize Übergangslösung}};
|
\node[solution] at ([xshift=4cm, yshift=-1.1cm]current page.center) (s2) {\checkmark\;\textbf{Node.js/HTML}\\[-1mm]{\scriptsize Übergangslösung}};
|
||||||
|
|
||||||
% Reihe 3
|
% Reihe 3
|
||||||
\node[problem] at ([xshift=-2.5cm, yshift=-3.1cm]current page.center) (p3) {$\triangle$\;\textbf{UI-Fehler am Handy}\\[-1mm]{\scriptsize Clipping-Probleme}};
|
\node[problem] at ([xshift=-2.5cm, yshift=-3.1cm]current page.center) (p3) {$\triangle$\;\textbf{UI-Fehler am Handy}\\[-1mm]{\scriptsize Clipping-Probleme}};
|
||||||
\node[solution] at ([xshift=2.5cm, yshift=-3.1cm]current page.center) (s3) {\checkmark\;\textbf{Testen und Anpassen}\\[-1mm]{\scriptsize Debuggen und Verbessern der UI}};
|
\node[solution] at ([xshift=4cm, yshift=-3.1cm]current page.center) (s3) {\checkmark\;\textbf{Testen und Anpassen}\\[-1mm]{\scriptsize Debuggen und Verbessern der UI}};
|
||||||
|
|
||||||
|
\draw[arrow] (p1) -- (s1);
|
||||||
|
\draw[arrow] (p2) -- (s2);
|
||||||
|
\draw[arrow] (p3) -- (s3);
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
Binary file not shown.
BIN
Defensio/image-7.png
Normal file
BIN
Defensio/image-7.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 43 KiB |
Reference in New Issue
Block a user