bookjava | Unsorted

Telegram-канал bookjava - Библиотека Java разработчика

10986

📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate. По всем вопросам @evgenycarter РКН clck.ru/3KoGeP

Subscribe to a channel

Библиотека Java разработчика

Как гарантировать возможность обращения N нитей к N ресурсам без взаимной блокировки?

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

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

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Test Driven Development (TDD) in Java

Creating a Queue Abstract Data Type class
Introduction to Test Doubles Dummies and Stubs
Introduction to Test Doubles Spies
Introduction to Test Doubles Mocks
Introduction to Test Doubles - Fakes

источник

👉@BookJava

Читать полностью…

Библиотека Java разработчика

В случае, когда метод генерирует исключение NullPointerException в родительском классе, можно ли его переопределить методом, генерирующим RuntimeException?

Еще один каверзный вопрос, связанный с концепциями перегрузки и переопределения.

Ответ: в переопределенном методе можно спокойно генерировать родительский класс исключения NullPointerExceptionRuntimeException, но нельзя сделать то же самое с проверяемым исключением типа Exception.

👉@BookJava

Читать полностью…

Библиотека Java разработчика

⚡️ Приглашаем на открытый урок «Разрабатываем Kafka-appender для логгера».

🗓 05 декабря в 20:00 МСК

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

На вебинаре разберем:

✔️ Зачем нужен Kafka-appender для логгера.
✔️ Подходы к разработке собственного Kafka-appender.
✔️ Шаги по созданию Kafka-appender для логгера.
✔️Практические рекомендации

Вебинар пройдет в рамках курса «Java Developer. Professional», все посетители получат welcome-скидку на обучение.

🔗 Ссылка на регистрацию: https://vk.cc/cFouc3

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Библиотека Java разработчика

Spring Framework в деталях

SimpleJdbcInsert - Spring Framework JDBC
АОП в Spring Framework
XML-конфигурация АОП в Spring Framework
Транзакции - Spring Framework в деталях

источник

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Java. Сортировки

Java. Сортировка пузырьком.
Java. О сортировке выбором.
Java. Быстрая сортировка. Объяснение на пальцах)
Java. Оценка сложности алгоритмов сортировки.
Java. Сортировка слиянием.
Java. Сортировка подсчетом.
Java. Сортировка вставками.
Java. Сортировка расческой. От пузырька до расчески.

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Совет по Spring Boot 💡

