Archiv der Kategorie: discoveries

Gelesene Bücher 2012

Hallo zusammen,

2012 ist extrem lesereich, und da mir einige Bücher wirklich extrem gut gefallen haben würde ich euch gerne daran teilhaben lassen.






War dieser Blogeintrag für Sie interessant? Evtl. kann ich noch mehr für Sie tun.

Trainings & Know-How aus der Praxis zu

  • Apache Wicket 1.4.x, 1.5.x, 1.6.x
  • GIT – Best Practices, Einsatz, Methoden
  • Spring
  • Java
  • Scrum & Kanban
  • Agiles Arbeiten
Consulting & Softwareentwicklung

  • Requirements Engineering
  • Qualitätssicherung
  • Software-Entwicklung
  • Architektur
  • Scrum & Kanban
Advertisements

Wicket und Webbased JMX

Hi zusammen,

Wicket ist das meiner Ansicht nach brauchbarste Komponentenframework.

JMX eine wichtige Technologie um Applikationen zur Laufzeit zu administrieren.

Beides zusammen rockt!

Um eine Wicket-basierte JMX-View in die Applikation zu integrieren kann folgendes gemacht werden:

Anpassungen in der pom:

<dependencies>
  <dependency>
<groupId>org.wicketstuff</groupId>
<artifactId>mbeanview</artifactId>
<version>1.4.17</version>
</dependency>
</dependencies>
<repositories>
   <repository>
      <id>wicket-stuff-repository</id>
      <name>Wicket-Stuff Repository</name>
      <url>ttp://www.wicketstuff.org/maven/repository</ur>
   </repository</>
</repositories>

Im Code bleibt nur das folgende zu tun:

public HomePage(final PageParameters parameters) {
add(new MBeansPanel(&quot;mbeans&quot;));
}

Was man kriegt ist das:

Wicket und Komponenten rocken!

Physikalische Windows Partition unter Ubuntu VMWare mounten

Hallo, ein wenig Offtopic, aber evtl. dennoch nützlich.

Ich habe ein Firmennotebook auf dem Standardmässig Windows XP installiert ist. Da ich aber sowohl privat als auch geschäftlich um einiges performanter mit Ubuntu bin, habe ich dieses (endlich die 10.04;)) auf einer zweiten Partition installiert, somit arbeite ich an einem Dual-Boot Notebook.

Es gibt jedoch immer noch einige Use-Cases, wo ich Zugriff auf mein Windows-System benötige, wie beispielseise:

  • PDF Daten bearbeiten (ich benutze hier den Foxit Reader und Javascript, das scheint unter UBuntu noch nicht wirklich gut zu funktionieren)
  • Dokumente mit MS Office (leider ist OO keine Option für die Dokumente meiner Firma)
  • etc..

Ich fand es bisher immer mehr als lästig, mein Ubuntu herunterzufahren und in die Windows Partition physikalisch zu booten. Gestern abend habe ich mir die Zeit genommen, mein Ubuntu in VMWare Workstation 7 als „physikalische VM“ zu mounten, und ich war wirklich erstaunt wie einfach das funktioniert hat. Ich kann jetzt also problemlos über VMWare meine phyiskalische Windows Partition booten, ohne dass ich Ubuntu herunterfahre. Wieder eine Möglichkeit, meine Produktivität ein klein wenig zu steigern.

