середа, 31 грудня 2014 р.

Replacing Throwing Exceptions with Notification in Validations

Martin Fowler виклав цікаву (принаймні для мене) статтю.
Ідея така що коли пишеш валідатори потрібно не викидати ексепшини, а робити список повідомлень.
Тобто замінити ось такий код
class BookingRequest…
  public void check() {
     if (date == null) throw new IllegalArgumentException("date is missing");
     LocalDate parsedDate;
     try {
       parsedDate = LocalDate.parse(date);
     catch (DateTimeParseException e) {
       throw new IllegalArgumentException("Invalid format for date", e);
     if (parsedDate.isBefore( throw new IllegalArgumentException("date cannot be before today");
     if (numberOfSeats == null) throw new IllegalArgumentException("number of seats cannot be null");
     if (numberOfSeats < 1) throw new IllegalArgumentException("number of seats must be positive");


class BookingRequest…
  private void validateNumberOfSeats(Notification note) {
    if (numberOfSeats == null) {
      note.addError("number of seats cannot be null");
    if (numberOfSeats < 1) note.addError("number of seats must be positive");
Оскільки в моєму поточному проекті багато перевірок, думаю варто спробувати такий підхід

середа, 24 грудня 2014 р.

Oracle Confirms New Java 9 Features

The new set of JCPs announced are:
  1. JEP 158: Unified JVM Logging — Introduces a common component logging system.
  2. JEP 165: Compiler Control — Improves control of JVM compiles through a new set of options.
  3. JEP 214: Remove GC Combinations Deprecated in JDK 8 — Maybe self-explanatory: it removes GC combinations from JDK8. 
  4. JEP 213: Milling Project Coin — Addresses some language changes in Project Coin to "smooth out the edges."
  5. JEP 219: Datagram Transport Layer Security (DTLS) — DTLS will be supported in Java 9.
  6. JEP 224: HTML5 Javadoc — Java 9 includes the javadoc tool for outputting HTML5.

субота, 20 грудня 2014 р.

пʼятниця, 5 грудня 2014 р.

JUG- 24 AKKurate AKKA

Наступного четверга 11 грудня о 19-00 відбудеться 24-тя зустріч Java User Group Lviv
Тема:  AKKurate AKKA
Доповідач: java/scala розробник компанії Eleks – Юрій Остапчук
Презентація торкнеться наступних питань:
- SCALAbility problem, Actor System / Java&Scala Actors
- Load-balancing, Supervision & Fault- Tolerance. Networking
- Some Patterns & Best Practices
- Note on 'reactiveness'

Вхід Вільний.
Щоб уникнути stack overflow, прошу зареєструватися ось тут.
Зустріч відбудеться у тренінг центрі компанії Eleks - за адресою  Наукова 7г (1-ий поверх) 

пʼятниця, 28 листопада 2014 р.

четвер, 27 листопада 2014 р.

понеділок, 10 листопада 2014 р.

10 Things You Didn’t Know About Java

10 Things You Didn’t Know About Java

So, you’ve been working with Java since the very beginning? Remember the days when it was called “Oak”, when OO was still a hot topic, when C++ folks thought that Java had no chance, when Applets were still a thing?
I bet that you didn’t know at least half of the following things. Let’s start this week with some great surprises about the inner workings of Java.

1. There is no such thing as a checked exception

That’s right! The JVM doesn’t know any such thing, only the Java language does.
Today, everyone agrees that checked exceptions were a mistake. As Bruce Eckel said on his closing keynote at GeeCON, Prague, no other language after Java has engaged in using checked exceptions, and even Java 8 does no longer embrace them in the new Streams API (which can actually be a bit of a pain, when your lambdas use IO or JDBC).

пʼятниця, 7 листопада 2014 р.

Java Concurrent Animated

Цікава програмка, яка графічно описує як працює Concurrency в Java:

четвер, 6 листопада 2014 р.

понеділок, 27 жовтня 2014 р.

Мрієш стати Hadoop інженером? Мрії збуваються!

Мрієш стати Hadoop інженером? Мріє збуваються!
Унікальна пропозиція від львівського Epam

BigData is a new, fast-emerging trend in enterprise world. Just in 2014 we've started tens of POC/R&D projects for our enterprise clients willing to explore Big Data capabilities for their business. Since majority of them have proven to be successful, thus we do expect significant demand in Big Data enabled engineers in the beginning of 2015. Acknowledging that there is shortage of experienced Big Data resources on market, we (Epam) are willing to hire and train mid level, senior/lead and architect level engineers in this field.

As part of the team, you'll get intensive 1 month training under guidance of our experts and assigned to real projects in test mode in order to start gaining production experience.


  • 2+ years of programming experience
  • Desire to learn and specialize in modern big data technologies.
  • Profound knowledge of Java or Scala 
  • Strong SQL knowledge
  • you know the difference between O(n) and O(n2)
  • At least Intermediate English level
  • able to use linux command line 
  • Knowledge/Experience of BigData (Hadoop, Cassandra, MongoDb, Couchbase, etc) is a big plus.

Якщо Ви зацікавилися, прохання надсилати резюме на адресу з темою Candidate for Hadoop/JUG

пʼятниця, 24 жовтня 2014 р.

Java навсегда! 12 причин длительного доминирования Java

Java foreverЛегко забыть значимость технологии, как только она пронесется кометой через коллективное сознание и погаснет огненной смертью за горизонтом. К примеру, Cobol — когда-то этот язык был культовым для целой эпохи, а сейчас его можно сравнить разве что с протухшей рыбой. В наши дни любой хипстер-программист вам отчеканит, что Cobol – это полный отстой, старый и бесполезный язык. Java может стать следующей жертвой «актуальных» суждений.

Пик продаж книг по Java – далеко в прошлом. Матерые Java-утилиты уже не достаточно сексуальны для обложек журналов. Java уже 19 лет, а прогрессивные разработчики увлечены такими моднейшими и актуальнейшими технологиями как Node.js, Objective-C, Dart, Go и т.д., удивляясь: «Java? Этот артефакт эпохи Web 1.0 еще жив?»

Беглый поиск на показывает, что работы на Java — навалом. Если для iOS около — 2500 предложений, для Java — более 17000. Конечно, нельзя всецело полагаться на эти цифры. Но тот факт, что на рынок работы на Java потенциально в семь раз больше, чем для моднейшей iOS, говорит о том, «старина Java» чувствует себя довольно таки неплохо.

пʼятниця, 26 вересня 2014 р.

Java EE 8 Takes Off!

A big day for Java EE - Java EE 8 is now officially launched as JSR 366 via the JCP process. As you might have expected the primary focus areas are HTTP 2/HTML 5 support, CDI/managed bean alignment, cloud support and Java SE alignment.
Here is some of the very high level content:
Web Standards
  • HTTP 2
  • Server-Sent Events (SSE)
  • JSON binding
  • Action oriented web framework to complement JSF
  • More support for Hypermedia
  • Enhancements to JSON-P, WebSocket and JAX-RS
Managed Bean/CDI Alignment

вівторок, 23 вересня 2014 р.

Java 9 – The Ultimate Feature List

Java 9 Telescope Java 9 The Ultimate Feature List
This post will be updated with new features targeted at the upcoming Java 9 release (last updated: 9/9/2014)
The OpenJDK development is picking up speed: after the Java 8 launch in March 2014, we’re expecting to enter a 2 year release cycle. Java 9 will reportedly be released in 2016, and an early list of JEPs (JDK Enhancement Proposals) that target the release has already been published. Moreover, some JSRs (Java Specification Requests) are already being worked on and we’ve also added a hint of other features that might be included.
The flagship features are the Jigsaw project, significant performance improvements and long awaited APIs including: Process API updates, JSON as part of java.util and a money handling API. For those of you who want to be on the bleeding edge, JDK 9 early access builds are already available here.
In this post we’ll keep updating around the main new features for Java 9 and what they’re all about. So stay tuned for additional updates!

вівторок, 19 серпня 2014 р.

IT Talk #1

JDayLviv Workshop: Let's Play all day

JDayLviv Workshop: Let's Play all day

6 вересня о 9-00 в межах конференції JDayLviv відбудеться воркшоп  Let's Play all day. Його проводитиме наш гість з Німеччини Антон Саров тому знання англійської обовязкове :)
Для того щоб взяти участь у воркшопі вам потрібно мати з собою ноутбук з інстальованими jdk8, IDE та Play Framework. Також вам необхідно зареєструватись. Поспішайте доступно всього 30 місць.

Опис воркшопу від автора:

It is 2014 and you want to build web applications easily? Scalable, with a REST API and also a nice UI. Then look no further, try the Play Framework. This full stack web friendly framework allows you to write nice web applications in Java or Scala. You will learn how easy the whole process is and you will want to “Play” all day long.

REST Morning is coming!

неділя, 17 серпня 2014 р.

JUG #24 Pictures

Дякуємо всім хто прийшов на JUG Lviv Flame#2
Цього разу, нас гостинно прийняв коворкінг Betaplace.


понеділок, 4 серпня 2014 р.

JUG Lviv Flame#2: How to interview people for a java position?

 How to interview people for a java position?

Друга зустріч JUG Lviv  у форматі дискусії
Якщо ви хочете обговорити як співбесідувати людей на java  вакансії - приходьте у четвер о 19-00. 
Жодних спікерів - тільки жива розмова!!!

Вхід вільний

Місце - коворкінг Betaplace
Час - 19-00  07.08.2014

Купити квитки на JDayLviv

#JDayLviv футболки. Голосування.

Яка футболка більше подобається?


Ви можете прочитати про нашого дизайнера - Ярка Філевича

Купити квитки на JDayLviv

#JDayLviv #designer

Цього року дизайн нашої сувенірної продукції розробляє Ярко Філевич. Він працює у компанії Lohika, а у вільний час робить обкладинки для книжок

Малює плакати

Або просто катається на велосипеді ))
Ви можете почитати інтерв'ю Ярка, щоб краще з ним познайомитись або просто зафрендити Ярка на FB

JDayLviv home page

неділя, 3 серпня 2014 р.

#JDayLviv 2014 огляд доповідачів - #3 Sergey Shelpuk

Сергій Шельпук

Родом Сергій з Києва, одразу по закінченні школи вступає в київську політехніку на компютерні науки З третього курсу КПІ паралельно з ним вступив в харківську юракадемію, обравши саме Харків через те, що це найкращий юридичний ВНЗ України. Далі була епічна історія з киданням КПІ і поверненням туди. Що спонукало так різко поміняти керунок ви зможете спитати його особисто на JDayLviv
В 2012 році заочно вступає у лондонську школу економічних та політичних наук на факультет "Інформаційні системи та управління" і стенфордський університет по напрямку "Штучний інтелект"
"Історія мого навчання взагалі дуже нетипова, її важко описати без графіків з таймлайном" - говорить він сам
Сергій фанат  самоосвіти тож пройшов більше десяти онлайн курсів на Udacity, Stanford Online Class, Coursera. Сертифікувався на Cisco та Object Management Group. Переїжджає до Львова де невдовзі стає Director of Data Science у компанії SoftServe. І буквально минулого тижня Сергій покинув SoftServe заради роботи у стартапі QRhythm. Саме цей стартап він презентує 6-го вересня на JDayLviv у доповіді How to take over the world with artificial intelligence
Ви можете почитати про Cергія на його Linkedin сторінці чи слідкувати за ним у FB
Також ви можете проглянути декілька відео Сергієвих презентацій: відео1, відео2

JDayLviv - купити квиток

Інші спікери

субота, 2 серпня 2014 р.

JUG Lviv #23 - presentation

Як  обіцяли, презентація з 23-ї зустрічі:

Вдячні всім, хто прийшов. Нові зустрічі вже незабаром. 

пʼятниця, 1 серпня 2014 р.

Java 8 Update 11 Broke Third Party Tools

Oracle's latest release of Java, 8 update 11 (and 7 update 65), has caused problems for some third-party tools. One of the affected tools is ZeroTurnaround's JRebel, with the Groovy programming language also reporting incompatibilities. Other affected tools include Javassist, a Java bytecode manipulation library, with some users also reporting problems with tools such as Google's Guice (in some circumstances - notably those using AOP) and the Jacoco code coverage tool. Oracle confirmed the bug via a test case from Jochen Theodorou, from the Groovy project team.
The problems seem to stem from a change in the JVM's bytecode verification subsystem in 8u11. The Java language requires any call to a superclass constructor to be the first action undertaken by a constructor, but it seems that this was not enforced by the bytecode verifier in earlier versions of the platform. Oracle's decision to begin firmer enforcement of this language feature may be closing a language specification bug, but it seems to have impacted a number of tools within the ecosystem.
So far there is no indication that any Java code that doesn't use bytecode reweaving or AOP techniques is affected by this bug. Release 8u11 is understood to be fully compatible with all bytecode created directly by javac that is not subject to reweaving techniques, although the widespread nature of these techniques in modern frameworks may make this of limited comfort to developers.
Oracle have yet to announce a release date for a fix and so far the only comprehensive workarounds are to use the -noverify switch or to refrain from upgrading until a fix can be released. However, individual tools are coming up with workarounds on their own, for example Anton Arhipov (Zero Turnaround) confirms that the latest release of JRebel (5.6.1) includes a workaround for this issue.

Fridays Fun

середа, 30 липня 2014 р.

понеділок, 28 липня 2014 р.

#JDayLviv 2014 огляд доповідачів - #2 Rob Ashton

Роб "Ураган" Ештон 

фрілансер - живе у Лондоні та насолоджується життям :) Роб працює з багатьма компаніями у Європі та Індії, кілька років тому він кинув постійну роботу та почав подорожувати
Зараз Роб працює з віддаленими командами, пише на Erlang та JavaScript  виняково цікаві проекти. Веде свій блог, активно викладає проекти в GitHub, виступає на багатьох конференціях, публікує свої презентації, дописує у різні блоги, має репутацію 2223 на StackOverflow, дає інтерв'ю, і знову дає інтерв'ю.
Тільки за минулий та цей рік Роб виступав на Windows Azure Conf, JsDay, DevSum, DevDay, The Geek Gathering... 
На JDayLviv Роб Ештон розказуватиме  про "Lessons Learned Building A Document Database in Clojure"
Більше ви можете спитати його особисто зафрендивши на FB чи  Twitter'і або прийшовши на конференцію JDayLviv

JDayLviv - купити квиток

Інші спікери

четвер, 24 липня 2014 р.

RESTful Web APIs book

всім привіт, в мене зараз лежить ось ця книжка , любязно надана Lviv JUG видавництвом O'Reilly Media

Лежить собі й чекає, коли її хтось візьму і прочитає :) я би рекомендував, якщо ви тісно працюєте/плануєте працювати з рест сервісами і хочете прокачати теорію

фізично книжка знаходиться на єпамі (олени степанівни) - хто хоче почитати - відписуйетсь в коментарях, з задоволенням віддам

Juergen Hoeller Gets Personal on Spring 4, Java 8, Spring XD, and all things Spring

Цікаве інтервю з однм із засновників Spring

середа, 23 липня 2014 р.

До Львова на джаву!

До Львова на джаву!

6-го вересня у славнім місті Львові відбудеться чергова конференція JDay Lviv 2014. Започаткована як подія для джава розробників, цього року конференція розширює коло своїх доповідей та включає в себе теми, які можуть бути корисними не тільки для джавістів, а й для програмістів інших напрямків. Програма включає в себе, окрім суто java world промов, ще й доповіді про функціональне програмування, новітні технології в розробці інтерфейсів, соціальні аспекти професійної діяльності розробників ПЗ та багато інших тем. Всього 15 годин доповідей в 3 потоках.
Ми врахували побажання та зауваження з JDayLviv 2013 тож тепер ще більше драйву, більше цікавих тем та дискусій. Минулого року разом нас було понад 200, сподіваюсь цього року ми встановимо новий рекорд.

Адже цьогоріч тебе чекає:
- Більше європейських доповідачів (багато з яких вперше відвідають Україну)
Rob Ashton
London - UK
Bartek Zdanowski
TouK - Warsaw - Poland
Tomer Gabel
 Wix - Katzir - Israel
Markus Eisele
Red Hat - Munich - Germany
Julianna Göbölös-Szabó & Zoltán Tóth
 Prezi - Budapest - Hungary
та інші...

- Ширше коло актуальних тем

  • Lessons learned building a petabyte-scale data infrastructure
  • #Be #social #FTW - #stackoverflow, #github, #twitter et al for professional #development
  • Make buzzwords work: Cloud, Mobile, Big Data in enterprise reality
  • and more…

- Доповіді по Functional Programming
  • Scala vs Java8
  • Lessons Learned Building A Document Database in Clojure

- Ну і звичайно нове місце для конференції з чудовою панорамою на древнє місто Лева

Реєстрація вже відкрита – поспішай  купити квиток.

Запрошуємо  відвідати Львів в найкращу пору, спробувати львівську каву та з користю провести час. Для гостей з інших міст наш партнер - готель  Rius надає 10% знижку

 P.S. Ставайте нашими друзями у FB чи слідкуйте у Twitter

 Sponsors & partners 
 Check our sponsorship packages here 

 Golden Sponsors


Silver Sponsors


Special Sponsor

General Info Partner

Legal Media Partner

Info Partners




вівторок, 22 липня 2014 р.

OdessaJS’2014. Враження

Понад півроку планування, обдумування ідей, обговорення на зустрічах, листування, спостереження за ситуацією в країні  — і задумане нашою дружньою командою - збулось. 5-6 липня в Одесі відбулась конференція OdessaJS, де зібралась яскрава та весела тусовка  допитливих  і талановитих фронтендерів. Якщо бути точним  — близько 600 людей, враховуючи спікерів та колег із компаній-партнерів зі всіх кутків країни та близького зарубіжжя.

неділя, 20 липня 2014 р.

#JDayLviv 2014 огляд доповідачів - #0

Цього року на JDayLviv приїде багато сильних спікерів з  Європи  дехто з них відвідає Україну вперше. Також буде кілька нових та цікавих спікерів з України. Тож ми вирішили трохи познайомити вас з доповідачами JDayLviv 2014

#1 Отож перший огляд про Julianna Göbölös-Szabó та Zoltán Tóth
#2  огляд про Rob Ashton 
#3  огляд про Sergey Shelpuk 

JDayLviv 2014 - купити квиток

Bartek Zdanowski
TouK - Warsaw - Poland
Jacek Laskowski
Citi - Warsaw - Poland
Maciek Próchniak
TouK - Warsaw - Poland
Markus Eisele
Red Hat - Munich - Germany
Ruslan Shevchenko
 GoSave - Kyiv - Ukraine
Sergey Shelpuk
 SoftServe - Lviv - Ukraine
Ostap Andrusiv
Eleks - Lviv - Ukraine
Mikalai Alimenkou
Zoral  - Kyiv- Ukraine
Rob Ashton
London - UK
Tomer Gabel
 Wix - Katzir - Israel
Julianna Göbölös-Szabó & Zoltán Tóth
 Prezi - Budapest - Hungary
Vitaliy Rudnytskiy
SAP - Wroclaw - Poland
Vitalik Zasadnyy
Nravo - Lviv - Ukraine
Anton Sarov
Berlin - Germany