Hackergarten im Mai

Im Mai wird das erste mal nach längerer Pause wieder ein Hackergarten in Dortmund stattfinden. Das ganze wird dieses mal von der codecentric AG gehostet und gesponsert. In deren neuem Office in Dortmund kann dann bei Pizza in Gruppen an Open Source Projekten gehackt oder einfach neue Dinge ausprobiert werden. Wer im vorletzten Jahr bereits bei einem der Dortmunder Hackergarten zu gast war sollte das Verfahren bereits kennen 🙂

Aber natürlich wollen wir auch alle anderen Einladen mal beim Hackergarten vorbeizuschauen um neue Dinge zu lernen oder sich an einem Open Source Projekt zu beteiligen.

Zu diesem ersten Termin wird es als Einführung auch einen 20 minütigen Talk zum Thema Open Source Entwicklung geben.

Termin: 03.05.2017 ab 19:00 hr
Ort: codecentric Dortmund, Hoher Wall 15, 44137 Dortmund

 

Java Vortragsabend im März


Hallo zusammen,

auch wenn in den letzten Monaten wenig bei uns los war wollen wir natürlich auch in diesem Jahr wieder einen Vortragsabend mit mehreren top Vorträgen direkt nach dem JavaLand veranstalten. Wie auch im letzten Jahr wird das ganze wieder kostenlos sein und allen Java-Entwicklern der Region die leider nicht zum JavaLand können einen kleinen Teil der Konferenz nach Dortmund bringen.

Fest zugesagt haben bisher folgende Speaker mit ihren Talks:

From laptop to the world: multi-region container deployment with Kubernetes

Kubernetes, the open source, container orchestration and cluster management tool draws on lessons learned from a near-decade of using containers at Google. It handles deployment and provisioning of application architecture, and handles a number of critical failure scenarios gracefully – from a crashed process to a failure of cluster nodes.
We will develop, run and test a Java application locally, and deploy it into a cluster of machines with Kubernetes and container orchestration. But we won’t stop there: we’ll see how we can use Kubernetes Cluster Federation to deploy the application into multiple datacenter regions around the world, configuring global load balancing, and regional-level service discovery that can handle a variety of failure scenarios.

Ray Tsang is a Developer Advocate for the Google Cloud Platform. Ray had extensive hands on cross-industry enterprise systems integration delivery and management experiences during his time at Accenture, managed full stack application development, DevOps, and ITOps. Ray specialized in middleware, big data, and PaaS products during his time at Red Hat while contributing to open source projects, such as Infinispan. Aside from technology, Ray enjoys traveling and adventures.
Follow Ray on Twitter @saturnism

REST mit Spring Boot

REST ist ein Begriff für alle Entwickler, die mit der Entwicklung von Schnittstellen zu tun haben. Aber auf was muss man bei der Entwicklung einer „RESTful API“ achten? Wie schneidet man Ressourcen?  Was muss man tun, wenn die Schnittstelle über simples CRUD hinaus gehen soll? Und was steckt eigentlich hinter dem Hypermedia-Hype rund um das Akronym HATEOAS? Diese und weitere Fragen werden in diesem Vortrag praxisnah anhand von Code-Beispielen auf Basis von Spring Boot diskutiert und ergeben eine Checkliste der Dinge, über die man nachgedacht haben sollte, um eine REST-API in einem produktionsreifen Stand ausliefern zu können.

Als Software-Architekt trägt Tom Hombergs bei der adesso AG die technische Verantwortung in Softwareentwicklungs-Projekten im Java-Umfeld und unterstützt die Kunden als Coach in technischen und methodischen Themen rund um die Softwareentwicklung. Als begeisterter Software-Entwickler entwickelt er auf GitHub aktiv an einigen Open Source Projekten mit.

Bean Validation 2.0 – Support für Java 8 und mehr

