Перейти к основному содержимому

Java Web Weekly, выпуск 169

· 4 мин. чтения

Задача: Наибольшая подстрока палиндром

Для заданной строки s, верните наибольшую подстроку палиндром входящую в s. Подстрока — это непрерывная непустая последовательность символов внутри строки. Стока является палиндромом, если она читается одинаково в обоих направлениях...

ANDROMEDA 42

На этой неделе много интересных статей о 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. Комиксы

И мои любимые Дилберты недели:

>> Откуда у тебя синяк под глазом [ dilbert.com ]

>> Моя мама вырастила меня, положив термос с кофе в мою кроватку [ dilbert.com ]

>> Агрессивный рекрутер ищет пассивных соискателей [ dilbert.com ]

5. Выбор недели

>> Открытый исходный код (почти) все [ tom.preston-werner.com ]