Markus studiert!

@incredible_star Inzwischen sieht man ja, auf was Du antwortest.Sonst hätte ich jetzt fragen können: Auch die FB-Alternativen?

< letzter tweet

22. Februar, 21:02 Uhr

follow me: @markusstudiert

Was ich an Django so mag

Nachdem ich im dritten Semester zum ersten Mal intensiveren Kontakt mit Python hatte, habe ich die Sprache in den vergangenen Semestern immer stärker schätzen gelernt.

In diesem Semester setzen wir für die Server-Komponente unseres Mobile-Computing-Projekts ebenfalls auf Python, und zwar in Form des Web-Frameworks Django. Und das ist wirklich ein Genuss.

Zur Implementierung des Servers lieferte Django bereits alle notwendigen Komponenten. Das Framework bietet den besonderen Vorteil, dass die typischen Aufgaben einer Webanwendung, deren Hauptaufgabe die Verwaltung von Datensätzen ist, also deren Auflisten, Anzeigen, Finden und Editieren (CRUD), nach Erstellung von nur wenig eigenem Code bereits komfortabel zur Verfügung stehen. Es muss lediglich die Datenstruktur in Form von Models definiert werden. Anhand dieser Informationen kann Djongo schon die nötige Datenbankstruktur erzeugen und passende Formulare zum Editieren der Datensätze im mitgelieferten Admin-Bereich erzeugen.

Zur Implementierung der öffentlichen Schnittstellen der Anwendung reichen auch lediglich wenige Zeile Code aus. In Django werden diese mithilfe der Views erstellt, wobei man hier nur Ausnahmen behandeln muss, die über das Anzeigen von einzelnen Datensätzen oder Listen von Datensätzen hinaus gehen. Die für die App zur Verfügung gestellt API wird ebenfalls mit Hilfe der Views erzeugt, wobei dann das Antwort-Format nicht HTML ist, sondern JSON. Die Unterscheidung wird anhand das Accept-Headers in der Anfrage getroffen. Um die Implementierung eines eigenen Controllers muss man sich nicht kümmern, hier übernimmt das Framework bereits alle nötigen Aufgaben, sofern man die vorgegebenen Konventionen befolgt und die bereitgestellten Hilfsfunktionen verwendet.

Auch die Möglichkeit zum Testen seiner Anwendung sind genial, das Test-Framework kümmert sich um alle Aufgaben, lediglich die Unit-Tests muss man selber schreiben – was elegant von der Hand geht, dank einem mitgelieferten Test-Client der URL-Request simuliert.

Django nimmt einem durch viele Konventionen unheimlich viel Arbeit ab, und man kann sich auf das Wesentliche konzentrieren. Die Geschwindigkeit, mit der man in Django entwickeln kann ist beeindruckend und ich bin schwer am Überlegen, es auch für meine Thesis ein zu setzen…

< letzter blogeintrag

27. Januar, 09:01 Uhr

Tags:



What The Foto: WorkPackages

What The Foto?Über die Einführung der WorkPackages hatte ich ja schon an anderer Stelle gesprochen.

Hier möchte ich noch kurz das Python3-Script vorstellen, dass ich verwendet habe, um die Wiki-Seite mit den WorkPackages zu erstellen.
mehr »

< älterer blogeintrag

1. August, 06:08 Uhr

Tags:



What The Foto: API-Dokumentation

What The Foto?Ein nicht unerheblicher Teil meiner Arbeit am Projekt ist in die Erstellung einer übersichtlichen API-Dokumentation geflossen.
mehr »

< älterer blogeintrag

19. Juli, 17:07 Uhr

Tags:



Drucker automatisch passend zum Raum setzen

Dieses Python-Script ermittelt anhand des Hostnamens des Rechners, an dem man sich im Fachbereich der Medieninformatik an der Hochschule RheinMain einloggt, den passenden Drucker.

Installation

1
2
3
wget --no-check-certificate https://github.com/tacker/hsrm-mi-utils/raw/master/printer-autoselect.py -O ~/printer-autoselect.py
chmod +x ~/printer-autoselect.py
echo '~/printer-autoselect.py > /dev/null' >> ~/.bashrc

Anschließend wird das Script nach jedem Login ausgeführt.


Dropbox synct jetzt via WebDAV

Dropbox LogoEin Update am Ilias über Ostern hatte zur Folge, dass mein Synchronisations-Script, dass sich mit wget –mirror die Daten zieht, nicht mehr funktionierte.

Heute habe ich das Script dann vollständig auf Python umgestellt und verwende dazu diese WebDAV-Bibliothek.

Wer mag, kann sich den Quellcode meines Scripts auf github ansehen: WebdavMirror.py.