Wir unterstützen...

Elterninitiative Kinderkrebsklinik e.V

Kinderkrebsklinik e.V

Sponsoren

Wir danken unseren Sponsoren:

Permanente Sponsoren

Uni Düsseldorf
(Raum und Beamer)


(Preise)


(Preise)


(Preise)


(Preise)

Mitgliedschaften



java.net Member

Events

Nachlese: Agile Entwicklungspraktiken in verteilter Entwicklung | Print |
Written by Michael Jastram   
Thursday, 10 October 2013 18:25
Gut 100 Besucher kamen an diesem Abend zur rheinjug, um Jutta Eckstein zu hören, die als Buchautorin und Keynote-Sprecherin inzwischen einen weiten Bekanntheitsgrad erreicht hat. Auch diesen Abend wurde wieder für die Kinderkrebsklinik gesammelt. Letzte Mal wurde ja speziell für Nicola gesammelt, für die die rheinjug die Spenden verdoppelt und großzügig auf €500 aufgerundet hat. Wir freuen uns, dass genug Spenden für Nicolas Krebstherapie zusammengekommen sind.

Jutta Eckstein begann, den Rahmen des Themas abzustecken. Denn "verteilte Teams" kann zweierlei bedeuteten: es können wirklich verteilte teams (distributed), oder verstreute (dispersed) Teams sein. Danach wurde dann auf die typischen Praktiken hingewiesen, wie Pair Programming, Testing, usw., sowie auf deren Mißverständnisse. Zum Beispiel ist Pair Programming nicht dafür gedacht, neue Mitarbeiter einzuarbeiten, sondern um Entwickler auf der selben Augenhöhe zusammenzubringen, um eine geimensame Kultur in der Entwicklung aufzubauen. Diese Praktiken wurden dann im Licht der verstreuten Entwicklung neu beleuchtet. Denn wenn sich die Mitglieder eines Teams nur selten sehen, dann sind diese Praktiken umso wichtiger.

Einen großen Unterschied in verstreuten Teams ist die Bedeutung von Akzeptanztests, denn diese eignen sich auch, um das System mit zu dokumentieren, da diese Tests konkrete Beispiele liefern. Dazu gab Jutta das Beispiel der Entwicklung eines Pay-TV-Systems in Indien, für einen Kunden in New York. Das Problem war, das zu dem Zeitpunkt, in Indien das Konzept des Pay-TVs sich überhaupt nichts vorstellen konnten. Das machte die Kommunikation schwierig. Die Inder haben Ihr Verständnis in der Form von ausführbaren Akzeptanztests dokumentiert, was es dem Kunden ermöglichte, das Verständnis der Entwickler zu kommentieren und zu korrigieren.

Collective Ownership ist auch schwieriger zu realisieren, wenn die Teams verteilt sind. Üblich in großen Teams ist eine exklusive Ownership für jedes Team, aber eine gemeinsame Ownership innerhalb eines Teams. Als Beispiel nannte Jutta hier wieder Indien, wo die Fluktuation von Mitarbeitern wesentlich größer ist als bswp. in Deutschland. Da kann es auch passieren, dass plötzlich das ganze Team weg ist, und das darf natürlich nicht passieren.

Refactoring sind auch kritisch, wenn sie globale Auswirkungen haben. Das kann dazu führen, dass größere Arbeiten denn am Wochenende oder sogar an Feiertagen durchgeführt werden müssen.

Zum Abschluss präsentierte Jutta noch die "Golden Rule", von einem Projekt von Joseph Pelrine: "At the end of a workday: all code is checked in; all tests run green; the build works; build time is < 10 minutes -- or you throw it all away". Sicherlich wahr für jedes agile Projekt, aber ganz besonders für verteilte.

Am Ende des Vortrags wurde Jutta Eckstein mit vielen Fragen bombardiert, und die Diskussionen gingen bei einem Bier noch eine ganze Weile weiter.

 
Nachlese JavaFX | Print |
Written by Peter Stoffels   
Friday, 12 July 2013 12:31
Nachdem vier Wochen vergangen sind hat die Rheinjug auch schon wieder ein neues Thema für die wissenshungrigen Informatiker unter uns gefunden. Diese Mal wurde uns das GUI Framework JavaFX vorgestellt. Wie der Titel vom Plakat schon verriet war Swing gestern und die beiden Präsentatoren Michael Thiele und Alexander Cascall haben dies eindrucksvoll mit Live-Demonstrationen vor ca. 100 Besuchern bewiesen. Übrigens sind die Folien und Demo-Code bei gitHub zu finden.

