Dies & das

Allerlei in aller Kürze

Michael Wiedeking

MATHEMA Software GmbH

Ramon Anger

Capgemini Deutschland GmbH

Martin Aschoff

AGNITAS AG

Nicole Rauch

msgGillardon AG

Walery Strauch

David Tanzer

K30 Donnerstag, 5. 9., 08:30 – 09:20 Uhr Do de PDF PDF PDF

In dieser Keynote wird – fast schon traditionsgemäß – in aller Kürze über Wissenswertes und Persönliches rund um die Software-Entwicklung referiert.

Ramon Anger
Schlanke Architekturen in der Praxis
Best practices zur Unterstützung schlanker Architekturen

Martin Aschoff
Die 10 schlechtesten Bewerbungstipps
Empfehlungen für ein Todes-CV, damit Sie garantiert kein Headhunter mehr nervt

Nicole Rauch
Craftsman Swaps
Software-Entwickler auf der Walz

Walery Strauch
Atmosphere Framework
Einheitliche API für Asynchrone Web Kommunikation

David Tanzer
Ja/nein/vielleicht
Abstimmungen in agilen Projekten

Michael Wiedeking
Spaßbremse
Die Lichtgeschwindigkeit als limitierender Faktor

Das Beste kommt zum Schluss

Verabschiedung

Das Herbstcampus-Team

Bookware
Donnerstag, 5. 9., 17:00 – 17:15 Uhr Do de

In der Abschlussveranstaltung wird noch einmal resümiert, die besten Sprecher gekürt und unter den Anwesenden einige wenige glückliche „gesucht“, die mit mehr als nur einem Wissensgewinn nach Hause gehen sollen.

From Zero to Azure Hero

Professionelle Cloud Entwicklung mit Windows Azure und C#

Robert Eichenseer

Microsoft Deutschland GmbH
N31 Donnerstag, 5. 9., 09:40 – 10:50 Uhr Do de PDF

Grundlegendes Azure Know How ist mittlerweile bei vielen Entwicklern angekommen. Spätestens bei der konkreten Umsetzung von Aufgabenstellungen stößt man jedoch häufig auf unerwartete Probleme bzw. Fehlermeldungen aus der Cloud. Der Vortrag blickt hinter die klassischen ?Hello World?-Beispiele und zeigt wie Windows Azure für die Entwicklung von professionellen und ausfallsicheren Anwendungen genutzt werden kann.

Das [C]Kreuz mit den Lambdas

Eine erweiterbare generisch-parallele Suche mit C#-PLinq

Dr. Ulrich Hilburger

NÜRNBERGER Versicherungsgruppe
N32 Donnerstag, 5. 9., 11:20 – 12:30 Uhr Do de PDF

Während die Java-Gemeinde sehnlichst auf die Lambda-Funktionen von Java 8 im nächsten Jahr wartet, gibt es diese in C# bereits seit 2006 (dotnet 2.0) und in Verbindung mit [P]Linq (dotnet 3.5 [4.0]) seit 2007 [2008]. Damit bietet sich eine elegante Möglichkeit, eine generisch formulierte Suche einfach mit eigenen Suchfunktionen zu erweitern und mittels PLinq automatisch von einer Beschleunigung auf Multiprozessorsystemen zu profitieren. Dieser Vortrag zeigt eine Schritt-für-Schritt-Einführung in das Thema bis hin zur Live-Kodierung einer Wunsch-Erweiterung des Publikums und ist auch für Java-Fans geeignet, die für 2014 ein praxisrelevantes Beispiel für die Verwendung von Lambda-Funktionen suchen.

Flaschenhälse eliminieren

Performance Optimierung von .NET-Applikationen

Markus Müller

datainfo.de
N33 Donnerstag, 5. 9., 14:00 – 15:10 Uhr Do de PDF

