Wochenbericht 2016.10

A scalable AngularJS setup with Gulp, Browserify“ zeigt, eine sinnvolle Organisation einer Angular2-Applikation. Mit Angular2 ändert sich ja einiges, das einzige, was wirklich bleibt ist an der Stelle der Name „AngularJS“. Ein interessanter Ansatz jedenfalls.

What’s New in jQuery 3“ von Aurelio De Rosa bei Telerik erklärt die wichtigsten Neuerungen von jQuery 3. Wichtig sind (aus meiner Sicht) neue Loops, Performance-Verbessungen, sowie viele Aufräumarbeiten in den schon länger als deprecated gekennzeichneten Funktionen.

amanu ist eine selbst gehostete Lösung für Projektmanagement und Abrechnung von Kleinunternehmen und Freelancern. Sieht sehr interessant aus und wird demnächst von mir mal getestet. Aktuell bin ich mit Fakturama aber eigentlich recht gut versorgt.

Announcing SQL Server on Linux zeigt, dass Microsoft derzeit in einem krassen Umbruch zu sein scheint. Erst HyperV-Kernelmodule, dann Visual Studio Code und jetzt eine der wichtigsten Server-Softwares, die MS im Portfolio hat (zumindest an der internen Nutzung des MSSQL-Servers gemessen)

Wir sind auf Reddit

Ich habe heute ein so genanntes Subreddit bei reddit.com eingerichtet, ihr könnt uns Links auf einfach dort zukommen lassen: reddit.com/r/Develovers. Wenn ich demnächst mal Zeit habe, werde ich dann auch mal dafür sorgen, dass Dinge wie unser Logo etc. dort angezeigt werden.

Wer mir dabei helfen mag: Einfach eine Nachricht / E-Mail / PN auf Reddit schicken.

Wochenbericht 2016.09

Nachdem der Wochenbericht in der KW08 leider aufgrund von Arbeitsauslastung und sterbendem Notebook ausfallen musste, geht’s diese Woche wieder weiter.

Vier Jahre nach dem Start des ersten RaspberryPi, gibt es heute den RaspberryPI 3 mit neuem Prozessor, WLAN und Bluetooth eingebaut.

Smashing Magazine hat eine „Flexbox Reading List“ mit vielen hilfreichen und inspirierenden Ideen.

List.js ist ein interessantes Tool um dynamische Listen in HTML zu rendern.

Für User von TT-RSS, die endlich SSL einsetzen wollen: af_https_proxy_assets. Ja, das ist Eigenwerbung. Aber das Plugin ist frisch, extrem sinnvoll und gabs bisher nicht.

Johnathan Suh hat ein paar hübsche Hamburger-Menü-Animationen.

Building A First-Class App That Leverages Your Website: A Case Study

Anbei noch ein paar interessante AngularJS Ressourcen

REST-Api mit dem Caddyserver simulieren

Ja, ich bin ein Fanboy. Ja, der bin ich gerne, wenn das „Produkt“ oder Projekt sinnvoll und inspirierend ist. Ich arbeite zum Beispiel in Teams, bei denen jeder Entwickler eigener Herr seiner Maschine ist und ich exakt nichts voraussetzen kann, was jemand auf seinem Rechner installiert hat, wo er es hat und wie es konfiguriert ist.

Wenn man SPAs entwickelt, kann man natürlich für eine reine Frontend-Entwicklung eine komplette Vagrant-Box aufsetzen. Das ergibt für das Backend-Team einfach mehr Sinn. Da nicht jeder über eine generische Umgebung für den Apachen verfügt und das unter Windows z.B. auch eher suboptimal läuft, war ich total begeistert als ich über den Caddyserver gestolpert bin: „Serve the web like it’s 2016“. Caddy hat Binaries für Windows, Linux und OSX und braucht nur ein ziemlich einfaches Konfig-File.

Damit ist ein zweiter Entwickler ohne viel Stress in der Lage, ein SPA-Projekt zu übernehmen. Er braucht die Entwicklungs-Tools und den Caddyserver. Unsere aktuellen SPA-Projekte haben diese Datei schon von mir verpasst bekommen, in der Regel mit Proxy-Rewrites. die auf die Maschine mit dem Backend zeigen.

Aber man kann in den frühen Phasen des Projekts auch eine API und die entsprechenden REST-Requests mit lokalen JSON-Dateien simulieren, damit kann auch ein Abzug einer API lokal statisch genutzt werden. Das ist z.B. bei der Entwicklung von SPAs mit AngularJS oder EmberJS praktisch.

Ein GET-Request an /api/test/eintest  wird damit auf die Datei /data/get_test_eintest.json umgeleitet. Auch Antworten eines Post-Requests lassen sich mit /data/post_test.json simulieren.

Weitere Doku:

Code für einen lokalen API-Abzug in JSON-Files

:9090
gzip
rewrite /api {
	r ^/(.*?)/(.*?)/(.*?)/(.*?)/(.*?)(/|)$
	to /data/{method}_{1}_{2}_{3}_{4}_{5}.json
}
rewrite /api {
	r ^/(.*?)/(.*?)/(.*?)/(.*?)(/|)$
	to /data/{method}_{1}_{2}_{3}_{4}.json
}
 
rewrite /api {
	r ^/(.*?)/(.*?)/(.*?)(/|)$
	to /data/{method}_{1}_{2}_{3}.json
}
 
rewrite /api {
	r ^/(.*?)/(.*?)(/|)$
	to /data/{method}_{1}_{2}.json
}
 
rewrite /api {
	r ^/(.*?)(/|)$
	to /data/{method}_{1}.json
}

Das ganze kann ich auch gerne noch mal als .htaccess-Datei für den Apachen zur Verfügung stellen.

Wochenbericht 2016.07

WTF, HTML and CSS?„:

Reasons HTML and CSS might make you say what the fuck. A curated list of commonly frustrating HTML and CSS quandaries, miscues, and dilemmas.

Created by @mdo.

Das „Manifesto for Half-Arsed Agile Software Development“ kann ich nur unterschreiben. Agil mag der Kunde nicht. In der Regel wollen Kunden wissen, worauf sie sich einlassen, ganz besonders beim Thema Geld und Leistung.

Mit „A Universal Makefile for Javascript“ überlegt Kevin van Zonneveld – und das lese ich nicht zum ersten Mal – ob man mit „simplen“ npm-Scripts statt Taskrunnern vielleicht auch mal einen Gang zurückschalten könnte. Das finde ich auf der einen Seite eine gute Idee, aber eben nicht immer sinnvoll.

Sorting Algorithms“ erklärt einmal sehr anschaulich, wie die verschiedenen Sortierungsalgorithmen funktionieren. Ich finde, die Animationen ein bisschen zu schnell, aber die ganzen Erklärungen gibts auch bei Wikipedia.

Ansonsten fand ich diese Woche sehr hilfreich zu sehen, wie man HTML aus einer API in Angular rendern kann, ohne das Klassenattribute oder Styles entfernt werden. Oder auch, wie man jQuery-Plugins sinnvoll und richtig in AngularJS integrieren kann. Und dann war da noch die Sache mit „gerade genug AngularJS for Designers„.