bookjava | Unsorted

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

10986

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

Subscribe to a channel

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

Elasticsearch - пишем свой поисковик на Java

00:00 Знакомство с автором
00:37 План вебинара
1:28 Изучение Java разработки на ITVDN
1:47 Задачи полнотекстового поиска
4:05 Поисковой движок Elasticsearch
7:45 Структура приложения
10:20 Установка и запуск Elasticsearch
13:28 Настройка в Postman
15:50 Обзор проекта в Elasticsearch
17:37 Создание индексов, поиск по индексу, поиск по нескольким полям
33:13 Поиск в найденном
40:30 Агрегация результатов поиска, поиск запросов с опечатками
46:38 Ранжирование результатов
51:23 Настройка форматирования результатов
55:52 Пагинация
1:05:30 Асинхронные вызовы, продвинутые возможности
1:17:00 Заключение

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

👉@BookJava

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

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

Чем отличается Lambda от анонимного класса?

Хотя в некоторых случаях они и могут быть использованы взаимозаменяемо, Lambda-выражения и анонимные классы имеют различия.

Разберем основные из них:

1. Синтаксис: Lambda-выражения имеют более краткий и лаконичный синтаксис по сравнению с анонимными классами.

2. Область применения: Lambda-выражения могут быть использованы только для функциональных интерфейсов, в то время как анонимные классы могут быть использованы для любых интерфейсов и абстрактных классов.

3. Ключевое слово this: В анонимных классах ключевое слово this ссылается на сам анонимный класс, в то время как в lambda-выражениях this ссылается на объемлющий.

4. Производительность: Lambda-выражения обычно имеют лучшую производительность по сравнению с анонимными классами, так как они компилируются в приватные методы и используют инструкцию invokedynamic.

👉@BookJava

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

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

Что стоит знать о Java-конференции Joker, которая пройдёт уже скоро?

В этот раз большая двухдневная офлайн-часть в Санкт-Петербурге (и еще два дня в онлайне). Но если вы не в Петербурге, можно поучаствовать и удалённо.

В программе всё полезное Java-разработчикам: от архитектуры до производительности, от нововведений Java 21 до идиоматичного Kotlin.

Прочитать описания всех докладов уже можно на сайте.

При посещении за свой счет работает промокод BOOKJAVA. Если вы покупаете билет себе сами, то переходите по этой ссылке.

Если билет вам покупает работодатель, то пришлите ему эту ссылку.

Реклама, ООО «Джуг Ру Груп», ИНН 7801341446, erid 2RanykksUZN

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

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

Вся правда о массивах | структуры данных

00:00 Введение
02:10 Массивы
05:10 Поиск в массиве
05:42 Вставка в массив
06:54 Удаление из массива
08:40 Связанные списки
09:44 Вставка в связанный список
11:10 Поиск + вставка в середину связанного списка
11:56 Удаление из связанного списка

источник

👉@BookJava

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

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

Pro RESTful APIs with Micronaut: Build Java-Based Microservices with REST, JSON, and XML
Автор: Sanjay Patni (2023)

Откройте для себя технологии RESTful, включая REST, JSON, XML, веб-сервисы JAX-RS, SOAP и другие, для создания современных микросервисов на Java, приложений больших данных и приложений веб-сервисов с использованием фреймворка Micronaut.

Скачать

👉 @java_360

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

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

The Java Workshop - A practical, no-nonsense guide to Java
David Cuartielles, Andreas Göransson, Eric Foster-Johnson (2019)

Чему вы научитесь:
* Освоите фундаментальные концепции языка Java.
* Писать чистый и хорошо комментированный код, который легко поддерживать.
* Создавать Java-проект с помощью JAR-файлов и узнаете о таких инструментах, как Maven и Gradle.
* Отлаживать и компилировать логические ошибки и обрабатывать исключения в своих программах.
* Узнайте, как использовать библиотеки сторонних разработчиков и наборы средств разработки программного обеспечения (SDK)
* Используйте Java Database Connectivity (JDBC) для работы с информацией, хранящейся в базах данных.
* Понять, как обеспечить безопасность данных с помощью криптографии и шифрования.
* Узнайте, как избежать ошибок в процессе разработки с помощью модульного тестирования.

👉@BookJava

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

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

Пишем плагин для IntelliJ IDEA. Ускоряем написание тестов на DTO


В Java я недавно. Работаю Java-разработчиком около года при общем 10-летнем стаже в АльфаСтрахование. Этому году предшествовали годы разработки на ABAP и полгода обучения на Javarush.

https://habr.com/ru/company/alfastrah/blog/706314/