Also was ist JavaFX? JavaFX soll wie gesagt Swing ablösen und ist ein GUI-Framework, das mehr und mehr Einzug erhält, gerade in der Webwelt. Dies soll ferner auch für mobile Geräte mit Betriebssystemen wie iOs oder Android interessant werden, da mit JavaFX 2.0 auch Gestensteuerung möglich ist.

Womöglich jeder Java-Entwickler hat schon mal mit Swing gearbeitet und an einigen Stellen festgestellt, wie aufwendig es ist, einfache Dinge darzustellen. Dies wurde zum Beispiel anhand des Ladens eines Bildes demonstriert. Direkt im Vergleich dazu wurde ein Codeauszug von JavaFx gezeigt, der sich nur auf einige wenige Zeilen Code beschränkte. Schnell wurde klar, das Thema wird interessant. Generell hat sich viel bei JavaFX getan: Es unterstützt wie eben schon bereits Gesten (Multitouch), rendert sehr gut und schnell Animationen (durch GPU-Hardwarebeschleunigung), enthält sehr ahnsehnliche Chart-Diagramme und unterstützt u.a. auch das Abspielen von HD-Videos durch die Media Engine. Generell bietet das Framework viele ansehnliche Effekte und Tools und kann durch CSS oder FXML beschrieben werden.

Das ist gerade mit das interessante an JavaFX, dass die grafischen Oberflächen losgelöst sind von der Logik und durch XML oder CSS beschrieben werden können. Das bedeutet auch, dass grafische Oberflächen von Designern entwickelt können und Backendlogik von Software-Entwicklern. Generell verwendet JavaFX auch ein Architektur Pattern, das MVVM Pattern, welches dem Model-View-Controller Pattern ähnelt. Es definiert ein View welches via Databinding an das ViewModel gebunden ist und dieses ist wiederum an ein oder mehrere Models gebunden. Ein simples Beispiel hierfür ist ein Model Vorname und ein Model Nachname. Das ViewModel würde dann z.B. eine Komposition dartstellen: Gesamtname, welches aus den beiden Models besteht. Die Komposition oder das ViewModel dient dann als Datencontainer für ein Label z.B. welches sich im View befindet. Der Clou bei der ganzen Sache ist, dass das ganze Framework überwiegend auf Properties und Bindings aufbaut. Ändert sich also der Name im Label, ändern sich auch die Models auf der untersten Ebene und umgekehrt (Bi-Direktional).

Damit die eben genannten Beispiele auch bildlich hängen bleiben, haben die beiden live am Beamer programmiert. Dafür diente „Farmville“ als Demonstrationsvorlage. In diesem Spiel geht es darum, Gemüse vom Feld zu ernten. Problem dabei ist, dass das Gemüse einen Lebenszyklus durchläuft. Schritt für Schritt haben uns die beiden dann präsentiert, wie man solch ein Spiel in JavaFX programmieren kann.

JavaFX ist mittlerweile fester Bestandteil von JavaSDK7 und wird auch von vielen IDE’s unterstützt. Den besten Support bietet wohl Netbeans in dieser Hinsicht.

Alles in Allem war dies wieder ein klasse Vortrag. Dieses Mal von Michael Thiele und Alexander Cascall, die wirklich Freude und Spaß beim Entwickeln mit grafischen Oberflächen mit dem JavaFX Framework vermittelt haben. Bei dem einen oder anderen Zuschauer hat es mit Sicherheit die Neugierde geweckt, selbst einmal ein paar Gehversuche mit JavaFX zu starten.

 
Nachlese Internet of Things | Print |
Written by Peter Stoffels   
Thursday, 23 May 2013 08:51
Die Rheinjug Veranstaltung vom 16.05.2013 behandelte das aktuell boomende Thema "Internet of Things". Den Vortrag vor über 100 Besuchern hielten Stefan Vaillant und André Eickler die sich seit 3 Jahren beruflich auf dieses Gebiet spezialisiert haben und für diesen Zweck eine Cloud- und Java-basierte Software-Plattform entwickeln. Heutzutage werden Geräte wie zum Beispiel Snackautomaten, Ferienwohnungen, EKG-Geräte, usw mit dem Internet verbunden um Daten von den Geräten zu erhalten und um diese fernsteuern oder fernwarten zu können. Also wurde der Vortrag auch damit begonnen, dass Internet of Things eigentlich die Kommunikation von Maschine zu Maschine (M2M) meint.

