Compare commits

..
3 Commits
5 changed files with 267 additions and 5 deletions

No files matched your search

+7 -5
View File
@@ -2,21 +2,23 @@
"chat.byokUtilityModelDefault": "mainAgent", "chat.byokUtilityModelDefault": "mainAgent",
"latex-workshop.latex.tools": [ "latex-workshop.latex.tools": [
{ {
"name": "make", "name": "make all",
"command": "make", "command": "make",
"args": [], "args": [
"all"
],
"cwd": "%WORKSPACE_FOLDER%" "cwd": "%WORKSPACE_FOLDER%"
} }
], ],
"latex-workshop.latex.recipes": [ "latex-workshop.latex.recipes": [
{ {
"name": "make", "name": "make all",
"tools": [ "tools": [
"make" "make all"
] ]
} }
], ],
"latex-workshop.latex.recipe.default": "make", "latex-workshop.latex.recipe.default": "make all",
"latex-workshop.latex.build.enableMagicComments": true, "latex-workshop.latex.build.enableMagicComments": true,
"latex-workshop.latex.autoBuild.run": "onSave", "latex-workshop.latex.autoBuild.run": "onSave",
"latex-workshop.latex.outDir": "%WORKSPACE_FOLDER%" "latex-workshop.latex.outDir": "%WORKSPACE_FOLDER%"
+10
View File
@@ -58,6 +58,16 @@ Jedes Projekt/Kontext besteht aus einem Link bzw Quell, einer Beschreibung, den
- Herausforderungen: Wiederverwendbare, responsive Seitenelemente für unterschiedliche Informationsinhalte; einheitliche Einbindung von Navigation, Kontakt- und Social-Media-Links; lokal reproduzierbarer Build unter Windows und Linux. - Herausforderungen: Wiederverwendbare, responsive Seitenelemente für unterschiedliche Informationsinhalte; einheitliche Einbindung von Navigation, Kontakt- und Social-Media-Links; lokal reproduzierbarer Build unter Windows und Linux.
- Lösungen: Erweiterung der Jekyll-Website um ein Full-Width-Kartenlayout auf Basis von Liquid-Templates; Anpassung von Karten- und Kontakt-Styles mit Sass; Pflege von Navigation, Footer und Social-Media-Verlinkungen; Dokumentation der lokalen Ruby-/Bundler-Installation und des Jekyll-Entwicklungsservers für Windows und Linux. - Lösungen: Erweiterung der Jekyll-Website um ein Full-Width-Kartenlayout auf Basis von Liquid-Templates; Anpassung von Karten- und Kontakt-Styles mit Sass; Pflege von Navigation, Footer und Social-Media-Verlinkungen; Dokumentation der lokalen Ruby-/Bundler-Installation und des Jekyll-Entwicklungsservers für Windows und Linux.
## VISOR/OProc – Visualisierung offener Stadtentwicklungsprozesse
- Zeitraum: August 2017 bis Mai 2018, belegt durch eigene Commits in den drei Projekt-Repositories.
- Quellen: lokale Git-Repositories `/Users/rob/code/visor/oproc`, `/Users/rob/code/visor/in-transit` und `/Users/rob/code/visor/d3-oproc`.
- Kontext: BMBF/Prototype-Fund-gefördertes Civic-Tech-Projekt in Kooperation mit Forschenden der HTW Dresden zur maschinenlesbaren Beschreibung und interaktiven Visualisierung öffentlicher, insbesondere partizipativer Stadtentwicklungsprozesse.
- Teilprojekte: `oproc` enthält die Spezifikation eines offenen JSON-Datenmodells; `in-transit` implementiert den webbasierten VISOR-Prototyp; `d3-oproc` dokumentiert die Idee eines separaten Gantt-artigen Visualisierungsmoduls, blieb aber ein nicht implementiertes Konzeptgerüst.
- Entwicklung des OProc-Datenmodells, Aufbau der Timeline, Datenimport und -fluss; Zeitachsen, Zoom und Verschieben; Swimlanes und kollisionsarme Prozessanordnung; Filterung, Suche; Weiterentwicklung und visuelle Integration des Abhängigkeitsgraphen.
- Herausforderungen: Abbildung hierarchischer und miteinander verbundener Prozesse in einem offenen Datenformat; gleichzeitige Vermittlung von zeitlichem Verlauf, Abhängigkeiten und Beteiligten; lesbare Anordnung überlappender Prozesszeiträume; konsistente Interaktion und Filterung über mehrere gekoppelte Ansichten.
- Lösungen: URL-basiertes OProc-Modell mit JSON-Objekten und Referenzen; komponentenbasierte Single-Page Application mit Preact; zentraler Anwendungszustand und abgeleitete Filterdaten mit Redux; SVG-basierte Timeline mit dynamischer Zeitprojektion, Zoom, Pan, Swimlanes und Überlappungsbehandlung; gerichtetes Graphlayout mit Dagre; Datumsausgabe mit Moment.js; gekoppelte Hover-, Auswahl-, Such-, Filter- und Detailinteraktionen.
## Django-Lernprojekt mit Umfrage- und Blog-App ## Django-Lernprojekt mit Umfrage- und Blog-App
- Zeitraum: 20. bis 28. Juni 2018 - Zeitraum: 20. bis 28. Juni 2018
+222
View File
@@ -0,0 +1,222 @@
# Ordner mit meinen Python-Projekten
/Users/rob/code/SomaFM-Playlists
/Users/rob/code/Steuererklärung-CSVs-Auswerten
/Users/rob/code/PDF-with-JS-hack
/Users/rob/code/scrape-immobillien
/Users/rob/code/Fix-SamsungNX-Photos-in-Immich
/Users/rob/code/BündnisOst/Ostdeutsche-Politiker/scripts/converter
/Users/rob/code/BündnisOst/bo-page/scripts
/Users/rob/code/SUFW/Jo-Job2026
/Users/rob/code/SUFW/Zeitabrechung
/Users/rob/code/SUFW/Tätigkeitsnachweise/1_Erstes-Tool-Komplizert
/Users/rob/code/SUFW/Tätigkeitsnachweise/3_Tätigkeitsnachweise-generieren
/Users/rob/code/ScrapeMediawiki
/Users/rob/code/Lotto-Zocken
/Volumes/rob/code
/Volumes/rob/code/argümen/arguman.org
/Volumes/rob/code/django-cms/info.ngo
/Volumes/rob/code/django-first-app
/Volumes/rob/code/filemonitor
/Volumes/rob/code/gallery-screenlet
/Volumes/rob/code/machine_learling_minimalbeispiel
/Volumes/rob/code/neuronale_netze_einfach_erklärt
/Volumes/rob/code/pls-2-m3u
/Volumes/rob/code/pythonAlgorithmik
/Volumes/rob/code/Wiederstandsberechnung
/Volumes/rob/code/led-stripe-c3d2
/Volumes/rob/code/c3d2/pentabot
/Volumes/rob/code/c3d2/pentanews-localtest/backend
/Volumes/rob/code/c3d2/led-stripe
/Volumes/rob/code/info.ngo/info.ngo
/Volumes/rob/code/info.ngo/info.ngo/InfoNgo_django
/Volumes/rob/code/info.ngo/docker-rob
/Volumes/rob/code/info.ngo/rebuild-rob/InfoNgo_django
/Volumes/rob/code/offenesdresden.de/stadtrat
/Volumes/rob/code/offenesdresden.de/stadtrat/scrape-a-ris/scrape-a-ris_DD
/Volumes/rob/code/offenesdresden.de/stadtrat/scrape-a-ris/scrape-a-ris
/Volumes/rob/code/offenesdresden.de/stadtrat/scrape-a-ris/test_repo
/Volumes/rob/code/offenesdresden.de/parkenDD/ParkAPI
/Volumes/rob/code/offenesdresden.de/themenstadtscraper
# Python-Tätigkeiten und Schlagwörter
Diese Liste fasst die mit Python umgesetzten Tätigkeiten aus der Knowledge Base und den bekannten Projekten zusammen.
## Webentwicklung und Backends
- Django-Webanwendungen
- Django CMS
- Django-Projekt- und App-Architektur
- URL-Routing und Namespaces
- Funktionsbasierte und generische Views
- Django ORM und relationale Datenmodelle
- Datenbankmigrationen
- Django Admin
- Authentifizierung und Formulare
- Template-Vererbung
- Statische Dateien und Medien
- Filterung und Paginierung
- Transaktionale Datenimporte
- Factory- und Service-Layer
- Streamlit-Webanwendungen
- Bootstrap- und jQuery-Integration
- Hugo-Prebuild-Automatisierung
## APIs, Web-Scraping und Datengewinnung
- REST- und Web-API-Anbindung
- MediaWiki-API
- Tokenbasierte Anmeldung
- Session- und Cookie-Verwaltung
- HTTP-GET- und POST-Anfragen
- Web-Scraping
- HTML-Parsing
- Beautiful Soup
- Requests
- lxml und html5lib
- OpenGraph-Metadaten extrahieren
- Bilder und Medien automatisiert herunterladen
- Immobilienangebote auslesen
- Veranstaltungsdaten sammeln
- Stiftungsinformationen extrahieren
- Lottoziehungen automatisiert erfassen
- Radiosender und Playlists auslesen
- Browserformulare und Zeitbuchungen automatisieren
- HTML-Formularabläufe rekonstruieren
- Mailbox- und MIME-Inhalte verarbeiten
- Thunderbird-Mailboxen einlesen
## Datenverarbeitung und Datenanalyse
- CSV-, JSON- und Excel-Verarbeitung
- JSON-zu-CSV-Konvertierung
- CSV-zu-JSON-Zusammenführung
- Pandas-Datenanalyse
- Bank- und Steuerdaten kategorisieren
- Deutsche Zahlen- und Datumsformate normalisieren
- Unregelmäßige Datumsangaben verarbeiten
- Daten aus mehreren Quellen zusammenführen
- Datenbereinigung und Normalisierung
- Dubletten erkennen und verhindern
- Namensnormalisierung und Datensatz-Matching
- Mehrdeutige Zuordnungen auflösen
- Geschäftsregeln validieren
- Förderquoten berechnen
- Häufigkeitsanalysen durchführen
- Statistische Ergebnisse visualisieren
- Matplotlib-Diagramme erzeugen
- Konfigurationsgesteuerte Verarbeitungspipelines
## Excel- und Office-Automatisierung
- Excel-Dateien mit OpenPyXL lesen und schreiben
- Mehrere Arbeitsblätter verarbeiten
- Spalten und Felder konfigurierbar zuordnen
- Mitarbeiter- und Stammdaten zusammenführen
- Excel-Vorlagen automatisiert befüllen
- Arbeitsblätter aus Templates erzeugen
- Tätigkeitsnachweise generieren
- Anwesenheitslisten generieren
- Personalisierte Dokumente im Batch erstellen
- Dateinamen regelbasiert erzeugen
- Eingabedateien und Templates validieren
- Dry-Run und Ausgabevorschau implementieren
## PDF-Verarbeitung
- PDF-Formularfelder analysieren
- AcroForm-Felder automatisiert befüllen
- Personalisierte PDFs generieren
- PDF-Templates validieren
- PDF-Inhalte und Feldpositionen untersuchen
- JavaScript aus PDFs entfernen
- Bearbeitungseinschränkungen entfernen
- Read-only-Flags korrigieren
- PDF-Appearance-Streams reparieren
- PDFs mit PyPDF, PikePDF und PyMuPDF bearbeiten
- PDF-Ergebnisse automatisiert überprüfen
## Inhaltsmigration und Dateiverarbeitung
- MediaWiki nach Obsidian migrieren
- HTML nach Markdown konvertieren
- Wiki-Links nachbearbeiten
- Seitenhierarchien als Verzeichnisse abbilden
- Inhaltsverzeichnisse erzeugen
- Kategorien, Links und Revisionen extrahieren
- Metadaten als JSON speichern
- Rekursive Verzeichnisverarbeitung
- Dateien automatisiert strukturieren und benennen
## Bild- und Metadatenverarbeitung
- EXIF-Metadaten analysieren
- Fehlerhafte Aufnahmedaten korrigieren
- Datumsangaben aus Ordnernamen ableiten
- Zeitspannen auf Fotos übertragen
- Dateisystem-Zeitstempel ändern
- Vorschaubilder erzeugen
- Rekursive Fotosuche
- Automatische Backups vor Dateiänderungen
- Undo-Funktionen und Änderungsprotokolle
- Immich-Metadatenprobleme untersuchen
## Geodaten und Karten
- Adressen geokodieren
- Koordinaten ermitteln
- GeoJSON-Daten erzeugen
- Räumliche Daten in Django speichern
- Leaflet-Karten integrieren
- Kartenmarker aus Datenmodellen erzeugen
- Dynamische Popups erstellen
- Marker abhängig von Zeitwerten einfärben
## Benutzeroberflächen und Kommandozeilenwerkzeuge
- Streamlit-Dashboards
- Tkinter-Desktop-GUIs
- Dateiauswahl und Verzeichnis-Browser
- Thumbnail- und Änderungsvorschauen
- Interaktive Filter und Mehrfachauswahl
- Kommandozeilenprogramme mit Click
- CLI-Programme mit Argparse
- Interaktive Eingabe und Bestätigung
- Headless- und Cold-Run-Modi
- Batch-Verarbeitung
- Fortschritts-, Status- und Fehlermeldungen
## Architektur und Softwarequalität
- Modularisierung in Parser, Validator, Matcher und Writer
- Dataclasses und typisierte Datenmodelle
- Type Hints
- Eigene Exception-Hierarchien
- Konfigurationsdateien mit JSON und INI
- Eingabe- und Geschäftsregelvalidierung
- Logging und Debug-Ausgaben
- Dry-Run-Sicherheitsmechanismen
- Unit-Tests mit Pytest
- End-to-End-Tests
- Fixtures und temporäre Testverzeichnisse
- Testabdeckung mit pytest-cov
- Codeformatierung mit Black
- Linting mit Flake8
- Typprüfung mit MyPy
## Datenbanken und Betrieb
- SQLite
- MySQL
- PostgreSQL-Vorbereitung
- ORM-Transaktionen
- Behandlung von Integritätsfehlern
- Virtuelle Python-Umgebungen
- Conda-Umgebungen
- Abhängigkeiten mit Requirements-Dateien verwalten
- Gunicorn und WhiteNoise
- Heroku-Vorbereitung
- S3-kompatibler Speicher mit Boto3 und django-storages
- Plattformübergreifende Startskripte für macOS, Linux und Windows
+8
View File
@@ -3,6 +3,14 @@ Enthält alle Rollen in denen ich schon Tätig war
## Berufliche Rollen ## Berufliche Rollen
### Hauptentwickler und Projektkoordinator für VISOR/OProc
- Kontext: Prototype-Fund-gefördertes Civic-Tech-Projekt VISOR/OProc zur Beschreibung und Visualisierung öffentlicher, insbesondere partizipativer Stadtentwicklungsprozesse.
- Zeitraum: August 2017 bis Mai 2018, belegt durch eigene Commits in den Repositories `oproc`, `in-transit` und `d3-oproc`.
- Kooperation: Regelmäßige Arbeits- und Abstimmungstreffen mit Forschenden der HTW Dresden zur Erhebung fachlicher Anforderungen, Weiterentwicklung des Datenmodells und Gestaltung des Visualisierungswerkzeugs.
- Rolle: Hauptentwickler mit Verantwortung für die inhaltliche und konzeptionelle Weiterentwicklung des Tools, die Zusammenarbeit mit der HTW und das Vorantreiben des Entwicklungsprozesses; enge Zusammenarbeit mit Astro, dessen Schwerpunkt auf der technischen Umsetzung lag.
- Tätigkeiten: Entwurf und iterative Weiterentwicklung des offenen OProc-Datenmodells; Überführung fachlicher Anforderungen in Funktionen und Visualisierungskonzepte; Konzeption und Entwicklung der Prozess-Timeline, von Swimlanes, Filtern, Suche, Auswahl- und Detailansichten sowie der Verbindung von zeitlicher Darstellung und Prozessgraph; Abstimmung, Priorisierung und Begleitung der technischen Implementierung.
### Systemadministrator und Entwickler für private Infrastruktur ### Systemadministrator und Entwickler für private Infrastruktur
- Kontext: Eigene Infrastruktur-, Automatisierungs- und Datenmigrationsprojekte in den Repositories `lokale-scripte`, `ScrapeMediawiki` und `obsidian-backup`. - Kontext: Eigene Infrastruktur-, Automatisierungs- und Datenmigrationsprojekte in den Repositories `lokale-scripte`, `ScrapeMediawiki` und `obsidian-backup`.
+20
View File
@@ -259,6 +259,24 @@ Jede Technologie wird einzeln genannt und enthält das Level der verwendeten Kom
- Einsatz: Web- und Full-Stack-Entwicklung. - Einsatz: Web- und Full-Stack-Entwicklung.
- Kontext: berufliche Erfahrung in Webentwicklung und Full-Stack-Projekten. - Kontext: berufliche Erfahrung in Webentwicklung und Full-Stack-Projekten.
### Preact und Redux
- Komplexität: Komponentenbasierte Single-Page Application mit mehreren voneinander abhängigen Datenansichten und gemeinsamem Interaktionszustand.
- Einsatz: Aufbau des VISOR-Frontends mit Preact-Komponenten und Routing; zentrale Zustandsverwaltung für geladene und gefilterte OProc-Daten, Zoom, Suche, Markierungen und Auswahl; Redux-Actions und Reducer sowie Ableitung gefilterter Ansichten aus Daten- und Filterzustand.
- Projekt: VISOR/OProc, August 2017 bis März 2018, belegt durch eigene Commits im Repository `in-transit`.
### SVG, Dagre und interaktive Prozessvisualisierung
- Komplexität: Gemeinsame Visualisierung zeitlicher, hierarchischer und gerichteter Prozessbeziehungen mit miteinander gekoppelten Interaktionen.
- Einsatz: SVG-Timeline mit Zeitachsen, Zoom, Verschieben, Swimlanes, kollisionsarmer Stapelung und Verbindungslinien; gerichteter Abhängigkeitsgraph mit Dagre-Layout; visuelle Kodierung von Beteiligung und übergeordneten Prozessen; Hover-, Auswahl-, Filter-, Such- und Detailinteraktionen über beide Ansichten.
- Projekt: VISOR/OProc, September 2017 bis März 2018, belegt durch eigene Commits im Repository `in-transit`.
### Moment.js
- Komplexität: Einheitliche Darstellung und Verarbeitung von Datumswerten in zeitbasierten Prozessansichten.
- Einsatz: Formatierung der Zeitachse, Prozessbeschriftungen, Chronologie, Ergebnislisten und Detailansichten im Browser.
- Projekt: VISOR/OProc, belegt durch Implementierung und eigene Commits im Repository `in-transit`.
### Shopware und WordPress ### Shopware und WordPress
- Komplexität: Webshop- und Content-Management-Systeme. - Komplexität: Webshop- und Content-Management-Systeme.
@@ -270,6 +288,8 @@ Jede Technologie wird einzeln genannt und enthält das Level der verwendeten Kom
- Komplexität: Datenmodellierung, Datenintegration und Schnittstellenprogrammierung. - Komplexität: Datenmodellierung, Datenintegration und Schnittstellenprogrammierung.
- Einsatz: Datenbankdesign und -optimierung; Integration und Kapselung von Schnittstellen, Datenformaten und Services. - Einsatz: Datenbankdesign und -optimierung; Integration und Kapselung von Schnittstellen, Datenformaten und Services.
- Kontext: Webprojekte, selbstständige Full-Stack-Projekte und vrbits GmbH. - Kontext: Webprojekte, selbstständige Full-Stack-Projekte und vrbits GmbH.
- Zusätzlicher Einsatz: Entwurf und iterative Weiterentwicklung von OProc als offenem, URL-basiertem JSON-Datenmodell für Stadtentwicklungsprozesse mit Prozessen, Stakeholdern, Beteiligung, Orten, Resultaten, Dateien und Verweisen auf parlamentarische Daten.
- Projekt: VISOR/OProc, August 2017 bis Mai 2018, belegt durch eigene Commits im Repository `oproc`.
## Betrieb, Qualität und Delivery ## Betrieb, Qualität und Delivery