Programmierprojekte: Unterschied zwischen den Versionen

Aus CodicaTipps
Zur Navigation springen Zur Suche springen
(kein Unterschied)

Version vom 4. November 2009, 16:42 Uhr

Siehe oldCt:Informationstechnik#Programmierprojekte

KommunenViewer

PDF-Maschine

  • Status: Idee
  • Ziel: Zurverfügungstellung eines virtuellen Netzwerkdruckers auf dem lokalen PC, der die Druckausgaben in PDFs umwandelt.
  • Umsetzung: Linux-Server mit CUPS, PDF-Druckertreiber und Samba. Der PDF-Drucker sollte die PDFs in ein öffentliches Verzeichnis des Linux-Servers ablegen, auf das (Windows)-Clients zugreifen können. Der Linux-Server wird in einer (kleinen) virtuellen Maschine mittels Virtual Box aufgesetzt. Diese Virtuelle Maschine sollte beim Booten automatisch gestartet werden.

MediaWiki-Sync

  • Status: Idee
  • Ziel: Synchronisation eines MediaWikis mit einem Offline-MediaWiki, so dass Änderungen z.B. auf einem Laptop wieder ins Haupt-MediaWiki eingespeist werden können, ohne dass Änderungen auf dem Laptop noch auf dem Hauptserver verloren gehen.
  • Umsetzung: Nutzen des XML-Outputs von Mediawiki (Über Seite Spezial:Export);
    1. Herunterladen des kompletten Wikis auf den Laptop
    2. Änderungen auf Laptop und Server vornehmen
    3. Maschinelles Überprüfen, ob auf dem Laptop neuere Versionen als auf dem Server vorhanden sind; dann einspeisen auf dem Server (über Spezial:Import)
    4. Anschließend wieder komplettes Herunterladen auf den Laptop nötig.
  • Weitere Infos:

SimpleServerEditor

Kalenderwoche-Rechner

  • Status: Beginn der Umsetzung (s. Google Gadget Kalenderwoche)
  • Ziel:
    1. Auf einer Webseite soll als Information neben dem aktuellen Datum die aktuelle Kalenderwoche ausgegeben werden.
    2. Mittels zwei Eingabefelder soll zu einer bestimmten Kalenderwoche (Wochennummer + Jahr) das entsprechende Datum ausgegeben werden.
    3. Umgekehrt soll zu einem bestimmten Datum das Jahr ausgegeben werden.
    4. Evtl. als Yahoo/Google-Gadget zu implementieren.
  • Lösungsansatz: Definition der wikipedia:Kalenderwoche (Woche beginnt am Montag, die erste Woche beinhaltet den 4. Januar), s. auch Kalender. Hier findet sich ein eleganter Algorithmus zur Berechnung der Kalenderwoche und des Kalenderjahrs auf Basis der Erkenntnis, dass der
    1. erste Donnerstag eines Kalenderjahres immer in der ersten Kalenderwoche sich befindet und
    2. dass alle Donnerstage jeweils in dem Kalenderjahr liegen, zu dem auch die entsprechende Kalenderwoche gehört.
  • Ziel Nr. 1 ist erfüllt, (s. Google Gadget Kalenderwoche)

P2P-Backup

  • Status: Idee
  • Ziel:
    1. Private Rechner, die heutzutage über DSL ins Netz gehen, könnten auch der ideale Backup-Ort für Freunde sein. Wichtig ist dabei allerdings, dass selbst die "Freunde" nicht die zu backupenden Daten einsehen können. Außerdem sollte von vornherein bestimmt werden, wieviel Backup-Platz anderen zur Verfügung gestellt wird.
    2. Weitergehend könnte dies zu einer Art Community ausgebaut werden. Jeder bekommt Speicherplatz in Abhängigkeit von dem vom ihm zur Verfügung gestellten Platz/von seiner Erreichbarkeit.
    3. Überflüssiger/zu kleiner Speicherplatz könnte monetär abgerechnet werden.
    4. Möglich wären auch zweifach-/mehrfach-Sicherungen, wenn mehrere Rechner zur Verfügung stehen. Möglich wäre auch einzelne Backups auf mehrere Rechner zu verteilen (Vorteil insbesondere die Wiederherstellung müsste schneller gehen).
  • Lösungsansätze:
    1. Auf Remote Rechner sollte ein Image fester Größe angelegt werden, das mit einem verschlüsselnden Filesystem beschrieben wird. Der Remote Rechner sollte eine feste IP-Adresse haben oder per Dynamisches DNS zu erreichen sein. Der Remote Rechner müsste wohl einen SSH-Zugang zulassen (Zugriff sollte aber auf das genannte Image plus notwendige Programme wie sshd und z.B. rsync begrenzt werden). Der lokale Rechner muss z.B. durch einen Cron-Job mit ping feststellen, ob er einen Backup starten kann (Alternative: Anmeldung der Rechner an einer zentralen Stelle im Netz).
    2. Auf Remote Rechner läuft ein FTP-, WebDAV-Server oder ähnliches. Die Verschlüsselung erfolgt auf dem lokalen Rechner. Der Remote Rechner sollte eine feste IP-Adresse haben oder per Dynamisches DNS zu erreichen sein. Der lokale Rechner muss z.B. durch einen Cron-Job mit ping feststellen, ob er einen Backup starten kann (Alternative: Anmeldung der Rechner an einer zentralen Stelle im Netz).
    3. Variante: Es gibt einen festen Zwischenspeicher im Netz (z.B. freier WebDAV-Server von GMX). Darauf werden durch lokalen Rechner nach und nach Teile des Backups abgelegt. Der Remote Rechner holt dann nach und nach die Teile ab und gibt wieder Bereiche im Zwischenspeicher frei.
      • Lokaler Rechner: Erstellen der Backup-Datei (z.B. mit tar)
      • Lokaler Rechner: Verschlüsseln der Backup-Datei
      • Lokaler Rechner: Aufteilen der Backup-Datei in kleine Snippets (z.B. mit split)
      • Lokaler Rechner: Hochladen der Snippets zum Zwischenspeicher
      • Remote Rechner: Herunterladen der Snippets

Weitere Schritte:

  • Lokaler Rechner übermittelt Löschen-Befehl an Remote Rechner für alte Backup-Dateien
  • Lokaler Rechner übermittelt RESTORE Befehl an Remote Rechner, obiger Backup-Vorgang wird umgekehrt