diff --git a/src/components/footerSection.jsx b/src/components/footerSection.jsx index 47522b0..3e2a412 100644 --- a/src/components/footerSection.jsx +++ b/src/components/footerSection.jsx @@ -6,7 +6,7 @@ function FooterSection() { ); diff --git a/src/components/projects/languageStudy.jsx b/src/components/projects/languageStudy.jsx index 57a0e15..16c3ede 100644 --- a/src/components/projects/languageStudy.jsx +++ b/src/components/projects/languageStudy.jsx @@ -1,10 +1,111 @@ -import React, { Component } from 'react'; +import React, { Component } from "react"; function LanguagestudyPage() { return ( -
-

Wikipedia Sprachstudie

+
+

Wikipedia Sprachstudie

+

+ Dieses Projekt war mein Abschlussprojekt für den Kurs „CS50x“. +

+
+

GitHub

+ + https://github.com/simon-266/WikiDictionaryResearch + +
+
+

Worum geht es in dieser Sprachstudie?

+

+ Ziel dieser Sprachstudie ist es, einem oft gehörten Fakt beim + Sprachenlernen nachzugehen und ihn zu beweisen oder zu widerlegen. Der + Fakt lautet:{" "} + + „Die 1000 häufigsten Wörter machen etwa 80 % des gesprochenen + Wortschatzes aus.“ + + Um dies zu untersuchen, habe ich ein Skript programmiert, welches 15.000 + Wikipedia-Seiten durchsucht und die englischen Wörter darin zählt. + Zusätzlich habe ich einige Diagramme zu meinen Ergebnissen in einem + Jupyter Notebook erstellt: +

+
+ Kreisdiagramm: Die Top 1000 Wörter im Vergleich zum Rest + Kreisdiagramm: Verlgeiche der Vorkommen +
+
+
+

Ergebnisse

+

+ Die Ergebnisse zeigen deutlich, dass die Top 1000 Wörter tatsächlich + einen sehr großen Anteil ausmachen – auch wenn es nicht ganz 80 %, + sondern knapp 70 % sind. Daraus lässt sich schlussfolgern, dass es sich + beim Sprachenlernen definitiv lohnt, sich auf diese Wörter zu + konzentrieren, um gute Fortschritte zu erzielen. +

+
+
+

+ Welche Techniken, Technologien und Bibliotheken habe ich verwendet? +

+
+
    +
  • + Programmiersprachen: Python, IPython +
  • +
  • + Programme: VSCode, JupyterLab, GIT (GitHub) +
  • +
  • + Multithreading und Batchverarbeitung: Mithilfe der Future + Library konnte ich das Zählen der Wörter auf mehrere Threads + verteilen. Durch einfache Schleifen konnte ich den benötigten + Arbeitsspeicher begrenzen, indem ich die 15.000 Seiten in kleinere + Batches aufteilte, diese vorab zusammenführte und am Ende zum + finalen Ergebnis zusammenführte. +
  • +
  • + Wikipedia: Die Quelle meiner Daten, da die Inhalte dort ohne + Copyright-Probleme nutzbar sind, und die zugehörige Python + Library, welche das Webscraping vereinfacht. +
  • +
  • + Pandas: Hierfür habe ich mich entschieden, da ich nach einer + effizienten Möglichkeit suchte, die Wörter zusammenzuführen. + Außerdem vereinfacht es das Speichern dieser Daten in Dateien. +
  • +
  • + sqlite3: Gut zum Speichern und Abrufen meiner Daten. +
  • +
+
+
+
+

Fazit

+
+
    +
  • + Neues Wissen: Durch dieses Projekt konnte ich mich zum ersten + Mal intensiv mit den Themen Webscraping (auch wenn es über eine + Library geschah) und Multithreading in Python beschäftigen, was für + zukünftige Projekte relevant sein könnte. +
  • +
  • + Übung: Das Projekt hat sehr gut dazu gedient, mich intensiver + mit Python auseinanderzusetzen und dabei neue Libraries und + Funktionen innerhalb der Sprache selbst kennenzulernen. +
  • +
+
+
); } diff --git a/src/components/projects/server.jsx b/src/components/projects/server.jsx index 5635f2a..0b72acd 100644 --- a/src/components/projects/server.jsx +++ b/src/components/projects/server.jsx @@ -55,6 +55,7 @@ function ServerPage() { meine gesamte Homepage mit nur wenigen Klicks oder Befehlen zu aktualisieren, ohne dass ich mich auf dem Server einloggen muss. +
  • Certbot: Stellt die SSL/TSL Certifikate bereit und haltet sie stets aktuell.
  • diff --git a/src/styles/styles.css b/src/styles/styles.css index fe6c1a2..51943d8 100644 --- a/src/styles/styles.css +++ b/src/styles/styles.css @@ -52,6 +52,11 @@ section { min-height: 100vh; } +.center-titles { + margin-left: 5%; + margin-right: 5%; +} + .center-titles h1, .center-titles h2, .center-titles h3{ text-align: center; } @@ -68,4 +73,20 @@ section { .center-image { display: block; margin: auto auto; -} \ No newline at end of file + + + max-width: 100%; + max-height: 100%; + height: auto; + width: auto; + +} + +.image-container { + display: flex; + flex-direction: row; + align-items: center; + gap: 10px; + flex-wrap: wrap; +} +