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

Java Web Weekly, выпуск 140

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

В самом начале прошлого года я решил отслеживать свои читательские привычки и делиться лучшим материалом здесь, на ForEach . С тех пор не пропускал обзоров.

Вот так…

1. Весна и Ява

>> Создание микросервисов Spring Cloud, которые душат устаревшие системы [ kennybastani.com ]

Мне еще многое предстоит пройти здесь, но это определенно фантастическое практическое применение шаблона приложения-душителя , которое лично мне так нравится.

Этот паттерн предлагает такой четкий и разумный противовес неудачной идее Большого Переписывания, поэтому эта статья особенно интересна.

>> Проверьте конфигурацию SAML Spring Security — проблема безопасности XXE [ spring.io ]

Уязвимость, обнаруженная в образце кода , четко и прозрачно сообщается сообществу на случай, если существуют реализации, скопировавшие образец.

Вот почему мне нравится экосистема Spring.

>> Воспроизведение событий в приложении на базе Axon Framework [ geekabyte.blogspot.com ]

Воспроизведение потока событий в архитектуре Event Sourcing — одна из тех вещей, которые требуют времени, чтобы вникнуть.

Но как только вы поймете, что на самом деле можете это сделать, да – откроется множество вариантов .

>> Использование jOOλ для объединения нескольких коллекторов Java 8 в один [ jooq.org ]

Быстрая запись , анализирующая пример кода из сообщества, а затем использующая jOOλ, чтобы сделать его лучше (и намного чище).

Мне определенно нравятся такие углубленные и конкретные взгляды на код, который можно улучшить (особенно когда это происходит с моим кодом). Здесь можно многому научиться.

>> Шпаргалка по JUnit [ zeroturnaround.com ]

Практичный и лаконичный отчет, охватывающий и анализирующий основные выводы по JUnit 5 .

>> Пользовательский тестовый фрагмент с Spring Boot 1.4 [ spring.io ]

Тестирование с помощью Spring и Boot становится все лучше и лучше.

Одним из хороших примеров является сегментация контекста Spring, которая загружается тестом — я всегда делал это вручную. Это лучше.

>> Spring Security OAuth2 — проблема аутентификации клиента [ spring.io ]

Очень интересный и редкий сценарий уязвимости OAuth2 в Spring Security — когда пользователь имеет то же имя пользователя , что и clientId клиента. Быстрая и по существу запись здесь.

Также стоит прочитать:

>> @NaturalId — хороший способ сохранить естественные идентификаторы в Hibernate? [ мысли -на-java.org ]

>> Java, Unicode и загадочная ошибка компиляции [ sitepoint.com ]

>> CQRS и ES с Akka [ codecentric.de ]

>> Применение JDK 9 @Deprecated Enhancements [ marxsoftware.blogspot.com ]

>> Инструментирование провайдеров подключения к гибернации [ eng.fitbit.com ]

>> Клиент HTTP/2 — Java 9 [ blog.oio.de ]

>> Как увеличивать версию родительского объекта всякий раз, когда дочерний объект изменяется с помощью JPA и Hibernate [ vladmihalcea.com ]

>> Интеграция с RabbitMQ с использованием Spring Cloud Stream [ java-allandsundry.com ]

>> Lightbender на JavaOne 2016 [ blog.eisele.net ]

>> Модульность Java 9: выпуск раннего доступа O'Reilly [ branchandbound.net ]

Вебинары и презентации:

>> Технический доклад по платформе SpringOne 2016 – 1 [ infoq.com ]

>> Технический доклад по платформе SpringOne 2016 – 2 [ infoq.com ]

>> Технический доклад по платформе SpringOne 2016 — 3 [ infoq.com ]

>> Технический доклад по платформе SpringOne 2016 — 5 [ infoq.com ]

>> 12 Factor или облачные нативные приложения — что именно это означает для разработчиков Spring? [ infoq.com ]

>> Дорожная карта Apache Tomcat [ infoq.com ]

>> Современный дизайн компонентов Java с помощью Spring 4.3 [ infoq.com ]

>> Cloud Native Java [ infoq.com ]

Время обновления:

>> Spring Cloud Data Flow для Cloud Foundry выходит на 1,0 GA [ spring.io ]

>> Spring Web Services 2.3.1/2.4.0 выпущены [ spring.io ]

>> Spring REST Docs 1.1.2.RELEASE [ spring.io ]

>> Выпущен Spring Cloud Data Flow для Mesos 1.0 RC2 [ spring.io ]

