Categories
Uncategorized

Continuous Delivery: Jenkins, Docker and Spring Boot

Continuous Delivery: Jenkins, Docker and Spring Boot

Rafal Leszko

Rafał Leszko is a Java developer at Google. Trainer and speaker at international conferences (Devoxx Morocco, Voxxed Days Thessaloniki). In the past he worked in a number of companies and scientific organizations: CERN, AGH University, Luxoft and more. His roles varied from a team lead, trainer, PhD researcher to developer, but one thing remains unchanged: he loves to be as active as possible, looks for challenges and has a lot of creative ideas (he was the one to introduce the Luxoft Lunch & Learn initiative).

In this 2 hours session we will have a practical look at the Continuous Delivery process step by step. Starting by a quick theoretical introduction to Jenkins, Docker and Spring Boot, we will then build a complete release pipeline from scratch.

Categories
Uncategorized

Simplicity through design

Simplicity through design

Virgil Palanciuc

I’m a software engineer at heart, but I dabbled in other related areas like product management and data science. I’ve worked on systems in many languages, using many different technologies, at various levels of abstraction: from optimized assembly code (added SIMD instruction support in Flash Player virtual machine), to cross-platform desktop applications, to web applications, to “big data” services. I’ve experienced working both with resource-constrained embedded systems, and with very large scale distributed systems. I’ve co-authored/ contributed to cool things such as a new processor’s instruction set architecture, or the definition of a new web standard. Currently, I’m doing backend engineering work using mostly Scala & Spark – but my background & interests are rather diverse, so who knows what I’ll do next?

This talk is about the importance of simplicity in software design, and why it’s so hard (but very important) to even agree on what it’s simple and what isn’t. It proposes a way to judge software constructs for their complexity, and discusses a few ways that may help us reduce the incidental complexity of our software systems.

Categories
Uncategorized

Traditional Banks applications and the digital evolution

Traditional Banks applications and the digital evolution

Anibal Dos Santos

Anibal started as “C” and “Cobol” developer in 1998 and mainly working in the financial sector. In April 2000, he joined the Deutsche Bank group as Java developer and, during last 17 years, Anibal owned several roles: IT infrastructure architect, Innovation “evangelist”, solution architect, project manager and, currently, digital lead engineer.

My talk will mainly focus on the gaps between “traditional” applications and the new digital world. This can represent an amazing opportunity for skilled developers who can really drive the evolution process both from programming point of view as well as from process / methodology.

Categories
Uncategorized

A Big Data Streaming Recipe

A Big Data Streaming Recipe

Konstantin Gregor

I am Konstantin Gregor, a developer and software consultant with a background in mathematics and machine learning. Since two years, I work for TNG Technology Consulting in Munich, Germany, where I help our clients develop big data applications with a main focus on real time streaming applications and I always enjoy sharing my knowledge of this awesome field of IT with other developers.

There is a lot to consider when setting up a big data streaming application: How much data will we need to handle? How important are “real time” results? What about constraints on data quality? And how can we deal with various failure scenarios? The open-source world offers numerous big data frameworks that can help process unbounded data, each with its own mechanisms to tackle these problems. I want to show you these frameworks and explain their mechanisms in order to give you some insights on which ingredients you should add to build a big data streaming application that suits your needs.

CLICK HERE is the video recording

Video 23:49 Erratum: Spilling does not happen in the Flink DataStream-API. However you can handle state that does not fit in memory with the RocksDB state backend

Categories
Uncategorized

Angular 2 with TypeScript

Angular 2 with TypeScript

Andrei Antal

Andrei Antal is a Frontend Engineer with extensive experience in frontend technologies. He delivered both large and small projects using various frontend technologies such as Angular 1, Cordova, Ionic, Webkit, React, Angular 2 and TypeScript.

Curious what the new version of Angular brings? Then this workshop might be for you! You’ll dive in the core concepts of Angular 2 and the new modern approach to build component based user interfaces. The Angular 2 framework is one of the best choices for building next generation web applications both small and large at scale.

