Translate

пʼятниця, 29 березня 2013 р.

Шукаємо 4 на JeeConf 2013


Доброго дня.

Шукаємо 4 для поїздки в Київ, щоб купити все купе.

Також, якщо Вам треба, то можу поділитись назвою групи для отримання 10% знижки на квиток.

І невелике нагадування.
 4 квітня будем мати нашу зустріч, де буде розігруватись 50% знижка на JeeConf 2013:
 http://jug-lviv.blogspot.com/2013/03/jug-19-lets-play.html

середа, 27 березня 2013 р.

Java Magazine - March/April 2013


до уваги шановної публіки вийшов новий номер Java Magazine


Одна з центральних тем випуску - розбудова локального ДЖУГ, усього 13 кроків на 15 сторінках журналу.

Також висвітлюютсья наступні теми:
  • як DARPA використовує Java для створення повністю автономних автомобілів
  • початок занять з практичного використання Java Compiler API (того самого, що ховається в пакеті javax.toоl)
  • для тих, хто з якихось причин не долюблює груві, вже багато років пропонуєтсья альтернатива під назвою Jython - ввідна стаття до вашої уваги
  • створення музики, яка надикатиме на TDD, разом з JFugue Music NotePad :)





понеділок, 25 березня 2013 р.

33rd Degree Conference report


Мені пощастило відвідати 33rd Degree Conference.
Перша за все, дякую JUG Lviv за безкоштовний квиток!

33rd Degree - це одна з найбільших Java конференцій в Польщі. Цього року вона проходила у Варшаві, 13-15 березня. Масштаби можна оцінити за такими цифрами: ~1000 учасників, 56 доповідачів, 91 сесія + тренінги.
Доповідачі були, як кажуть - Java-rockstars. Серед них представники Oracle, Attlassian, JetBrains, Plumbr, а ще фріланс-консультанти, які заводили публіку так, ніби на концерті :).

Графік був дуже щільний - 6 паралельних потоків, тому відвідати вдалось тільки якусь частину.

Кілька слів про доповіді та авторів:


Sven Peters, 7 things how to make good team great

Чудова, не технічна доповідь від посла Attlassian - Sven Peters. Він поділився моментами організації робочого процесу у них в компанії. Ось кілька з них:
  •  Flow time (4 години в день діє правило, яке забороняє відволікати людей від написання коду)
  •  Report robot (є окремі люди, які відповідають за звітність і статистику - вся команда бачить, як перетинаються чарти виконаних робіт і продажів)
  •  Eat your dog food (спробуйте користуватись тим, що ви пишете)
  •  Do a special day (в цей особливий день люди роблять виключно ті задачі, які самі вважають за потрібне)
  •  Experimentation day (щось схоже на special day, от тільки вони працюють над своїми проектами) - деякі продукти Attlassian виросли якраз з experimentation days.


Reza Rahman

Дуже цікаві доповіді були від GlassFish-євангеліста - Reza Rahman. Його виступи були популярні, і треба було пропустити кофібрейк, щоб зайняти місце в залі. Ті, хто кофібрейк не пропускав - слухали його стоячи. Кому цікаво, Reza виклав слайди тут.






Venkat Subramaniam

Теж Rockstar. Розповідав про практичні прийоми використання Lambda, альтернативні мови для JVM та NoSQL.
Про NoSQL, цитую: "It does not mean “no sql at all” in fact most NoSql dbs have some sort of SQL support. It is more about “no schema”, but there is a schema, which is implicitly embedded in the application."

Слайдів я на жаль не знайшов.




Tomek Kaczanowski



Девелопер з Польщі, автор книжки Practical Unit testing. Мав доповідь, як не дивно, про Unit тести. Ще казав, що практикує BDD (Blog Driven Development) - це коли ви щоразу, коли робите задачу, думаєте який класний блог пост з неї вийде. Слайди і кілька слів від Tomek'a тут.