>> Spring Cloud Stream Brooklyn.M1 доступен [ spring.io ]

>> Spring Cloud Camden M1 доступен [ spring.io ]

>> Dropwizard Java REST Framework версии 1.0.0 содержит обновленную поддержку библиотеки, Scala и Java 8 [ infoq.com ]

2. Технические

Очень многообещающий новый проект, в котором планируется обновить RFC6265 (основной RFC по управлению состоянием HTTP) с помощью нового типа файлов cookie .

Если это будет принято, это будет иметь большое значение для смягчения множества атак и уязвимостей CSRF .

Очень интересное предложение и отличное объяснение того, зачем оно нам нужно в этой статье.

>> Разговор об исправлении JSON [ tbray.org ]

Определенно интересные моменты по улучшению JSON (да, вы правильно прочитали).

>> Предлагаемый рецепт проектирования, создания и тестирования микросервисов [ specto.io ]

Здесь много хороших самородков, если вы делаете микросервисы (хорошо).

>> Как Code Review экономит ваше время [ daedtech.com ]

Я думаю, что к настоящему моменту мы все согласны с тем, что проверка кода очень полезна . Конечно, это не меняет того факта, что эту практику нелегко освоить , особенно в организации, культура которой не особенно открыта для новых идей.

По моему опыту, метрики здесь очень помогают — когда у команды происходит нетривиальный скачок в некоторых ключевых метриках, внедрение перестает быть чем-то, что нужно «принять», и становится внутренним решением команды.

>> Взлом Dropbox реален [ troyhunt.com ]

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

В любом случае, они случаются часто, поэтому приятно читать о компании, которая на самом деле разумно хранит данные учетных данных , так что, когда это происходит, это не имеет большого значения.

Также стоит прочитать:

>> CloudFlare, SSL и нездоровый абсолютизм безопасности [ troyhunt.com ]

>> Сравнительный анализ Carbon и Whisper 0.9.15 на AWS [ obfuscurity.com ]

>> Что нового в Docker? 5 лучших функций, которые вы должны знать [ takipi.com ]

>> Когда параметры конфигурации из разработки наносят ущерб рабочей среде [ apmblog.dynatrace.com ]

3. Размышления

>> Некоторые мысли о будущем автоматизации тестирования [ ontestautomation.com ]

Хорошее понимание экосистемы тестирования очень ценно не только при написании кода (половина моей собственной работы по кодированию — тестирование), но и в целом при передаче работы в руки клиентов.

В этой рецензии определенно есть хорошие выводы.

>> Почему я внедрил Scala в наш проект [ techblog.bozho.net ]

Лично я гораздо более неравнодушен к Clojure, чем к Scala; но, как и в теме этой статьи, я недавно занимался Scala и оценил некоторые приятные аспекты языка.

Одна вещь, которую определенно важно почерпнуть из этого, это то, что если у вас нет опыта работы со Scala, но вы хотите попробовать его, представьте его в небольшом дополнительном модуле, а не в основной кодовой базе вашего проекта.

>> Мои представления о консалтинге по программному обеспечению [ daedtech.com ]

Консультации по программному обеспечению меняются, и нет двух способов. И, как и в большинстве других вещей, настоящее продвижение вперед требует изменения вашего мышления , а не повышения вашей эффективности или навыков. Очень интересно читать.

>> Инновации как дополнительная деятельность [ lemire.me ]

Стена текста? Конечно. Хороший? Ага.

Также стоит прочитать:

>> Может ли программное обеспечение сделать вас менее расистским? [ codinghorror.com ]

>> Является ли ваша кодовая база гостиничным номером или домом? [ mattblodgett.com ]

>> Takipi теперь OverOps [ takipi.com ]

>> Как на самом деле уменьшить количество дефектов программного обеспечения [ daedtech.com ]

4. Комиксы

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

>> Проблема в той части вашего мозга, которая отвечает за интеллект [ dilbert.com ]

>> Это волшебная кнопка… [ dilbert.com ]

>> Мои ошибки подозрительно расположены в алфавитном порядке [ dilbert.com ]

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

Эта книга вынашивалась давно – Влад работал над ней больше года.

Наконец-то он вышел и определенно станет справочником для изучения JPA и Hibernate на несколько лет вперед .

Итак, если вы работаете с Hibernate, обязательно возьмите это, не только для чтения, но и для того, чтобы вернуться к справочному материалу, когда вы на самом деле выполняете работу:

>> Высокая производительность Java Persistence [ leanpub.com ]