After brief comparison with its predecessor (Angular 1) we will look into some standard technologies used by Angular like TypeScript and RxJS and start off with some simple examples which use Angular 2 to achieve simple user interface tasks. You will work on exercises where we will touch most of Angular’s concepts and in the end you’ll have an overview of Angular 2 and know how it basically works. We hope you find this short introduction useful and adopt a new way of thinking about user interfaces while working with a component based approach.

Categories
Uncategorized

Machine learning by example

Machine learning by example

Through his career, Michał Matłoka worked with C, Java, forgotten lands of Java EE, Spring, Scala and Big data. He committed a crime of writing a Java EE book, which may hunt him for the rest of his life. He is an open source contributor and a winner of the JBoss Community Recognition Award in 2013 for his contributions to ShrinkWrap. He is currently one of the 40 CEOs at SoftwareMill, a fully distributed company with no main office and a completely flat organization structure. He presented on GeeCON, Devoxx Poland, Confitura and other events. Additional info: I have spoken at: * GeeCON 2015 * Devoxx Poland 2015 * Confitura 2015 * JDD 2016 * Codemotion Warsaw 2016 * 2x Poznań JUGtoberfest * GeeCON Prague 2016.

Are the machines learning on their own? Wait, is Skynet already here? During this session we will tackle an easy Machine Learning problem, show how can it be processed on Spark including data cleaning, normalization and a learning process. Live coding session, but only if the machines don’t rise against us.

Categories
Uncategorized

Mobile Testing Challenges

Mobile Testing Challenges

Buşra Deniz Akin started her mobile development career by developing Android application using Donut in university. After getting taste of mobile development, she added iOS to her toolbox. And now, she is a Mobile Software Consultant who has a keen interest in developing high-quality mobile applications by applying agile principles and methodologies in London and studying for master degree at Bogazici University.

While mobile apps are a booming area, quality questions come hand in hand. Is mobile software so different and require different and new testing techniques, what are the new challenges on testing mobile applications and what are the current solutions for them?

Mobile software gets more and more capable and complex in recent years and quality becomes more distinctive to create successful apps. We’ll see the answers of these questions in this presentation; Is mobile software so different from traditional ones, so to require different and specialised new testing techniques, what are the new challenges on testing mobile applications and what are the current solutions for them? We’ll walk through some essays and real world examples to understand the challenge of mobile testing.

Categories
Uncategorized

Powering Interactive Data Analysis with Google BigQuery

Powering Interactive Data Analysis with Google BigQuery

Márton  is a romanian Google Developer Expert (GDE) senior software architect at REEA/Tirgu Mures who led the implementation of complex and distributed systems serving millions of users for companies like LogoMix, WaterSmart, Ausschreibungsdienste and many more. Among the top romanian StackOverflow users with over 103k reputation points. Active contributor for open-source solutions like Beanstalkd admin console, and Riak admin interface. Expert in Databases and Search system like Google BigQuery, Elasticsearch, Sphinx.

Every scientist who needs big data analytics to save millions of lives should have that power. Complex interactive Big Data analytics solutions require massive architecture, and Know-How to build a fast real-time computing system.BigQuery solves this problem by enabling super-fast, SQL-like queries against petabytes of data using the processing power of Google’s infrastructure. We will cover its core features, working with BigQuery, streaming inserts, User Defined Functions in Javascript, and several use cases for everyday developer: funnel analytics, behavioral analytics, exploring unstructured data.

Categories
Uncategorized

Clean Lambdas & Streams in Java 8 – A Hands-on Experience

Clean Lambdas & Streams in Java 8

Victor Rentea is a Java Craftsman.Sr. Engineer & Technical Lead at IBM Romania. Independent Trainer & Coach.

I worked hard on backend systems over the last 10 years, solving technical challenges of a broad range of enterprise Java applications as a developer, lead and consultant. 4 years ago, after I had devoured Uncle Bob’s Clean Code book, I joined the ‘coding craftsmanship’ move.