Если вы используете DTO в Spring Data/JPA, вы можете автоматизировать отображение между сущностями и DTO с помощью библиотеки Blaze Persistence (https://persistence.blazebit.com). Тогда вы сможете воспользоваться преимуществами, например, паттерна Spring repository.

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Как бы изменились наши будни, если бы создание программного кода стало легким и непринужденным? Представьте язык, созданный для удобства именно человека, а не машины, его синтаксис прост и понятен.
Такая мечта жила в умах разработчиков Microsoft, и в результате для нас разработали C#.

Итак, основные причины продолжить изучение C# уже на профессиональном уровне:

✔️C# занимает ведущую позицию среди языков программирования для создания компьютерных игр.
- Только C# официально совместим с движком Unity, одной из самых востребованных и надежных платформ для разработки игр.
⁃ Какой доход вы можете ожидать, изучив C# для разработки игр? При усердной работе можно рассчитывать на заработок от 200 000 рублей в месяц!

✔️C# - основной язык для разработки приложений под Windows:
- Изначально C# создан Microsoft для использования в своих продуктах.
- Они также разработали среду разработки Visual Studio, где поддержка C# реализована на высшем уровне. В Visual Studio есть инструменты Windows Forms, позволяющие создавать интерфейсы для приложений с использованием C# за считанные минуты.

✔️C# и .NET: идеальный тандем.
- C# тесно связан с платформой .NET от Microsoft. Несмотря на то, что они разные, они гармонично дополняют друг друга.
C# — это язык программирования, а .NET — это набор библиотек и функций, к которым C# предоставляет доступ. Раньше программы на C# могли работать только в Windows, но с выпуском .NET Core в 2016 году стало возможным разрабатывать программное обеспечение на C# для различных операционных систем.

🎉А теперь главная причина: выгода 12750 рублей на обучение на курсе C# Developer. Professional до 28.11.2024 по ссылке: https://vk.cc/cF5Zzv

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Библиотека Java разработчика

⁉️ Хотите понять, как работают потоки ввода/вывода в Java? Готовы создать свой первый сетевой чат?

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

Спикер Александр Фисунов — Senior Kotlin Developer в SSP Software на проекте ВТБ, опытный Java-разработчик и кандидат технических наук.

Получите практический опыт работы с java. io, разберитесь, как работает сеть, и начните свой путь в мир профессиональной разработки на Java!

👉 Регистрируйтесь на вебинар прямо сейчас: https://vk.cc/cEZSlH

🎁 Только в "Черную пятницу", скидки на курс до 15%! Подробности у менеджеров.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Библиотека Java разработчика

Уже сегодня собеседование на Middle Java с разработчиком из МТС

20 ноября (уже сегодня) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Java-разработчика.

Как это будет:
1. Мария Ядерцова ведущий Java-разработчик в МТС Диджитал и ex. Сбербанк-Технологии будет задавать реальные вопросы и задачи разработчику-добровольцу
2. Мария будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
3. В конце можно будет задать любой вопрос Марии

Что узнаешь на прямом эфире от ШОРТКАТ:
• Чего ждут от кандидатов на Middle позиции в Java-разработке
• Какие вопросы задают на интервью и зачем
• Как подготовиться к собесу, чтобы получить оффер

Это бесплатно? Бесплатно

Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_sh_bot

Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqvFh2Fp

Читать полностью…

Библиотека Java разработчика

Addressing Fragmentation in ZGC through Custom Allocators

Исследование направлено на уменьшение фрагментации в ZGC с помощью пользовательских распределителей. Цель исследования — уменьшить необходимость перемещения объектов в ZGC за счет использования распределителя на основе свободного списка.

https://inside.java/2024/06/19/thesis-zgc-fragmentation/

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Как готовить свой код к виртуальным потокам
Олег Естехин

Виртуальные потоки в релизе с осени прошлого года. Все их очень ждали, а после релиза информации о том, что кто-то на них перешел, не так уж и много. То ли все очень просто, и все (кроме нас) уже давно переключились, и там нечего рассказывать. То ли все очень сложно, и все просто стесняются рассказать о своих фейлах. А нам бы очень не помешали подсказки — что и зачем менять в коде, чтобы он мог работать на виртуальных потоках.

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

Решаем, надо ли вообще что-то менять.

https://www.youtube.com/watch?v=dVh88WVS6NU

👉@BookJava

Читать полностью…

Библиотека Java разработчика

How to Use LazyConnectionDataSourceProxy with Spring Data JPA

Небольшая заметка о LazyConnectionDataSourceProxy — инструменте, который позволяет получать коннект к БД в Lazy-режиме, то есть в момент непосредственного выполнения запроса, что улучшает утилизацию коннектов и позволяет увеличить пропускную способность приложения.

https://vladmihalcea.com/lazyconnectiondatasourceproxy-spring-data-jpa/

👉@BookJava

Читать полностью…

Библиотека Java разработчика

👩‍💻 Java — один из самых востребованных языков, но не каждый разработчик умеет использовать его возможности по максимуму.

На курсе «Java Developer. Professional» вы научитесь создавать современные Java-приложения, освоите Spring WebFlux и Kafka, а также разберётесь в работе JVM изнутри.

Вас ждёт практическая работа с кодом, детальные разборы, ревью от экспертов и подходы, позволяющие писать эффективный и чистый код.

Начните свой путь к уровню Middle+! Используйте Java на 100%.

➡️ Пройти вступительный тест курса: https://vk.cc/cEUQh1

🎁 Только в "Черную пятницу", скидки на курс до 15%! Подробности у менеджеров.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Библиотека Java разработчика

Совет по Java 💡☕️

Как легко просуммировать все числа в Java-списке? Для этого мы можем использовать метод Java Stream
reduce

👉@BookJava

Читать полностью…

Библиотека Java разработчика

📕Открытый урок по Scala для Java, C#, Kotlin и Android программистов, аналитиков данных и специалистов по обработке больших данных

На открытом уроке 4 декабря в 20:00 мск мы изучим, функциональные стримы в Scala на примере fs2.

📗На уроке:
- Рассмотрим, что такое стримы и их разновидности;
- Изучим конструкторы и комбинаторы fs2;
- Проанализируем примеры использования стримов для обработки данных без загрузки в память.

📘В результате:
- Поймете, что такое стримы и как они отличаются от коллекций;
- Как использовать конструкторы и комбинаторы fs2 для обработки данных;
- Получите примеры применения стримов в реальных задачах, что позволит оптимизировать обработку данных.

Спикер Валентин Шилин — senior программист/аналитик данных Deutsche Telekom IT GmbH, 15+ лет программирования на С++, С#, JavaScript, Python, Scala, Java и эксперт в обработке больших данных с помощью Scala/Spark и Hadoop Cloudera.

👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cFAjec

📙 Все участники открытого урока получат скидку на курс "Scala-разработчик"

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Библиотека Java разработчика

Подборка Telegram каналов для программистов

Системное администрирование 📌
/channel/sysadmin_girl Девочка Сисадмин
/channel/srv_admin_linux Админские угодья
/channel/linux_srv Типичный Сисадмин

/channel/devops_star DevOps Star (Звезда Девопса)
/channel/i_linux Системный администратор
/channel/linuxchmod Linux
/channel/sys_adminos Системный Администратор
/channel/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
/channel/sysadminof Книги для админов, полезные материалы
/channel/i_odmin Все для системного администратора
/channel/i_odmin_book Библиотека Системного Администратора
/channel/i_odmin_chat Чат системных администраторов
/channel/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
/channel/sysadminoff Новости Линукс Linux

1C разработка 📌
/channel/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
/channel/cpp_lib Библиотека C/C++ разработчика
/channel/cpp_knigi Книги для программистов C/C++
/channel/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
/channel/pythonofff Python академия. Учи Python быстро и легко🐍
/channel/BookPython Библиотека Python разработчика
/channel/python_real Python подборки на русском и английском
/channel/python_360 Книги по Python Rus

Java разработка 📌
/channel/BookJava Библиотека Java разработчика
/channel/java_360 Книги по Java Rus
/channel/java_geek Учим Java на примерах

GitHub Сообщество 📌
/channel/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
/channel/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
/channel/developer_mobila Мобильная разработка
/channel/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
/channel/frontend_1 Подборки для frontend разработчиков
/channel/frontend_sovet Frontend советы, примеры и практика!
/channel/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
/channel/game_devv Все о разработке игр

Библиотеки 📌
/channel/book_for_dev Книги для программистов Rus
/channel/programmist_of Книги по программированию
/channel/proglb Библиотека программиста
/channel/bfbook Книги для программистов
/channel/books_reserv Книги для программистов

БигДата, машинное обучение 📌
/channel/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
/channel/bookflow Лекции, видеоуроки, доклады с IT конференций
/channel/coddy_academy Полезные советы по программированию
/channel/rust_lib Полезный контент по программированию на Rust
/channel/golang_lib Библиотека Go (Golang) разработчика
/channel/itmozg Программисты, дизайнеры, новости из мира IT
/channel/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
/channel/nodejs_lib Подборки по Node js и все что с ним связано
/channel/ruby_lib Библиотека Ruby программиста

QA, тестирование 📌
/channel/testlab_qa Библиотека тестировщика

Шутки программистов 📌
/channel/itumor Шутки программистов

Защита, взлом, безопасность 📌
/channel/thehaking Канал о кибербезопасности
/channel/xakep_1 Статьи из "Хакера"

Книги, статьи для дизайнеров 📌
/channel/ux_web Статьи, книги для дизайнеров

Английский 📌
/channel/UchuEnglish Английский с нуля

Математика 📌
/channel/Pomatematike Канал по математике
/channel/phis_mat Обучающие видео, книги по Физике и Математике

Excel лайфхак📌
/channel/Excel_lifehack

/channel/tikon_1 Новости высоких технологий, науки и техники💡
/channel/mir_teh Мир технологий (Technology World)

Вакансии 📌
/channel/sysadmin_rabota Системный Администратор
/channel/progjob Вакансии в IT

Читать полностью…

Библиотека Java разработчика

Поддерживает ли язык Java множественное наследование?

Это очень хитрый вопрос. Интервьюеры часто говорят: если язык C++ может поддерживать непосредственное множественное наследование, то почему Java не может?

Ответ несколько более сложен, чем может показаться, поскольку Java поддерживает множественное наследование типов, ведь интерфейс в нём может расширять другие интерфейсы. Но множественное наследование реализаций язык Java не поддерживает.

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Что произойдет, если поместить оператор return или System.exit () в блок try/catch?

Это очень популярный вопрос "на засыпку" по Java. Хитрость его в том, что многие программисты считают, что блок finally выполнится в любом случае. Данный вопрос ставит эту концепцию под сомнение, путем помещения оператора return в блок try/catch или вызова из блока try/catch оператора System.exit ().

Ответ на этот каверзный вопрос: блок finally будет выполняться при помещении оператора return в блок try/catch, и не будет выполняться при вызове из блока try/catch оператора System.exit ().

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Прожарка резюме для Java-разработчиков в четверг

Ребята из менторской программы ШОРТКАТ разберут на эфире реальные резюме и подскажут, что улучшить, чтобы точно дойти до собеса.

Когда: 28 ноября, в четверг, в 19:00 по мск

Ревьюит резюме рекрутер с опытом работы в Яндексе и Т-Банке.

☑️ Если хотите закинуть своё резюме, подпишитесь на бота @shortcut_sh_bot — резюме будут собирать там 
☑️ Если закидывать нечего, но хочется посмотреть со стороны — тоже подписывайтесь на бота @shortcut_sh_bot . Там будет ссылка на трансляцию и запись после
После эфира все получат памятку, как использовать ChatGPT для резюме. Ссылку пришлют, не поверите, тоже в боте @shortcut_sh_bot 

Короче, подпишитесь на бот, чтобы ничего не пропустить  @shortcut_sh_bot 

Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqucSshH

Читать полностью…

Библиотека Java разработчика

👩‍💻 Начали путь в программировании и хотите практики?

На вебинаре 4 декабря в 20:00 мск вы создадите свой первый сетевой чат на Java!
Вместе разберем, как работать с сетью, потоками и java .io.
Этот вебинар — отличная практика для начинающих.

Это ваш шанс выйти за рамки теории и сделать реальный проект, который отлично подойдет для портфолио.

Спикер Александр Фисунов — Senior Kotlin Developer в SSP Software на проекте ВТБ, опытный Java-разработчик и кандидат технических наук.

➡️ Регистрируйтесь на вебинар, погружайтесь в мир Java и получайте скидку на большое обучение «Java-разработчик»: https://vk.cc/cFk5ZB

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Библиотека Java разработчика

Hibernate WITH RECURSIVE query

Небольшая статья Vlad Michalcea посвящена запросам WITH RECURSIVE в Hibernate. Описано, как они работают и как могут быть использованы для иерархических структур данных.

https://vladmihalcea.com/hibernate-with-recursive-query/

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Hibernate JAVA_TIME_USE_DIRECT_JDBC setting

Небольшая статья Vlad Mihalcea о настройке в Hibernate, которая позволяет маппить типы времени из java.time напрямую, без прослойки в виде объекта Timestamp. А еще рассматривается то, какими драйверами для популярных БД это поддерживается.

https://vladmihalcea.com/hibernate-type-java_time_use_direct_jdbc/

👉@BookJava

Читать полностью…

Библиотека Java разработчика

🚀 Совет Spring 🚀

SSEEvent от Spring для плавных обновлений в реальном времени в ваших приложениях 🔥

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Hack a Java application with the debugger

В статье автор рассматривает использование дебаггера для взаимодействия и изменения поведения JVM-приложений в режиме реального времени. Автор демонстрирует примеры изменения значений переменных и вызова методов приложения через отладчик, что позволяет вносить изменения в приложение без его перезапуска.

https://foojay.io/today/debugger-godmode-hacking-a-jvm-application-with-the-debugger/

👉@BookJava

Читать полностью…

Библиотека Java разработчика

🔥 Как сократить баги и ускорить релизы с помощью безопасной разработки

Ты создаешь крутые приложения, но баги и уязвимости продолжают отнимать драгоценное время, особенно когда горят дедлайны? 😬

Представь, что ты можешь защитить свой код на каждом этапе разработки и при этом сэкономить нервы и время! Мы разработали новый курс «Безопасность приложений для разработчиков», чтобы показать, что безопасность — это не про сложности, а про качество и экономию времени.

🎯 Почему стоит записаться?

· Ты научишься строить защиту ещё на этапе планирования, минимизируя уязвимости.
· Безопасность не замедлит процесс — мы покажем, как сохранять темп и укладываться в дедлайны.
· Меньше проблем на проде — ты будешь предотвращать уязвимости на ранних стадиях, избегая лишних правок.

👨‍💻 Авторы курса — эксперты Positive Technologies, одной из лидирующих компаний на рынке кибербезопасности. Ты будешь учиться у профессионалов, которые ежедневно работают над безопасностью приложений.

Старт курса 25 ноября, длительность — 3 недели, формат — онлайн. Учись в любое время и из любой точки.

Не трать время на исправления багов — записывайся на курс и учись предотвращать их заранее!
👉 [Забронировать место на курсе]

Читать полностью…

Библиотека Java разработчика

👩‍💻 Приглашаем вас принять участие в открытом уроке, который посвящён теме «Интернационализация и локализация в приложениях Spring». Вы узнаете, как эффективно реализовать процесс локализации в Spring-приложениях.

Мы рассмотрим работу с классом Locale, использование MessageSource в Spring Boot и без него, способы хранения и смены локали в веб-приложениях, а также локализацию в шаблонах Thymeleaf и сообщений Bean Validation.

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

🗓 25 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Разработчик на Spring Framework» от Otus.

Программа вебинара:
✔️ Основы локализации в Spring.
✔️ Инициализация и конфигурация MessageSource.
✔️ Управление локалью в веб-приложениях.
✔️ Практические аспекты локализации.

Этот урок будет полезен Java-разработчикам с опытом 1–3 года, а также Kotlin-разработчикам.

🔗 Ссылка на регистрацию: https://vk.cc/cEWrao

🎁 Только в "Черную пятницу", скидки на курс до 15%! Подробности у менеджеров.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Библиотека Java разработчика

Null Object Pattern to Avoid Null Pointer Exception with JEP-45

Небольшая заметка об использовании Null Object Pattern в контексте добавления поддержки примитивных типов в Pattern Matching в JEP-455.

https://foojay.io/today/exploring-new-features-in-jdk-23-null-object-pattern-to-avoid-null-pointer-exception-with-jep-455/

👉@BookJava

Читать полностью…

Библиотека Java разработчика

CompletableFuture Example: Crawler

Статья посвященная использованию Completable Future и содержит интересный пример его использования. Описана реализация веб-сканера (web crawler), который, начиная с Reddit/r/Java, будет по ссылкам искать новости, посвященные хакингу.

https://concurrencydeepdives.com/java-completablefuture-example/

👉@BookJava

Читать полностью…

Библиотека Java разработчика

👩‍💻 Открытый урок «Знакомство с виртуальными потоками Java»

🗓 21 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Advanced» от Otus.

Легковесные потоки были введены во многих языках программирования, таких как Go, Kotlin и другие. Теперь Java догнала другие языки по этой функциональности.

На вебинаре разберем:

✔️что такое виртуальные потоки;
✔️ чем они отличаются от обычных потоков;
✔️в чём плюсы и минусы их использования.

🔗 Ссылка на регистрацию: https://vk.cc/cEEAfJ

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…
Subscribe to a channel