Lebenslanges Lernen und die Zukunft der Informatik-Ausbildung Ausbildung Frameworks Studium 

Lebenslanges Lernen und die Zukunft der Informatik-Ausbildung

Im Mai 2019 habe ich wieder einmal das MobileCamp in Dresden besucht. Es wurde wieder intensiv über aktuelle Herausforderungen bei der Web- und Appentwicklung diskutiert. Ein Diskussionsgegenstand war dabei die Problematik, die passende Technologie zu finden, d.h. die passende Programmiersprache und ein geeignetes Framework. Markus Falk hat in diesem Zusammenhang eine Übersicht über mobile Frameworks zusammengestellt, die nach der Zielplattform und der verwendeten Programmiersprache gefiltert werden kann. Die Vielzahl an verfügbaren Technologien kann für den Entwickler auf dem heutigen Arbeitsmarkt durchaus zur Herausforderung werden. Wer einen neuen Arbeitgeber sucht oder…

Read More
Animierter Sternenhimmel mit Velocity JS Frameworks Velocity 

Animierter Sternenhimmel mit Velocity JS

Voriges Jahr habe ich bereits einen Beitrag über die Programmierung eines animierten Sternenhimmels mit Javascript Canvas geschrieben. Die Programmierung war zwar mathematisch interessant, aber recht aufwändig, da Canvas von Haus aus keine dreidimensionalen Koordinaten unterstützt. Die x- und y-Positionen der Sterne habe ich daher mit Hilfe der Formeln der perspektivischen Projektion so berechnet, dass ein räumlicher, dreidimensionaler Eindruck entsteht. CSS-Animationen sind eine Alternative zur Animation mit Javascript Canvas. Dabei werden sogar 3D-Transformationen unterstützt, wie z.B. “translateX, translateY, translateZ”, “rotateX, rotateY, rotateZ” oder “scaleX, scaleY, scaleZ”. Das verspricht eine viel einfachere…

Read More
Animierter Tunnel mit Kurven (Javascript Canvas) Frameworks Javascript Canvas 

Animierter Tunnel mit Kurven (Javascript Canvas)

Vor ein paar Monaten habe ich diesen animierten Tunnel programmiert: See the Pen Simple 3d tunnel with curves by Anna Prenzel (@blaustern_fotografie) on CodePen. Hintergrund: Vorher hatte ich (auf Anregung meiner Mama) den animierten Sternenhimmel programmiert, den ich in diesem Beitrag beschrieben habe. Dabei lernte ich die perspektivische Projektion kennen, mit der sich dreidimensionale Punkte auf dem zweidimensionalen Bildschirm darstellen lassen. Auf einmal öffnete sich für mich ein Tor zur 3D-Grafikprogrammierung, ein Gebiet, mit dem ich mich vorher noch nicht beschäftigt hatte. Mein Interesse war geweckt. Das nächste Projekt sollte…

Read More
Animierter Sternenhimmel mit Javascript Canvas Frameworks Javascript Canvas 

Animierter Sternenhimmel mit Javascript Canvas

Die Intros alter Star-Trek-Serien zeigen einen virtuellen Flug durch den Weltraum: Ich mag diese Animation, denn sie ist einfach und trotzdem effektvoll. So etwas möchte ich mit Javascript Canvas programmieren. In diesem Tutorial erkläre ich Schritt für Schritt eine mögliche Lösung. Vorbereitung Zuerst lege ich den benötigten HTML-Code an. Er enthält das <canvas>-Tag, also die “Leinwand”, auf die ich später mit Javascript “zeichnen” werde. Ich speichere die Seite z.B. unter dem Namen “stars.html” (weitere Infos zum Umgang mit HTML-Dateien gibt es hier). Im Head-Bereich verlinke ich die Javascript-Datei, in die ich den…

Read More
Animierte Blattranke mit Javascript Canvas (Teil 2) Frameworks Javascript Canvas 

Animierte Blattranke mit Javascript Canvas (Teil 2)

Willkommen zum zweiten Teil meines Javascript-Canvas-Tutorials! Die Programmierung meiner fraktalen, ornamentalen Blumenranke tritt nun in die entscheidende Phase. Mit der animierten Sinuskurve habe ich im ersten Teil bereits die Grundform der Hauptranke definiert. Im nächsten Schritt muss die rekursive Verzweigung der Ranke implementiert werden.   Rotation und Translation Die Verzweigung der Ranken funktioniert unter der Voraussetzung, dass Sinuskurven beliebig rotiert und translatiert (d.h. verschoben) werden können.   Beispiel 1 Eine Ranke muss entlang der x- und y-Achse jeweils um einen bestimmten Betrag (“Offset”) verschoben werden können. Ich speichere die Offsets…