Moderne CPUs werden immer schneller und gleichzeitig immer sparsamer. Doch ist moderne Software in Unternehmen auch so Umweltbewusst geworden? In der heutigen Zeit ist das Thema „Performance“ gerade durch Serviceorientierung und horizontaler Skalierung ein wenig in den Hintergrund geraten. Doch haben moderne Software-Techniken und Architekturen auch oft einen hohen Preis, der sich durch eine höhere Stromrechnung oder im schlimmsten Fall aber auch durch frustrierte Anwender niederschlägt. In diesem Vortrag erfahren Sie anhand einfacher Beispiele, wie man mit modernen Tools Flaschenhälse in .NET-Applikationen finden, und durch Profiling sichtbar machen kann. Damit in Zukunft moderne Software- Architekturen auch wirklich zur „Green IT“ passen.

Dynamisch und gefährlich?

C# Dynamics in freier Wildbahn

Timothée Bourguignon

MATHEMA Software GmbH
N34 Donnerstag, 5. 9., 15:40 – 16:50 Uhr Do de PDF

Seit der Einführung des "dynamic" Schlüsselworts in der 4.0-Version von C# streitet sich die .NET-Community zwischen "böse und gefährlich" und "praktisch und cool". Von ASP.NET ViewBags, ExpandoObjects, ElasticObjects, JSON Parser mit ExpandoObjects oder NancyFx Model Objekte bis Simple.Data und Oak's Gemini Bindings, dieses Vortrag wird böse dynamische Konstrukte unter die Lupe nehmen, die in unserer stark typisierten .NET-Welt nicht nur Sinn haben sondern von echtem Vorteil sind.

Zur Hölle mit Responsive!

Ein Streitgespräch

Florian Hirsch

adorsys GmbH & Co. KG
H31 Donnerstag, 5. 9., 09:40 – 10:50 Uhr Do de ZIP

Responsive Webdesign ist nicht nur "der" Trend der letzten zwei Jahre, es scheint auch die Lösung für viele Probleme zu sein: Der Redakteur pflegt den Content nur einmal, der Entwickler erstellt nur eine Website und der User bekommt auf jedem Gerät ein optimiertes Layout. Super! Bei so einer Wunderwaffe drängt sich eine Frage auf: Wo ist der Haken?

Script Factory Method Builder

Fortgeschrittene Techniken mit JavaScript

Frank Goraus

MATHEMA Software GmbH
H32 Donnerstag, 5. 9., 11:20 – 12:30 Uhr Do de PDF

Design Patterns mit JavaScript? Das geht! Durch seinen Mix aus prozeduraler, objektorientierter und funktionaler Programmierweise kann JavaScript in der Entwicklung manchmal ziemlich sperrig und das andere mal ziemlich einfach sein. Doch dank Unterstützung durch Frameworks oder Patterns kann man so einige Klippen umschiffen. Und neben aus dem Java-Bereich bekannten Design Patterns gibt es in JavaScript auch Ansätze für eigene Code-Konstrukte, welche die Arbeit erleichtern. In diesem Vortrag werden häufige Tücken von JavaScript und deren Lösungsansätze, sowie häufige Patterns vorgestellt und anhand von Beispielen erläutert. JavaScript-Kenntnisse werden vorrausgesetzt.

<Superheld/>

Web-Applikationen mit AngularJS

Joachim Weinbrenner

jsolutions
H33 Donnerstag, 5. 9., 14:00 – 15:10 Uhr Do de ZIP

Betrachtet man die Entwicklung der client-seitigen Web-Frameworks, so sticht in jüngster Zeit ein Kandidat mit enormen Zuwachsraten heraus: AngularJS. Das JavaScript-Framework bietet einen optimalen Weg zur Trennung von Design und Anwendungslogik sowie der Anbindung an Backends. Der Vortrag gibt eine Einführung in die Implementierung von AngularJS-Anwendungen und zeigt Wege zum Aufbau von modernen, hoch skalierbaren Web-Architekturen.

Die ultimative Herausforderung

Responsive Webdesign und Parallax Scrolling

Uwe Frieser

adorsys GmbH & Co. KG
H34 Donnerstag, 5. 9., 15:40 – 16:50 Uhr Do de PDF

