Translate

понеділок, 27 липня 2015 р.

#JUGLviv: Tuning the JVM and tools for it



28-го липня, о 18:30, відбудеться зустріч JUG Lviv 
за адресою вул. Олени Степанівни 49,

Вхід - традиційно вільний,
реєстрація обов'язкова!

Speaker:
Coder from Poland*. Hoping to learn something new every day.
Thankful to everybody who helps me while I hop along. Proud of: http://sckrk.com and http://geecon.org.
Co-leads: SCKRK, Polish JUG, Lambda Lounge Kraków.

I’m a flawed human, and unafraid to say so.
Into: people, software, music, role-playing, honesty, learning.
Dislikes: doing unnecessary things, doing “because I can”.


* I got it from me parents. They coded and so do I.

Talk:
Tuning the JVM and tools for it. 
Abstract: When performance hits bottom, everybody starts running around. Agitated questions are thrown at developers, who suddenly are required to have worked with performance in mind for last half a year (and still keep all those deadlines).

Yeah, people are irrational. So what can a dev do?

I'll show you just that. I'll tell you what it means to run a JVM process in GNU/Linux, what tools you have and how they can be used. We'll cover interesting flags, commands and utils you have on just a GNU/Linux box with Hotspot installed. How they can be used to just learn about what eats your memory, deal away with OOM errors and find out where you stall and why. If time permits, we'll go into tools that require installation. :-)

Подарунки:
Розіграш квитків на 




середу, 22 липня 2015 р.

#Hibernate:Comparing dates


Lets assume we have bean MyBean with field createTime

class MyBean{
public long id;

public Date createTime;

}


if you execute following code
MyBean bean = new MyBean(); 

Date time; 

bean.createTime = time; 

//save and get with hibernate 

save(bean); 

MyBean storedBean = getBeanById(bean.id); 

log.info("Times are equal: {}", storedBean.createTime.equals(time));

Variable 'time' was created and saved so that we can expect log will print "Times are equal true" but actually we'll see "Times are equal false" When hibernate fetch Date from DB it returns java.sql.Date
That's it
If you need such condition in code you can do like this
log.info("Times are equal: {}", storedBean.createTime.getTime()==time.getTime()); 

//returns Times are equal true


понеділок, 20 липня 2015 р.

#JUGLviv: Maintainability of Java applications, meetup summary


JUG Lviv щиро дякує всім, хто прийшов на нашу чергову зустріч.
Дякуємо Антнону Гриценко, за якісну доповідь, а також учасникам, за жваві дебати!

Окрема подяка Odesa JUG та компанії Sigma software, які долучились до організації події.



Фото (повний альбом доступний за посиланням):








 Також, вітаємо переможців, які отримають квитки на конференції:
Roman Malko - CodePot
Nazar Kushnir - DevDay
Ігор Саварин - JDayLviv

Слідкуйте за анонсами!


четвер, 16 липня 2015 р.

Spring: migration from 3.x to 4.x issue



Today we’ve got such exception
org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
quick investigation on Spring sources led us to issue with json serialization.
We use jackson for converting  from object to json behind the scene
For Spring 3.x we configured
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.4.2</version>
</dependency>

 

But Spring 4.x requires jackson v2
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.4</version>
</dependency>
 

Thx to Xavier Padró and his blog for hint

Also you can read more about json serialization in Spring 4.x on Spring official blog


суботу, 11 липня 2015 р.

#JUGLviv: 23rd meetup: Maintainability of Java applications.


Чергова зустріч JUG вже незабаром!
Цього разу, спільно з Odessa JUG.
16-го липня, о 18:30, за адресою вул. Олени Степанівни 49,

Вхід - традиційно вільний,
реєстрація обов'язкова!

Talk:
Maintainability of the Java applications. 
How to create Java application to reduce cost of long-term support and development.

Speaker:
Антон Гриценко - Senior Software Developer в Sigma Software, Одеса.
Антон приїде до нас з Одеси, щоб поділитись досвідом.

Подарунки:
Компанія Sigma підтримує JUG Lviv, і обіцяє подарунки учасникам.

Також, активні учасники матимуть шанс виграти квитки на 3 (!) конференції:







вівторок, 7 липня 2015 р.

OpenSource проект у Львові шукає контрибуторів


На днях до мене звернувся колега з проханням допомогти розповсюдити інформацію про opensource проект над яким він працює в межах аспірантської роботи в ЛНУ. Дуже потрібна допомога ком'юніті оскільки вести самому такий великий проект доволі важко. Отож всі кому цікаво взяти в корисному соціально спрямованому opensource проекті звертайтесь jug.lviv@gmail.com
Прохання стосується не тільки "самотніх рейнджерів", але й компаній які можливо мають незайнятих людей та готові помогти у розвитку корисного проекту.

Кілька слів власне по проект
В вересні 2014 року почалась розробка опенсорс проекту для управління процесами в університетах України.Мета розробки даного проекту  - інформатизація процесів всередині університету, а також розробка продукту, який би інтегрувався з ЄДЕБО (Єдина Державна Електронна База Даних з питань Освіти). Також такий продукт необхідний в силу застарілих систем, які використовує університет. Проект великий, але плюс полягає в тому, що розробивши таку систему - її можна з легкістю впроваджувати в інших навчальних закладах.

Сам проект концептуально поділений на декілька модулів, зокрема бекенд і фронтенд, також існує модуль для інтеграції з ЄДЕБО.На даному етапі йде розробка фронтенд частини для Вступної Кампанії, помагає нам в цьому компанія SoftServe. Бекенд розробляється силами Івана Урсула та бажаючими помогти студентами.

З цікавого:
 • Маємо свій Jenkins i Continuous Deployment.
 • Маємо JIRA
 • Маємо ліцензію від Intelij для всіх розробників цього продукту :)
 • Юзаємо Git, маємо свій Гітхаб https://github.com/ifnul
 • ~2300 юніт тестів
 • Код ковередж > 95 %
 • ~1300 інтеграційних тестів
 • ~950 комітів на бекенді
 • Наразі база даних налічує ~130 таблиць.

Технології(бекенд):
 • Java 8, Scala
 • Apache Maven 3, Gradle
 • Spring Core, Spring MVC, Spring Boot
 • jUnit, Mockito
 • Checkstyle, Findbugs, Cobertura
 • JPA, Hibernate 4.3
 • PostgreSQL 9.1
 • Liquibase Migrations
 • Gatling

Технології фронтенд:
 • vanilla.js :)
 • Angular.js
 • Grunt, Bower

Тому розшукуються розробники, колишні студенти або просто небайдужі люди, які б допомогли нам разом розробляти цей проект.Цікаві любі пропозиції: від самостійних ініціатив окремих розробників до компаній, які можуть надати людей з бенчу.