Dabei sind jetzt schon Bekannte Anwendungsfälle, wie Car2GO oder DriveNow jedem Technikinteressierten und Autolosen schon ein Begriff. Um Beispiele zu nennen in welche Richtung die Entwicklung auch noch gehen könnte, nannten die Beiden Automaten, wie Beispielsweise Süßigkeitsautomaten, deren Wartung, Befüllung und Status über das Internet kontrolliert werden könnten und somit generell Arbeitsprozesse optimieren. Für die Verwaltung stände dann eine Plattform bereit, die alle Automaten zentral an einer Stelle verwaltet. Zudem bieten diese Technologien auch neue Möglichkeiten neue Services anzubieten. Im Beispiel mit den Süßigkeitautomaten ließe sich z.B. ein Bargeldloses Bezahlen der Ware über Smartphone einrichten. Dadurch wird deutlich, dass dem Ideen und Möglichkeitenreichtum keine Grenzen gesetzt sind.

Generell wird die Hardware und die Möglichkeit diese über das Internet kommunizieren zu lassen immer günstiger. Die Kommunikation erfolgt dabei über das Mobilfunknetz und einer im Gerät befindlichen SIM-Karte. Somit sind auch die Mobilfunkbetreiber aufgerufen ihre Services wiederum zu erweitern und auf diesen neuen Markt anzupassen.

Wie sieht nun die Hardware als solche aus? Im Vortrag wurden uns Geräte/ Platinen von Raspberry Pi und Arduino gezeigt. Diese können mit allen erdenklichen Sensoren ausgestattet werden. Mit „Ausstatten“ ist dann das einfache Anstecken an Ports gemeint und kein umständliches Anlöten. Diese Ports können mit Hilfe von JAVA-ME programmatisch angesprochen und ausgelesen werden. Auch das war Teil der Live-Demonstration, wo wir dann eine blinkende LED auf einer Raspberry Pi Platine bestaunen durften ;). Wenn gerade keine Harware zur Verfügung steht, lassen sich die Programme auch in Emulatoren testen.

Um spezifische Funktionen der Hardware nutzen zu können, werden dementsprechend auch APIs angeboten um z.B. mit SMS oder MMS zu interagieren. Generell sind die APIs von JAVA-ME noch sehr leichtgewichtigt, aber sollen in Zukunft durch Oracle erweitert, supported und ausgebaut werden.

Alles in Allem war dies ein sehr gelungener Vortrag, der auch durch die Livedemonstrationen sehr anschaulich wurde. Mit Sicherheit hat er den ein oder anderen motiviert seine Idee einmal technisch umzusetzen. Denn wie gesagt, den technischen Möglichkeiten sind keine Grenzen gesetzt und wir werden mehr und mehr über diese Technologie im Alltag stolpern. Vielen Dank an Stefan Vaillant und André Eickler. 

 
Nachlese Web Development: You're Doing it Wrong | Print |
Written by Michael Jastram   
Monday, 17 June 2013 14:01
Absagen gehören zur Realität eines Veranstalters, aber die Erkrankung unseres Dozenten Bernhard Löwenstein einen Tag vor der Veranstaltung brachte uns doch ganz schön ins Schwitzen. Zum Glück erklärte sich Stefan Tilkov bereit, mit dem Thema "Web Development: You're Doing it Wrong" einzuspringen, und so fanden sich auch ca. 100 Besucher ein (von denen lediglich einer den Vortrag "Java in der Ausbildung" erwartete).

Vielen unserer Besucher kennen Stefan als einen der Treiber von REST, also der Idee, die Webprotokolle so einzusetzen, wie sie konzipiert wurden. Nur das es diesmal darum ging, vernünftige Webanwendungen zu schreiben. Bei dem Vortrag handelte es sich um einen Rant: Warum darf man bei manchen Webanwendungen die Vor- und Zurückknöpfe nicht benutzen? Warum muss ein Refresh zurück zur Homepage führen? Wieso ist bei abgeschaltetem JavaScript nichts zu sehen?