Dieser Vortrag bietet eine Einführung in die beiden großen Webdesign-Trends des Jahres und zeigt praktische Beispiele, wie der Effekt der Bewegungsparallaxe auf unterschiedliche Geräteklassen übertragen werden kann.

Schwarze 8

Änderungen in Java 8

Michael Wiedeking

MATHEMA Software GmbH
J31 Donnerstag, 5. 9., 09:40 – 10:50 Uhr Do de PDF

Endlich scheint es tatsächlich soweit zu sein: Nächstes Jahr kommt Java 8 mit lang ersehnten Neuerungen. Angefangen bei der Parallelisierung der Collection-Klassen, über die Anpassungsmöglichkeiten beim Compilieren, bis hin zu den längst überfälligen Lambda-Ausdrücken und den daraus resultierenden Schnittstellenänderungen. Dieser Vortrag stellt die Liste der geplanten Änderungen vor und beschäftigt sich mit den wichtigsten Änderungen etwas mehr im Detail.

Lambdas I

Funktionale Programmierung in Java mit Lambdas

Angelika Langer

J32 Donnerstag, 5. 9., 11:20 – 12:30 Uhr Do de PDF

Im Release 8 wird Java um Elemente der funktionalen Programmierung erweitert: es wird sogenannte Lambda Expressions geben. Diese Spracherweiterung wird die Art, wie wir in Java programmieren, substantiell verändern. In der Session werden die neuen Sprachmittel vorgestellt: Funktionale Typen, Lambda-Ausdrücke und Methoden-Referenzen. Anhand von Beispielen wird erläutert, wie man mit den neuen Sprachmitteln programmieren kann, welche Idiome sich damit elegant umsetzen lassen und welche Vorteile die Nutzung von Lambdas hat. Da die neuen Sprachmittel Eingang in den JDK (und dabei insbesondere in die Collections) finden werden, wird zur Ergänzung die Session "Lambdas II: Funktionale Erweiterungen der Java-Collections" empfohlen.

Lambdas II

Funktionale Erweiterungen der Java-Collections

Klaus Kreft

J33 Donnerstag, 5. 9., 14:00 – 15:10 Uhr Do de PDF

Mit dem Release 8 von Java wird das Collection-Framework im JDK radikal überarbeitet. Es wird möglich sein, auf Collections sogenannte "Bulk Operations" (JEP 107) auszuführen. Zentrales Element dieser Erweiterungen wird die Abstraktion java.util.stream.Stream sein. In der Session wird erläutert, was Streams sind, wie sie sich von herkömmlichen Collections unterscheiden und wie sie welche Operationen parallel oder sequentiell, "eager" oder "lazy" ausführen. Da die Session elementare Grundkenntnisse von Lambdas voraussetzt, wird zur Vorbereitung der Besuch der Session "Lambdas I: Funktionale Programmierung in Java mit Lambdas" empfohlen.

Die Ecke

Das vert.x Framework – modular, polyglott, asynchron

Eberhard Wolff

adesso AG
J34 Donnerstag, 5. 9., 15:40 – 16:50 Uhr Do de PDF

Hochperformante Lösungen werden schon seit einiger Zeit mit asynchronen Mechanismen implementiert. vert.x bietet genau das - und noch viel mehr: Es werden praktisch alle gängigen Sprachen auf der JVM unterstützt. Es gibt ein eigenes ausgefeiltes Modul-System. Insgesamt also ein ganz neuer Ansatz, Anwendungen für die JVM zu implementieren. Der Vortrag gibt eine kurze Einführung in vert.x und zeigt die hauptsächlichen Vorteile auf.

Test-Driven Development - Möge der Test beginnen

Entwickler vs. Architekt

Gregor Biswanger

Robert Walter

Q31 Donnerstag, 5. 9., 09:40 – 10:50 Uhr Do de ZIP

