Згадати все: Java-конференція JET. 25 квітня 2016. Звіт №2

Всім привіт! Не так давно ми закінчили завантажувати відео минулої весни конференції, тому настав час поділитися черговим звітом. Цього разу, крім вже опробованного формату в 6 часових сесій і 3-х потоків, майданчик дозволила додати ще один. І ми вирішили присвятити весь цей потік новому і на той момент вже зміцнілому мови Kotlin. Вийшло дуже багато виступів, все варто подивитися, але в оповіданні зупинюся детально лише на кількох.

Відкрити
Як завжди, слова подяки тим, хто нам допомагав — друзям і компаніям. Друзям за те, що продовжують приходити і підтримувати нас. А компаніям за те, що довіряють уми своїх розробників, не боячись отримати на наступний день несподівано отримати велику історію. І, звичайно ж, напутні слова на майбутній день. Головним гаслом яких було те, що конференція, безумовно, це праця, велике вкладення, але потрібно не забувати про задоволення нових зустрічей, нових ідей і нових цілей!



Місце
Нам продовжують подобатися кінотеатри в якості майданчиків для конференцій. Минулий кінотеатр для нас виявився занадто великим, щоб змогти орендувати його цілком. Попередні відгуки показали, що було б здорово обмежити майданчик від сторонніх осіб повністю, тому цього разу ми вибрали трохи менший варіант. Зустрічайте кінотеатр Silver Screen в Arena City!



Кейноут
Вибрати доповідача для кейноута — завдання не з легких. Мало того, що це має бути яскрава, активна особистість, думку якого довіряють, але також і відкрита до нової аудиторії. Ідея прийшла майже відразу, і далеко ходити не довелося. Спираючись на результати минулорічної конференції, де боротьба за кращий виступ вийшла настільки драматичною, ми усвідомили, що запросити Баруха буде відмінним рішенням!

Легко писати програмне забезпечення? А якщо це програмне забезпечення є базовим інструментом у роботі користувача? А що, якщо користувачі це ми — розробники? Загалом, Модульний софт і менеджери залежностей: Ласкаво просимо в пекло!



Активності
В цей раз активностей було не так багато. Позначилося зовсім малу присутність спонсорів. Але ті, що були, попрацювали на славу. Приставки, вікторини, лотереї і найголовніше розвага — справжня своя гра.



Доповіді
» No container: a Modern Java Stack with Bootique

Як багато з вас дійсно пишуть програми? Так, саме програми, а не великий розлогий плагін, який запускається потім вашим контейнером? Bootique, як і Spring Boot, так і Dropwizard, намагається вирішити одну і ту ж проблему — готуємо проект швидко і запускаємо наш «мирний» jar. Але Bootique дає можливість контролювати «начинку» програми спочатку за рахунок того, що використовує Google Guice як механізм розбиття на модулі і контролю залежностей. Ви можете використовувати існуючі модулі або написати свої. А автоматичний завантажувач допоможе зібрати всі потрібні залежності серед вже оголошених Bootique-модулів.

» An Immutable Object Oriented Web Framework

Даний виступ теж апелює до того, як ми будуємо програми. Аналізуючи концепції ООП, Єгор зовсім незадоволений тим, які ідеї вкладають розробники, коли займаються композицією свого додатка. Об'єкт повинен сприйматися як сутність, відповідальна за свою поведінку, яка забороняє будь-яке втручання в цю поведінку під час виконання. Безумовно, створюючи програму як плагін для контейнера, ми тим самим і знімаємо всю відповідальність з себе за виконання написаного. Takes пропонує писати веб додатки саме як програми.



» MyBatis, Thanks God not JPA