“Declare once – Validate everywhere”: Bean Validation 1.0/1.1 hat sein Versprechen gehalten und sich rasch als der Standard für Objektvalidierung in der Java-Welt etabliert (Java SE und Java EE). Während dessen wurde Java in Version 8 um viele nützliche Sprachfeatures erweitert: wiederholbare und Type-Level-Annotationen, eine neues Datums- und Zeit-API, zur Laufzeit abrufbare Parameternamen, Optional und vieles andere mehr. Das eröffnet spannende neue Möglichkeiten auch für Bean Validation, z.B. List<@Email String> emails.
Der Vortrag widmet sich den für Bean Validation 2.0 (JSR 380) geplanten Neuerungen. Neben der verbesserten Unterstützung von Java 8 werden von der Community lang ersehnte Features wie die einfachere Ordnung von Constraints oder flexiblere Constraint-Payloads vorgestellt. Auch werden wir einen Blick auf erweiterte Features der Referenzimplementierung Hibernate Validator werfen, wie etwa die API zur programmatischen Erstellung von Constraints.
Die Session ist Code-zentriert, zeigt die neuen APIs in Aktion und vermittelt so ein gutes Verständnis darüber, wie Bean Validation 2.0 beim Lösen typischer Validierungsaufgaben im Entwickleralltag helfen kann.

Gunnar Morling works as software engineer in the Hibernate team at Red Hat, focusing on Hibernate OGM, Validator, and Search. He is also is serving in the expert group for Bean Validation. In his spare time Gunnar is leading the MapStruct project. Prior to joining Red Hat, Gunnar worked on a wide range of Java EE projects in the logistics and retail industries. He is based in Hamburg, Germany.

Java APIs you should know

This isn’t a talk about microservices, NO-SQL, Container solutions or hip new frameworks. This talk will show some of the standard Java APIs that are part of Java since version 5, 6, 7 or 8. All this features are very helpful to create maintainable and future-proof applications, regardless of whether JavaEE, Spring, JavaFX or any other framework is used. The talk will give an overview of some important standard concepts and APIs of Java like annotations, null values and concurrency. Based on an overview of this topics and some samples the talk will answer questions like: How can I create my own annotations? How can I create a plugin structure without using frameworks like OSGI? What’s the best way to handle NullPointerExceptions? How can I write concurrent code that is still maintainable?

Hendrik Ebbers (@hendrikEbbers) ist Java Entwickler bei der Canoo Engineering AG. Sein Hauptinteresse liegt hierbei in den Bereichen JavaFX, User Interfaces und Middleware. Hendrik leitet die JUG Dortmund. Auf seiner Webseite www.guigarage.com bloggt er regelmäßig über Architekturansätze im Bereich JavaFX und zu seinen verschiedenen Open Source Projekten wie Dolphin Platform oder DataFX. Sein Buch “Mastering JavaFX 8 Controls” ist 2014 bei Oracle Press erschienen. Hendrik ist JavaOne Rockstar, Java Champion und JCP Expert Group Member.

Robuste, lesbare Web-UI-Tests mit Page Object Pattern, Geb und Spock

Die UI gilt gemeinhin als schwierig zu testen, und die Tests haben den Ruf, fragil zu sein und bei kleinen Änderungen im produktiven Code reihenweise umzufallen. Das Page Object Pattern erlaubt es, die Details der HTML-Struktur in einer wiederverwendbaren Form zu kapseln. Dadurch wird der Test-Code von der Web-UI separiert und er gewinnt an Stabilität.
Im JVM-Ökosystem hat Geb sich als De-facto-Standard für Web-UI-Tests etabliert. Geb bietet mit seiner Groovy-basierten DSL und einer jQuery-ähnlicher Syntax eine pragmatische Abstraktion über den Selenium WebDriver. Mit Spock als letzte Zutat ergibt sich eine Mischung, die es erlaubt, ohne großen Aufwand gut leserliche Tests zu schreiben, welche äußerst robust gegenüber Änderungen sind.
Für Entwickler, die bis jetzt noch wenig oder hauptsächlich schlechte Erfahrungen mit UI-Tests gemacht haben, wird dieser Vortrag eine Reise durchs Wunderland. Die Fahrt beginnt mit eine kurze Einführung in das Page Object Pattern sowie Geb und Spock. Da auch im Wunderland ein paar Überraschungen lauern, folgen eine Reihe von Tipps und Tricks wie die Stabilität und Lesbarkeit und somit auch die Wartbarkeit von Web-UI-Tests zusätzlich erhöht werden kann. Am Ziel des Ausflugs geht es dann in die Tiefe mit einer detaillierte Betrachtung des Page Object Pattern im Umfeld von Single Page Applications und asynchronen Webseiten.