Die Ideen von diesem Vortrag fürt Stefan unter dem Namen ROCA (Resource-oriented Client Architecture) zusammen. Es handelt sich dabei um eine Sammlung von Best Practices, die nicht neu sind, aber leider allzu oft vergessen und/oder ignoriert werden - sowohl von Menschen als auch - noch schlimmer - von den Entwicklern von Web-Frameworks.

Exemplarisch wurden viele Stellen gezeigt, wie man mit relativ wenig Aufwand neue und bestehende Webanwendungen drastisch verbessern kann. Zum Beispiel sollte JavaScript nur eingesetzt werden, um bestehende Präsentationen zu verschönern, aber nicht um Kernfunktionalität zu implementieren. Die Trennung von Inhalt (HTML) und Präsentation (CSS) versteht sich sowieso von selbst.

Der Vortrag warf viele Fragen auf, die zum Teil im Anschluss des Vortrags und zum Teil bei einem Bier noch weiter diskutiert wurden. Wir freuen uns, dass der Ersatzvortrag auf so viel Interesse stieß.

 
Nachlese MongoDB | Print |
Written by Peter Stoffels   
Sunday, 03 March 2013 20:33
Zu unserem Vortrag im Februar fanden sich ca. 100 Besucher ein, um von Tobias Trelle mehr über MongoDB zu hören. Vorweg eine schlechte Nachricht: Es scheint ein Problem bei der Aufzeichnung des Vortrags gegeben zu haben. Wir versuchen noch, den Film wieder herzustellen, sind dabei aber nicht sonderlich optimistisch. Die Folien hat uns Tobias freundlicherweise bereits bereitgestellt.

Dieses Mal durften auch mal Datenbanksysteme Mitmischen, genauer gesagt MongoDB. Dazu hat Tobias Trelle vom codecentric-Team einen sehr anschaulichen Vortrag gehalten. Wichtig dabei war vor allen Dingen die Aufklärung über den Begriff „Mongo“, da der Begriff gerade in der Jugendszene auch gerne mal anders angewandt wird. Wie wir also lernen durften wird „Mongo“ aus dem englischen „Humongous“ abgeleitet und bedeutet so viel wie „Gigantisch“. Im Bereich der Datenbanksysteme ist das Verwalten von gigantischen Datenmengen teilweise ein wichtiger Bergriff in Hinsicht auf Performance und Skalierbarkeit. Hier soll dann MongoDB Einzug erhalten.

Interessant war, das MongoDB ohne die typischen ACID Eigenschaften auskommt und auch generell andere Schemata verwendet zu bisher bekannten Datenbanksystemen. Um einigermaßen mitreden zu können sollte man wissen, dass MongoDB nicht „Tabellen“ sondern Collections verwendet, eine Zeile wird als „Document“ deklariert und eine Spalte als „Field“. Eine Besonderheit bei den „Fields“ ist zum Beispiel das Verschachteln und dem Array ähnlichen Aufbau.

Um eine für den Menschen lesbare Repräsentation der Datensätze zu bekommen wird auf JSON –Schreibweise zurückgegriffen, intern jedoch sind die Datensätze im sogenannten BSON-Format abgelegt.

Um mit MongoDB zu arbeiten sind die typischen Query-Abfragen wie update, insert, remove und find vorhanden und werden auch durch einen Java-Treiber unterstützt. Somit ist auch das anbinden an Businesslogik möglich.

Das es keine Rollenverteilung bei diesem Datenbanksystem gibt kann der Ein oder Andere als Gut oder als Schlecht werten. Fakt ist, man darf entweder „nur“ alles(Schreiben/Lesen) oder nur Lesen.

Im Vortrag hat Tobias uns mit Beispielen Einsatzmöglichkeiten von MongoDB gezeigt. Darunter fiel z.B. das Verwalten von Geokoordinaten und auch dem effizienten Arbeiten mit diesen.

Alles in allem ein toller Vortrag von Tobias, der während des Vortrags mit anschaulichen Beispielen gearbeitet hat und uns somit gut in MongoDB eingeführt hat.

 
<< Start < Prev 1 2 3 4 5 6 7 8 9 10 Next > End >>

Page 6 of 13