Nikita Salnikov-Tarnovski

Один з засновників Plumbr розповідав про memory-leaks та технічні перешкоди при побудові Plumbr. Слайдів теж чомусь немає.


Geertjan Wielenga




Geertjan - Principal Product Manager в Oracle developer tools. Розповідав про нові інструменти для HTML/CSS в NetBeans. Особливість новинки - плагін для Chrome, який перетворює браузер та NetBeans в один суцільний інструмент. Більше тут.




P.S. Було ще багато цікавих доповідей.
Шкода, що організатори не влаштували запис відео.
Цей факт викликав невдоволення публіки, я таки бачив хлопця, який бігав з відеокамерою та штативом, в останній день. Тому, можливо щось з останнього дня з'явиться десь в мережі.

Про організаційні моменти та розважальну програму напишу окремий пост :)


Коли змінювати роботу


Коли змінювати роботу?


Коли все дістало і набридло хочеться змінити роботу. Проте потрібно зважувати дуже багато причин при прийнятті такого рішення. Нижче попробуємо розглянути основні випадки, які спонукають до такого рішення:




пʼятниця, 22 березня 2013 р.

JUG - 19 Let's Play


Радий запросити Вас на 19 зустірч JUG L'viv.

Цього разу нас гостинно запрошує Globallogic 4 квітня 19.00
За адресою вул.Федьковича 60а

На зустрічі будем слухати призентацію "Play Framework overview".
Розповідь про детілі використання Play 1 і Play 2
Призенторм виступить:  Nazarii Shymanskyi

Також будуть розповіді про проходження співбесід на таких відомих компаніях як Google, facebook, Amazon  etc.

Увага !!!
Розіграш знижки на JEEConf 2013. Не пропустіть можливісь отримати 50% знижку!!!!

І як завжди велике прохання зареєструватись!


Fridays Fun


Когда я потратил много часов на нахождение бага и сдался




вівторок, 19 березня 2013 р.

Enterprise Architect certification


If you've considered pursuing the Enterprise Architect certification in the past, but hadn't quite gotten around to it, this is a great opportunity to attempt to get certified in a highly cost-effective manner.  The cost to take the beta version of the exam is only $50, and would usually cost at least $300 plus the cost of taking a certified course if you haven't previously passed the SCEA certification.  The certification process is fairly rigorous, as you'll need to take a lengthy multiple-choice test, submit an assignment, and then write an essay explaining the decisions you made in your assignment.

If you are already SCEA certified, you can upgrade by taking the multiple choice test now or when the exam is live, but you are exempted from submitting the assignment and essay.

If you are a consultant, this certification comes with the added benefit of gaining access to the Oracle Partner Network and the customer implementation opportunities that Oracle shares with this group of partners.  This is the only Java certification Oracle offers the opportunity to gain access to the Oracle Partner Network.

If you decide to pursue this certification, it will require a fairly significant investment of your time but could certainly open up new career opportunities for you.  A few resources that you will likely find useful are:

Announcement:


If you are already developing Java EE 6 based applications, you will likely have an easier time studying, but don't let it stop you if you're not


Best of luck!
Jim Bethancourt


пʼятниця, 15 березня 2013 р.

Fridays Fun






що подивитися на вихідних



Event Sourcing архітектура для вас не пустий звук? черги з java collections занадто повільні? хочете дізнатися як опрацьовувати 1 мільйон транзакцій в секунду на одному сервері? тоді вас напевно зацікавіть ось цей запис колег з jug.ru




середа, 13 березня 2013 р.

What’s in a name : Reason behind naming of few great projects


Why name GIT :

According to WikiPedia:
Linus Torvalds[The creator of git] has quipped about the name git, which is Irish slang for a child born out of wedlock, and British English slang for a stupid or unpleasant person. Torvalds said: ‘I’m an egotistical bastard, and I name all my projects after myself. First ‘Linux’, now ‘git’.'The man page describes git as ‘the stupid content tracker’

