Benutzer-Werkzeuge

Webseiten-Werkzeuge


schule:gobby

Gobby

Gobby ist ein Editor für das kollaboratives Schreiben von Textdokumenten. Debian betreibt unter der Adresse gobby.debian.org einen eigenen Server, auf dem z.B. die Protokolle und Dokumentationen der eigenen Konferenzen umgesetzt werden. Das folgende Video zeigt, wie der Editor für das gemeinsame Programmieren eingesetzt werden kann.

Gobby als Live-Coding Umgebung

Gobby kann auch für das Live Coding eingesetzt werden. Die obige Abbildung zeigt vereinfacht das Prinzip: Wenn der infinoted-Server (das ist der Server, mit dem Gobby kommuniziert) so konfiguriert wird, dass er regelmäßig eine Kopie der erstellten Dokumente macht, können diese Dokumente durch ein eigenes Skript verarbeitet werden. Hier wollen wir eine Quelltextdatei übersetzen. Dazu wird das plugin directory-sync in der Datei %LOCALAPPDATA%\infinoted.conf (unter Linux liegt diese Datei in /etc/ oder ~/.config/) aktiviert und konfiguriert.

[infinoted]
...
plugins=note-text;directory-sync

[directory-sync]
directory=C:\\Users\\bakera\\AppData\\Local\\gobby\\syncdir
interval=5

Wenn der Server läuft, kann ein minimales C#-File in Gobby angelegt werden.

using System;
 
public class Test
{
	public static void Main()
	{
		Console.WriteLine("Hallo Welt");
	}
}

Sobald die Backup-Datei für die obige Datei angelegt wurde, kann ein Batchscript gestartet werden, das in regelmäßigen Abständen die exportierte Datei kompiliert und ausführt.

@echo off
 
REM Datei, die kompiliert werden soll
set vsdatei=C:\Users\bakera\AppData\Local\gobby\syncdir\Main.cs
 
REM Umgebung für Visual Studio Tool laden
call "C:\Program Files (x86)\Microsoft Visual Studio 12.0"\Common7\Tools\VsDevCmd.bat
 
REM Folgende Befehl laufen in einer Endlosschleife ab
:loop
 
REM Die Datei wird kompiliert
csc /nologo /out:%tmp%\main.exe %vsdatei% 
REM ggf. Ein paar Sekunden warten - Dann die folgende Zeile auskommentieren
REM timeout /t 1
REM Bildschirm leeren und Programm starten
cls 
%tmp%\main.exe
 
goto loop

Nun werden die Änderungen aller Nutzer nicht nur im Quelltext sofort sichtbar, sondern auch im Ergebnis der Programmausführung. Im folgenden Screenshot kann man das Skript, den Server und den Client in Interaktion sehen.

Das folgende Video zeigt, wie der Server gestartet und der Quelltext anschließend in Gobby modifiziert wird. Über das Zahnrad sollte die Qualität erhöht werden, damit die Schrift lesbar ist.

Mögliche Probleme

Das obige Skript funktioniert nicht, wenn Laufzeitfehler im Programm vorhanden sind oder es gar in eine Endlosschleife läuft. In diesem Falle muss es neu gestartet werden. Ebenso funktioniert das Verfahren nur mit Programmen, die wenig oder keine Nutzerinteraktion erfordern. Am besten sind also Szenarien mit einer festen Eingabe, für die man unterschiedliche Parameter durchspielen möchte.

schule/gobby.txt · Zuletzt geändert: 2017-04-19 08:39 von 127.0.0.1