Archive

Posts Tagged ‘JUGUA’

Distributed Application Design with Spring Cloud at JUG UA (November 30)

November 16th, 2017 No comments

We are happy to announce our next JUG UA meetup!

Date: November 30, 19:00 – 22:00 (registration from 18:30)
Venue: “Olympic Hall – Vokzalnaya”, Vasylia Lypkivskoho St, 3, Kyiv

Our partner EPAM provides everyone with a possibility to join this event online.

Registration

Agenda

  • Patterns of Distributed Application Design with live coding session using Spring Cloud (Orkhan Gasimov, Vadim Ivanov @AppsFlyer)

We will start with a single service monolith application and go through steps of it’s evolution up to a distributed solution. We will do it in theory and in practice and see a hello-world live-coding example discussing it in details.

Topics:

  1. Patterns & Architectures
  2. Issues & Bottlenecks
  3. Security Concerns
  4. Communication, Composition & Orchestration
  5. Data Consistency
  6. Live coding using Spring Cloud

JUG UA and Java Tech Talks @ Lohika meetup

October 20th, 2017 No comments

We are happy to announce our next JUG UA and Java Tech Talks @ Lohika meetup!

Date: October 23, 19:00 – 22:00 (registration from 18:30)
Venue: Lohika office, Zhylyanska 35, 7th floor, Kyiv

Registration

Agenda:

  • Casandra: to be or not to be (Andriy Rymar, Software Engineer at Lohika, Lviv)
  • Refactor to Reactive with Spring 5 and Project Reactor (Oleh Dokuka, Software Engineer at Levi9)

Kotlin at JUG UA (October 12)

October 3rd, 2017 3 comments

We are happy to announce our next JUG UA meetup dedicated to Kotlin language!

Date: October 12, 19:00 – 22:00 (registration from 18:30)
Venue: “Olympic Hall – Vokzalnaya”, Vasylia Lypkivskoho St, 3, Kyiv

Our partner EPAM provides everyone with a possibility to join this event online.

Agenda

  • Kotlin for Java developers: How and Why (Marharyta Nedzelska @ Luxoft) slides, src, video
In this talk you will be introduced modern programming language Kotlin. If you’re a Java developer for some years and you’re fed up with NPE, Checked Exceptions, casts and many other things that makes you mad and thinking of becoming a farmer, this talk is for you. Find out that Kotlin is a great solution for these problems.
We will talk about differences between Kotlin and Java, key features of this language and how they are implemented, and of course we will read and write code.
Agenda:
 – differences between Java and Kotlin
 – null safety
 – extension functions and properties
 – delegates
 – destructuring Declarations
 – lambdas
 – let, apply and with functions
 – infix functions
 – other Kotlin features
 – testing with KotlinTest
In general this talk will try to answer two major questions: “Why do we need to learn Kotlin?” and “How to learn it?”
After a small break you can become a part of TDD ping-pong session with KotlinTest. So take your laptop with you! Hope you’ll find something interesting for you even if you’re already familiar with Kotlin.
Tags: ,

CAP theorem/Realtime Distributed Text Editor at JUG UA (August 31)

August 24th, 2017 1 comment

We are happy to announce our next JUG UA meetup.

Date: August 31, 19:00 – 22:30 (registration from 18:30)
Venue: Wix office, Pankivska 14A St, 4th Floor, Kyiv

Registration

Agenda

  • The 4 stages of CAP theorem – Denial, Hacking, Anger, and Acceptance (Maxim Ribakov @ Wix)
In the world of multi clustered architecture, just like in life, you can’t have it all. This is what CAP theorem teaches us.
So you start off by denying, thinking that you can have it all, then try to hack it, which leads to anger, anger leads to fear, fear leads to.. no wait. Acceptance.
In this talk we will examine various architectural solutions for services of different SLAs with an emphasis on MVP.
.
  •  Grammarly Docs – Architecting a Realtime Distributed Text Editor (Dmitry Tiagulskyi and Kyrylo Holodnov @ Grammarly)