Ein neues Software-Projekt beginnt. Das Design der Architektur steht auch schon. Nun können die hoch motivierten Entwickler starten, ihre Fachbereiche mit Code zu füllen. Doch kommt es schon nach kurzer Zeit zu großen Problemen! Die Anwendung macht an unterschiedlichen Stellen alles andere als das, was gefordert wurde. Keiner kann am Ende sagen woran das liegt, jeder versucht seine Position zu verteidigen. Ist das Projekt nun zum Scheitern verurteilt? Wird nun der Fertigstellungstermin noch weiter nach hinten geschoben, der sowieso schon an der Schmerzgrenze lag?! Nein, durch Test Driven Development kann dieses Problem verringert werden. Damit ist nicht die Fehleranfälligkeit gemeint sondern das rechtzeitige Erkennen, an welcher Stelle es gerade nicht funktioniert wie es soll. Was ist überhaupt TDD? Wie kann ich TDD für neue oder bestehende Projekte richtig nutzen? Welche Arten von Testmöglichkeiten für heutige Software-Projekte geboten wird, soll auch verdeutlicht werden. Dabei wird einmal die Theorie und anschließend die Praxis genauestens durchleuchtet. Dementsprechend werden dabei folgende Punkte besprochen: Unit-Tests, Integrations-Tests, Akzeptanz-Tests und Mocking.

Akzeptanztests und Regression

Komplexe Schnittstellen und Prozesse mit FitNesse testen

Frank Ganske

MATHEMA Software GmbH
Q32 Donnerstag, 5. 9., 11:20 – 12:30 Uhr Do de PDF

Wenn eine Zertifizierung mit hohem Aufwand verbunden ist, werden permanente Tests oft zu reinen Stichproben. Durch das gezeigte Vorgehen kann gesichert werden, dass der bestehende Zustand erhalten bleibt, wenn sich das System in Teilen ändert.

Sichere Software

Vermeidung von Angriffspunkten bei der Software-Entwicklung

Andreas Vombach

Q33 Donnerstag, 5. 9., 14:00 – 15:10 Uhr Do de PDF

Aufzeigen von Risiken bei der Entwicklung, Tools zur Gefährdungserkennung, bekannte best practices.

Selenium WebDriver

Automatisches Testen von Webapps auf gängigen Browsern

Walery Strauch

Q34 Donnerstag, 5. 9., 15:40 – 16:50 Uhr Do de PDF

Selenium ist eine Software zum Testen von Web-Anwendungen. Die Tests werden nativ in gängigen Browsern ausgeführt (Firefox, IE, Chrome, Safari, Opera, Android).
Dieser Vortrag schafft einen Einstieg in die Thematik. Es wird gezeigt, wie man solche Tests schreibt und welche Möglichkeiten man hierfür hat. Dabei werden auch weiterführende Themen, wie die Ausführung in headless-Systemen (z. B. auf einer Linux EC2-Instanz), Selenium Grid oder aber die API, welche die Nutzung durch andere Sprachen wie .NET, Ruby oder Python ermöglicht, durchgenommen.

Identitätskrise

Zeit, Zustand und das Reinheitsgebot

Andreas Flierl

imbus AG
V31 Donnerstag, 5. 9., 09:40 – 10:50 Uhr Do de PDF

Kann das Programmieren von der Von-Neumann-Maschine befreit werden? 35 Jahre nachdem John Backus diese Frage stellte, hat sich nur oberflächlich viel verändert. Die am weitesten verbreiteten Paradigmen zeugen immer noch unverkennbar von ihren jetzt schon altertümlich anmutendenden Wurzeln: ein Computerprogramm verändert seine Welt, d. h. den Speicher, direkt. Das gedankliche Modell der Maschine sickert also wie durch ein Leck über die konventionellen Programmiersprachen in die Algorithmen und deren Implementierung. Genauso wie für den Menschen jedoch das direkte Arbeiten auf der Ebene des Maschinenmodells zum Lösen der meisten Probleme ziemlich unangemessen ist, erhöht der undifferenzierte Umgang mit Zeit und Zustand die Komplexität der Software-Systeme völlig unnötig und macht diese so oft nur noch schwer beherrschbar. Der Vortrag möchte das Problem von verschiedenen Seiten beleuchten und anhand von Code-Beispielen in Scala Lösungsansätze vorstellen und so jeder und jedem, die bzw. der sich nicht scheut, die Komfortzone etablierter Techniken zu verlassen, etwas Handwerkszeug, Entscheidungshilfen und Anregungen für den Programmieralltag mitgeben.

