xscDevBlog – LastSharp & Co.

Der xscheme-DevelopmentBlog

Archive for the ‘HowTo’ tag

Wie entwickle ich meine eigene Scriptsprache? Ein Abenteuer in Teilen.

with 6 comments

In diesem Artikel, dem ersten von vielen, geht es um die Entwicklung einer eigenen Script- oder Programmiersprache. Das sei nur für die erwähnt, die sich Angesichts des Vorgeplänkels der nächsten zwei Absätze fragen: “Was wird das denn jetzt?und dann wieder verschwinden wollen…

Vorspiel

Neben LastSharp und LeSharp, den beiden Tools, die für eine breite Masse gedacht und deshalb auch zumindest ein bisschen nützlich sind, arbeite ich noch an zwei eher theoretischen Projekten: UVD (das im Moment ruht) und Lapicon (Loose API Connection Language).

Letzteres ist eine Scriptsprache zum Senden und Verarbeiten von REST-Requests, also zum Verwenden verschiedenster APIs, z.b. dem von Last.FM. Kein großer Leckerbissen für den Otto-Normal-Benutzer also und auch für Entwickler, die sich mit dem Thema beschäftigen, ist die Sprache nicht der Inbegriff von Eleganz. Deshalb mein Entschluss: Lapicon muss von Grund auf neu entwickelt werden. Das bedeutet: neue Funktionen, mehr Komfort, bessere Performance, usw… Alles in allem keine triviale Aufgabe.

Und dann kam mir die Idee, meinen Versuch zu protokollieren und somit allen, die daran interessiert sind, eine eigene Programmier- oder Scriptsprache zu entwickeln, ein Stückchen weiterzuhelfen. Eine kleine Reise, ein kleines Abenteuer also.
Read the rest of this entry »

Written by xsc

Juli 28th, 2009 at 8:19 pm

Proxy-Server verwenden (C#)

without comments

Einen Proxy kann man sich als Zwischenstation vorstellen: man schickt ihm eine Anfrage (z.B.: “Hole die Website XY”), er speichert das entsprechende Ergebnis (z.B. die Seite XY) und überträgt es an den Anfragenden (Client).

Ein ganz klarer Vorteil hiervon ist der Schutz des Clients: ein Proxy-Server bietet aufgrund seines einfacheren Aufbaus viel weniger Angriffsfläche als der eigentlich anfragende Rechner – man denke nur an die regelmäßig auftretenden Sicherheitslücken in populären Betriebssystemen – und garantiert außerdem ein gewisses Maß an Anonymität, da nur die IP des Proxies nach außen hin sichtbar ist.

Nachteile wiederum sind, dass man sich nicht sicher sein kann, was der Server protokolliert und speichert, und ob die Daten, die bei einem selbst ankommen, nicht auf dem Weg (vom Proxy) modifiziert wurden. Des weiteren werden viele Proxies von einer großen Anzahl Anwendern genutzt, was einen Geschwindigkeitsverlust im Vergleich zu “normalen” Verbindungen bedeuten kann. Ein ebenso großes Problem kann es sein, wenn Funktionen fehlen (z.B. die Möglichkeit, Daten zu übertragen oder Dateien herunterzuladen) oder wenn der Server eine Inkompatibilität zum verwendeten Programm aufweist. (z.B. Server des CoDeeN-Networks zu .NET-Programmen)

Trotzdem, genug des Geplänkels, die Verwendung eines Proxies im eigenen Programm ist nicht sonderlich schwer.

Read the rest of this entry »

Written by xsc

Oktober 7th, 2008 at 12:14 am

Posted in C#, HowTo

Tagged with , , ,

(Quadratische) Thumbnails erstellen (PHP)

with 2 comments

Wenn man im heutigen Web 2.0 einmal die Runde macht, findet man sie überall – manchmal einzeln und verloren als Avatar, manchmal in kleinen Grüppchen (z.B. in Website-Verzeichnissen) oder in riesigen Ansammlungen wie auf Flickr oder der Google-Bildersuche. Die Rede ist – und der gewiefte Leser wird das schon nach der Überschrift gewusst haben – von Thumbnails.

Read the rest of this entry »

Written by xsc

September 15th, 2008 at 2:04 pm

Posted in HowTo, PHP

Tagged with , , , ,

Eigenes Caching-System erstellen (PHP)

without comments

Ein User, der eine Internetseite besucht, erwartet von dieser, dass sie schnell reagiert. Niemand will lange warten, bis ein PHP-Script alle Datensätze aus einer Datenbank geladen hat oder bis ein anderes den Inhalt benutzerfreundlich, womöglich in Tabellenform darstellt. Nur wie kann man Datenbankzugriffe minimieren? Wie kann man Berechnungen/Verarbeitungen einschränken? Die Antwort liegt nahe: ein Cache.

Read the rest of this entry »

Written by xsc

August 19th, 2008 at 5:31 pm