angle-up arrow-clockwise arrow-counterclockwise arrow-down-up arrow-left at calendar card-list chat check envelope folder house info-circle pencil people person person-plus phone plus question-circle search tag trash x

Über

11 August 2019 Aktualisiert 26 Mai 2020

Diese Website ist ein mehrsprachiges CMS / Blog, das ich mit Python, den framework Flask und SQLAlchemy erstelle. Es wird auf meinem Server ISPConfig3 (Nginx + Mariadb) unter Verwendung von Docker bereitgestellt, der auch für die Entwicklung verwendet wird. Die Website bietet user Registrierung, viele Administratorfunktionen, Datenschutz und Sicherheit, so dass dies kein kleines Projekt ist. Einige 'Highlights':

Technik

  • Python 3 (3.7)
  • Flask
  • SQLAlchemy
  • Mariadb
  • Docker, docker-compose
  • Q4_196_ZÖNEMECALPER_4Q4
  • Fontawesome
  • Tinymce
  • ISPConfig3

Bereitstellung

Die Schritte sind Entwicklung, staging und Produktion, alle mit Docker und docker-compose. Die Entwicklung verwendet den Entwicklungsserver Flask , staging und die Produktion verwendet den Server Gunicorn . Schließlich wird ISPConfig3 zur Steuerung der Domäne, der Datenbank und der SMTP -E-Mail verwendet, Nignx ist als reverse proxy konfiguriert.

Datenschutz

Erwarten Sie nicht, dass Sie hier Lösungen wie die Verwendung von CDNs, Google Analytics, Facebook Plugins usw. finden. Die Privatsphäre ist eines der wichtigsten Dinge im Leben. Es ist zwar unmöglich zu verhindern, dass wir verfolgt und unsere wertvollen privaten Daten gesammelt werden, aber ich glaube, wir müssen uns alle bemühen, dies zu minimieren.

Sicherheit

Sicherheit ist immer ein laufender Prozess. Das fängt beim Design für Sicherheit an, was auch bedeutet, dass Sie viel Mühe in die Protokollierung der Dinge stecken müssen. Es gibt großartige Werkzeuge wie OWASP ZAP und Online-Dienste wie securityheaders.com und detectify.com, die Ihnen helfen können, Schwachstellen zu identifizieren.

Mehrsprachig

Während der Text dieser Website auf Englisch verfasst ist, unterstützt sie mit der Erweiterung Flask-Babel mehrere Sprachen. Die Texte in den anderen Sprachen werden zur Zeit mit Hilfe der DeepL API maschinell übersetzt und sind manchmal alles andere als perfekt, aber Sie können die messages.po -Dateien jederzeit bearbeiten.

Maschinelles Lernen

Die künstliche Intelligenz (AI) dringt auf vielfältige Weise in unser Leben ein. Python ist die Sprache, die beim maschinellen Lernen und beim Tiefenlernen verwendet wird. Mir persönlich gefallen diese Entwicklungen nicht, weil niemand für die getroffenen Entscheidungen haftbar gemacht werden kann. Aber AI kann uns auch auf gute Art und Weise helfen, z.B. durch Empfehlungen für andere Nachrichten am Ende einer Nachricht.

Mehr dazu: Kivy

War auch auf der Suche nach einem Python GUI. Ich begann mit tkinter , stellte aber bald fest, dass dies für meine Zwecke viele Einschränkungen hatte. Ich stieß auf Kivy und begann, eine erste Anwendung damit zu erstellen. Sie können auch eine Kivy -Anwendung auf Android einsetzen, aber wollen wir das Android -Ökosystem unterstützen? Wird auch über mein Kivy -Projekt berichten.

Wie geht es weiter?

In den nächsten Monaten werde ich versuchen, einige der Dinge zu dokumentieren, die ich getan habe, damit das funktioniert, wie z.B. die Verwendung von SQLAlchemy ohne Flask-SQLAlchemy, Vermeidung schlecht gewarteter Flask -Erweiterungen, Migrationen mit Alembic, Minimierung der Größe einer Docker image, docker-compose -Konfiguration.

Vielen Dank, Peter

Einen Kommentar hinterlassen

Kommentieren Sie anonym oder melden Sie sich zum Kommentieren an.

Kommentare

Eine Antwort hinterlassen

Antworten Sie anonym oder melden Sie sich an, um zu antworten.