Maßnahmen gegen das Code-Chaos in Standard-Software

Erweiterung von Standard-Software um kundenindividuelle Funktionalitäten

Martin Aschoff

AGNITAS AG
V32 Donnerstag, 5. 9., 11:20 – 12:30 Uhr Do de PDF

Hat man es endlich geschafft, dass aus einem individuellen Software-Projekt für einen einzelnen Kunden ein Software-Produkt für mehrere Kunden geworden ist, so ist die Freude beim Entwickler zunächst groß. Sobald die Software jedoch von den Unternehmen intensiv genutzt wird, regt sich bei den ersten Anwendern der Wunsch nach individuellen Funktionserweiterungen. Auf der einen Seite will man als Entwickler den Wünschen dieser Kunden natürlich gerne nachkommen, auf der anderen Seite möchte man aber nicht in die Projektzeit zurückfallen und für jeden Kunden eine eigene Software-Variante weiterentwickeln. Packt man dagegen alle Erweiterungswünsche in eine gemeinsame Code-Basis, so wird diese unangenehm aufgebläht. Wie lassen sich individuelle Kundenwünsche funktional in die Code-Basis und organisatorisch in den Release-Prozess einer Standard-Software integrieren? Dieser Vortrag stellt Lösungsansätze von der Nutzung von Konfigurationsdateien und -Tabellen über Interfaces und Plugins bis hin zu kompletten Komponenten-Architekturen vor und beleuchtet die jeweilige Stärken und Schwächen der verschiedenen Ansätze auf Basis der Erfahrungen des Referenten aus der Praxis.

NoSQL hoch drei

3 NoSQL Datenbanken in 70 Minuten

Eberhard Wolff

adesso AG
V33 Donnerstag, 5. 9., 14:00 – 15:10 Uhr Do de PDF

NoSQL-Datenbanken gibt es wie Sand am Meer. Jede Datenbank deckt einen besonderen Einsatzkontext ab. Dieser Vortrag zeigt drei Beispiele: Der Document-Store MongoDB kommt auch mit großen Datenmengen zurecht und erlaubt einen effektiven Umgang mit komplexen Datenstrukturen. Redis scheint auf den ersten Blick ein einfacher Key/Value-Store zu sein - bietet aber Features und Möglichkeiten, die weit über klassische Datenbanken hinausgehen. Und schließlich vervollständigt elasticsearch das Trio: Eigentlich eine Suchmaschine, aber in Wirklichkeit ein komplexer Datenspeicher.

ALM konkret

Die Aspekte des Application Lifecycle Management entdecken, verstehen und nutzen

Sebastian Rölz

conplement AG
V34 Donnerstag, 5. 9., 15:40 – 16:50 Uhr Do de PDF

Einige Software-Hersteller schaffen es bereits alle drei bis sechs Wochen neue Versionen zu releasen. Google Chrome und Microsofts Team Foundation Services sind nur zwei Beispiele. Aber wie gelingt es diesen Teams ständig neue Features zu veröffentlichen, ohne dass die Qualität leidet oder der Testaufwand durch die Decke schießt? Der Vortrag zeigt, wie sich agile Teams diesem Ziel Schritt für Schritt nähern können. Die ersten Etappen mit Code-Verwaltung und Integration-Builds sind oftmals schon etabliert. Die nächsten Schritte bedürfen einer Erweiterung des Repertoires um agile Prozesse, Branching-Konzepte und automatisierte Tests. Experten-Tipps für automatisiertes Deployment, Collaboration Tooling und Diagnose runden den Talk ab und inspirieren zu einem vollständigeren ALM.

KaffeeKlatsch
Bookware
MATHEMA
CLEAR IT
Capgemini