Nov 162015
 

Anleitung für Windows

Java Programm starten.

Über den Task-Manager die Prozess-ID (PID) heraus bekommen.

Einen Dump erstellen, dieser wird dann analyisert, mit:

jmap -dump:file=heap.bin <pid>

Dann in Eclipse auf die Ansicht vom Memory Analysis wechseln. (Vorher über den Marktplatz installieren, ich habe Memory Analyzer Version 1.5)

In der Ansicht den Heap.bin laden -> Fertig.

Nun kann analysiert werden.

 

Okt 232015
 

Wichtige Shortcuts für Eclipse!

Welche Shortcuts sollte jeder Eclipse-Benutzer kennen?

(Windows Version)

Strg + Space

Mit Strg+Space wird Code Copmpletion ausgeführt. Das bedeutet, dass Eclipse für das angefangene, geschriebene Wort mehr oder weniger intelligente Vorschläge macht, was aus dem Wort wohl werden soll. Klassennamen und Methodennamen erkennt Eclipse, so dass man nicht mehr den ganzen Namen schreiben muss. Weiterhin erkennt Eclipse Schlüsselworte wie z.B. main, TODO oder for. Eclipse erstelle dann eine in Verbindung mit „main“+ Strg+Space eine Main – Methode, „TODO“+Strg+Space ein Todo und mit „for“+Strg+Space kommt eine Auswahl an For-Schleifen. Mehr zu den Schlüsselwörten unter Eclipse-Formatter.

 

Strg+Shift+R

Mit Strg+Shift+R öffnet man das Ressourcen-Fenster um Klassen und anderen Dateien direkt zu öffnen. Dabei werden nur Klassen und Dateien aus den eigenen Projekten angeboten. Möchte man Klassen aus den benutzen Bibliotheken öffnen, nutzt man Strg+Shift+T.

Zusatztipp: Der Suchfilter versteht CamelCase z.B. AL oder ArrLi für ArrayList

Strg+1

Der Shortcut Strg+1 ist kontextsensitiv und bietetin der Regel eine Reihe von Möglichkeiten an.

Einige Beispiele:

  • Steht man auf einem Variablenname dann wird gefragt, ob die Varibale eine Klassenvariable werden soll.
  • schreibt man new Irgendwas, dann kommt die Frage, ob man eine lokale oder Klassenvariable daraus machen möchte.
  • Steht man auf einer Switch-Auswahl, dann können die fehlenden Cases hinzugefügt werden.
  • Implementiert man ein Interface  und steht auf dem Klassennamen, dann werden die Interface-Methoden als Rumpf implementiert
  • steht man auf einer Klassenvariablen, dann werden die Getter/Setter implementiert.
  • und und und

Strg+3

Dieser Shortcut öffnet den Quick-Access, mit dem man wiederrum andere Aufgaben aus ganz Eclipse nutzen kann, wie z.B. Generate irgendwas. (Getter, Kontruktor, Delegate usw.)

Alt+Pfeil rechts/links

Mit diesem Shortcurt  navigiert man in Eclipse zurück, also an die Stelle, an der man vorher gewesen ist. Nach de zurück navigieren kann man auch wieder nach vorn navigieren.

Strg+Shift+L

Anzeige weiterer Shortcuts.

Mrz 262015
 

In Eclipse unter: Preferences / Java / Editor / Templates

oder Strg + 3 und tippen von Template

landet man in der Template – Konfiguration.

Template

Dort kann meine eigene Templates konfigurieren. Z.B. ein eigenes TODO – Template mit Namen und Datum.

// TODO: t.michael ${date}

Somit hat man beim Nutzen immer seinen Namen und das Datum der Erstellung.

Benutzen kann man die Templates ganz normal der Code Completion.

todo1 todo2

 

Mrz 182015
 

Wie erstellt man einen Index über mehrere Spalten mit JPA Annotation?


@Table(name = "MEINE_TABELLE", uniqueConstraints = @UniqueConstraint(name = "A_B_INDEX", columnNames = { "FeldA", "FeldB" }))
public class MeineTabelleImpl implements MeineTabelle {
@Id
private Long id;
private String FeldA;
private String FeldB;

}