We will discuss the challenges of building a distributed document editor at a global scale. Some of the things covered:
– Approaches for making group editors. Operational transformation algorithms with conflicts resolution.
– The challenges of distributed data applications. Consistency and durability requirements.
– Overview of architectures that we investigated: atomic group broadcast, master-slave replication, distributed caches (Erlang Mnesia, Infinispan). How do you choose the right one?
– A scalable and reliable system with Java, Nginx-Clojure, Apache ZooKeeper, AWS S3 and DynamoDB. Lessons learned after a year in production.

After this talk you will know:
– How real-world group editors work.
– Why service discovery and dynamic configuration are important.
– Use cases for Apache ZooKeeper, AWS S3 and DynamoDB. Tips and best practices for using them in your project

Tags: ,

Get ready for Java 9 Hack Day at JUG UA (August 12)

July 24th, 2017 3 comments

  • Do you know what’s coming in Java 9?
  • Have you heard a lot of buzz about Jigsaw project?
  • Do you want to get an idea what is Jigsaw about?
  • Do you want to try Java 9 Module System in action?
  • Do you want to be prepared for Java 9?

You are welcome to join “Get ready for Java 9 Hack Day” in Kyiv!!!

Date: August 12, 10:30 – 17:00
Venue: Кудряшова, 18-А, Kyiv
Moderator: Oleg Tsal-Tsalko

Registartion

We are inspired by global ‘Get ready for Java 9 Hack Day’ organised by vJUG and JCP folks that will take place on 19th Aug in Atlanta and will be broadcasting online. However because of time zones difference with Atlanta we (JUG UA) decided to run Hack Day by ourselves on 12th Aug in Kiev. So come and join us. It’s gonna be fun!!!

P.S. Please take your laptops with you, preferably with JDK 9 installed upfront from here – http://jdk.java.net/9/
It is enough to download and unzip JDK 9 somewhere on your computer and set your JAVA_HOME. If you are on Windows machine please make sure you have Cygwin, GitBash or any other similar tool available for you to be able to run .sh scripts.

Async Programming / Cloud with Spring at JUG UA (June 22)

June 14th, 2017 2 comments

We are happy to announce our next JUG UA meetup.

Date: June 22, 19:00 – 22:30 (registration from 18:30)
Venue: Wix office, Pankivska 14A St, 4th Floor, Kyiv

Agenda

  • Async vs. Sync Programming (Dmitry Komanov @ Wix) (video, slides)
Asynchronous programming is a hot topic in software development. Async support is everywhere. But what does async mean? And what does sync mean? What is the essence of programming in both ways? In this talk we will try to figure out what and why about async and sync approaches. This is a part of Wix Resilient Design Talks.
 .
  • Year 2017: Building Cloud with Spring (Anatolii Papenko @ Epam) (video)
In the era of electric automated cars and renewable energy, the software industry is still missing a framework to handle common issues with scaling. We will talk about how Spring Cloud can help us and how fantastic it is to write configurable, fault-tolerant, cloud-ready solutions based on Microservice architecture. Take your laptop, be part of our live demo.

DevOps@Scale at JUG UA (June 20th)

May 28th, 2017 1 comment

We are happy to announce our next JUG UA meetup with Silicon Valley guru – Leonid Igolnik: Enterprise application specialist with wide experience in leadership and management of all aspects of software development life cycle across the technology organization: Software Engineering, Quality Assurance and Cloud operations.

Date: June 20, 19:00 – 21:30 (registration from 18:30)
Venue: Wix office, Pankivska 14A St, 4th Floor, Kyiv

Agenda

  • DevOps @Scale (Greek Tragedy in 3 Acts) (Talk will be in English) (video)

As in a good Greek Tragedy, scaling devops to big teams has 3 stages and usually end badly. In this play (it’s more than a talk!) I’ll present you with Pentagon Inc, and their way to scaling devops from a team of 3 engineers to a team of 100 (spoiler – it’s painful!)

In this talk we will look at the resources, techniques and tools needed for managing DevOps at Scale and we will discuss the challenges that companies encounter when they hit it.

Tags: ,

Bytecode Instrumentation / Spring Cloud at JUG UA (May 25)

