Elnu CDN ist jetzt öffentlich!

Mit Elnu CDN ist mein eigenes Content Delivery Network nun endlich live gegangen. Seit einiger Zeit nutze ich es bereits selbst, um eigene Dateien, wie .js, .css, .png/.ipg, hochzuladen und über das bekannte CloudFlare CDN zu verbreiten. Ab sofort ist es aber für jeden nutzbar und beinhaltet auch alle bekannten Bibliotheken wie jQuery, Bootstrap, AngularJS oder VueJs.

Dabei ist die Funktionsweise sehr einfach erklärt. Mit einem MX-Code, den ihr über meine Social-Media Plattformen erhaltet kann man sich ganz simple anmelden und dann Dateien bis maximal 1.000 kb hochladen. Ein Limit wie viele Dateien es insgesamt sind, oder wie viel Speicher verbraucht wird gibt es nicht. Auch ein Traffic Limit gibt es nicht. Damit ist es ein großer Vorteil gegenüber Amazon oder ähnlichen Anbietern.

Die Daten werden dann auf einem Server abgelegt und von CloudFlare abgerufen. Durch den Caching-Mechanismus wird die Datei zum einem beim Client in den Browser Cache geschrieben und zum anderen über CloudFlares CDN weltweit bereitgestellt.

Eine Änderung oder Löschung der Datei aus dem Cache ist eigentlich nicht gedacht. Könnte aber durch ein erneutes Hochladen zurückgesetzt werden. Durch diesen Mechanismus lassen sich in der Regel mehrere GB Datentransfer und auch Performance einsparen.

Warte nicht länger und hole dir auch einen MX-Code. Damit stehen dir übrigens alle Produkte zur Verfügung. Dazu gehören unter anderem mein Monitoring Service, mein URL-Shortener „UX9“ inklusive Datei-Upload und der Zhylon Deployment Service.

GitHub bietet nun unbegrenzte private Repositories

So fängt das Jahr doch gut an. GitHub hat am vergangenen Montag bekannt gegeben, dass der kostenlose Plan nun auch unbegrenzt viele private Repositories enthält. Bislang war dies nur beim PRO-Plan möglich. Bis zu einer Anzahl von drei Projektteilnehmern benötigt man nun nur noch einen kostenlosen Plan.

Gerade für Schüler, Studenten und Personen, die gerade mit dem Programmieren anfangen wollen sind das gute Neuigkeiten. Im Gegensatz zu der Alternativen Bitbucket von Atlassian, bietet GitHub immer noch ein paar mehr nützliche Features. Vor allem im Bereich der Service Integrationen ist GitHub immer noch weiter vorn.

Nach der Übernahme durch Microsoft im vergangen Oktober, war dieser Schritt schon fast abzusehen. Das ursprüngliche Modell von GitHub zur Monetarisierung des Dienstes unterscheidet sich von Microsoft. Microsoft muss nicht mit kleinen Teams Geld verdienen – das ist der Hauptteil der Einnahmen. Stattdessen ist das Unternehmen mehr daran interessiert, große Unternehmen dazu zu bringen, den Dienst zu nutzen.

GitHub sagt heute, dass die GitHub Developer Suite zu GitHub Pro wird. Das Unternehmen gibt an, dies zu tun, um „den Entwicklern zu helfen, die benötigten Werkzeuge besser zu identifizieren“.

GitHub Business Cloud und GitHub Enterprise (jetzt als Enterprise Cloud und Enterprise Server bezeichnet) werden jetzt unter dem Label GitHub Enterprise und unter dem Preis pro Benutzer angeboten.

Wem die Plattform egal ist und mehr als drei Benutzer im Team haben möchte, der sollte sich mal GitLab anschauen. Hier bekommt der Benutzer kostenlos oder für wenig Geld viel extra Leistung. Gerade für kleinere Unternehmen zahlt sich das aus.

Neues Composer Release v1.6.4 mit Sicherheitsupdate

Am Freitag (13.04.2018) hat das Composer-Team v1.6.4 veröffentlicht welches ein Sicherheitsupdate enthält. Alle Benutzer sind also angehalten die neue Version zu installieren. Laut einem Tweet von Jordi Boggiano enthält es auch Triage/Merging/Fixing für fast 200 Issues. Eine Liste was das Release alles enthält findest du auf GitHub.

Composer v1.6.4