Тут все, що ви можете знати про MyBatis — тільки суворі факти і тверезий погляд на світ. Шалено просте рішення, яке дозволяє отримати переваги над голим JDBC, але не страждати від перевантаженості JPA підходу. Дійсно, коли JPA обіцяє позбавити нас від SQL, він додає нових абстракцій, але ніяк не допомагає відійти від розуміння SQL зовсім, звичайно, за винятком простих CRUD систем. Тому MyBatis для всіх любителів прозорості і простоти. Але як і в будь-якому рішенні не обходиться без підводних каменів і темних кутів, благо яких не так багато і вони добре висвітлені в цьому виступі.

» Apache Cayenne: Java ORM Alternative

З назви можна зробити висновок, що Apache Cayenne був створений всупереч існуючим рішенням. Але це зовсім не так. Його історія почалася в 2001 році. І успішно триває в рамках Apache співтовариства. Ґрунтуючись на концепції «Database First», Cayenne оперує поняттями моделей і класів. Модель створюється на основі існуючої схеми в базі. Ми можемо її правити, додаючи, наприклад, нові відносини між об'єктами, яких немає на рівні таблиць. Наступним етапом буде генерація класів. Ми отримуємо двох типів. Є основні класи, яким можемо додавати нове поведінка, і які залишаються незмінним для генератора. І є суперклассы, які містять поведінка для керування властивостями об'єктів і створення запитів. А інтуїтивний API цих запитів може дати додатковий привід задуматися про відмову від умовної сумісності, пропонованої JPA.



» Testing RESTful services: The What The How and The Automated

Що потрібно тестувати RESTful API? На якій стадії розробки варто замислюватися про майбутнє тестуванні? А що, якщо зовсім забули про шарі ізоляції з іншими сервісами? Які інструменти для допомоги в тестуванні тоді існують? А які варіанти роботи з базою даних під час тестування? Тепер настав час запустити наш RESTful сервіс. Які тут інструменти нам допомагають? Звичайно ж, вони будуть різними залежно від типу архіву нашої програми. Запустили, тепер займемося тестуванням наших кінцевих ресурсів. Починаємо тестування з того, що перевіряємо досяжний ресурс, повертає очікуваний результат. І закінчуємо перевіркою на відсутність будь-яких помилок і тим, що на сервері дійсно виконалася потрібна логіка. А повний сценарій тестування наших ресурсів буде залежати від конкретного типу CRUD операцій, виконуваних цими ресурсами.

» Advanced Testing Tools

А це виступ розповість вам трошки про параметризованому unit-тестуванні. Тут розглянуті найбільш популярні фреймворки такі, як TestNG і JUnit 4. До розгляду додані розширення, які привносять більш доброзичливий API для JUnit 4. В рамках параметризованного тестування у виступі освячені підходи, які пропонує новий JUnit 5. Також Tomasz встиг поділитися, в яких випадках варто нам вдатися до системного тестування або, якщо перефразувати, функціональних тестів. І запропонував кілька цікавих бібліотек для classpath моніторингу, для різного типу навантажувального тестування та тестування юзабіліті функціональних частин програми.



Вечірка
Цього разу вечірка пройшла в маленькому і затишному пабі. Нам дуже не хотілося, щоб всі сиділи окремо зі своїми компаніями за столами. Їх малу присутність просто змушувало людей ходити і спілкуватися. Звичайно, не обійшлося без незадоволених. Наступного разу спробуємо організувати місце побільше, а низькі столи приберемо взагалі. І це насправді спрацювало, і вийшло по-справжньому веселий і живе спілкування.



Відео
А ось і довгоочікуваний топ 5 доповідей конференції. Зовсім трохи і всі 5 місць дісталися б доповідями про Kotlin.
1. Dmitry Jemerov — Caught in the Act: Kotlin Bytecode Generation and Runtime Performance


2. Anton Keks — Kotlin in real projects: Pragmatic opinion on pragmatic language


3. Nicolas Frankel — Improve your tests quality with Mutation Testing


4. Jaroslaw Palka — Social networks and recommendation engines, here comes Neo4j


5. Dmitry Jemerov — Kotlin: Making JVM Development Fun Again


Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.