👉@BookJava

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

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

Расскажите про приведение типов. Что такое понижение и повышение типа?

Java является строго типизированным языком программирования, а это означает, то что каждое выражение и каждая переменная имеет строго определенный тип уже на момент компиляции. Однако определен механизм приведения типов (casting) - способ преобразования значения переменной одного типа в значение другого типа.

В Java существуют несколько разновидностей приведения:

• Тождественное (identity). Преобразование выражения любого типа к точно такому же типу всегда допустимо и происходит автоматически.
• Расширение (повышение, upcasting) примитивного типа (widening primitive). Означает, что осуществляется переход от менее емкого типа к более ёмкому. Например, от типа byte (длина 1 байт) к типу int (длина 4 байта). Такие преобразование безопасны в том смысле, что новый тип всегда гарантировано вмещает в себя все данные, которые хранились в старом типе и таким образом не происходит потери данных. Этот тип приведения всегда допустим и происходит автоматически.
• Сужение (понижение, downcasting) примитивного типа (narrowing primitive). Означает, что переход осуществляется от более емкого типа к менее емкому. При таком преобразовании есть риск потерять данные. Например, если число типа int было больше 127, то при приведении его к byte значения битов старше восьмого будут потеряны. В Java такое преобразование должно совершаться явным образом, при этом все старшие биты, не умещающиеся в новом типе, просто отбрасываются - никакого округления или других действий для получения более корректного результата не производится.
• Расширение объектного типа (widening reference). Означает неявное восходящее приведение типов или переход от более конкретного типа к менее конкретному, т.е. переход от потомка к предку. Разрешено всегда и происходит автоматически.
• Сужение объектного типа (narrowing reference). Означает нисходящее приведение, то есть приведение от предка к потомку (подтипу). Возможно только если исходная переменная является подтипом приводимого типа. При несоответствии типов в момент выполнения выбрасывается исключение ClassCastException. Требует явного указания типа.
• Преобразование к строке (to String). Любой тип может быть приведен к строке, т.е. к экземпляру класса String.
• Запрещенные преобразования (forbidden). Не все приведения между произвольными типами допустимы. Например, к запрещенным преобразованиям относятся приведения от любого ссылочного типа к примитивному и наоборот (кроме преобразования к строке). Кроме того, невозможно привести друг к другу классы, находящиеся на разных ветвях дерева наследования и т.п.

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

Для проверки возможности приведения нужно воспользоваться оператором instanceof:

Parent parent = new Child();
if (parent instanceof Child) {
Child child = (Child) parent;
}

👉@BookJava

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

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

Курс «Профессия Менеджер проектов» - Skillbox

Станьте специалистом по управлению проектами. Оставьте заявку и мы откроем доступ к первым 2 модулям курса бесплатно!

Перейти на сайт

#реклама 16+
skillbox.ru

О рекламодателе

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

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

Ответ на 1 вопрос - Яндекс Музыка всю осень за 1₽ ваша!

Яндекс Музыка для вас и 3-х ваших близких до конца осени за 1₽. Попробуйте сейчас!

Попробовать

#реклама 16+
mrqz.me

О рекламодателе

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

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

Как сканировать и проверять загружаемые изображения в Java

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

https://dzone.com/articles/how-to-scan-and-validate-image-uploads-in-java

👉@BookJava

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

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

Пример пузырьковой сортировки

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

Пузырьковая сортировка характеризуется очень низкой эффективностью и имеет временную сложность O(N²), так как в ней используются вложенные циклы. Внешний цикл выполняется N раз, а внутренний также N раз, что в итоге дает N*N, или N², итераций.

👉@BookJava

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

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

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

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


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

/channel/rust_lib Полезный контент по программированию на Rust
/channel/golang_lib Библиотека Go (Golang) разработчика

/channel/itmozg Программисты, дизайнеры, новости из мира IT.
/channel/phis_mat Обучающие видео, книги по Физике и Математике

/channel/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
/channel/nodejs_lib Подборки по Node js и все что с ним связано
/channel/ruby_lib Библиотека Ruby программиста

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/sysadmin_rabota Системный Администратор
/channel/progjob Вакансии в IT

Чат программистов📌
/channel/developers_ru

Библиотеки 📌
/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 Полезные советы по программированию

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

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

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

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

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

Математика 📌
/channel/Pomatematike Канал по математике

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

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

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

🚀 Присоединяйтесь к нашему каналу "Java | Фишки и трюки"! 🚀

🔥 Хотите узнать все секреты программирования на Java? Мы расскажем вам о самых крутых фишках и трюках, которые сделают вас настоящим гуру Java!

