Over

11 augustus 2019 Bijgewerkt 31 oktober 2019

Deze website is nog niet af. Ik ben ermee begonnen omdat ik het wilde leren Python, ORM en de framework Flask. En omdat ik het wilde inzetten op mijn ISPConfig3 (Nginx + Mariadb) webserver moest ik ook een duik nemen in Docker. Dit is het eerste resultaat, enkele 'hoogtepunten':

Techniek

  • Python 3 (3.6)
  • Flask
  • SQLAlchemy
  • Mariadb
  • Docker, docker-compose
  • Bootstrap4
  • Fontawesome
  • Tinymce
  • ISPConfig3

Inzet

De stappen zijn ontwikkeling staging en productie, allemaal met behulp van docker en docker-compose. De ontwikkeling maakt gebruik van de Flask ontwikkelingsserver, staging en de productie gebruikt de Gunicorn server. Ten slotte wordt ISPConfig3 gebruikt om het domein, de database en SMTP e-mail te beheren, Nignx is geconfigureerd als een omgekeerde proxy.

Ik heb software geschreven voor een blog/CMS website, deze website in feite, met gebruikersregistratie en een groot aantal beheerdersfuncties. Dit is dus geen klein project.

Privacy

Verwacht hier geen oplossingen zoals het gebruik CDNvan s, Facebook plugins Google Analytics, etc. te vinden. Privacy is een van de belangrijkste dingen in het leven. Hoewel het onmogelijk is om te voorkomen dat we worden opgespoord en onze waardevolle privégegevens worden verzameld, denk ik dat we ons allemaal moeten inspannen om dit tot een minimum te beperken.

Meertalig

De tekst van deze website is weliswaar in het Engels geschreven, maar ondersteunt meerdere talen met behulp van de Flask-Babel extensie. De andere taalteksten worden momenteel machinaal vertaald met behulp van de DeepL API en zijn soms verre van perfect, maar u kunt de messages.po bestanden altijd bewerken.

Machinaal leren

Kunstmatige intelligentie (AI) dringt ons leven op vele manieren binnen. Python is de taal die gebruikt wordt bij machinaal leren en diep leren. Persoonlijk ben ik niet blij met deze ontwikkelingen, omdat niemand aansprakelijk kan worden gesteld voor de genomen besluiten. Maar AI kan ons ook op een goede manier helpen, zoals het aanbevelen van andere nieuwsberichten aan het einde van een nieuwsbericht.

Meer: Kivy

Was ook op zoek naar een Python GUI. Begonnen met het gebruik tkinter , maar al snel bleek dat dit veel beperkingen had voor mijn doel. Kwam tegen Kivy en ging er een eerste app mee bouwen. Het is niet eenvoudig, maar het leuke is dat je ook een Kivy app kunt inzetten op Android. Zal ook berichten plaatsen over mijn Kivy project.

Wat is het volgende?

De komende maanden zal ik een aantal van de dingen die ik heb gedaan om dit te laten werken, zoals het gebruik van SQLAlchemy zonder Flask-SQLAlchemy, migraties met Alembicbehulp van , het minimaliseren van de grootte van een Docker image gebruik Python wheels, docker-compose configuraties documenteren. Natuurlijk is de meeste informatie te vinden op het internet, wat betekent dat ervaren programmeurs waarschijnlijk niet veel nieuws zullen vinden.

Dank u, Peter