Spring Boot - autoreload

Wer bei Spring Boot auch die Autoreload funktion haben möchte, muss die dependencie devtools einbinden:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
</dependency>

dependencies {
compile(“org.springframework.boot:spring-boot-devtools”)
}

Dann wird bei jeder Änderung im Classpath, die Anwendung restartet. Weitere Einstellungsmöglichkeiten findet ihr unter http://docs.spring.io/spring-boot/docs/1.3.x-SNAPSHOT/reference/html/using-boot-devtools.html

Ionic - Anzeigen des Settings Menü GPS

Damit man mit Ionic dem User auch Anzeigen kann das die GPS Daten nicht vorhanden sind und er diese im Settings Menü ändern muss, braucht man die folgenden beiden Plugins cordova-plugin-request-location-accuracy cordova-diagnostic-plugin Mit diesen kann man abfrage ob GPS aktiviert ist und auch den Benutzer zum jeweiligen Menü des OS zu schicken. Damit ist es wie in einer normalen Android App möglich ein “Bitte aktivieren Sie Google Standortdienste” Fenster anzuzeigen.

Spring Boot - Externe Template Dateien verwenden

Spring Boot - Thymeleaf FileTemplateResolver

Wer eine Spring Boot Anwendung baut möchte vielleicht das ein Frontend Entwickler sich um die Thymeleaf Seiten kümmert. Damit aber Spring Boot nicht bei jeder Änderung neugestartet werden muss und der Entwickler einfach das vorhandene jar/war verwenden kann, muss man einen FileTemplateResolver hinzufügen. Spring Boot selbst liefert keine Implementierung des FileTemplateResolver, deswegen muss man ihn per @Configuration selbst hinzufügen. Wichtig ist auch das dieser mit @PostConstruct erzeugt wird. Wenn man die folgende Methode integriert hat kann man seine Anwendung mit -Dspring.thymeleaf.fileresolver.prefix=pathtotemplatefiles starten. Wichtig ist aber da man seine Konfigurationsdatei um den Eintrag “spring.thymeleaf.template-resolver-order=10” erweitert (yml: spring.thymeleaf.template-resolver-order: 10). Die folgende Java Klasse aktiviert einen FileTemplateResolver in Spring Boot welcher mit “spring.thymeleaf.fileresolver.**” Konfigurationen konfiguriert werden kann

Pleskbackup with Cronjob

Um ein nightly Backup von Plesk zu erstellen kann das command line Tool “pleskbackup” von Plesk verwendet werden. Dazu eine Datei mit dem Namen “backup.sh” erstellen und mit dem folgenden Inhalt:

#!/bin/bash
/opt/psa/bin/pleskbackup server –output-file=/pathtobackupfile/backupfilenightlyname.tgz

Danach dann unter Plesk >> Tools >> Geplante Aufgaben >> root >> Neue Aufgabe hinzufügen => als Aufruf sh /pathtofile/backup.sh eintragen

Cups im Netzwerk verfügbar machen

Wer auf einem Linux Rechner (z.B. einem RaspberryPi) Cups installiert hat und das Webinterface dafür auch im Netzwerk verfügbar machen möchte, muss dieses freigeben. Dazu in der “/etc/init.d/cups” die folgende Zeile

Listen localhost:631

durch

Port 631

ersetzen. Es kann auch ein anderer Port gewählt werden. Damit die Webseite auch richtig dargestellt werden kann, noch die folgende Zeile

Allow @LOCAL

vor eintragen (gibt mehrere davon).

Install NodeJs and npm with Plesk

Falls Nodejs unter Linux bei einer vorhanden Plesk Installation installiert wird, wid Plesk beim installieren von nodejs deinstalliert. Um dies zu verhindern, muss man folgende Befehle ausführen:

sudo apt-get install –only-upgrade npm

danach das ganze testen

sudo apt-get install -s npm nodejs

Sollte bei Entfernen, immer noch plesk Pakete auftauchen - kann npm auch mit

curl https://www.npmjs.com/install.sh | sh

installiert werden, aber vorher “nodejs” per apt-get installieren. Falls alles stimmt und keine Plesk Pakete bei entfernen auftauchen mit

sudo apt-get install npm nodejs

installieren. Damit jetzt auch noch “node” in der shell aufgerufen werden kann und nicht nur nodejs folgendes auf der Commando Zeile eingeben:

sudo update-alternatives –install /usr/bin/node node /usr/bin/nodejs 10

Easy and free Tools for Development, Ideas and Projects

Falls ich eine Idee entwickeln möchte und dies mit anderen zusammen - muss ich dafür Geld investieren? Nein, es gibt viele Projektmanagement Tools und Plattformen wo für den Anfang die free Version ausreicht. Projektmanagement:

  • Workboard - bietet viele Möglichkeiten die Tasks eines Projektes zu managen und kommt zudem noch mit Reports
  • Trello - Kanban Board mit flexiblen Spalten und mehreren Boards
  • Producteev - Task Manager
  • Bitbucket und Github - einfache Taskfunktion

Zu Kommunikation zwischen mehreren Teammitgliedern bietet sich Slack an. Es kann mit mobilen Geräten aber auch am Desktop verwendet werden. Zum bearbeiten von Notizen oder Dateien bietet sich neben Dropbox und GoogleDrive auch Evenote an. Es ist ein digitales Notizbuch und wer nur Notizen erstellen möchte (auch mit Bildern) dem dürfte Evernote weiterhelfen.

Minimal Software Application Development

Software Entwicklung ist heute einfacher wie vor 10 Jahren. Dies liegt unter anderem an Tools die das erstellen von Anwendungen einfacher machen, aber auch an den Geräten auf denen die Anwendungen laufen. Z.B. kann man mit den folgenden Frameworks in wenigen Minuten ganze Webanwendungen erstellen:

Oder mit Vaadin ein schnelle UI für eine Java Webanwendung erstellen. Durch Plugins und eine große Community gibt es zudem eine große Menge an Standard Funktionen dazu. Aber was erleichtern diese Frameworks und Tools? Wer eine Idee für ein Produkt bzw. Anwendung hat, kann mit dieser Hilfe einfach das MVP realisieren und dabei mit wenig kosten eine erste Prototyp Version erstellen und schauen ob die Annahmen dem Markt entsprechen. Z.B. kann man mit Ionic, AngularJS und einer Grails REST-API ganz schnell eine App mit einem Backend bauen.

Google+ - Wordpress - Twitter

Auf Google+ schreibe ich kurze Beiträge oder teile Beiträge zu technischen oder z.B. auch Themen wie Selbstmanagement. Damit diese Beiträge aber auch in meinem Blog landen verwende ich das Plugin “Google+ Crossposting“. Damit werden automatisch alle meine öffentlichen Beiträge von Google+ in Wordpress übertragen. Damit aber die Posts von Google+ zu einem normalen Blog Beitrag unterschieden werden können habe ich in de Plugin für jeden Post da Format auf “aside” gestellt:

set_post_format( $post_id , “aside”);

Damit wird jeder Google+ Beitrag entsprechend dargestellt. Twitter finde ich gut um kurze Nachrichten zu verbreiten, dazu zählen auch meine Blog Beiträge und Google+ Beiträge in meinem Blog. Daher habe ich das Plugin “WP to Twitter“ installiert welches automatisch für jede neuen Beitrag einen neuen Tweet erstellt. Wie der Tweet aussieht, kann per Template angepasst werden.