Autor: Frank Thielen

Hibernate ohne Applicationserver (standalone)

Servus,

heute möchte ich euch zeigen wie man das Hibernate Framework ohne Applicationserver einsetzt.

Zunächst erstellt ihr euch ein leeres Mavenprojekt und bindet folgende dependency in eure pom.xml ein:

<dependencies>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>4.2.1.Final</version>
        </dependency>
 </dependencies>

Falls ihr kein Maven nutzen möchtet könnt ihr natürlich die Hibernatelibrary und alle von Hibernate benötigten libraries einbinden.

Read More

Visual Studio Dark Theme und einen hellen XAML Designer

Hallo Zusammen,

auf der Arbeit bin ich ein fleißiger Vertreter und Nutzer der dunklen IDE Designs, egal ob bei Visual Studio oder bei IntelliJ IDEA.

Bei Visual Studio 2012 hat man die Möglichkeit über die Optionen -> General auf ein dunkles Design zu wechseln.

Allerdings wird bei einem Usercontrol leider auch alles dunkle angezeigt, was ich selbst als schlecht empfinde. Um dieses Problem zu lösen schnappt man sich einfach den Visual Studio 2012 Color Theme Editor.
Nach der Installation des Tools müsst ihr Visual Studio neustarten. Anschließend sollte sich ein Reiter öffnen mit dem Namen „Color Themes“. Hier erstellt ihr euch, mit einem Namen eurer Wahl, ein eigenes Theme auf der Basis des Dark Themes.

1

Nachdem sich euer Theme in einem neuen Reiter öffnet klickt ihr bitte auf Alle Elemente Anzeigen.

2

Jetzt sucht ihr euch den Eintrag Cider -> ArtboardBackground und ändert diesen in die Farbe eurer Wahl. (Ich finde ein helles Grau ganz angenehm).

Implementierung des INotifyPropertyChanged Interfaces

Hallo zusammen,

wenn man mit WPF arbeitet und Steuerelement an ein Model binded, ist man meist dem Problem ausgesetzt, dass sich die Oberfläche nicht automatisch aktualisiert wenn sich das Model im Hintergrund ändert. Allerdings reagiert das UI auf die Implementierung des INotifyPropertyChanged Interfaces und das sieht so aus:

public class Person : INotifyPropertyChanged
{
}

Anschließend muss noch das Event von einer Property aus gefeuert werden, an die das View oder Steuerelement gebinded wurde.


public string Firstname
{
  get
  {
    return firstname;
  }
  set
  {
    if (value == firstname)
    {
      return;
    }

    firstname = value; 
    NotifyPropertyChanged("Firstname");
 }


public event PropertyChangedEventHandler PropertyChanged;

       
 private void NotifyPropertyChanged(String propertyName = "")
 {
    if (PropertyChanged != null)
    {
        PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    }
 }

UI Prototyping mit Pencil

Hallo an alle,

wenn es um das entwickeln von Benutzeroberflächen geht ist es meist sehr sinnvoll zunächst Skizzen anzufertigen. Vielen wird es ähnlich gehen wie mir, ein UI zu entwickeln, ohne einen konkreten Plan zu haben, endet nicht selten in einer Katastrophe. Schnell habe ich für mich das Prototyping entdeckt. Heute möchte ich euch ein plattformunabhängiges, open-source Prototyping-Tool, namens Pencil, vorstellen, das ich sehr gerne für diesen Zweck einsetze. Zum Programmumfang gehören verschiedene Designtemplates um Oberflächen für unterschiedlichste Gebiete entwerfen zu können wie z.B. iOS, Android, Sketch, Windows uvm.

Desweiteren ist es möglich, das Programm um andere Templates zu erweitern.

Genug geschrieben, hier ist der Link:

http://pencil.evolus.vn/

Pencil
Pencil

UML lernen / Überblick gewinnen

Hallo an alle,

da einige von unsere Community sich gerade mitten in den Prüfungsvorbereitungen befinden, möchte ich euch auf eine Seite aufmerksam machen, die mir beim Thema UML geholfen hat.

http://timpt.de/topic96.html

Leider ist der Tiefgang dieser Seite, in den einzelnen Diagrammen, zu bemängeln, aber um das bereits erlernte Wissen aufzufrischen oder eine Übersicht zu gewinnen, aus meiner Sicht, wirklich ideal.

Weiterhin viel Spaß bei den Vorbereitungen auf die Prüfung 😉

C# extension methods (Erweiterungsmethoden)

Hallo zusammen,

Es gibt eine super praktische Möglichkeit in C#, die beispielsweise bisher noch nicht in Java implementiert wurde.

In vielen Projekten haben mir die extensions methods schon weitergeholfen.

Das Prinzip, welches dahinter steckt, ist einfach erklärt. Diese Methoden sind Erweiterungsmethoden von beliebigen Klassen.

Wie das funktioniert möchte ich euch an einem simplen string Konsolen Beispiel erläutern.

Das ist meine Program.cs

class Program
    {
        static void Main(string[] args)
        {
            string myString = "Hallo";

            Console.WriteLine(myString.DoSomeThingCrazy());
            Console.ReadLine();
        }
    }

Die Vermutung liegt nahe, dass Microsoft wohl keine Methode namens DoSomeThingCrazy in der Klasse String implementiert hat. Schuldig, das war ich ;-), mit Hilfe einer neuen Klasse

 public static class StringExtensions
    {
        public static string DoSomeThingCrazy (this string s)
        {
            return s + s + s + s;
        }
    }

Wichtig dabei ist, dass sowohl die Klasse als auch die Methode(n) static ist und das Schlüsselwort this vor dem Datentyp steht um den es sich handelt.

Musik nach Stimmung mit 8tracks.com

8tracks_logo

Hallo zusammen,

wollte euch nur schnell eine Seite zum entdecken neuer Musik ans Herz legen.
Dabei handelt es sich um www.8tracks.com
Dort klickt ihr euch Stimmungen oder Musikrichtungen zusammen und es wird eine Playlist erzeugt.
So habe ich schon viele neue Künstler entdecken können.

Zusätzlich positiv: Es wird keine Anmeldung benötigt.

Jboss Datasource und Hibernate

Hibernate Logo

Hallo zusammen,

angenommen es befindet sich in unserem Netzwerk ein Datenbankserver mit einer Datenbank, die wir in unserer JBoss-Applikation (JBoss Version 7) verwenden möchten. Um den Zugriff zu ermöglichen sind folgende Schritte notwendig:

Als erstes öffnet ihr die standalone.xml aus dem Pfad:  jboss-as-7.1.1.Final/standalone/configuration in einem Editor eurer Wahl.

Read More

Maven externe Files einbeziehen

Wenn man ein Java-Projekt mit Maven aufsetzt dann kommt man schnell zur Situation, dass auch andere Dateien als Java Klassen benötigt werden, wie zum Beispiel eine html Datei. Damit diese Dateien vom src-Verzeichnis auch in das target Verzeichnis kopiert werden muss ein Eintrag in der pom.xml vorgenommen werden, der wie folgt aussieht:

<build>
<resources>
<resource>
<directory>src/main/java/</directory>
<includes>
<include>**/*.html</include>
<include>**/*.css</include>
<include>**/*.js</include>
<include>**/*.gif</include>
<include>**/*.png</include>
</includes>
</resource>
</resources>
</build>