На этой неделе много интересных статей о Java 9.
Вот так…
1. Весна и Ява
>> Хорошая жемчужина дизайна API: шаблон стратегии с Lambdas [ jooq.org ]
Внедрение лямбда-выражений и функциональных интерфейсов позволяет переосмыслить дизайн и упростить шаблон проектирования стратегии (и многое другое).
>> Spring Boot и события безопасности с помощью Actuator [ codeleak.pl ]
Spring Boot Actuator имеет удобную поддержку обработки событий аудита и безопасности .
Проще говоря, все, что нам нужно сделать, это определить прослушиватель для предопределенных событий.
>> Проект Amber произведет революцию в Java [ sitepoint.com ]
Наконец-то в Java появилось много новых изменений . К ним относятся вывод типа локальной переменной, общие перечисления, классы данных и сопоставление с образцом.
«У нас были такие на других языках десять лет назад», — приходят сообщения.
>> Полностью настраиваемые сопоставления для Spring MVC [ frankel.ch ]
Приложив немного усилий, мы можем применить функции загрузочных актуаторов и к не-загрузочным приложениям.
>> Улучшения данных Spring в IntelliJ IDEA 2017.1 [ jetbrains.com ]
IntelliJ IDEA получает еще больше функций, ориентированных на Spring.
>> Принцип открытого-закрытого часто оказывается не тем, что вы думаете [ jooq.org ]
Прагматический подход к Принципу Открытости-Закрытости не предполагает стремления к открытости любой ценой.
>> JDK 9 Rampdown Phase 2: Предложение по обработке [ mail.openjdk.java.net ]
Только что начался второй этап снижения производительности JDK 9.
>> Улучшенные инструменты для настройки на строгую инкапсуляцию [ mail.openjdk.java.net ]
Внутренние API в JDK не должны были использоваться, но они использовались несколькими фреймворками, которые сейчас испытывают ошибки.
JDK 9 будет иметь специальный обходной путь для таких ситуаций.
Также стоит прочитать:
>> Советы по Hibernate: как использовать собственный API начальной загрузки Hibernate [ мысли -на-java.org ]
>> Spring Web-Flux — первые шаги [ java-allandsundry.com ]
>> Как определить, какая инструкция не удалась при пакетном обновлении JDBC [ vladmihalcea.com ]
Вебинары и презентации:
>> Запись вебинара: композитные сборки с помощью Gradle и IntelliJ IDEA 2017.1 [ jetbrains.com ]
Время обновления:
>> Выпущен Spring Cloud Stream Chelsea.RC1 [ spring.io ]
>> Девятый выпуск исправления ошибок для ORM 5.2 [ in.relation.to ]
>> Поддержка модулей Java 9 в IntelliJ IDEA 2017.1 [ jetbrains.com ]
>> Доступен Spring Vault 1.0 RC1 [ spring.io ]
>> Выпущен Spring Cloud Dalston RC1 [ spring.io ]
>> Spring Cloud Task 1.2.0.M2 теперь доступен [ spring.io ]
2. Технические
>> Прохождение технического интервью [ aphyr.com ]
Вот как вы заставляете интервьюеров вас ненавидеть 🙂
>> Прагматичный взгляд на изолированные тесты [ thecodewhisperer.com ]
Написание изолированных тестов может сильно повлиять на дизайн вашей системы , выявив чрезмерную связанность и недостаточную связность.
>> «Бесконечность» — это неправильное время ожидания по умолчанию [ techblog.bozho.net ]
Да, устанавливать тайм-ауты на бесконечность или игнорировать их, скорее всего, не очень хорошая идея.
>> Не забывайте о ценностных объектах! [ plainoldobjects.com ]
Объекты-значения — отличный способ справиться со злоупотреблением типом String. Работая на строго типизированном языке, имеет смысл использовать их.
Также стоит прочитать:
>> Создание распределенной среды выполнения для интерактивных запросов в Apache Kafka с помощью Vert.x [ codecentric.de ]
>> Больше проблем с тестовыми данными [ ontestautomation.com ]
>> Распределение добровольцев на избирательных участках [ techblog.bozho.net ]
>> Project Amber: меньшие, ориентированные на производительность функции языка Java [ marxsoftware.blogspot.com ]
3. Размышления
>> Продукт Есть – Нет – Есть – Нет [ martinfowler.com ]
Иногда легче исследовать и объяснить идею, сначала уточнив, чем она не является 🙂
>> Имеет ли значение производительность программного обеспечения? [ lemir.me ]
Производительность программного обеспечения имеет решающее значение, и ею нельзя пренебрегать, но, в конце концов, важна абсолютная ценность кода.
>> Не просто отметьте это — исправьте это! [ daedtech.com ]
Информация о проблемах без фактического решения – это не лучший путь.
Также стоит прочитать:
>> Доктор Кальвин в комнате? [ cleancoder.com ]
>> Превращение технических хобби в подработку [ daedtech.com ]
>> Две разновидности технических оппортунистов: миссионеры и наемники [ daedtech.com ]
>> Путешествие с Okta и Devoxx начинается! [ raibledesigns.com ]
4. Комиксы
И мои любимые Дилберты недели: