Как разработчику организовать личную базу знаний: систематизация информации из книг, статей, видео и курсов
Я давно задумывался о подобной систематизации, но так комплексно к этому вопросу не подходил. Лично я предпочитаю AsciiDoc. Он гибче и богаче md, а также можно собирать все в удобный pdf. Для сборки можно использовать как консольную утилиту так и maven плагин, если оформить репозиторий как maven проект. По моей субъективной оценке проще структурировать в разных репозиториях информацию по разным топикам, но это наверное дело вкуса.
https://habr.com/ru/companies/lanit/articles/793444/
Я давно задумывался о подобной систематизации, но так комплексно к этому вопросу не подходил. Лично я предпочитаю AsciiDoc. Он гибче и богаче md, а также можно собирать все в удобный pdf. Для сборки можно использовать как консольную утилиту так и maven плагин, если оформить репозиторий как maven проект. По моей субъективной оценке проще структурировать в разных репозиториях информацию по разным топикам, но это наверное дело вкуса.
https://habr.com/ru/companies/lanit/articles/793444/
Хабр
Как разработчику организовать личную базу знаний: систематизация информации из книг, статей, видео и курсов
Привет, Хабр! Хочу поделиться своими мыслями и опытом («сыном ошибок трудных») в организации своей базы знаний, регулярно приобретаемых после прочтения разных книг, статей, просмотра видосов,...
Автоматизируем проверку содержимого PDF-файлов с помощью pdf-test
Задача на мой взгляд довольно редкая. Отсутствие поддержки таблиц не радует, но с другой стороны можно попробовать добавить самому и получить еще один плюс в карму за opensource ))
https://habr.com/ru/companies/simbirsoft/articles/794728/
Задача на мой взгляд довольно редкая. Отсутствие поддержки таблиц не радует, но с другой стороны можно попробовать добавить самому и получить еще один плюс в карму за opensource ))
https://habr.com/ru/companies/simbirsoft/articles/794728/
Хабр
Автоматизируем проверку содержимого PDF-файлов с помощью pdf-test
Многие сервисы в различных отраслях генерируют печатные формы счетов, отчётов и прочего в формате PDF. И конечно, перед специалистами тестирования встаёт вопрос о проверке этих документов. Обычно...
Вариантность обобщенных типов в картинках и простых примерах
В статье приведены неплохие схемы, но ей не хватает для полноты картины описания PECS и более сложных кейсов. Для новичков изучающих эту тему будет полезна. В целом мне понравилась описанная часть.
https://habr.com/ru/articles/795083/
В статье приведены неплохие схемы, но ей не хватает для полноты картины описания PECS и более сложных кейсов. Для новичков изучающих эту тему будет полезна. В целом мне понравилась описанная часть.
https://habr.com/ru/articles/795083/
Хабр
Вариантность обобщенных типов в картинках и простых примерах
Ковариантность, контравариантность, инвариантность В большинстве статей на тему вариантности авторы слишком быстро погружаются в детали и сложные схемы, из-за чего у людей которые только пытаются...
Гексагональная Архитектура и Spring Boot
Интересный опыт применения гексагональной архитектуры в одном микросервисе. Правда тема с entity в данном контексте раскрыта не полностью.
https://habr.com/ru/articles/795127/
Интересный опыт применения гексагональной архитектуры в одном микросервисе. Правда тема с entity в данном контексте раскрыта не полностью.
https://habr.com/ru/articles/795127/
Хабр
Гексагональная Архитектура и Spring Boot
Всем привет! Хочу рассказать про опыт применения гексагональной архитектуры в одном из наших микросервисов. С чем столкнулся и какие выводы сделал. Боль Как обычно выглядит java проект на spring boot?...
Тестирование Spring Security
В этой статье описано, как протестировать аутентификацию и авторизацию приложений Spring Boot.
Spring Security хорошо интегрируется с фреймворками Spring Web MVC и Spring WebFlux. Он также имеет комплексную интеграцию с Spring MVC Test и Spring
https://habr.com/ru/articles/795149/
В этой статье описано, как протестировать аутентификацию и авторизацию приложений Spring Boot.
Spring Security хорошо интегрируется с фреймворками Spring Web MVC и Spring WebFlux. Он также имеет комплексную интеграцию с Spring MVC Test и Spring
WebTestClient
.https://habr.com/ru/articles/795149/
Хабр
Тестирование Spring Security
Безопасность играет важную роль в программном обеспечении. В конечном итоге каждому необходимо повысить безопасность своего проекта. В этой статье мы рассмотрим, как протестировать...
Виртуальные потоки Java столкнулись с проблемой.
Команда Java в Oracle работает над устранением двух распространенных случаев, когда виртуальный поток паркуется или блокируется, а базовый нативный поток не освобождается.
https://www.infoworld.com/article/3713220/java-virtual-threads-hit-with-pinning-issue.html#tk.rss_java
Команда Java в Oracle работает над устранением двух распространенных случаев, когда виртуальный поток паркуется или блокируется, а базовый нативный поток не освобождается.
https://www.infoworld.com/article/3713220/java-virtual-threads-hit-with-pinning-issue.html#tk.rss_java
InfoWorld
Java virtual threads hit with pinning issue
The Java team at Oracle is working to address two common cases in which a virtual thread parks or blocks and the underlying native thread is not released.
The Illustrated TLS
Подробный разбор протокола TLS 1.3. Пример подключения клиента к серверу, согласовывание сеанса TLS 1.3, отправка "ping", получение "pong", а затем завершение сеанса.
https://tls13.xargs.org/#open-all
Подробный разбор протокола TLS 1.3. Пример подключения клиента к серверу, согласовывание сеанса TLS 1.3, отправка "ping", получение "pong", а затем завершение сеанса.
https://tls13.xargs.org/#open-all
tls13.xargs.org
The Illustrated TLS 1.3 Connection
Every byte of a TLS connection explained and reproduced
How Netflix Really Uses Java
Выступление Пола Баккера (Paul Bakker) - чемпиона Java и разработчика в команде Java Platform в Netflix. Он рассказывает об использовании Java в Netflix, делая акцент на микросервисах, RxJava, Hystrix и Spring Cloud.
В Netflix он работает над развитием технологического стека Java и инструментов разработчика. Он также является одним из авторов фреймворка DGS (GraphQL) и соавтором двух книг по модульности Java, опубликованных O'Reilly.
P.S. Под видео есть транскрипт выступления.
https://www.infoq.com/presentations/netflix-java/
Выступление Пола Баккера (Paul Bakker) - чемпиона Java и разработчика в команде Java Platform в Netflix. Он рассказывает об использовании Java в Netflix, делая акцент на микросервисах, RxJava, Hystrix и Spring Cloud.
В Netflix он работает над развитием технологического стека Java и инструментов разработчика. Он также является одним из авторов фреймворка DGS (GraphQL) и соавтором двух книг по модульности Java, опубликованных O'Reilly.
P.S. Под видео есть транскрипт выступления.
https://www.infoq.com/presentations/netflix-java/
InfoQ
How Netflix Really Uses Java
Paul Bakker discusses Netflix’s use of Java, emphasizing the use of microservices, RxJava, Hystrix and Spring Cloud.
Асинхронная работа с файловой системой в Vert.x
Vert.x – это экосистема для создания реактивных приложений на JVM, которые могут масштабироваться и обрабатывать огромные объемы данных в реальном времени. Одна из фич vert.x - это набор абстракций и API для асинхронной работы с сетью, файловой системой и другими ресурсами. С его помощью можно легко создавать масштабируемые веб-приложения, микросервисы, сетевые утилиты и многое другое.
https://habr.com/ru/companies/otus/articles/794484/
Vert.x – это экосистема для создания реактивных приложений на JVM, которые могут масштабироваться и обрабатывать огромные объемы данных в реальном времени. Одна из фич vert.x - это набор абстракций и API для асинхронной работы с сетью, файловой системой и другими ресурсами. С его помощью можно легко создавать масштабируемые веб-приложения, микросервисы, сетевые утилиты и многое другое.
https://habr.com/ru/companies/otus/articles/794484/
Хабр
Асинхронная работа с файловой системой в Vert.x
Vert.x – это экосистема для создания реактивных приложений на JVM, которые могут масштабироваться и обрабатывать огромные объемы данных в реальном времени. Это полиглотная платформа, поддерживающая не...
Project Leyden: Capturing Lightning in a Bottle
Проект Laden позволяет сократить время запуска приложений как минимум в два раза. В докладе о том как можно оптимизировать старт приложения на 800% используя Leyden ))
https://youtu.be/NlJK5BKXtHI?si=sriIC7UYa30WzVIL
Проект Laden позволяет сократить время запуска приложений как минимум в два раза. В докладе о том как можно оптимизировать старт приложения на 800% используя Leyden ))
https://youtu.be/NlJK5BKXtHI?si=sriIC7UYa30WzVIL
YouTube
Project Leyden: Capturing Lightning in a Bottle
Project Leyden aims to improve the startup time, warmup time, and footprint of Java applications by enabling developers to shift computation forward and backward in time. We’ll dive into what that means, how it could work, and review recent progress.
Presented…
Presented…
Пару дней назад вышла Java 22
В этот релиз попало около 2300 закрытых задач и 12 JEP'ов. Release Notes можно посмотреть здесь. Полный список изменений API – здесь.
Из интересных фич лично для меня можно отметить:
1. String Templates (Second Preview) (JEP 459), которые, к сожалению, уходят на второй раунд preview без изменений.
2. Stream Gatherers (Preview) (JEP 461)
3. Class-File API (Preview) (JEP 457)
4. Structured Concurrency (Second Preview) (JEP 462), который тоже уходит на второй раунд preview без изменений.
5. Scoped Values (Second Preview) (JEP 464) тоже уходит на второй раунд preview без изменений.
6. Foreign Function & Memory API (JEP 454), которое наконец-то стабилизировалось!!!
https://habr.com/ru/articles/801467/
В этот релиз попало около 2300 закрытых задач и 12 JEP'ов. Release Notes можно посмотреть здесь. Полный список изменений API – здесь.
Из интересных фич лично для меня можно отметить:
1. String Templates (Second Preview) (JEP 459), которые, к сожалению, уходят на второй раунд preview без изменений.
2. Stream Gatherers (Preview) (JEP 461)
3. Class-File API (Preview) (JEP 457)
4. Structured Concurrency (Second Preview) (JEP 462), который тоже уходит на второй раунд preview без изменений.
5. Scoped Values (Second Preview) (JEP 464) тоже уходит на второй раунд preview без изменений.
6. Foreign Function & Memory API (JEP 454), которое наконец-то стабилизировалось!!!
https://habr.com/ru/articles/801467/
Хабр
Вышла Java 22
Вышла общедоступная версия Java 22 . В этот релиз попало около 2300 закрытых задач и 12 JEP'ов . Release Notes можно посмотреть здесь . Полный список изменений API – здесь . Java 22 не является...
Всё ещё используете If/else валидацию в Spring 6.0+ / SpringBoot 3.0+?
В статье рассмотрены аннотации @Valid, и @Validated, которые используются для запуска процесса валидации при обработке запроса в Spring.
@Valid — это стандартная аннотация из спецификации Java Bean Validation, также известной как JSR-303.
@Validated — это специфическая для Spring аннотация, предоставляемая самим Spring.
https://habr.com/ru/companies/otus/articles/799987/
В статье рассмотрены аннотации @Valid, и @Validated, которые используются для запуска процесса валидации при обработке запроса в Spring.
@Valid — это стандартная аннотация из спецификации Java Bean Validation, также известной как JSR-303.
@Validated — это специфическая для Spring аннотация, предоставляемая самим Spring.
https://habr.com/ru/companies/otus/articles/799987/
Хабр
Всё ещё используете If/else валидацию в Spring 6.0+ / SpringBoot 3.0+?
Если да, то вам следовало бы обновить свой код, используя приведенные ниже рекомендации. Чтобы избежать влияния несанкционированных параметров на ваш бизнес, в ваших веб-сервисах должна быть...
Awesome IT links
Сборник ссылок на ресурсы для изучения Java. Список будет расширяться.
https://github.com/RodinDenis/awesome-it-links
Сборник ссылок на ресурсы для изучения Java. Список будет расширяться.
https://github.com/RodinDenis/awesome-it-links
GitHub
GitHub - RodinDenis/awesome-it-links
Contribute to RodinDenis/awesome-it-links development by creating an account on GitHub.
Опять транзакции…
Транзакция нужна когда у нас есть несколько операций, которые меняют данные в БД. В противном случае смысла в ней никакого нет и база сама откроет и закроет транзакцию внутри себя, без дополнительных указаний извне. Речь в данной статье будет идти о клиентском управлении транзакциями, через аннотацию Spring
Транзакция нужна когда у нас есть несколько операций, которые меняют данные в БД. В противном случае смысла в ней никакого нет и база сама откроет и закроет транзакцию внутри себя, без дополнительных указаний извне. Речь в данной статье будет идти о клиентском управлении транзакциями, через аннотацию Spring
@Transactional и базу Postgres.
https://habr.com/ru/articles/803395Хабр
Опять транзакции…
Всем привет. На своем последнем месте работы я выполнял обязанности Java разработчика в одной из команд сервиса, чье приложение установлено в смартфоне большинства жителей РФ....
System Design 101
Во многих компаниях на собеседованиях senior разработчиков этап System Design становится обязательным. В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы (и монолиты), платежные системы, Git, облачные сервисы etc. Особую ценность представляют диаграммы.
https://habr.com/ru/articles/770564/
Во многих компаниях на собеседованиях senior разработчиков этап System Design становится обязательным. В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы (и монолиты), платежные системы, Git, облачные сервисы etc. Особую ценность представляют диаграммы.
https://habr.com/ru/articles/770564/
Хабр
System Design 101
О сложных системах простыми словами. В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы...
Красивый код с Optional и Either
Класс Optional хорошо подходит для ситуаций с отсутствующим значением как прекрасная альтернатива использованию null, но что делать если мы хотим в таких случаях возвращать разные объекты? Например если мы хотим работать с исключениями в функциональном стиле?
Есть несколько библиотек решающих эту задачу: vavr, fugue, lambda и either.
Either самая легковесная из них и детали работы с ней рассмотрены в статье.
https://dzone.com/articles/the-beauty-of-java-optional-and-either
Класс Optional хорошо подходит для ситуаций с отсутствующим значением как прекрасная альтернатива использованию null, но что делать если мы хотим в таких случаях возвращать разные объекты? Например если мы хотим работать с исключениями в функциональном стиле?
Есть несколько библиотек решающих эту задачу: vavr, fugue, lambda и either.
Either самая легковесная из них и детали работы с ней рассмотрены в статье.
https://dzone.com/articles/the-beauty-of-java-optional-and-either
DZone
The Beauty of Java Optional and Either
Many Java developers often overlook its functional programming capabilities. Learn how to chain Optional and Either to write concise and beautiful code.
Sealed (закрытые) классы Java: создание надежных и безопасных приложений
Sealed классы Java ограничивают набор классов, которые могут их реализовать. Это поможет предотвратить ряд ошибок и сделать код более удобным для сопровождения.
https://dzone.com/articles/java-sealed-classes-building-robust-and-secure-app
Sealed классы Java ограничивают набор классов, которые могут их реализовать. Это поможет предотвратить ряд ошибок и сделать код более удобным для сопровождения.
https://dzone.com/articles/java-sealed-classes-building-robust-and-secure-app
DZone
Java Sealed Classes: Building Robust and Secure Applications
Learn about Java sealed classes, which restrict the set of classes that can implement or extend them, can help prevent bugs, and make code more maintainable.
Использование Java Record-ов как DTO в Spring Boot 3
В статье описывается как наилучшим образом использовать Java Record-ы для работы с базой данных и API в Spring Boot 3 с Hibernate 6.
https://dzone.com/articles/how-to-best-use-java-records-as-dtos-in-spring-boo
В статье описывается как наилучшим образом использовать Java Record-ы для работы с базой данных и API в Spring Boot 3 с Hibernate 6.
https://dzone.com/articles/how-to-best-use-java-records-as-dtos-in-spring-boo
DZone
How To Best Use Java Records as DTOs in Spring Boot 3
Explore how to best use compact Java records as DTOs for database and API calls in Spring Boot 3 with Hibernate 6 as the persistence provider.
Эффективность стримов в Java
Стримы позволяют писать более лаконичный код и с этим в основном никто не спорит. С производительностью стримов не все так однозначно.
В статье сравниваются результаты бенчмарков нескольких задач, решенных с использованием стримов и без них.
https://habr.com/ru/articles/807647/
Стримы позволяют писать более лаконичный код и с этим в основном никто не спорит. С производительностью стримов не все так однозначно.
В статье сравниваются результаты бенчмарков нескольких задач, решенных с использованием стримов и без них.
https://habr.com/ru/articles/807647/
Хабр
Еще раз о перформансе стримов в Java
Время от времени я наблюдаю или даже бываю втянутым в спор о перформансе стримов в джаве. Общеизвестно, что стримы это компромисс между перформансом и удобством. Однако я не нашел вменяемого набора...