Read More
Animierte Blattranke mit Javascript Canvas (Teil 1) Frameworks Javascript Canvas 

Animierte Blattranke mit Javascript Canvas (Teil 1)

Mein Fotoblog Blaustern Fotografie sollte mit einer animierten, wachsenden Blumenranke geschmückt werden. Das Ergebnis können Sie bereits im Fotoblog betrachten (nur für Bildschirme ab 900px Breite). In diesem zweiteiligen Tutorial erkläre ich, wie das Ornament programmiert ist.   Der Aufbau der Ranke folgt dem Konzept der fraktalen Geometrie: Von der Hauptranke zweigen sich mehrere Seitenranken ab, die selbst genauso aussehen wie die Hauptranke. Jede Seitenranke verzweigt sich auf die gleiche Weise wie die Hauptranke. Dadurch entstehen neue Ranken, die sich wiederum verzweigen und so weiter und so fort – bis…

Read More
Konfiguration von Microsoft MapPoint auf Windows Server 2008 zur  Verwendung in einer ASP .NET Web-Applikation ASP .NET Frameworks Windows Server 

Konfiguration von Microsoft MapPoint auf Windows Server 2008 zur Verwendung in einer ASP .NET Web-Applikation

Problem: Beim Aufruf der MapPoint-Komponente (oder einer anderen Office-Komponente) aus einer ASP .NET  Web-Applikation heraus wird eine Exception ausgelöst: 0x80080005 (CO_E_SERVER_EXEC_FAILURE) – Starten des Servers fehlgeschlagen Ursache: MapPoint gehört in die Reihe der Office-Applikationen. Diese sind nur für den interaktiven Einsatz (also mit GUI) unter einem normalen Windows-Benutzerkonto vorgesehen. In der Webapplikation wird MapPoint allerdings unter dem Konto „Netzwerkdienst“ ausgeführt, welches kein normales Benutzerkonto ist (eine Anmeldung bei Windows ist unter diesem Konto z.B. nicht möglich). Microsoft erklärt u.a. unter folgendem Link ausdrücklich, dass bei einer derartigen Verwendung u.a. der…

Read More
Integration des GLPK-Solvers in ein C#-Programm (Teil 2) Frameworks 

Integration des GLPK-Solvers in ein C#-Programm (Teil 2)

Nachdem ich im ersten Teil des Tutorials das Einbinden und Aufrufen des GLPK-Solvers in ein C#-Programm beschrieben habe, möchte ich nun auf die weiteren Schwierigkeiten eingehen, denen man speziell bei der Nutzung des MIP-Solvers aus einem C#-Programm gegebenübersteht. Der GLPK-MIP-Solver arbeitet mit Branch-and-Cut-Algorithmen, deren Abarbeitung vom Anwendungsprogramm über eine callback-Methode gesteuert werden kann. An dieser Stelle sei wieder auf die GLPK-Webseite zu genauen Details über diese Verfahren verwiesen. Im Folgenden ist der Ausschnitt einer solchen Callback-Funktion zu sehen, die sich nicht von einer entsprechenden C-Funktion unterscheidet. Die Verwendung von Zeigern…

Read More
Integration des GLPK-Solvers in ein C#-Programm (Teil 1) Frameworks 

Integration des GLPK-Solvers in ein C#-Programm (Teil 1)

Im ersten Teil dieser Serie wird das Einbinden und Aufrufen des Solvers behandelt. Da es sich bei der glpk-dll um nicht verwalteten C-Code handelt, der aus verwaltetem C#-Code heraus aufgerufen wird, muss zunächst folgender Namespace eingebunden werden: using System.Runtime.InteropServices; Des Weiteren ist der Pfad zur glpk-dll in einer konstanten String-Variable abzulegen. Der Pfad kann also nicht zur Laufzeit gesetzt werden: const string glpkLibrary = “C:\…\glpk_4_34.dll” Das DllImport-Attribut wird vor die Funktionsdeklaration jedes verwendeten glpk-Einstiegspunktes, d.h. jeder verwendeten glpk-Funktion, gesetzt. Die Signatur jeder Funktion muss dem Namen einer von der DLL…

Read More