Folgende Schritte waren dafür notwendig:

  1. VMWare Workstation installieren (VMWare Server etc.. müsstens auch tun, man braucht etwas, um die VM erstellen zu können)
  2. In die physikalische Windows Partition booten
  3. Unter Systemsteuerung / System / Hardware / Pofile ein neues Hardware Profil anlegen (nennen wirs vmware)
  4. Unbedingt den VMWare SCSI Treiber installieren (wenn ihr beim Booten der Windows Partition in VMWare einen netten Blue Screen of Death geliefert bekommt, wisst ihr, dass ihr den Treiber vergessen habt;). Den VMWare SCSI Treiber gibts direkt bei VMWare zum Download, beispielsweise hier.  Der Treiber ist eine FLP-Datei, das heisst, dieser ist normalerweise dafür gedacht, in eine VM als Diskettenlaufwerk eingebunden zu werden. Am besten ihr besorgt euch ein Tool, das die flp-Dateien direkt entpacken kann, dann bekommt ihr die entsprechenden .inf-Files, die ihr direkt in Windows einbinden können. Ein Tool (Virtual Floppy Drive) welches ich hierfür empfehlen kann findet ihr hier.
  5. Diesen Treiber müsst ihr manuell installieren (unter Hardware einfach neue Hardware installieren (SCSI bzw. RAID-Controller) und den Treiber direkt angeben. Wahrscheinlich wird euch unter Windows der Treiber als Fehlerhaft angezeigt, das macht aber nichts, weil wir den tatsächlich nur unter VMWare brauchen. WIchtig!! Ihr müsst unbedingt auch den alten Treiber (IDE..) installiert lassen, damit ihr auch weiterhin in die physikalische Partition booten könnt.
  6. Nun zurück in Ubuntu booten.
  7. Hier unter VMWare eine neue virtuelle Maschine für WIndows XP einrichten
  8. Die angelegte virtuelle Festplatte löschen und eine neue anlegen (physikalisch Disk verwenden, komplette Partition) .Hier seht ihr auch, warum man den VMWare SCSI Treiber braucht, denn VMWare legt eine physikalische Platte automatisch als SCSI an (kann man wohl nichts gegen machen).
  9. VM starten – Voilá!!
  10. Im GRUB solltet ihr jetzt euer Hardware Profil sehen, und dieses zum booten verwenden können.

Wichtig: Bootet auf keinen Fall in euer Ubuntu innerhalb der VM, tut ihr das doch zerstört ihr das Ubuntu, da ist nichts mehr zu retten!!

Ein weiteres interessantes Feature, das VMWare Workstation mitliefert ist der Unity-Helper, dieser erlaubt es, mittels eines einzelnen Befehles bestimmte Applikationen in virtuellen Maschine direkt im Unity Mode zu starten. Damit vergisst man eigentlich komplett, dass manche Anwendungen aus der virtuellen Maschine kommen.

Ein passender Aufruf hierzu wäre folgender:

sudo vmware-unity-helper –run /home/user/vmware/Windows\ XP\ Professional/Windows\ XP\ Professional.vmx „c:\programme\Microsoft Office\Office12\winword.exe

Das ganze sieht dann so aus:


Achtung, ich übernehme natürlich keinerlei Verantwortung für die hier vorgestellte Lösung, noch für die hier vorgestellten Softwarelinks. Bitte geht hier sehr behutsam vor, weil wirklich die Gefahr besteht, einiges kaputt zu machen. Ansonsten viel Spass, und wie immer freu ich mich über Kommentare.

ValueVariablen

ValueVariablen – Ersetzen Konstanten?

Kürzlich habe ich ein relativ interessantes Feature entdeckt. Und zwar gibt es die Möglichkeit, Expressions als Variablen zu deklarieren. Dies funktioniert über eine Extension für den ExtensionPoint

org.eclipse.core.variables.valueVariables“

<variable

description=„meine variable“

name=„de.md.myVar“

readOnly=„true“

initialValue=„world“/>

Eine Erweiterung dessen ist der Extension-Point „org.eclipse.core.variables.dynamicVariable“, der eine dynamische Berechnung der deklarierten Variable erlaubt. Hierfür wird ein VariableResolver dekariert, über den ein Wert dynamisch berechnet werden kann.

Zum auslesen der Werte, und zum Ersetzen von Expressions in Stringausdrücken kann folgendes Codefragment genutzt werden:

VariablesPlugin.getDefault().getStringVariableManager();

Der StringVariablesManager bietet u.a folgende Methoden zum Laden von Variablen.

variablesmanager

Über die Getter-Methoden lassen sich die entsprechenden Variablen laden, über die performStringSubstitutionMethoden lassen sich Ausdrücke der Form „${expression}“ in String ausdrücken auswerten.

Für das obige Beispiel also würde folgendes Code-Fragment was ausgeben?

System.out.println(VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(“Hello ${de.my.myVar”});

Genau!

Spinnen wir den Faden mal etwas weiter. Was lässt sich mit einem derartigen Variablenkonstrukt realisieren, bzw. wozu in aller Welt braucht man das?

Ein Szenarion, welches mir hierzu spontan einfällt wäre die Bereitstellung von Presets für Konfigurationen. Hierbei würde für jedes Preset eine Liste an Variablen mit bestimmten Werten gefüllt. Braucht man ein neues Preset, wird einfach ein neues Plugin erstellt, die entsprechenden Werte eingefügt und hierdurch eine einfache Auswahl ermöglicht.

Gefunden in: Source-Code des Riena-Projektes.