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.
🔥4👍2
Асинхронная работа с файловой системой в 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, которые могут масштабироваться и обрабатывать огромные объемы данных в реальном времени. Это полиглотная платформа, поддерживающая не...
🔥3
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…
🔥3
Пару дней назад вышла 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 не является...
👍4🔥3
Всё ещё используете 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+?
Если да, то вам следовало бы обновить свой код, используя приведенные ниже рекомендации. Чтобы избежать влияния несанкционированных параметров на ваш бизнес, в ваших веб-сервисах должна быть...
👍4🔥2
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.
🔥6👍4
Опять транзакции…
Транзакция нужна когда у нас есть несколько операций, которые меняют данные в БД. В противном случае смысла в ней никакого нет и база сама откроет и закроет транзакцию внутри себя, без дополнительных указаний извне. Речь в данной статье будет идти о клиентском управлении транзакциями, через аннотацию Spring
Транзакция нужна когда у нас есть несколько операций, которые меняют данные в БД. В противном случае смысла в ней никакого нет и база сама откроет и закроет транзакцию внутри себя, без дополнительных указаний извне. Речь в данной статье будет идти о клиентском управлении транзакциями, через аннотацию Spring
@Transactional и базу Postgres.
https://habr.com/ru/articles/803395Хабр
Опять транзакции…
Всем привет. На своем последнем месте работы я выполнял обязанности Java разработчика в одной из команд сервиса, чье приложение установлено в смартфоне большинства жителей РФ....
👍7
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, архитектурные паттерны, базы данных, кэширование, микросервисы...
🔥7
Красивый код с 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.
🔥5
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.
👍3🔥3
Использование 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.
👍5👎1🔥1
Эффективность стримов в Java
Стримы позволяют писать более лаконичный код и с этим в основном никто не спорит. С производительностью стримов не все так однозначно.
В статье сравниваются результаты бенчмарков нескольких задач, решенных с использованием стримов и без них.
https://habr.com/ru/articles/807647/
Стримы позволяют писать более лаконичный код и с этим в основном никто не спорит. С производительностью стримов не все так однозначно.
В статье сравниваются результаты бенчмарков нескольких задач, решенных с использованием стримов и без них.
https://habr.com/ru/articles/807647/
Хабр
Еще раз о перформансе стримов в Java
Время от времени я наблюдаю или даже бываю втянутым в спор о перформансе стримов в джаве. Общеизвестно, что стримы это компромисс между перформансом и удобством. Однако я не нашел вменяемого набора...
👍2🔥2
Материалы Spring Academy Pro стали доступны бесплатно
Доступ можно получить по этой ссылке. Материалы разбиты на 3 категории: руководства, курсы и траектория обучения.
https://spring.io/blog/2024/04/10/spring-academy-pro-content-now-free-to-access
Доступ можно получить по этой ссылке. Материалы разбиты на 3 категории: руководства, курсы и траектория обучения.
https://spring.io/blog/2024/04/10/spring-academy-pro-content-now-free-to-access
Spring Academy Pro Content Now Free To Access
Level up your Java code and explore what Spring can do for you.
🔥7👍2
Spring Boot Starter: практически, принципиально и подробнее. Часть 1
Одно из преимуществ микросервисной архитектуры в модульности ее компонентов. Общее решение, вынесенное за скобки, можно переиспользовать как внутри разрабатываемого проекта, так и в следующих сервисах с аналогичным стеком. А механизмы Spring Boot помогут создать общий компонент, настроить и легко интегрировать его.
А что можно выделить в отдельное решение? Присмотритесь к своему проекту. Наверняка во многих частях задействованы кастомные аннотации и их обработчики, модули безопасности, различные интерцепторы, валидаторы, средства мониторинга и трассировки. Любое решение, используемое в двух и более микросервисах, — отличный кандидат на выделение в самостоятельный компонент.
https://habr.com/ru/companies/ru_mts/articles/811693/
Одно из преимуществ микросервисной архитектуры в модульности ее компонентов. Общее решение, вынесенное за скобки, можно переиспользовать как внутри разрабатываемого проекта, так и в следующих сервисах с аналогичным стеком. А механизмы Spring Boot помогут создать общий компонент, настроить и легко интегрировать его.
А что можно выделить в отдельное решение? Присмотритесь к своему проекту. Наверняка во многих частях задействованы кастомные аннотации и их обработчики, модули безопасности, различные интерцепторы, валидаторы, средства мониторинга и трассировки. Любое решение, используемое в двух и более микросервисах, — отличный кандидат на выделение в самостоятельный компонент.
https://habr.com/ru/companies/ru_mts/articles/811693/
Хабр
Spring Boot Starter: практически, принципиально и подробнее. Часть 1
Всем привет, меня зовут Сергей Соловых, я Java-разработчик в команде МТС Digital. За последние 2 года я написал и выпустил в продакшен более 30 микросервисов. Выдержать столь высокий темп помогло...
👍6🔥1
Появился новый канал с аудио обзорами различных материалов и событий из мира IT.
Если вам интересен такой формат, то накидайте «огоньков» ))
https://tttttt.me/java_guru_podcast
Если вам интересен такой формат, то накидайте «огоньков» ))
https://tttttt.me/java_guru_podcast
Telegram
Java guru podcast
Аудио обзоры различных материалов и событий из мира IT. Для связи @RodmanDV
🔥11👍1
Как начать писать на Java в VSCode
Я достаточно давно пользуюсь JetBrains IntelliJ IDEA хотя начинал свой путь в Java на Eclipse IDE. После перехода на JetBrains IntelliJ IDEA об альтернативах я особо не задумывался. IDE достаточно комфортная.
В статье автор делится опытом подготовки среды разработки и изучения вопроса: «А можно ли перейти на VSCode?».
https://habr.com/ru/companies/cdek_blog/articles/811631/
Я достаточно давно пользуюсь JetBrains IntelliJ IDEA хотя начинал свой путь в Java на Eclipse IDE. После перехода на JetBrains IntelliJ IDEA об альтернативах я особо не задумывался. IDE достаточно комфортная.
В статье автор делится опытом подготовки среды разработки и изучения вопроса: «А можно ли перейти на VSCode?».
https://habr.com/ru/companies/cdek_blog/articles/811631/
Хабр
Как начать писать на Java в VSCode
Давайте признаемся: подавляющее большинство пишет Java код, используя JetBrains IntelliJ IDEA Ultimate. Да, это отличная IDE. Для нее есть большое количество расширений, среда очень тесно...
🔥4👎1
Compiler Explorer — уникальный проект для исследования компилируемого кода
Это просто космический инструмент да еще и open source!!!
В левой панели вы выбираете язык и вставляете кусок кода, а в правой он показывает вам ассемблерный код, генерируемый разными компиляторами под разные архитектуры процессоров. Проект поддерживает 69 языков и Java в том числе.
Этот проект можно также использовать как отличный инструмент для изучения языка ассемблера. Достаточно навести курсор на команду, после чего откроется всплывающее окно с описанием команды. При нажатии правой клавишей мыши на команду открывается меню, в котором можно изучить более подробное описание.
В конце статьи особенно порадовал Movfuscator. Он использует только MOV ))
https://habr.com/ru/companies/ruvds/articles/815675/
Это просто космический инструмент да еще и open source!!!
В левой панели вы выбираете язык и вставляете кусок кода, а в правой он показывает вам ассемблерный код, генерируемый разными компиляторами под разные архитектуры процессоров. Проект поддерживает 69 языков и Java в том числе.
Этот проект можно также использовать как отличный инструмент для изучения языка ассемблера. Достаточно навести курсор на команду, после чего откроется всплывающее окно с описанием команды. При нажатии правой клавишей мыши на команду открывается меню, в котором можно изучить более подробное описание.
В конце статьи особенно порадовал Movfuscator. Он использует только MOV ))
https://habr.com/ru/companies/ruvds/articles/815675/
Хабр
Compiler Explorer — уникальный проект для исследования компилируемого кода
Этот пост посвящён замечательному инструменту, полезному для каждого, кто интересуется компиляторами или архитектурой компьютеров. Это Compiler Explorer , который я в дальнейшем будут называть CE. CE...
🔥6👍3
Гарвардский курс по основам программирования CS50 (бесплатно)
Отличный курс по основам программирования. Можно быстро освежить базу. Особенно рекомендую новичкам.
https://youtube.com/playlist?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5&si=ET3P_dbNTmHABDPx
Отличный курс по основам программирования. Можно быстро освежить базу. Особенно рекомендую новичкам.
https://youtube.com/playlist?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5&si=ET3P_dbNTmHABDPx
👍4🔥2
Practice SQL - сайт для практики SQL запросов.
Навык работы с базами данных очень важен для разработчиков. Прелесть данного сайта в том, что вам не нужно самим заниматься разворачиванием тестовой базы. Достаточно открыть браузер. Также, в отличии от тестов, здесь вам нужно будет реально набирать и выполнять SQL, а это лучше запоминается.
https://www.sql-practice.com/
Навык работы с базами данных очень важен для разработчиков. Прелесть данного сайта в том, что вам не нужно самим заниматься разворачиванием тестовой базы. Достаточно открыть браузер. Также, в отличии от тестов, здесь вам нужно будет реально набирать и выполнять SQL, а это лучше запоминается.
https://www.sql-practice.com/
Sql-Practice
Learn SQL - Online SQL Terminal - Practice SQL Querys
Practice SQL querys with an online terminal. Solve SQL query questions using a practice database. Learn and improve your SQL skills.
👍5🔥3🤩1