📚 У нас вы найдете:
✨ Советы по оптимизации кода
✨ Лучшие практики разработки на Java
✨ Увлекательные задачи для тренировки навыков
✨ И многое другое!

Прокачайте свои навыки программирования и станьте экспертом в мире Java! Присоединяйтесь к нам прямо сейчас!

👉 Java | Фишки и трюки 👈

#Java #Программирование

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

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

🟥 Мастхэв-мероприятие для Java-разработчиков

🔄 Бесплатный открытый урок «Транзакции в Kafka» от OTUS.

Что будет на занятии:

- Посмотрим, как чтение данных из Kafka можно сделать транзакционным.
- В ряде случаев требуется дополнительно обеспечить корректность обработки данных – изучим, как это можно реализовать.

Преподаватель Сергей Петрелевич – Java-разработчик, в отрасли с 2003 года. Программировать начал со времен ZX-Spectrum. 8 лет в разработке банковских процессинговых систем пластиковых карт.

🌐 Занятие пройдёт 27 сентября в 20:00 мск в рамках курса «Java Developer. Professional».

Это отличная возможность совершенно бесплатно протестировать формат обучения и задать преподавателю любые вопросы в режиме реального времени!

Пройдите бесплатное вступительное тестирование прямо сейчас и зарегистрируйтесь на событие:

➡️ Пройти тест

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

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

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

🤝Язык Kotlin - лучший друг Java-разработчиков.

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

В OTUS идет набор в группу курса “Kotlin Backend Developer Professional”.

🔥На нем вы научитесь:

- использовать Kotlin для разработки серверных приложений;
- применять асинхронное и многопоточное программирование с корутинами;
- использовать Kotlin совместно с различными фреймворками;
- строить хранилища на базе SQL, NoSQL и NewSQL;
- писать приложения с монолитной, микросервисной и бессерверной архитектурами.

Начните с проверки своих знаний и пройдите вступительное тестирование!

❗️Если пройдете тест успешно - получите доступ к топовым урокам курса и спец. условия при поступлении в группу.

ПРОЙТИ ТЕСТ

Легендой курса является разработка стартапа. В рамках легенды обсуждается реализация экстремальных проектов, в которых сочетаются высокая неопределенность и жесткие ограничения по времени и ресурсам. При покупке курса возможна рассрочка платежа. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

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

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

Как создавать отзывчивые веб-приложения с помощью Spring Boot и React: Пошаговое руководство

В этой статье мы рассмотрим, почему Spring Boot и ReactJs могут стать идеальным дуэтом для создания полнофункциональных веб-приложений, а также рассмотрим процесс создания внутреннего приложения Spring Boot и его интеграцию с внешним приложением React.

https://reflectoring.io/build-responsive-web-apps-with-springboot-and-react-tutorial/

👉@BookJava

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

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

new vs valueOf

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

Все оболочки, кроме чисел с плавающей точкой, от Byte до Long, имеют кэш. По умолчанию этот кэш содержит значения от -128 до 127. Следовательно, если ваше значение попадает в этот диапазон, то значение вернется из кэша. Значение из кэша достается в 3.5 раза быстрее, чем при использовании конструктора, плюс идёт экономия памяти.

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

👉@BookJava

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

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

🔥 Переходи на новый уровень в Java и разнообразь свою работу!

Пройди тест по Java и проверь как хорошо ты знаешь язык.

Ответишь — пройдешь на продвинутый курс «Java Developer. Professional» от OTUS по специальной цене + получишь масстер-класс от преподавателя

👉 ПРОЙТИ ТЕСТИРОВАНИЕ

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

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

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

Дайте крудошлепа

Я устроился в небольшую компанию, которая сделал круд‑приложуху на 20 таблиц типа «заметки» и активно ее продавала госорганам за невменяемый бабос.

У нас был 3(три) Т‑Р-И статуса юзера. Anonym→Logined→Phone_Confirmed. Молодой талант до меня увидел в этом граф, и написал класс на 200+ строк, реализующий алгоритм Флойда‑Уоршелла, прикрутил стейт‑машину и не найдя интересных задач, c блеском прошел собес в Яндекс и свалил.

Меня наняли сеньором, и я каюсь ничерта не понял, алгоритм прекрасно работал на первой ступени, на второй давал сбои, тоскливо погуглил этот алгоритм, стер все к черту и написал: if(status==Logined & phone!=null){status=Phone_Confirmed}.

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

https://habr.com/ru/articles/733400/

👉@BookJava

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

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

Курс «DevOps для эксплуатации и разработки» от Яндекса

За 6 месяцев обучения освоите принципы DevOps и автоматизацию процесса разработки.