Hier mal der Auszug aus GitHub (via https://translate.google.de/):

  • Sicherheitsupdates in einigen Randfallszenarien, empfohlenes Update für alle Benutzer
  • Die Regression beim Versionsraten von Pfad-Repositories wurde korrigiert
  • Das Entfernen von Alias-Paketen aus dem Repository wurde behoben, wodurch einige ungewöhnliche Fehler behoben werden konnten
  • Die Aktualisierung von Paket-URLs für GitLab wurde korrigiert
  • Behoben run-script – list failing, wenn Scripthandler definiert wurden
  • Init-Befehl behoben, der bei der Auswahl von Paketversionen nicht die aktuelle PHP-Version berücksichtigt
  • Die Behandlung von Großbuchstaben-Paketnamen in Warum / Warum-Nicht-Befehlen wurde korrigiert
  • Behebung des Problems, dass die Symlink-Behandlung von classmap ausgeschlossen wurde
  • Dateisystem-Berechtigungen von PEAR-Binärdateien behoben
  • Verbesserte Leistung von Subversion-Repos
  • Weitere kleinere Korrekturen

Composer lässt sich wirklich einfach aktualisieren. Dazu einfach in der Konsole folgenden Befehl ausführen:

composer self-update

Laravel mit CMS: neue Website

Nach nun fast 4 Jahren habe ich meine neue Website mit Laravel 5.6 released. Das ist damit die 5. Überarbeitung innerhalb der letzten 10 Jahren. Die vorherige Version lief mit Laravel 5.0 mit wenig dynamischen Inhalten. Nun kommt WordPress und CoasterCMS zum Einsatz.
Nachdem ich im vergangenen Jahr (2017) nur sehr wenig Zeit zum überarbeiten meiner Website hatte, musste ich das Release auf dieses Jahr verschieben.

Die zum Einsatz kommenden Technologien haben sich immer wieder geändert. So habe ich mir vor einer Weile das Laravel Content Management System OctoberCMS angesehen und versucht meine Seiten damit zu erstellen. So umfangreich es auch ist, z.B. die riesige Menge an Extensions/Plug-Ins, so gab es doch einige Punkte die mich damals gestört hatten.

OctoberCMS

Das CMS setzt zwar auf Laravel doch als Template Engine wurde Twig gewählt, welches man unter anderem in Projekten mit dem Symfony Framework häufig findet (der Creator von Symfony und Twig ist Fabien Potencier). Bei der Entwicklung von October war Twig vermutlich noch etwas mächtiger und verbreiteter als die Blade Template Engine von Laravel. Doch Blade als Template Engine in Laravel ist vor allem in seiner eigenen Welt richtig stark.

Da man mit Laravel Mix und Vue.js mittlerweile auch eine mächtige Lösung für das Client-seitige Rendering hat, gibt es nach meiner Meinung nur noch wenige Vorteile gegenüber Blade. Vor allem da neben Laravel auch Vue.js immer mehr Entwickler für sich gewinnt. Im State of JavaScript Frameworks 2017 von npm kann man erkennen, dass Vue.js ganz vorne mit dabei ist. Es wird sogar diskutiert, ob Vue.js nicht stärker und beliebter zu sehen ist als Angular und somit der direkte Konkurrent zu Facebooks React.js ist.

state of js frameworks 2017
Quelle: https://entwickler.de/online/javascript/der-state-javascript-frameworks-2017-express-gewinnt-im-backend-579826589.html

Ein anderes Problem was ich bei dem Versuch OctoberCMS einzusetzen hatte war, das teilweise direkt in Dateien geschrieben werden kann. Das finde ich vor allem aus redaktioneller Sicht nicht gut gelöst. Da hat man mit der Versionierung auch kaum noch Möglichkeiten das richtig abzusichern. Beides zusammen hat mich davon abgehalten hier weitere Zeit zu investieren.

OctoberCMS mag eine relativ gute Alternative für WordPress sein, gerade für kleinere Agenturen um ihr Know-how in Laravel in einem CMS zu verkaufen. Doch für meine Zwecke genügt es nicht den Anforderungen.

CoasterCMS und WordPress

Im vergangenen Jahr habe ich mich darum sehr viel mit dem CoasterCMS auseinander gesetzt. Dabei sind auch schon ein paar Websites und Plug-Ins entstanden. Coaster bietet alles was ein Laravel Entwickler benötigt um ein CMS zu erstellen. Ein großer Vorteil von Coaster ist, dass es sich in jede Laravel Installation bereitstellen lässt. Es wird nämlich als Package geladen und man benötigt keine komplett neue Umgebung.

Auch für meine Seite habe ich angefangen Coaster einzusetzen und die entsprechenden Erweiterung zu entwickeln. Doch aktuell bleibt noch immer wenig Zeit für die Weiterentwicklung meiner Seite. Darum habe ich nun auf Basis der Coaster Installation eine Zwischenlösung gebastelt. Dabei werden mit dem Laravel Package Corcel die Daten aus der WordPress Datenbank recht einfach mit Laravel ausgelesen. Ich verwende für meine neue Seite zur Zeit also meine bestehenden WordPress Daten. Sowie die für Coaster bereits erstellten Templates. Nach und nach werde ich so alles auf Coaster umstellen.

Ich bin froh, so endlich nach mehreren Jahren meine neue Website zu präsentieren. Außerdem haben ich nun eine moderne Umgebung, mit der es wieder Spaß macht weiter Features zu implementieren. Was ich zeitnah noch bereitstellen möchte ist ein Newsletter, der neben dem UX9-Newsletter regelmäßig erscheinen soll. Auch werde ich Themen präsentieren, über die ich aktuell nur in meinem Blog berichte (Beispiel SSL-Zertifikate).

Technisch noch ein paar Details: Die Seite läuft nun mit PHP 7.2, MySQL 5.7 und verwendet Laravel 5.6. Die CoasterCMS Erweiterung wurde von mir für Laravel 5.6 modifiziert. Hier warte ich noch auf ein Release von Coaster selbst, das Laravel 5.6 unterstützt. Die DNS Verwaltung mach ich über CloudFlare. Damit wird die Geschwindigkeit der Seite deutlich erhöht.

Hier geht’s zur neuen Seite: https://maxham.de/