Stephan Classen ist ein TDD Enthusiast, Open Source Verrückt und liebt es die Code Qualität hoch zu halten. Er arbeitet als Senior Software Engineer bei Canoo Engineering in Basel, ist Mitglied beim Apache Onami Projekt und regelmässiger Teilnehmer am Hackergarten. In seiner Freizeit erkundet er mit seinen zwei Kindern die Welt.

Termin: 30.03.2016, 18:00
Ort: adesso AG, Stockholmer Allee 20, 44269 Dortmund

VJUG24 @ JUG Dortmund

Am 27. September findet die VJUG24,  eine von der VJUG (https://virtualjug.com) organisierte Konferenz statt. Das besondere an dieser Konferenz: 24 Stunden lang wird es Java Sessions rund um den Globus von internationalen Sprechern geben (https://virtualjug.com/vjug24/). Diese Sessions finden bei User Groups statt und werden über den ganzen Globus live gestreamt. Als JUG Dortmund freuen wir uns als Gastgeber für 2 Sessions der Konferenz ausgewählt worden zu sein!

bildschirmfoto-2016-09-12-um-18-12-59

Daher werden wir am 27.09. von 21:00 bis 23:00 Uhr 2 Sessions bei uns hosten. Hier die Informationen zu den Sessions:

Functional Libraries for Java 8 – Rabea Gransberger

Java 8 provides us with new APIs to support a functional programming style. While the standard provides us with a good basis, we sometimes wish for even shorter or powerful ways to write clean code for complex tasks. In this talk I will show you some additional libraries for Java 8 (and beyond) which give you this little extras here and there. I will cover a wide variety of use cases like filter/map/reduce, stream API addons, lambdas with unit testing, SQL query support.

Rabea studied computer science and got a diploma in 2008. She is co-leading the software development department and is working as a software engineer on various projects at MEKO-S. Her main focus is on keeping the code base clean and educating the team on how to write better code. Rabea is a well known speaker at conferences and user groups around the world. She started the Java user group Bremen in 2012 and is part of the organisation team ever since. Besides software development she likes to watch football games in the local Weserstadium.

Using Java 8 Idioms in Existing Code – Trisha Gee

While we’re drawing ever closer to Java 9, and even hearing about features in Java 10, it’s also true that many of us are still working with an older version. Even if your project has technically adopted Java 8, and even if you’re using it when coding new features, it’s likely the majority of your code base is still not making the most of what’s available in Java 8 – features like Lambda Expressions, the Streams API, and new Date/Time.

In this presentation, Trisha will:

– Highlight some of the benefits of using Java 8 – after all, you’ll probably have to persuade The Management that tampering with existing code is worthwhile
– Demonstrate how to identify areas of code that can be updated to use Java 8 features
– Show how to automatically refactor your code to make use of features like lambdas and streams.
– Cover some of the pros and cons of using the new features, including the impact on performance.
At the end of this session, you’ll have a better idea of when refactoring can easily be done, and when it may NOT be a good idea.

Trisha has developed Java applications for a range of industries, including finance, manufacturing, software and non-profit, for companies of all sizes. She has expertise in Java high performance systems, is passionate about enabling developer productivity, and dabbles with Open Source development. Trisha is a leader of the Sevilla Java User Group and a Java Champion. She believes we shouldn’t all have to make the same mistakes again and again. She’s a Developer Advocate for JetBrains so she can share all the cool stuff she’s discovered so far.

Da die Sessions erst um 21:00 starten, wird es die Pizza bereits vor den Vorträgen geben. So könnt ihr euch ab 20:00 mit einer Pizza über die neusten Java-Themen austauschen. Zusätzlich werden wir die Konferenz von 20:00 – 21:00 per Beamer übertragen. Hier wird dann folgender Vortrag gezeigt:

The Seven (More) Deadly Sins of Microservices – Daniel Bryant

Als Host der Konferenz wird es auch einige Goodies geben, da jede Session von wenigstens einer Firma gesponsert wird.

 

Das ganze findet am 27. September ab 19:45 Uhr bei TynTec statt.

Termin: 27.09.16, 19:45 Uhr
Ort: tyntec GmbH, Semerteichstr. 54-56 44141 Dortmund

Lagom – Reactive Microservices mit Java 8

Um noch einen drauf zu legen, haben wir im September gleich zwei Vorträge bei der JUG. Diesmal in den Räumlichkeiten von Zalando.
Ich freue mich, Euch dort zu treffen!

Grüße,
Claudine

Lagom – Reactive Microservices mit Java 8

Das Java-Microservice-Framework Lagom wird von seinen Machern als “opinionated” bezeichnet – es legt den Programmiererinnen und Programmierern also einen bestimmten Weg nahe, ihre Anwendungen zu entwickeln. Als Microservices offensichtlich, aber es geht darüber hinaus – es ist stark beeinflusst von den Ideen des Domain Driven Design, und bietet als Standard zum Speichern von Daten Event Sourcing und CQRS.
Was haben die sich dabei gedacht? Und was macht es „reactive”? Macht es die Entwicklung wirklich produktiver, und die entwickelten Services ausfallsicher und skalierbar, wie es behauptet wird? Wir werden uns die Architektur einer Lagom-Anwendung etwas genauer ansehen und diskutieren, ob dieses Framework wirklich “gerade richtig” ist.

Der Speaker:

meetup Lutz Hühnken ist Solutions Architect bei Lightbend. Er arbeitet seit 1997 in der Softwareentwicklung und war in verschiedenen Rollen an der Realisierung von Webprojekten in unterschiedlichen Branchen beteiligt. Aktuell beschäftigt er sich vorrangig mit Reactive Programming – der Entwicklung von fehlertoleranten, skalierbaren, verteilten Systemen – mit Scala, Akka, Play und Lagom.

 

Veranstaltungsort:

Zalando

Hörder-Hafenstr. 1-3
44263 Dortmund
Deutschland

Termin:

Di, 20.09.2016, 19:00 – 21:30 Uhr

Project Jigsaw in JDK 9: Modularity Comes To Java

Nach einigen ruhigen Monaten steht das nächste Event der JUG Dortmund vor der Tür. Zusammen mit dem Event gibt es dann auch einige News zur JUG und was wir so für die Zukunft planen.

Gruß,

Hendrik

Project Jigsaw in JDK 9: Modularity Comes To Java

Project Jigsaw will bring modularity to the Java platform; something that will enable better security, performance and flexibility for deployment of applications. This talk will look at the fundamentals of how modularity in Java will work. Developers will need to understand that these changes go significantly further than just separating the standard class libraries into a number of discrete units.
This talk will explain the impact project Jigsaw will have on developers in terms of building their applications, as well as helping them to understand how things like encapsulation of private APIs, which have up until now been visible, will change in JDK 9.

Speaker: Simon Ritter

Simon Ritter is the Deputy CTO of Azul Systems. Simon has been in the IT business since 1984 and holds a Bachelor of Science degree in Physics from Brunel University in the U.K.

Originally working in the area of UNIX development for AT&T UNIX System Labs and then Novell, Simon moved to Sun in 1996. At this time, he started working with Java technology and has spent time working both in Java development and consultancy. Having moved to Oracle as part of the Sun acquisition, he managed the Java Evangelism team for the core Java platform, Java for client applications and embedded Java. Now at Azul, he continues to help people understand Java as well as Azul’s JVM technologies and products. Simon currently represents Azul on the JCP Executive Committee and on the Expert Group of JSR 379, Java SE 9.

Follow him on Twitter, @speakjava.

Termin: 7.09.2016, 19:00 – 22:00 Uhr
Ort: adesso AG, Stockholmer Allee 20, 44269 Dortmund