Samstag, Februar 23, 2019

Visual Studio Code Top Ten Extensions

Hier meine Top-Ten der wichtigsten Extensions für Visual Code:

  1. JSON Quicktype: Erstellt aus einem JSON Objekt, je nach ausgewählter Zielsprache, eine entsprechende Klassenstruktur. Im Prinzip wird versucht die Vorteile der statischen Generierung, wie man sie von einer WSDL Beschreibung her kennt, in die dynamische Welt der JSON Objekte zu transportieren. Insbesondere wenn eine typisierte Sprache wie Typescript oder Java verwendet wird, offenbaren sich die Vorteile, da eine IDE helfend eingreifen kann, in dem sie Eigenschaften bzw. Pfade zu Eigenschaften vorschlagen kann. Die Extension findet man hier: JSON Quicktype
  2. Visual Code kommt von Haus aus mit einer guten GIT Unterstützung daher. Dennoch gibt es einige sehr interssante Extensions zu dem Thema: Git History Diff
  3. Git Lens bietet Hover-Effekte an, um zu sehen, wer was in welcher Zeile geändert hat. Git Lens Supercharged
  4. Der Rest-Client war im letzten Post ein Thema. Rest-Client
  5. Indent Rainbow markiert farblichen Einrückungen. Interessant bei ‘klammerlosen’ Sprachen wie Python oder CSSS. Indent Rainbow
  6. TODO Highlight markiert TODO und FIXME Marker. TODO Highlight
  7. TODO Tree funktioniert ähnlich die TODO Highlight. TODO Tree
  8. Auto Close Tag. Schliessen oder umbenennen von Tags. Auto Close Tag
  9. Jetzt wird es schwierig. Vielleicht ist es eine gute Idee, Visual Code mit Extensions nicht zu überfrachten. Ob es eine kritische Anzahl von installierten Extensions gibt?
  10. Ab diesem Punkt schreibe ich selber meine Extensions. Möglicherweise bekomme ich dann ein Gefühl, wie sich Extensions im allgemeinen auf die IDE auswirken: Visual Code: Your First Extension

Bonus Runde:

  • Visual Code als GIT Editor einrichten. Vorher ist zu prüfen, ob code --help per Kommandozeile aufgerufen werden kann.

    git config --global core.editor "code --wait"
    
  • Visual Code als GIT Diff Tool einrichten:

    [diff]
        tool = default-difftool
    [difftool "default-difftool"]
        cmd = code --wait --diff $LOCAL $REMOTE
    

Sonntag, Februar 17, 2019

Visual Studio Code als Rest Client verwenden

  1. Visual Studio Code installieren. Visual Studio Code
  2. Die Erweiterung Rest-Client installieren.
  3. Einen bliebigen Workspace Folder anlegen und dort eine Datei anlegen, z.B. opendligadb.rest. Anhand der Dateiendung erkennt das Plugin, dass es für diese Datei zuständig ist und bietet im Editor ein paar Utilities an, z.B. das ‘Send Request’. Neben der Endung .rest wird auch .http von der Extension akzeptiert.
  4. Folgende Zeilen Code per Copy&Paste übernehmen und mit Ctrl-Alt R ausführen:
    POST http://www.openligadb.de/api/getmatchdata/bl1/2016/8 HTTP/1.1
    Accept: content-type: application/json
    
    oder falls eine Response im XML Format gewünscht ist (Fachbegriff Content Negotiation):
    POST http://www.openligadb.de/api/getmatchdata/bl1/2016/8 HTTP/1.1
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    
  5. Es geht ein Stück weit einfacher. https://example.com/comments/1 hinschreiben und Ctrl-Alt R eingeben. Nach der Ausführung des obigen Kommandos seht ihr die Fussballergebnisse von 2016 für den 8. Spieltag der Fussball Bundesliga.
  6. Mit # wird eine Kommentarzeile eingeleitet und es kann als Trennersymbol zwischen den verschiedenen Requests dienen. Beispiel:
    ### Request JSON response
    
    POST http://www.openligadb.de/api/getmatchdata/bl1/2016/8 HTTP/1.1
    Accept: content-type: application/json
    
    #### Request XML Response
    
    POST http://www.openligadb.de/api/getmatchdata/bl1/2016/8 HTTP/1.1
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    

Samstag, Februar 09, 2019

Docker Jenkins Update

Jenkins im Docker Container starten

  • Ein Verzeichnis auf dem lokalen Rechner anlegen. Ich gehe davon aus, dass auf einer Bash-Shell gearbeitet wird.
    mkdir -p $HOME/jenkins
    
  • Das Jenkins Image starten. Bei der Portnummer vergesse ich immer wieder, welche Zahl für welchen Host steht. Die erste Zahl bezeichnet den Port auf dem Docker Host. Die zweite Zahl nach dem Doppelpunkt den Port im Container.
    docker container run --name jenkins \
      -p 8080:8080 -p 50000:50000 \
      -v $HOME/jenkins:/var/jenkins_home \
      -d \
      jenkins
    
  • Das Passwort aufschreiben, welches jetzt angezeigt wird.
  • Browser öffnen mit der passenden IP Adresse. Bei mir läuft Docker in der Virtual Box auf einem Windows Pro Rechner. D.h. der Docker läuft in der Regel unter der IP Adresse 192.68.99.100.
    http://192.168.99.100:8080
    

Jenkins im Docker Container aktualisieren

  • Rechts oben im Browser seht ihr vielleicht eine rot unterlegte Zahl. Diese signalisiert, Jenkins möchte aktualisiert werden. Die Adresse des Download Links kopiert ihr.
  • Einloggen in den Docker Jenkins Container.
    docker container exec -u 0 -it jenkins bash
    
  • Das Update herunterladen. Dazu die kopierte Adresse aus dem vorletzten Schritt auf der Kommandozeile eingeben.
    wget http://updates.jenkins-ci.org/download/war/2.150.2/jenkins.war
    
  • Diese Datei an den richtigen Ort verschieben.
    mv ./jenkins.war /usr/share/jenkins
    
  • Berechtigung ändern.
    chown jenkins:jenkins /usr/share/jenkins/jenkins.war
    
  • Container verlassen und neu starten.
    exit
    docker container restart jenkins
    

Quelle Docker/Jenkins

Donnerstag, Februar 07, 2019

Kommunikation

Kommunikation

5 wichtige Wörter für die Kommunikation:
  • Weil
  • Danke
  • Ich verstehe dich
  • gerne
  • Wir
Gelernt in einem Video aus der Redefabrik: Youtube.

AssertJ und java.util.List

AssertJ hat eine praktische Möglichkeit, Listen in JUnit Tests abzuprüfen. Insbesondere, wenn in der Liste komplexe Objekte abgelegt sind, s...