Зарегистрироваться

#реклама 16+
practicum.yandex.ru

О рекламодателе

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

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

♨️ Тест на знание языка Java

— Ответьте на 21 вопрос и проверьте, насколько хорошо вы знаете язык Java и готовы освоить Spring. Сможете сдать — пройдёте на продвинутый онлайн-курс "Разработчик на Spring" Framework со скидкой!

👉 ПРОЙТИ ТЕСТ ОНЛАЙН-КУРСА "Разработчик на Spring Framework"

Курс доступен в рассрочку.

🎁 Пройдете успешно тест, получите доступ к открытым урокам курса.

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

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

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

Что такое synchronized?

Можно применять как модификатор метода, и как самостоятельный оператор с блоком кода. Выполняет код при захваченном мониторе объекта. В виде оператора объект указывается явно. В виде модификатора нестатического метода используется this, статического – .class текущего класса.

Один из основных инструментов обеспечения потокобезопасности. Одновременно выполняется не более одного блока synchronized на одном и том же объекте. Такая блокировка называется intrinsic lock или monitor lock, подробно рассматривается в Java Concurrency in Practice 2.3.1.

Блок synchronized также необходим для использования методов wait, notify, notifyAll.

👉@BookJava

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

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

Инструментация байт-кода Java

В рамках текущей статьи будет рассказано о способах инструментации байт-кода java или, другим языком, внесения изменений в компилированные файлы java .class. Здесь будут приведены примеры работы с фреймворками Javaassist и ASM и базовое описание байт-кода.

https://habr.com/ru/articles/750028/

👉@BookJava

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

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

Какая разница между абстрактным классом и интерфейсом?

Абстрактный класс:
• абстрактные классы имеют дефолтный конструктор; он вызывается каждый раз, когда создается потомок этого абстрактного класса;
• содержит как абстрактные методы, так и не абстрактные. По большому счету может и не содержать абстрактных методов, но все равно быть абстрактным классом;
• класс, который наследуется от абстрактного, должен реализовать только абстрактные методы;
• абстрактный класс может содержать Instance Variable

Интерфейс:
• не имеет никакого конструктора и не может быть инициализирован;
• только абстрактные методы должны быть добавлены (не считая default methods);
• классы, реализующие интерфейс, должны реализовать все методы (не считая default methods);
• интерфейсы могут содержать только константы.

👉@BookJava

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

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

Курс: Профессия бухгалтер. Учитесь бесплатно!

- Оставьте заявку, и мы откроем доступ к первым 3 модулям курса!
- Бесплатный доступ к 1С для практики с опытным бухгалтером.
- Гарантируем трудоустройство - или вернём деньги!

Узнать больше

#реклама 16+
skillbox.ru

О рекламодателе

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

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

☕️ Основные методы экономии памяти для программирования на Java

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

В этой статье мы рассмотрим некоторые из лучших практик и советов по экономии памяти в Java.

https://medium.com/javarevisited/basic-memory-saving-techniques-for-java-programming-6677a7237a69

👉@BookJava

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

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

Запускаем WebSocket сервер на базе Jetty, без Spring

Иногда хочется не целый каравай, а просто хлеб с маслом.
Вот и мне понадобился простой java проект с socket-сервером, без необходимости тащить спринг.

00:00 Старт
00:05 Новый проект
01:04 Jetty dependency
01:54 App
02:14 Server
04:18 WebSocketContainer
04:58 @ WebSocket annotations
07:50 DO NOT COPY A CODE! ))
09:12 server.start()
09:56 @ OnWebSocketError ))
11:21 Done
12:04 Like & Subscribe

GitHub

Источник

👉@BookJava

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

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

☕️ Освоение бэкэнд-разработки с помощью Java Spring Boot: лучшие практики и профессиональные советы

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

https://itznihal.medium.com/mastering-backend-development-with-java-spring-boot-best-practices-and-pro-tips-3fc0f501418e

👉@BookJava

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

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

Настройка производительности Java

Основные методы повышения скорости работы и отзывчивости приложений

Как разработчик, я часто использую популярный язык программирования Java для создания приложений. Настройка производительности является одним из ключевых компонентов создания эффективных Java-приложений. Мне необходимо оптимизировать код для достижения максимальной производительности, чтобы гарантировать, что мое приложение будет соответствовать ожиданиям пользователей и бизнес-задачам. В этой статье я расскажу о ключевых методах оптимизации производительности Java, чтобы вы тоже могли повысить эффективность своих Java-приложений.

https://developnsolve.com/java-performance-tuning

👉@BookJava

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