May 17th, 2017 1 comment

We are happy to announce our next JUG UA meeting. Our partner EPAM provides everyone with a possibility to join this event online.

Date: May 25, 19:00 – 22:00 (registration from 18:30)
Venue: “Olympic Hall – Vokzalnaya”, Vasylia Lypkivskoho St, 3, Kyiv

Agenda

  • Как и зачем инструментировать байткод в Java приложениях? (Anton Arhipov, Developer Advocate @ ZeroTurnaround, Java Champion) (video)
Экосистема Java богата на разнообразные инструменты и фреймворки в которых довольно много “магии”. Магия эта часто реализована при помощи динамической инструментации Java-байкода.
В этом докладе мы рассмотрим как, а главное – зачем, используются магические приёмы. Посмотрим, какие возможности для этого существуют, разные библиотеки и API.
.
  • Microservices Architecture with Spring Cloud (Orkhan Gasimov, Nextiva) (video)

Microservices architecture is a hot topic flying around distributed application development nowadays. There are many tech-stacks bringing in development power to build distributed applications. We will review core concepts of microservice architectures and will see implementation examples using core components from Spring Cloud which is a mature Java framework built on Spring Boot providing set of tools for building distributed applications with microservice approaches out of the box.

JUnit 5 / Project Reactor (April 13)

April 1st, 2017 1 comment

We are happy to announce our next JUG UA meeting. Our partner EPAM provides everyone with a possibility to join this event online.

Date: April 13, 19:00 – 22:30 (registration from 18:30)
Venue: “Olympic Hall – Vokzalnaya”, Vasylia Lypkivskoho St, 3, Kyiv

Agenda

  • JUnit 5: The Rise of Jupiter (Yaroslav Yermilov, @EPAM) (slides, src, video)
The planet Jupiter (5th! in the Solar System) needs 11 years to make one complete orbit around the Sun. So do JUnit needs 11 years to get a new major release, which means it’s going to be really huge.
Milestone 3 is already available and GA is scheduled on Q3 2017, so now it’s the best time learn and discuss how automating testing is going to look like very soon.
In this talk we will go through JUnit 5 changes and see how they will influence test code we write. Also we will discuss JUnit 5 architectural approach, how it can be extended and how it turns JUnit from test framework into test platform.

.

During the meetup, we are going to overview Project Reactor in depth and trying to understand how to use correctly given functionality and rebuild imperative web application to reactive one.
Agenda:
1. Project Reactor overview.
2. Imperative Application analyzing (2 pages web application with the Gitter integration and plain DB for event logging)
3. Test Refactoring
4. Application refactoring

JUG UA meetup at Wix Kyiv

March 14th, 2017 1 comment

Dear friends, we are happy to announce our next JUG UA meetup at Wix Kyiv.

Date: March 30, 19:00 – 22:00 (registration from 18:30)
Venue: Pankivska 14A St, 4th Floor, Kyiv

Agenda

  • Finding Your Organization’s Code Deodorant (EN) (Ittai Zeidman, Wix) video

What do you do when you know your codebase is dirty, and it’s your in-house framework? This happened to us at Wix. As we debated how to tackle our massive technical debt, we were struck by a wonderful realization: the process of transforming the old framework into something new and shiny is a golden opportunity to improve coding practices throughout the organization. We steered clear of specs and coding standards in favor of a platform of debating, reviewing and improving code. In this talk Ittai will walk you through the process we went through, sharing the story of how we used this ongoing refactoring effort to drive code quality improvements throughout Wix R&D.

  • TDD: Discover Implementation by Stepping Small (Vaidas Pilkauskas, Wix) video

Enough with the theory! Let’s look into how classical TDD techniques are applied to discover algorithm implementations by moving forward with baby steps and triangulating into more generic implementation. This talk is fully based on live coding in Scala, but does not require any prior experience with the language. It covers the following techniques: baby steps, transformation priority premise, mutable vs. immutable code, functional programming habits that may get in the way. It will end with introduction to tail call optimization by leaving audience with an open question which code was more readable.

Tags: ,