Damit erstellt man automatisch eine Tabelle mit dem Namen „Meine_Tabelle“, mit drei Spalten. Die Spalten FeldA und FeldB sind in einem Index zusammen.

Mrz 122015
 

Zusammenhanglose Liste von Argumenten:

Contra SVN

  • Beim arbeiten mit SVN kann man bei größeren Änderungen erst am Ende alles commiten.
  • Man kann keinen Zwischenstand speichern.
  • Es ist schwerer etwas auszuprobieren , weil man die kleinen Schritte nicht versionieren kann. Man kann nur ganz zurück oder gar nicht. Bedingt hilft die IDE.
  • Änderungen an deiner Datenbank müssen komplett sein, weil sonst das restliche Team unter Umständen nicht arbeiten kann
  • In SVN muss der ganze Commit grundsätzlich komplett sein. Ein großer Umbau muss komplett vollzogen sein, kein lokales Backup – System.

Pro Git:

  • In GIT bestimmt man selber bestimmt den Zeitpunkt der Veröffentlichung.
  • In git kann man viel öfter comitten, weil man erstmal nur lokal bin.
  • Mergen ist um ein vielfaches einfacher
Feb 162015
 

Die einfachste Art und Weise das Zeiss – Menu von der VR One in seinem Projekt ist einzubinden ist:

  1. Öfnen der Vr One Demo Szene.
  2. Das Menu aus der Hierarchy in die eigenen Assets ziehen.
  3. Eigene Scene öffnen.
  4. Das Menu aus den Assets in den eigenen Hierarchy-Baum ziehen.
  5. Leeres GameObjekt erstellen, dort die Klasse „SelectableObject.cs“ hinzufügen und der Klasse das MainMenu aus der Menu-Hierarchy hinzufügen.
  6. Fertig!

 

Feb 132015
 

Wenn man neu in ein Projekt mit Eclipse kommt, dann ist es meist so, dass es nur sauberen Code gibt; keine unnötigen Importe oder ungenutzte Variablen vorhanden und auch sonst sind die Eclipse-Warnungen auf 0. Oder vielleicht gibt es eine Handvoll Warnungen, mehr aber nicht, richtig?

Wer jetzt mit „Richtig“ antwortet, von dem möchte ich bitte einen Screenshot! Meine Erfahrung ist, dass es zwischen 1000 und 10.000 Warnungen gibt, jeder im Team das weiss, aber kaum einer etwas dagegen tut, bzw. nicht genau weiss, wie er das angehen soll.

Jeder kennt das Pfadfinderprinzip: den Code besser hinterlassen, als er vorgefunden wurde. In diesem Fall den Code mit weniger Warnungen hinterlassen. ,Die schiere Menge  verhindert dies allerdings. Man hat keinen Überblick darüber, welche Warnungen schon vorhanden waren und welche man eventuell neu hinzu geschaffen hat und welche zu „meinem“ Bereich gehören.

Was kann man also tun? Woran erkennt man neue Meldungen und woran, welche noch behoben werden sollen?

In Eclipse kann man Working Sets  erzeugen, siehe Link. Damit organisiert man seinen Code im Package Explorer. Für verschiedene Bereiche erstellt man seine Workings Sets.  Was aber weniger bekannt ist, damit kann man auch seine Warnungen filtern.

Dazu die „Marker“ – View öffnen und eine neue View anlegen.

Bildschirmfoto 2015-02-13 um 19.17.31

 

In der neuen Markersview („Projekt“) dann den Inhalt konfigurieren. Bildschirmfoto 2015-02-13 um 19.18.26

 

Dann Einstellen, dass man selber konfiguriert und beim Scope „on working Set“ einstellen. Dort wählt man dann seine Working Sets. Diesw sollten dann die sein, an denen man gerade programmiert.Bildschirmfoto 2015-02-13 um 19.20.27

In der ursprünglichen Markers-View sind weiterhin alle Warnungen erhalten In der neuen Markers-View sind nur noch Warnungen aus dem Bereich, den man gerade bearbeitet. Im Idealfall sind dies dann wirklich nur eine Handvoll und die kann (und sollte) man dann beheben.

Der Schlüssel zum Ganzen sind die Working Sets!