Why Name Android:

Meaning of Android is ‘(in science fiction) A robot with a human appearance. all the android versions[Jelly Bean,Ice Cream Sandwich,Honeycomb,Gingerbread,Froyo,Eclair,Donut] till date , are named after popular sweets.

Why Name Hibernate:

Its name seems logical because hibernate mean ‘ Remain inactive or indoors for an extended period’. Similarly the hibernate entities remains inactive for the period they are in database. There is no official reason about naming. Source

Why Name Spring :

According to Blog by Rod Johnson spring was coded with name ‘Interface21 framework’ , but later changed to spring suggested by yann . The reason was one is association to nature and two it represents a fresh start after the “winter’ of traditional J2EE.


вівторок, 12 березня 2013 р.

Spring Expression Language (SpEL)


Spring пропонує шикарні можливості для декларатовного опису параметрів, а вершиною можливостей є Spring Expression Language. По суті, це потужня мова, що надає динаміку до конфігурування бінів, у тому числі можливість працювати графом об"єктів під час виконання. Хто знайомий з OGNL - то це дуже подібно і вшито в спрінг контекст.

Найпростіший приклад: припустимо, ви маєте проперті файл у якому даєте можливість корисутвачу задавати якийсь інтервал часу в годинах (тобто з точки зору користвувача мінімальний крок в налаштуваннях є година), але самі в коді потребуєте секунди, можна інджектати це ось таким чином:
 
<bean class="com.blogspot.jug-lviv.Test" id="test">
  <property name="testField" value="#{${time.interval.hours}*60*60}">
</property></bean>

Наступний приклад, це можливість викликати вашу кастомну функцію, припустимо ви маєте пропертю, до користувач задає якусь відносну директорію, а ви хочете в біні отримати вже абсолютний шлях. Ваший абсолютний шлях = спецефічний для хосту шлях + відносний шлях.

Ви пишет клас що реалізую інтерфейс:

 
interface PathUtil {
   String getRealPath(String relativePath);
}
і тепер у вашій спрінг конфігурації ви можете писати, отримуючи одразу абсолютний шлях інджектнутим в бін:
 
<bean class="com.blogspot.jug-lviv.Test" id="test">
  <property name="testField" 
    value="#{ T(com.blogspot.jug-lviv.PathUtilImpl).getRealPath(${metrics.storage}) }">
</property></bean>

Ну і варіант з інджектанням дефолтного значення, коли воно не доступне серед пропертів:

 
<bean class="com.blogspot.jug-lviv.Test" id="test">
  <property name="topGrade" 
        value="#{${top.grade} == null ? '100' : ${top.grade} }}">
</property></bean>

Всі зазначені праиклади працюють також для конфігурацій через анотації.
Більше читаємо тут http://static.springsource.org/spring/docs/3.0.0.M3/reference/html/ch07.html

SPRING TOOL SUITE 3.2.0 RELEASED + Webinar


11 березня Spring випустив в світ нову версію добре відобї надбудови над екліпсом.
Деталі обновлення і посилання на скачування можна знайти тут:
http://www.springsource.org/node/4247

Також 14 березня о 17,00 відбудиться вебінар:MULTI CLIENT DEVELOPMENT WITH SPRING
Реєстрація і деталі можна знати ось тут:
http://www.springsource.org/node/4033



четвер, 7 березня 2013 р.

HelloWorld in Java


Чудовий пост на StackOverflow
I came across this piece of code, and found it rather interesting. The following print statement would print "hello world". Could anyone explain this?
System.out.println(randomString(-229985452) + " " + randomString(-147909649));
And randomString() looks like this
public static String randomString(int i)
{
    Random ran = new Random(i);
    StringBuilder sb = new StringBuilder();
    for (int n = 0; ; n++)
    {
        int k = ran.nextInt(27);
        if (k == 0)
            break;

        sb.append((char)('`' + k));
    }

    return sb.toString();
}