- Extending Spring Boot for the Enterprise & Welcome to JUnit 5 with Billy Korando
Agenda 17:30 Doors open 18:00 Buffet 19:00 Extending Spring Boot for Enterprise 20.00 Break 20:15 Welcome to JUnit 5 21:15 Drinks ======== Giveaways 1 JetBrains License 1 free ticket for GOTO Amsterdam conference ======== About the talks Extending Spring Boot for Enterprise Spring Boot has been an incredibly successful at reducing the time and complexity of spinning up new projects. However enterprise demands often cause Spring Boot projects to become bloated, out of date, and have inconsistent implementations, leading to them being difficult to maintain both for the teams responsible for a project and from an enterprise level of ensuring projects properly implement features like security, logging, database connectivity, and other common concerns. In this presentation we will look at some of the underlying philosophies of Spring Boot and see at how to apply them to the enterprise. Specific topics include creating customs starter libraries, BOMs, and easing project initialization steps all with the goal of reducing developer toil and frustration while ensuring consistent behavior across large enterprises but not blocking experimentation. If your organization has been struggling with bloated poms, projects full of dead code, and long pipelines from project conception to deployment to production this is a presentation you will definitely want to check out. Welcome to JUnit 5 JUnit 5 has been out for a year, so what is the big fuss and why should I take the time to update my existing automated tests to use JUnit 5? In this presentation we will look at many of the new features that have been added in JUnit 5 and not only how they make automated testing easier, but allow developers to write tests in ways that were difficult or impossible to do before. If you have been wondering why you should make the switch from JUnit 4 to JUnit 5 you will definitely want to check out this presentation. About the speaker Billy is a developer advocate with IBM and has over a decade of experience. Billy is passionate about finding ways to reduce mental capacity waste from tedious work; such as project initiation, deployment, testing and validation, and so on through automation and good management practices. Outside of work Billy enjoys traveling, playing kickball, and having his heartbroken by cheering on the Kansas City Chiefs.
- Utrecht JUG 3rd anniversary meetup with Java Champion James Strachan
April 2019 we celebrate our 3rd anniversary and guess what...we will rock the city once again! Our toolbox for making this happen involves the following buzzwords: James Strachan, Pathe Leidsche Rijn, Capgemini, delicious food, great surprises and of course...Utrecht Java User Group! Agenda 17:30 Doors open 18:00 Buffet 18:40 Drive innovation on Java platform by Jade Eloff 19:00 Accelerate your Continuous Integration and Delivery with Kubernetes and Jenkins X by James Strachan 20.00 Break 20:15 Let's go Serverless with Kubernetes by James Strachan 21:15 Drinks ======== Giveaways 10 TEQNation tickets 2 DevoxxUK tickets 1 JetBrains License Many free tickets for Mendix World 2019 conference Many more! ======== About the talks Drive innovation on Java platform There has been a big shift in custom software development – where environment provisioning, infrastructure as code, containers and microservices and CICD has fundamentally changed the way we build, test and deploy applications. Technological progress and the increasing number of viable use cases for AI, IOT, Distributed Ledger and AR/VR technologies means that the innovation horizon has dramatically broadened. This talk will showcase the Java platform used by Capgemini to drive innovation. Accelerate your Continuous Integration and Delivery with Kubernetes and Jenkins X Times are changing! We all need to get better at delivering business value to customers faster and continuously with a cloud-native strategy - but how? This talk will show you how. Let's go Serverless with Kubernetes Serverless is the talk of the town at the moment. This talk will describe the Knative open source project which brings serverless to the Kubernetes ecosystem and shows how you can create, edit, deploy and promote serverless applications using Jenkins X for your CI/CD About James James Strachan is a Java Champion working as a Distinguished Engineer at CloudBees. He's currently working on Jenkins X (http://www.jenkins.io/projects/jenkins-x) to help developers automate their CI/CD for cloud-native applications and help them go faster. He also created Apache Groovy language & Apache Camel. About Jade Jade Eloff is a Solution Architect with 16 years experience, mainly in the Financial services sector. He has extensive experience consulting to and delivering architectures and bespoke solutions for Financial services clients. Jade has deep Retail, Commercial and Investment Banking experience. He has managed teams throughout the design, implementation and support phases of numerous projects. About the location Pathé Utrecht Leidsche Rijn website: https://www.pathe.nl/bioscoop/utrechtleidscherijn
- The Battle of the IDE's & Learning Through Tinkering
March 2019 is our "Back to School / Learning Month". This year we started the "Speaker Incubator Program" and Ko Turk was one of the first members to join this program. He will now do a talk about "The Battle of the IDE's". Tom Cools also spoke for the Utrecht JUG in April 2017. This time Tom will do a talk about how and what you can learn from "just for fun" projects. Agenda 17:30 Doors open 18:00 Buffet 18:45 The Battle ofthe IDE's by Ko Turk 19.35 Break 20:00 Learning Trough Tinkering by Tom Cools 20:50 Drinks ======== Giveaways 1 JetBrains License 1 free ticket for Serveless Architecture conference ======== About the talks The Battle of the IDE's IntelliJ IDEA is the best IDE! Or is it Eclipse? Netbeans perhaps? Or are you working with Emacs/Vi/VSCode or something else? Do you recognize the discussion with your colleagues? Why you should start using another IDE! The one that they use of course! In this session I will show you which IDE you should use (or at least try). Not only based on my opinion but also on that of other developers that filled in the research [What is my favourite IDE and why](https://t.co/VqwdM1C9cu). There are a lot of cool features you definitely need to see! Learning Through Tinkering In the daily drag of requirements and deadlines we often forget to take the time for the fun stuff. Yet it’s these “just for fun” projects that drive us towards greater knowledge and inspire us at our jobs. But… what is it you can learn from them? Moreover, how do you even find something to work on? I will share the paths I have taken to “learn through tinkering”. Join me as I show you my attempts at: Creating an autonomous infra-red battle tank; Unraveling the inner workings of a certain Pocket Monster mobile game; Driving a Lego Boost robot using Java; Creating a game using only vanilla Java (no extra libraries); … and more if time permits! This talk focuses on the lessons I learned along the way and how those insights help me in my daily developer life. Brace yourself, it’s going to be quite a ride! About Ko Ko Turk is a Senior Java Developer at Blue4IT, currently he is working for one of the biggest banks of the Netherlands. He loves to go full stack, creating backend microservices and frontend web applications. Because he likes to know everything about Java, you can find him regularly at the UtrechtJUG or other conferences. About Tom Geek in all facets of the word, including but not limited to boardgames, comic books and programming. Developer without borders, both geographically and technically. Active as a consultant, usually for some of the biggest financial institutions in both Belgium and The Netherlands. Next to that I am trainer/teacher who loves to share not only knowledge but also passion for our craft. Currently working for Info Support NV
- Rabobank & Utrecht JUG present: Clean Architecture with Uncle Bob (free)
Agenda 09.00 Opening 09.15 Clean Architecture & Design 10.15 Architecture: The Real Software Crisis 11.15 Short break 11.30 Break-out sessions 12.15 Lunch 13.15 Break-out sessions 14.00 Short break 14.15 Agility & Architecture 15.15 Specification Discipline 16.00 Drinks Robert Cecil Martin, colloquially known as "Uncle Bob", is best known for promoting several software design principles, and for being one of the authors of the Agile Manifesto. He was also the editor-in-chief of C++ Report magazine and served as the first chairman of the Agile Alliance. Martin has authored numerous books and magazine articles, many of which describe the design principles he promotes. He is also an outspoken advocate of Software craftsmanship, Agile software development, and Test-driven development. Today he will bring us 4 tracks: Clean Architecture and Design So we've heard the message about Clean Code. And we've been practicing TDD for some time now. But what about architecture and design? Don't we have to worry about that? Or is it enough that we keep our functions small, and write lots of tests? In this talk, Uncle Bob talks about the next level up. What is the goal of architecture and design? What makes a design clean? How can we evolve our systems towards clean architectures and designs in an incremental Agile way. Architecture: The Real Software Crisis As software applications continue to grow in size and complexity, the software engineering community faces an ever worsening crisis. Many, perhaps most, large software endeavours are constructed in ways that make them ever more difficult to change and maintain. Some have outright failed. Others are becoming intolerably expensive to continue. At the root of these problems is the poor architecture of this software. As a community we must learn and apply the principles of software architecture, and demand that those principles be followed, even in the face of short term schedule pressure. Attendees to this talk will learn the basis for good software architecture, and techniques for creating and preserving it. Agility and Architecture Do agile methods abandon architecture for speed? Do they replace good design decisions with mindless testing? Are agile methods just another way to hack-and-slash systems together without the appropriate discipline, due-diligence, and documentation? In this track Robert C. Martin describes how the principles of Agile Software Development lead to rich and robust architectures, high degrees of discipline, due consideration of design and architecture, and all appropriate levels of documentation. Specification Discipline The first bullet in the "XP Developer Bill of Rights" is: "Programmers have a right to know what is needed…" In other words, they have a right to know the requirements. But rights and responsibilities go hand in hand. The fact that we have the right to know what is needed means that we have the responsibility to find out what is needed. That means that programmers play a critical role in the specification of systems. We've learned, over the last few decades, that the best way to specify a system is with tests. So specification disciplines are test disciplines. What are those disciplines? What are the responsibilities that programmers have? What responsibilities do customers, product owners, business analysts, and QA have? Given that specification error is one of the primary reasons for project failure; what must craftsmen do to mitigate and eliminate such errors? REGISTRATION - IMPORTANT NOTICE To register for this event and get access to the Rabobank building we need your full name and e-mail address. If you sign up for this event you agree that this information will be shared with the Rabobank.
- Rabobank & Utrecht JUG present: Clean Coding with Uncle Bob (free)
Agenda 09.00 Opening 09.15 Clean Code I 11.00 Clean Code II 12.30 Lunch 13.30 Break-out sessions 14.15 Are You a Professional?[masked] laws of Test Driven Development 17.00 Drinks Robert Cecil Martin, colloquially known as "Uncle Bob", is best known for promoting several software design principles, and for being one of the authors of the Agile Manifesto. He was also the editor-in-chief of C++ Report magazine and served as the first chairman of the Agile Alliance. Martin has authored numerous books and magazine articles, many of which describe the design principles he promotes. He is also an outspoken advocate of Software craftsmanship, Agile software development, and Test-driven development. Today he will bring us 4 tracks: Clean Code I: Args (Java) Keeping code clean is a simple matter of professional ethics. In this talk Robert Martin shows how a Java module can start clean, grow to become messy, and then be refactored back to cleanliness. Be forewarned: his tutorial is about CODE. We will put code on the screen and we will read and critique it. And then, one tiny step at a time, we will clean it. In this tutorial you will participate in the step by step improvement of a module. You will see the techniques of the Prime Directive (Never Be Blocked), and Agile Design Principles brought into play. You will witness the decision making process that Agile Developers employ to write code that is expressive, flexible, and clean. Finally, you learn an attitude of professional ethics that defines the software developer’s craft. Clean Code II: Craftsmanship and Ethics. What does it mean to be a professional software developer? What rules do we follow? What attitudes do we hold? And how can we maintain our professionalism in the face of schedule pressure? In this talk Robert C. Martin outlines the practices used by software craftsmen to maintain their professional ethics. He resolves the dilemma of speed vs. quality, and mess vs schedule. He provides a set of principles and simple Dos and Don’ts for teams who want to be counted as professional craftsmen. Are You a Professional? The time has come for software developers to define our profession, and to define ourselves as professionals. We must choose the disciplines, attitudes, and practices that comprise our profession, and then we must choose to live within those bounds. We must decide what standards we will keep, and we must pledge to say "No" when asked to breech those standards. In this talk Robert (Uncle Bob) Martin reviews this history that has led us to this culmination, and suggests a suite of disciplines, attitudes, and practices that follow from that history and may well become a definition of our profession The Three Laws of Test Driven Development The jury is in, the case is closed. TDD works, and works well. In this talk Uncle Bob makes the point that TDD is not a testing technique at all. Rather, TDD is a way to ensure good architecture, good design, good documentation, and that the software works as the programmer intended. TDD is a necessary discipline for those developers seeking to become professionals. This talk is half lecture and half demonstration. Examples are in Java and Junit. REGISTRATION - IMPORTANT NOTICE To register for this event and get access to the Rabobank building we need your full name and e-mail address. If you sign up for this event you agree that this information will be shared with the Rabobank.
- Meetup with Java Champions Michael Simons and Christoph Engelbert
Details Agenda 17:30 Doors open 18:00 Buffet 19:00 Going from relational databases to databases with relations with Neo4j and Spring Data 20.00 Break 20:15 Instan(t)a-neous Monitoring 21:15 Drinks About the talks Going from relational databases to databases with relations with Neo4j and Spring Data Relational databases still have many use cases. Either being able to handle complex aggregations of time series, dealing with sums, products, either over all tuples or with moving windows. RDBMs are unbeaten handling huge sets with a relatively small number of joins. There has been quite the renaissance of SQL and RDBMs in the past years (and the presenter of this talk might not be innocent here), but there's one type of store whose qualities are not beaten by RDBMs: Graph Databases. Graph databases like Neo4j have several features that no other store has. They are the first choice if your application deals with a lot of real relations, stores object trees that should be queryable and much more. Objects corresponds to nodes and relations are just that. Neo4j facilitates the use of both through its query language Cypher: An easy to learn, pattern matching query language. In this talk I'll present my approach to Neo4j, Object Graph Mapper (OGM) and Spring Data Neo4j (SDN), coming from a relational background. I'll explain the building blocks of SDN, present different ways to to turn some or all of your relational data into a graph and access it from a Spring Boot based application. Instan(t)a-neous Monitoring Continuous Integration, Continuous Delivery, Continuous Monitoring! These days CI and CD are commonly used mechanics to achieve fast turn-around times for high-demand applications. Microservices architectures and highly dynamic envrionments (based on Kubernetes, Docker, …), however, come with a whole different set of problems. Systems, that not only appear and disappear dynamically (e.g. autoscaling), but most commonly tend to be written using multiple different programming languages, are hard to monitor from the point of view that matters: User Requests and User Experience. but the answer is simple; Continuous Monitoring (CM). In this session we'll build a polyglot microservices infrastructure. A way to monitor and trace multi-service requests will be demonstrated using Instana's automatic discovery system. About the speakers Michael Simons Father, Husband, Cyclist and also a programmer: He is a software developer who likes many languages, but Java the most. He wrote the first German book about Spring Boot and works on Spring Data Neo4j and Neo4j OGM at Neo4j. He shares his knowledge on his personal blog and in Java User Groups. Michael founded the Euregio JUG (EuregJUG) in the 3 borders area of the Netherlands, Belgium and Germany. In the summer of 2018 he was announced Java Champion. Christoph Engelbert Christoph Engelbert is a Java Champion and Senior Developer Advocate at Instana and an open source enthusiast and always interested in “Java Next”. In his spare time, he struggles with performance optimizations, the JVM internals or the garbage collector, whereby he is also available to answer questions on these topics as a freelance consultant. He also firmly believes in Polyglot and is familiar with Java, Kotlin, Go, TypeScript and other languages. @noctarius2k
- Global Day of Coderetreat 2018
• What we'll do Last year we organized in Utrecht the Global Day of Coderetreat 2017: https://www.youtube.com/watch?v=Mp34vCVlSVs This year, on November 17th we will join the worldwide Software Craftsmanship community for the Global Day of Coderetreat 2018. Coderetreat? A coderetreat is a full day hands-on coding workshop focused on the fundamentals of software development, design and communication. During the day you will get multiple chances to try out a completely different approach to the same problem. You will have the opportunity to learn new ways of testing, paradigms, architecture styles, libraries, approaches, languages or IDEs. Who should join? You should join, regardless of whether you're working in an IT job or not. You don't have to be a programmer. We love input from everyone: testers, Scrum Masters, even Product Owners tell us that they've learned a lot... Even if you think you're not experienced enough, we can learn a lot from your questions and input while pairing with you (https://en.wikipedia.org/wiki/Shoshin). Why should I go? • experience modern ways of developing software • question what you think you know already and go deeper • meet nice people with a passion for crafting software What should I bring? Please bring a laptop with an IDE or editor of your choice. Your environment should be set up completely so that we won't have to waste time on installing tools or libraries. Create a project for the day that already has all the libraries you usually use for development. Install at least one tool for testing. You should be able to see a red test for assertFalse(true) and a green test for assertTrue(true); Your syntax might vary... Food and drinks? Delicious catered lunch and snacks will be provided. Rules • You can do the programming in any language you like or like to learn! • We will do the exercises in pairs • Bring a laptop to work on (and have the necessary programming tools installed and ready) • Show respect for the other participants Sponsors • CodeSquad Find out more @ http://coderetreat.org (http://coderetreat.org/)
- Meetup with Nicolas Fränkel and Sebastian Daschner
Agenda 17:30 Doors open 18:00 Buffet 18:30 Securing the JVM - Neither for fun nor for profit, but do you have a choice? 19:15 Cloud Native, Service-Meshed Java Enterprise With Istio 20.00 Break 20:15 7 Principles of Productive Software Developers 21:00 Drinks About the talks Securing the JVM The Java API allows a lot: sending packets over the network, compiling code, etc. If you put an application in an production environment, you need to make sure it doesn’t do more than it’s supposed to do. Code reviews are good to improve the hardening of an application, but what if the malicious code was planted purposely? Some code buried in a commit could extract code from binary content, compile it on the fly, and then execute the code in the same JVM run... By default, the JVM is not secured! Securing the JVM for a non-trivial application is complex and time-consuming but the risks of not securing it could be disastrous. In this talk, I’ll show some of the things you could do in an unsecured JVM. I’ll also explain the basics of securing it, and finally demo a working process on how to do it. Cloud Native, Service-Meshed Java Enterprise With Istio In enterprise software, we see more and more of the cloud native technologies, especially container orchestration and service meshes, emerging and slowly taking over the market. Developers are facing the challenge which technology to choose to implement microservices for a cloud native setting. Java Enterprise has been used for software solutions for a long time and its APIs are well-established in the ecosystem. However, is it possible to develop cloud native, service-meshed Java Enterprise applications that fulfill concerns such as scalability, resiliency, and telemetry - in an effective, manageable way? This sessions shows how to implement service-meshed applications using Java EE 8 and MicroProfile. We will develop a mesh of microservices, managed by Kubernetes and Istio. We'll see why especially the Java Enterprise approach fits the concepts behind container orchestration and service meshes well. The session also includes how to integrate the required cross-cutting concerns, such as monitoring, tracing, or resiliency into our applications, where developers have to actively integrate technology themselves and where the platform support us. 7 Principles of Productive Software Developers When working as a software developer, as well as in any other job, it’s important to be productive and to get things done. You want to focus on what adds value, increase your development speed, and cut out as many of the cumbersome, boring and repetitive tasks as possible. This session shows seven principles how to accomplish the goal of being more effective and efficient as a Java developer. These principles include technical as well as self-organizational aspects. We'll especially see how we can get the most out of our tools, why the invention of the mouse was a setback in productivity, and which mindsets to follow. This talk is not limited to specific tools or technologies yet it'll provide examples and experiences, and it is brought to you by a German - from the country of efficiency. About the speakers Nicolas Fränkel - A Java geek Sebastian Daschner is a self-employed Java consultant, author and trainer and is enthusiastic about programming and Java (EE). He is the author of the book ‘Architecting Modern Java EE Applications’. Sebastian is participating in the JCP, helping forming the future standards of Java EE, serving in the JAX-RS, JSON-P and Config Expert Groups and collaborating on various open source projects. For his contributions in the Java community and ecosystem he was recognized as a Java Champion, Oracle Developer Champion and double 2016 JavaOne Rockstar. Besides Java, he is also a heavy user cloud native technologies. He evangelizes computer science practices on https://blog.sebastian-daschner.com, his newsletter, and on Twitter via @DaschnerS.
- Meetup with Java Creator James Gosling
We are very proud to announce that on Thursday October 18th we organize a special meetup with our partner Blue4IT at the Amazon office in Amsterdam. As our guest we have none other than Java Creator James Gosling. Schedule: o 18.00 u – 18.45u Walk-in en buffet o 19.00u – 20.00u Keynote by James Gosling o 20.00u – 20.30u Innovating on the AWS platform by Rohan Raizada (Solution Architect @ AWS) o 20.30u – 21.00u Break o 21.00u – 21.30u Q&A with James Gosling o 21.30u – 22.00u Closing For this meetup there have 40 seats exclusively available for members of the Utrecht JUG. Due to Amazon's security policy we will need your complete name. Otherwise you won't have access to the building and meetup.
- Ray Tsang from Google all the way to Utrecht!
Agenda 18:15 - 19:00 : Doors open & Buffet 19:00 - 20:00 : Google Cloud Native with Spring Boot by Ray Tsang 20:00 - 20:15 : Break 20:15 - 21:15 : JHipster for Google Cloud Platform by Ray Tsang 21:15 - 22:00 : Drinks at the bar ============================================= Giveaways 1 JetBrains License 1 J-Fall ticket ============================================= About the talks Google Cloud Native with Spring Boot by Ray Tsang Spring Framework and Spring Boot have made huge strides in making it easier than ever to develop the next generation of cloud native applications. Importantly, a number of Spring projects provide cloud-vendor agnostic abstractions to developers so that with a simple configuration switch, you’re able to move your local application to run in an on prem datacenter or in the cloud with managed services. Google and Pivotal partnered to develop Spring Cloud adapters for Google Cloud Platform. With Spring Cloud GCP, you can quickly develop cloud native applications and harness the power of Google infrastructure. We’ll introduce a number of projects we’ve been working on, including: Spring Cloud Sleuth integration to send trace data to Stackdriver Trace, Spring Data for Cloud Spanner to quickly access globally distributed Spanner database with Object Relational Mapping, Spring Integration channel adapters for Cloud Pub/Sub to use with Spring Messaging, Spring Boot Starters for Google Cloud SQL to quickly connect to managed MySQL or PostgreSQL databases, and Spring Resource abstraction for Cloud Storage to inject shared file resources. In this session, we’ll show how to build cloud native applications with Spring on Google Cloud Platform. JHipster for Google Cloud Platform Ray Tsang from Google contributed a couple of generators for JHipster, including the initial Kubernetes support, Istio support, and Google App Engine support. In this session, we’ll see how to use these generators to quickly create and deploy JHipster applications into these environments. We’ll also look at the latest work being done on thin microservices architecture such that circuit breakers, retries, load balancing and more are delegated to Istio. In App Engine, we’ll see how we can search centralized logs, and debug applications live. ============================================= About the speaker Ray is a Developer Advocate for the Google Cloud Platform and a Java Champion. Ray has extensive hands on cross-industry enterprise systems integration delivery and management experiences during his time at Accenture, managed full stack application development, DevOps. 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.