Of course, soon after I started preaching about it as an independent trainer/coach. This Clean Code, TDD, Pair Programming stuff it’s just too fun too keep it for oneself. For hundreds of days I’ve spread the word to more than 1000 trainees in all kinds of settings (even faculty lectures), usually bundled together with other training modules that I’ve gradually developed, such as Spring, JavaEE, JPA, Design Patterns, and the like. You can find the entire curricula on my website.
My extensive experience as a trainer allowed me to refine a very entertaining presentation style, spiced with jokes, non-IT-world analogies, and examples that is able to make any developer profile understand even the most advanced design discussions.
Recently however, I realized how much I enjoy meeting smarter people, so I’ve started talking at international conferences such as Devoxx MA and VoxxedDays Belgrade and Bucharest, IMWorld Bucharest.

Are you using Lambdas & Streams in your core business logic? Then you might be having this strange feeling that it’s not Java anymore. That at times it’s cryptic, barely readable.. Come and see how to keep your code clean while making best use of Java8. Bring a laptop or Pair with someone.

Everybody’s using Java8 Lambdas and Streams nowadays. So then, why shouldn’t you use them as much as you can in your enterprise application code? It’s absurd to keep away from these powerful features, but at some point you may start having some weird feeling about them. And then you get to your first code review, and you start wondering… What happened with the Clean Code principles when you jumped on Lambdas? How should you use Lambdas in order to keep a clean maintainable codebase – the ultimate goal of any large enterprise application?

During this workshop, I’ll mix my key points/slides with two hands-on exercises: 1. The basics of Lambdas/Streams, then 2. A tougher problem distilled from a real-world scenario. Note: You can join us anytime later during the workshop, if you want to skip to the more advanced topics.

I’ll introduce the Lambda/Streams features roughly from simple to the more mind-stretching following an order inferred from a little study I’m running “Clean Lambdas”. This way, you’ll see that you could adopt these features gradually, to allow your developers to learn the functional thinking bit-by-bit. One particular interesting topic we’ll talk about is how/where to implement predicates, and I bet you won’t imagine all the possibilities.

At the end, we’ll wrap up trying to sketch how the Clean Code principles change when using Lambdas. More specifically, we’ll brainstorm some guidelines you should keep in mind when playing with the lightsaber (oups,I mean.. Lambdas) in your enterprise application code. This session will leave you with a lot of take-aways: hints, tips, warnings, useful even if you don’t have a lot of prior hands-on experience with Lamdas.

Prerequisites: minimum 3-6 months prior Java 8 experience / or a Spartan. Preparation: Personal laptop with Eclipse/IntelliJ on JDK8 installed. Organization: Workshop. I’ll give you the tasks one by one and gradually build the solution together. I would like the audience will Pair Program as much as possible, switching the writer every ~7 minutes. PS: This workshop is based on a training that I delivered a lot of times.

Categories
Uncategorized

Twelve-factor cloud app in action

Twelve-factor cloud app in action

Ana-Maria Mihălceanu is a fan of Java software craftmanship and a constant adopter of challenging development scenarios; some of her experiments are available on Dzone. Recently, her technical passion for cloud application development has been badged with IBM Certified Application Developer – Cloud Platform v1; and she would like to share with the audience her experience and experiments. Her other passions? The usual knowledge hunt through reading and growing fashion skills through shopping.

When approaching on premise application development there is an entire literature on “how to do it right under any conditions”. But what’s the blueprint for a cloud app? I will discuss the answer by showing how each of the 12 factors influences a cloud-ready app, with Java&NodeJs demos.

Why should you do something different when your application is destined to be a SaaS or to exist within a PaaS? Because this kind of application represents a solution composed of individually cooperating services that need coordination (usually achieved through DevOps Pipeline). The 12-factor app methodology (https://12factor.net) represents a best practice when comes to cloud application development and this presentation will detail and demonstrate each principle. You will see how you can easilly make a Java or NodeJs web application to be cloud-ready by following each of the 12 principles.