diff --git a/package-lock.json b/package-lock.json index 1cdfd0b..d9c5d3e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -81,6 +81,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz", "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", "license": "MIT", + "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.2", @@ -721,6 +722,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.26.0.tgz", "integrity": "sha512-B+O2DnPc0iG+YXFqOxv2WNuNU97ToWjOomUQ78DouOENWUaM5sVrmet9mcomUGQFwpJd//gvUagXBSdzO1fRKg==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1585,6 +1587,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", "@babel/helper-module-imports": "^7.25.9", @@ -3099,6 +3102,7 @@ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", "license": "MIT", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/popperjs" @@ -3535,6 +3539,7 @@ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -3969,6 +3974,7 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.2.tgz", "integrity": "sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw==", "license": "MIT", + "peer": true, "dependencies": { "csstype": "^3.0.2" } @@ -4095,6 +4101,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/regexpp": "^4.4.0", "@typescript-eslint/scope-manager": "5.62.0", @@ -4148,6 +4155,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "license": "BSD-2-Clause", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "5.62.0", "@typescript-eslint/types": "5.62.0", @@ -4517,6 +4525,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -4603,6 +4612,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -5519,6 +5529,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", @@ -7458,6 +7469,7 @@ "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -10427,6 +10439,7 @@ "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", "license": "MIT", + "peer": true, "dependencies": { "@jest/core": "^27.5.1", "import-local": "^3.0.2", @@ -13555,6 +13568,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", @@ -14742,6 +14756,7 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "license": "MIT", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -15139,6 +15154,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -15307,6 +15323,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", "license": "MIT", + "peer": true, "dependencies": { "scheduler": "^0.26.0" }, @@ -15385,6 +15402,7 @@ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -16004,6 +16022,7 @@ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", "license": "MIT", + "peer": true, "bin": { "rollup": "dist/bin/rollup" }, @@ -16258,6 +16277,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -17923,6 +17943,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "license": "(MIT OR CC0-1.0)", + "peer": true, "engines": { "node": ">=10" }, @@ -18542,6 +18563,7 @@ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.99.6.tgz", "integrity": "sha512-TJOLrJ6oeccsGWPl7ujCYuc0pIq2cNsuD6GZDma8i5o5Npvcco/z+NKvZSFsP0/x6SShVb0+X2JK/JHUjKY9dQ==", "license": "MIT", + "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.6", @@ -18611,6 +18633,7 @@ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", "license": "MIT", + "peer": true, "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", @@ -19023,6 +19046,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", diff --git a/public/assets/img/DSC_4133.jpg b/public/assets/img/DSC_4133.jpg deleted file mode 100644 index c2b9777..0000000 Binary files a/public/assets/img/DSC_4133.jpg and /dev/null differ diff --git a/public/assets/img/apple-touch-icon.png b/public/assets/img/apple-touch-icon.png index 23adc03..927280e 100644 Binary files a/public/assets/img/apple-touch-icon.png and b/public/assets/img/apple-touch-icon.png differ diff --git a/public/assets/img/favicon-96x96.png b/public/assets/img/favicon-96x96.png index 3772937..15587c8 100644 Binary files a/public/assets/img/favicon-96x96.png and b/public/assets/img/favicon-96x96.png differ diff --git a/public/assets/img/favicon.ico b/public/assets/img/favicon.ico index d063460..ce0d821 100644 Binary files a/public/assets/img/favicon.ico and b/public/assets/img/favicon.ico differ diff --git a/public/assets/img/favicon.svg b/public/assets/img/favicon.svg new file mode 100644 index 0000000..7fc5800 --- /dev/null +++ b/public/assets/img/favicon.svg @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/public/assets/img/favicon.zip b/public/assets/img/favicon.zip new file mode 100644 index 0000000..73bf9e6 Binary files /dev/null and b/public/assets/img/favicon.zip differ diff --git a/public/assets/img/picture.jpg b/public/assets/img/picture.jpg new file mode 100644 index 0000000..c34951d Binary files /dev/null and b/public/assets/img/picture.jpg differ diff --git a/public/assets/img/web-app-manifest-192x192.png b/public/assets/img/web-app-manifest-192x192.png index 3a6b039..1b00645 100644 Binary files a/public/assets/img/web-app-manifest-192x192.png and b/public/assets/img/web-app-manifest-192x192.png differ diff --git a/public/assets/img/web-app-manifest-512x512.png b/public/assets/img/web-app-manifest-512x512.png index f395a16..8de0b22 100644 Binary files a/public/assets/img/web-app-manifest-512x512.png and b/public/assets/img/web-app-manifest-512x512.png differ diff --git a/public/assets/projects/server/images/server.png b/public/assets/projects/server/images/server.png index 6c49082..6894a70 100644 Binary files a/public/assets/projects/server/images/server.png and b/public/assets/projects/server/images/server.png differ diff --git a/public/assets/projects/server/images/server.png.old b/public/assets/projects/server/images/server.png.old new file mode 100644 index 0000000..6c49082 Binary files /dev/null and b/public/assets/projects/server/images/server.png.old differ diff --git a/src/components/about.jsx b/src/components/about.jsx index 366a237..417754d 100644 --- a/src/components/about.jsx +++ b/src/components/about.jsx @@ -8,76 +8,78 @@ function AboutPage() {
- Auf dieser Seite möchte ich Ihnen einen Einblick in meine - Reise in die faszinierende Welt der Informatik geben. Als - 20-jähriger Schüler für Wirtschaftsinformatik an - der EDV-Schule Plattling ist meine Begeisterung für das - Programmieren und die Möglichkeiten der Datenanalyse stetig - gewachsen. + Willkommen auf meiner Seite! Als angehender Data Scientist mit + Hintergrund in Wirtschaftsinformatik möchte ich Ihnen hier meine + Leidenschaft für die Datenanalyse und künstliche Intelligenz + näherbringen. Mein Ziel ist es, durch die Analyse komplexer + Datensätze wertvolle Erkenntnisse zu gewinnen und innovative + Lösungen zu entwickeln.
-- Den Weg der Informatik habe ich vor wenigen Jahren gefunden nachdem - ich das erste mal programmiert habe und sofort den Erfolg - verspüren konnte der mich bis heute noch antreibt weiter zu - machen. Ich bin zwar schon seit viele Jahren sehr stark von - Computern begeistert jedoch war ich mir bis dahin nicht so sicher - was ich mit dieser Begeisterung anfangen sollte, daher habe ich mich - dann entschieden das Programmieren auszuprobieren. + Meine Reise in die Welt der Daten begann mit der Entdeckung der + Programmierung und entwickelte sich schnell zu einer Faszination für + die Möglichkeiten der Datenanalyse. Was als allgemeines Interesse + an Computern begann, hat sich zu einer gezielten Spezialisierung + im Bereich Data Science entwickelt. Die Fähigkeit, aus rohen Daten + wertvolle Erkenntnisse zu gewinnen und diese für fundierte + Entscheidungen zu nutzen, treibt mich besonders an.
-- Das Interesse an Data Science ist entstanden während ich{" "} - CS50X (Online Kurs der Harvard Universität) gemacht - habe. Dort war eine Woche die den Datenbanken gewidmet war wo ich - eine gewisse Verbindung mit den Daten verspürt habe, im - Anschluss habe ich mehrere Tage nichts anderes gemacht als SQL - Querys zu schreiben und Datenbanken zu konzeptieren. Durch den{" "} - IBM Data Science Kurs wurde mein Interesse an Data Science - nochmal verstärkt wie ich das erste mal gelernt habe, wie man - Daten nutzen kann um ein Model anzupassen, dass es neue - Informationen in Form von Daten schafft. + Meine Begeisterung für Data Science wurde durch den{" "} + CS50X (Harvard University) Kurs geweckt, wo ich die + Grundlagen der Datenverarbeitung kennenlernte. Der intensive{" "} + IBM Data Science Professional Certificate vertiefte diese + Faszination und gab mir praktische Einblicke in Machine Learning + und prädiktive Analysen. Besonders die Möglichkeit, durch + Datenmodelle neue Erkenntnisse zu gewinnen und Vorhersagen zu + treffen, hat mich überzeugt, dass dies der richtige Weg für mich + ist.
-- Neben Data Science bin ich auch sehr begeistert von{" "} - Server Administration was auch ein Grund war wieso ich mich - entschieden habe diese Website aufzubauen. Dieses Interesse habe ich - vorallem in der EDV-Schule gefunden wie wir unsere ersten eigenen - Server in der Praxis aufgesetzt haben. Dort habe ich gesehen wie - interessant es ist was man alles bei einem Server beachten muss wie - z.B. Sicherheit und Wartbarkeit. + Um meine Data Science Projekte optimal umzusetzen, habe ich eine + eigene technische Infrastruktur aufgebaut, zu der auch dieser + Server gehört. Er bietet mir eine JupyterHub-Umgebung für + Datenanalysen und Machine Learning Experimente. Die{" "} + Server-Administration und DevOps-Kenntnisse sehe ich als + wichtige Ergänzung zu meinen Data Science Fähigkeiten, da sie mir + ermöglichen, meine Analysen und Modelle effizient zu + deployen und zu skalieren.
- Der Großteil meines Wissens kommt durch die Schule und durch - Online Kurse welche ich während meiner Zeit als - Großhandelskaufmann neben der Arbeit in meiner Freizeit - absolviert habe. Die wichtigsten Kurse (länger als eine Woche) - sind vorallem CS50X (Computer Science) und{" "} - IBM Data Science. In diesen beiden Kursen habe ich sowohl die - Grundlagen in der Informatik als auch in Data Science erhalten, - außerdem habe mir diese beiden Kurse sehr stark bei der - Entscheidungsfindung für mein Fachbereich geholfen. Die - EDV-Schule ergänzt dieses Wissen und erweitert es mit vielen - neuen Dingen vorallem wenn es darum geht das Wissen mit der - Wirtschaft zu verknüpfen. + Meine Expertise basiert auf einer Kombination aus strukturierter + Ausbildung und praktischer Erfahrung. An der EDV-Schule Plattling + erhalte ich eine solide Grundlage in Wirtschaftsinformatik, die ich + gezielt durch spezialisierte Kurse wie CS50X und den{" "} + IBM Data Science Professional Certificate in Richtung Data + Science ausbaue. Diese Kombination ermöglicht mir, sowohl die + technischen Aspekte der Datenanalyse als auch deren + wirtschaftliche Anwendungen zu verstehen.
-- Einerseits bin ich noch über ein Jahr Schüler an der - EDV-Schule bei welcher ich noch an viel Wissen erhalten werden. - Andererseits habe ich vor in naher Zukunft verstärkt auf - Projekte zu setzen zu dem zählt auch diese Website. In meinen - nächsten Projekte will ich vorallem dann in den Bereich von - Data Science und AI gehen um einen „Headstart“{" "} - für ein (Duales-)Studium im Bereich Data Science zu bekommen. + Aktuell arbeite ich an drei spannenden Projekten, die verschiedene + Aspekte der Softwareentwicklung abdecken. Mein ABAP-Abschlussprojekt + ist eine Plattform für Wohnungssuche und Mitfahrgelegenheiten, die + praktische Alltagsprobleme löst. Parallel entwickle ich in einem + Java-Projekt ein Online-Casino, das mir tiefere Einblicke in + Backend-Entwicklung und Datenverwaltung ermöglicht. Besonders + faszinierend ist mein privates KI-Projekt - ein Krimi-Dinner + mit einem KI-Gamemaster, bei dem ich mich intensiv mit + Prompt-Engineering und der praktischen Anwendung von Large Language + Models beschäftige. Diese Erfahrungen im Bereich KI und Prompting + sehe ich als wichtige Grundlage für meinen angestrebten Einstieg in + die Data Science, da sie mir ein tiefes Verständnis für die + Möglichkeiten und Grenzen von KI-Systemen vermitteln.
+ Dieses Projekt ist derzeit in der Planungsphase. +
++ Dieses Projekt ist mein Abschlussprojekt. Das Ziel ist es, ein Online-Casino von Grund auf zu entwickeln. + Weitere Details zum Projekt werden hinzugefügt, sobald die Planungsphase abgeschlossen ist. +
++ Dieses Projekt ist mein ABAP-Abschlussprojekt für die Schule und befindet sich in der Planungsphase. +
++ Ziel ist die Entwicklung einer SAP-Fiori-Anwendung, die es Benutzern ermöglicht, Wohnungsangebote und Fahrgemeinschaften einfach zu verwalten. Die Applikation wird als SAP-RAP-Backend mit einem Fiori-Frontend umgesetzt. +
+- Hallo und danke fürs Daraufklicken! Ich bin Simon Altschäffl, 20 + Hallo und danke fürs Daraufklicken! Ich bin Simon Altschäffl, {age} Jahre alt und derzeit Schüler für Wirtschaftsinformatik an der EDV-Schule Plattling.
-
+
Willkommen auf meiner Website! Hier stelle ich mich detailliert vor,
präsentiere meine Projekte und teile meine Erfahrung in der
diff --git a/src/components/navigation.jsx b/src/components/navigation.jsx
index 7fdd4de..16bbb73 100644
--- a/src/components/navigation.jsx
+++ b/src/components/navigation.jsx
@@ -21,11 +21,21 @@ function Navigation() {
Wir setzen folgende(n) Hoster ein:
- MC-HOST24.de ist ein Label der Gericke KG
+ netcup GmbH
Vertretungsberechtigter Gesellschafter: Eberhard Gericke
(Komplementär)
- Telefon: +49 (0)7544 9679080
+ Telefon: +49 721 / 7540755 - 0
- Mail: info@mc-host24.de
+ Mail: mail@netcup.de
+
+ Web: www.netcup.com
Postanschrift:
- Lichtenbergstr. 53/1
+ Emmy-Noether-Straße 10
- 88677 Markdorf
+ D-76131 Karlsruhe
Deutschland
- Diese Website ist eine einfache React-Applikation, die unter - [www.]simonaltschaeffl.de erreichbar ist. Um darauf zuzugreifen, wird - eine einfache Anfrage an Nginx gesendet, welcher die Seite aus dem - HTML innerhalb seines Containers abruft und an den Client sendet. + Alle Anfragen werden zunächst von Traefik empfangen und basierend auf der + Domain an die entsprechenden Services weitergeleitet. Die Website ist unter + simonaltschaeffl.de erreichbar, wobei Traefik die Anfragen an den + Nginx-Container weiterleitet, der die React-Applikation bereitstellt.
- Hierauf gelangt man über die Subdomain jupyter.simonaltschaeffl.de. Um - dorthin geroutet zu werden, wird Nginx als Reverse Proxy verwendet. - Sobald man sich eingeloggt hat, wird ein JupyterLab-Container mit - Data-Science-Tools und Libraries wie Pandas, TensorFlow, NumPy etc. - erstellt, welche ich für Experimente mit Machine Learning bzw. - künstlicher Intelligenz oder Titanic Competitions von Kaggle verwende. + Der JupyterHub-Service ist über jupyter.simonaltschaeffl.de erreichbar. + Traefik leitet die Anfragen an den JupyterHub-Container weiter, der die + Benutzerauthentifizierung und Container-Verwaltung übernimmt. Nach erfolgreicher + Anmeldung wird ein persönlicher JupyterLab-Container mit Data-Science-Tools + wie Pandas, TensorFlow, NumPy etc. gestartet, der für Machine Learning + Experimente und Datenanalysen genutzt werden kann. +
+ ++ Der sichere Remote-Zugriff wird durch eine Kombination aus WireGuard VPN + und SSH gewährleistet. WireGuard bietet eine moderne, effiziente + VPN-Lösung, während der SSH-Server sichere Terminal-Verbindungen für + Wartungsarbeiten ermöglicht. Die Verwaltung erfolgt über einen + dedizierten Admin-Zugang.