📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate. По всем вопросам @evgenycarter РКН clck.ru/3KoGeP
Пишем игру на Java - Клон Танков. Часть 1
Вступление
Создаем Окно - [1]
Да будет цвет - [2]
Изображения (теория) - [3]
Улучшаем графику - [4]
Мульти Буферизацыя - [5]
👉@BookJava
Java. Префиксное дерево. Основные операции, сохранение в файл, практическое применение.
В данном видео я рассказываю о префиксных деревьях. Разбираем, что из себя представляет префиксное дерево, для чего оно применяется. Изучаем и реализуем основные операции с префиксным деревом на языке программирования Java. Кроме этого я показываю как сохранить дерево в файл и потом загрузить обратно. С помощью этого проверяю, насколько выгодней может быть хранение строк в префиксном дереве на примере автомобильных номеров.
00:00 - Вступление
00:26 - Применение в приложении
01:58 - Построение дерева и операции с ним
06:33 - Построение префиксного дерева на Java
11:22 - Операции с префиксным деревом на Java
16:31 - Сохранение дерева в файл
20:51 - Загрузка дерева из файла
25:32 - Экономия по сравнению со списком
27:12 - Замечание о Null-безопасности
28:26 - Заключение
источник
👉@BookJava
👨💻Java VS Python – очередной раунд вечного противостояния
🔍Аналитики ICT2GO проанализировали более 100 российских мероприятий 2024 года, посвященных языкам программирования и выяснили, какой из них чаще всего обсуждается на отраслевых ивентах.
Можем поздравить себя с маленькой победой:
Java – 39
Python – 35
Впрочем, давайте дружить языками. Ведь информация обо всех мероприятиях для разработчиков и не только собрана в одном удобном агрегаторе. Телеграм-канал «ICT2GO.ru – мероприятия ИТ» уже более семи лет освещает самые яркие из них для того, чтобы вы точно не пропустили ничего важного.
📌На канале вы найдете:
– подборки ключевых ИТ-ивентов на следующую неделю;
– экспертные мнения и рекомендации по мероприятиям;
– прямые включения, фотоотчеты и самые интересные цитаты спикеров.
Подпишитесь и всегда узнавайте об актуальных событиях вовремя!
erid 2W5zFJ77LFz
Приглашаем вас на открытый вебинар: «Основы многопоточности в Java»
⏰Дата: 25 декабря в 20:00 мск
Спикер: Борис Кириллов
📚Программа урока:
- Введение в многопоточность: что это и зачем это нужно.
- Изучение базовых классов для работы с потоками.
- Разбор типовых проблем многопоточности и подходов к их решению.
🔥Урок будет полезен тем, кто хочет:
- Разобраться в основах многопоточности в Java.
- Понять, как писать многопоточные программы.
- Узнать, какие классы используются для работы с потоками в Java.
🚀В результате урока вы:
- Поймете подходы к многопоточности в Java.
- Изучите базовые классы и синтаксис многопоточной обработки.
- Сможете применять полученные знания для создания более эффективных Java-приложений.
Участники всех открытых уроков получат скидку🎁 на большое обучение
👉Регистрируйтесь на открытый вебинар по ссылке: https://vk.cc/cGdWNGРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Совет 💡
Обычно при сортировке в Spring Data мы указываем свойство, по которому хотим отсортировать, как строку. Однако существует класс TypedSort
, который дает нам возможность передавать функцию в качестве параметра для сортировки. Это повышает безопасность типов в нашем коде.
👉@BookJava
⚡️Хотите стать экспертом в разработке на Spring Framework?
Обучение «Разработчик на Spring Framework» от OTUS — это практический подход к освоению самого востребованного фреймворка для Java-разработчиков. Узнайте, как создавать веб-приложения на микросервисной архитектуре, автоматизировать задачи с Spring Boot и реализовывать высокоуровневые решения!
В конце курса у вас будет портфолио из готовых приложений и глубокое понимание работы со Spring. Пройдите вебинар-собеседование, чтобы быть готовым к реальным интервью.
👉Запишитесь на курс сейчас и перейдите на новый профессиональный уровень с дипломом, признанным крупными компаниями: https://vk.cc/cG8Yo5Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
🚀 Совет по Spring 🚀
Тестовые библиотеки Spring Boot (Testjars) 🔥
Привет, поклонники Spring! В этом выпуске мы рассмотрим новый проект Spring Boot Testjars, который значительно упрощает создание и повторное использование вспомогательных сервисов на базе Java, таких как микросервисы на основе Spring Boot или инфраструктурные компоненты, например, Spring Authorization Server.
источник
👉@BookJava
Вы опытный Java-разработчик, но хотите большего?
📚 Углубитесь в устройство JVM, научитесь профилировать приложения, оптимизировать их для облаков и развертывать в Kubernetes. Это повышение квалификации для тех, кто готов выйти на новый уровень.
👉 Вы освоите реактивный подход, работу с метриками и логированием, научитесь анализировать дампы памяти и создавать REST API с OpenAPI и Protobuf.
🎁 Присоединяйтесь к курсу «Java Developer. Advanced» и получите скидку! Ваша карьера в IT ждет апгрейда: https://vk.cc/cG54ZzРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Подборка Telegram каналов для программистов
Системное администрирование 📌
/channel/sysadmin_girl Девочка Сисадмин
/channel/srv_admin_linux Админские угодья
/channel/linux_srv Типичный Сисадмин
/channel/linux_odmin Linux: Системный администратор
/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-приложения выдерживали любые нагрузки и были стабильны в любой ситуации?
Научитесь этому на бесплатном открытом уроке с использованием Resilience4j!
В мире высоких нагрузок и распределенных систем стабильность — это ключ к успеху.
🗓 На уроке 19 декабря в 20:00 мск мы разберем фреймворк Resilience4j и покажем, как повысить отказоустойчивость ваших приложений.
🦾 Уверенные навыки работы с Resilience4j сделают вас востребованным специалистом, который способен справляться с реальными вызовами. Добавьте этот мощный инструмент в свой профессиональный стек.
Спикер Сергей Петрелевич — опытный разработчик на Java и Kotlin.
🔗 Регистрируйтесь на вебинар: https://vk.cc/cFWsGV
Все участники вебинара получат скидку на курс «Java Developer. Professional».Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Блиц-тестирование на грейд в Java
Менторы ШОРТКАТ собрали полезный небольшой тест, который поможет тебе проверить знания.
Конечно, это не определит грейд точно, но даст понять, какие темы западают. За прохождение ещё и дадут скидку на менторство.
Переходи в бот, чтобы пройти тест: @shortcut_sh_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqwKxk25
Learn Java Basics
- Introduction | Java Tutorial for Beginners, Learn to Code
- Hello World | Learn to code, Java Course, Java Tutorial
- Variables, Fields and Methods |Java Course,Java Tutorial
- Arguments, Conditional statements & Arrays | Java Course
- Loops | Learn to code, Java Course, Java Tutorial
- Create a WORDLE Game | Learn to code, Java Course
- IO & Exceptions in WORDLE | Learn to code, Java Course
- Saving and Loading State | Learn to code, Java Course
- Maven, Objects, Encapsulation & Records | Learn to code
- Parsing and Saving JSON with Moshi | Learn to code
источник
👉@BookJava
Эффективная разработка на Spring Boot без ограничений.
Пока зарубежные компании отзывают лицензии у пользователей РФ, Amplicode продолжает помогать максимально удобно работать со Spring Boot, JPA, Docker, Kafka, Liquibase, MapStruct и т.д.
Amplicode можно установить как плагин в IntelliJ IDEA Community и Ultimate, а также в Giga IDE.
Что умеет Amplicode?
⚡ Легкая навигация по проекту
⚡ Создание объектов сразу в терминах фреймворка: контроллеры, репозитории, сервисы, сущности, события, DTO, мапперы и т.д.
⚡ Палитра и инспектор, позволяющие видеть опции, доступные разработчику в текущем контексте
⚡ Умные инжекции, подсказки и исправление ошибок
⚡ и многое другое!
А самое главное, Amplicode доступен бесплатно и без региональных ограничений!
Познакомьтесь со всеми возможностями Amplicode
Читайте наш гайд: «Как превратить IntelliJ IDEA Community Edition в Ultimate за 3 простых шага»
Самоучитель по Pattern Matching в Java 21
Про новые возможности сопоставления с образцом (Pattern Matching) в Java 21.
https://nipafx.dev/java-21-pattern-matching/
👉@BookJava
📕Открытый урок по Scala для Java, C#, Kotlin и Android программистов, аналитиков данных и специалистов по обработке больших данных
На открытом уроке 23 декабря в 20:00 мск мы изучим основы языка Scala, его особенности и практику применения.
📗На уроке:
- Разберем синтаксические особенности языка;
- Узнаем какие возможности языка позволяют комфортно использовать подходы функционального программирования
📘В результате:
- Пройдем практику в написании функций и методов
- Научимся создавать иммутабельные конструкции
- Получим полное представление о возможностях композиции
Спикер Алексей Воронец — руководитель разработки департамента проектных решений и поисковых систем в компании Naumen, 14+ лет разработки на Scala, Java, JavaScript и PHP.
👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cGjzJy
📙 Все участники открытого урока получат скидку 20% на курс "Scala-разработчик" с промокодом SCALA2025Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Совет по Spring Boot 💡
Вы думаете о замене 🍃`RestTemplate
` на новый Spring `RestClient
`? Конфигурация SSL очень проста благодаря поддержке 🔐`SslBundles
` через интерфейс `RestClientSsl
` 👆
👉@BookJava
Что выведет код?
public class Main {
public static final int END = Integer.MAX_VALUE;
public static final int START = END - 100;
public static void main(String[] args) {
int count = 0;
for (int i = START; i <= END; i++) count++;
System.out.println(count);
}
}
Создаём CRUD REST API в Spring Boot быстро и просто вместе с Amplicode
Статья демонстрирует, как с помощью инструмента Amplicode эффективно создавать REST-контроллеры в приложениях на Spring Boot. Автор показывает процесс генерации CRUD-методов (создание, чтение, обновление, удаление) и делегирования существующих методов в контроллер, что упрощает разработку API. Приводятся практические примеры и рекомендации по использованию Amplicode для ускорения разработки и повышения качества кода.
https://habr.com/ru/companies/haulmont/articles/866060/
👉@BookJava
🏰 Открытый урок «Знакомство с Resilience4j» 🏰
🗓 Дата: 19 декабря в 20:00 мск.
👩💻 Resilience4j — популярный инструмент для обеспечения стабильности и отказоустойчивости в Java-приложениях. В мире высоких нагрузок и распределенных систем важно познакомиться с этим фреймворком, чтобы улучшить надежность и производительность ваших приложений.
Программа урока:
- Введение в Resilience4.
- Применение Resilience4j для улучшения стабильности.
🔗 Регистрация на вебинар: https://vk.cc/cG8WlJРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
💡Совет по Java: Если в Java Map нужно хранить несколько значений для одного ключа, используйте Apache Commons MultiValuedMap.
Если нужно хранить несколько значений для одного ключа в Map
, можно использовать MultiValuedMap:
- List для дублирующихся значений (с повторениями).
- Set для уникальных значений (без дубликатов).
Пример кода:
1. ArrayListValuedHashMap – значения хранятся в списке (допускаются дубликаты):
MultiValuedMap<Integer, String> listMap = new ArrayListValuedHashMap<>();
listMap.put(1, "A");
listMap.put(1, "A");
listMap.put(1, "B");
listMap.put(1, "C");
Collection<String> values = listMap.get(1);
// values = ["A", "A", "B", "C"]
MultiValuedMap<Integer, String> listMap = new HashSetValuedHashMap<>();
listMap.put(1, "A");
listMap.put(1, "A");
listMap.put(1, "B");
listMap.put(1, "C");
Collection<String> values = listMap.get(1);
// values = ["A", "B", "C"]
🎄👩💻🎄Создадим вместе интерактивную новогоднюю открытку на Java и LibGDX
Дата: 18 декабря в 20:00 мск.
Приглашаем вас на вебинар, где мы с нуля создадим графическое приложение на Java с использованием фреймворка LibGDX — интерактивную новогоднюю открытку.
Программа урока:
- Введение в Java и LibGDX.
- Создание интерактивной новогодней открытки.
- Реализация ваших идей.
- Завершение и запуск приложения.
🔗 Ссылка на регистрацию: https://vk.cc/cG7yEoРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
IntelliJ IDEA EAP обеспечивает навигацию по журналам именно в том месте, где было зарегистрировано сообщение!
https://blog.jetbrains.com/idea/2024/02/intellij-idea-2024-1-eap-6/
👉 @BookJava
Какие возможности Spring предоставляет для коммуникации с базой данных?
Spring предоставляет мощный набор инструментов для работы с базами данных. Ниже перечислены некоторые из них:
🔹Spring JDBC: Абстракции над JDBC (Java Database Connectivity), что упрощает взаимодействие с базой данных через простые API.
🔹Spring Data JPA: Spring абстракция над JPA (Java Persistence API) и упрощает взаимодействие с объектно-реляционными базами данных (ORM).
🔹 Spring ORM: Spring ORM интегрирует ORM-фреймворки, такие как Hibernate, с Spring Framework. Он обеспечивает удобную интеграцию между Spring и ORM-фреймворками, предоставляя возможности управления транзакциями, упрощенный доступ к данным и возможности кэширования.
🔹Spring Data JDBC: Альтернативный подход к доступу к данным с использованием JDBC. В отличие от ORM, Spring Data JDBC предлагает простую и прямолинейную модель доступа к данным без использования объектно-реляционного отображения (ORM).
🔹Spring Transactions: Spring предоставляет механизм управления транзакциями для работы с базами данных. Он позволяет объявлять транзакции с помощью аннотаций или XML-конфигурации.
🔹Spring Batch: Spring Batch предоставляет возможности для пакетной обработки данных, включая чтение, обработку и запись данных в базу данных.
👉@BookJava
Java. Быстрая сортировка. Реализация алгоритма QuickSort.
Как работает быстрая сортировка, разбор и реализация алгоритма.
источник
👉@BookJava
Что будет, если попытаться вставить в HashMap уже имеющийся в ней ключевой объект?
Этот каверзный вопрос – часть другого часто задаваемого вопроса: как работают HashMap
в языке Java? HashMap
– популярная тема для запутанных и каверзных вопросов по языку Java.
Ответ таков: если попытаться повторно вставить ключ в HashMap, он заменит старый, поскольку класс HashMap не допускает дублирующихся ключей. А тот же ключ означает такой же хэш-код, так что он попадет в то же место в хэш-сегменте.
👉@BookJava
Что вернет выражение 1.0/0.0? Приведет ли оно к генерации исключения или ошибке при компиляции?
Еще один каверзный вопрос насчет класса Double
. Хотя разработчики Java знают о существовании простого типа данных double
и класса Double
, при выполнении операций с плавающей точкой они не уделяют достаточного внимания Double.INFINITY
, NaN
, -0.0
и правилам, которым подчиняются связанные с ними арифметические вычисления.
Ответ на этот вопрос прост: генерации исключения ArithmeticException не произойдет, будет возвращено значение Double.INFINITY.
👉@BookJava
🎄👩💻 Хотите создать свой первый графический проект на Java?
Приглашаем на бесплатный вебинар!
🗓 18 декабря в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java-разработчик» от Otus.
На занятии мы с нуля создадим интерактивную новогоднюю открытку с помощью Java и фреймворка LibGDX.
Вы сможете предложить свои идеи, и мы реализуем их в реальном времени — вы увидите, как рождается код.
🦾 Откройте для себя мир графической разработки! Получите практические навыки, которые станут основой для создания игр, приложений и других интерактивных проектов.
Спикер Александр Фисунов — Senior Kotlin Developer в SSP Software на проекте ВТБ, опытный Java-разработчик и кандидат технических наук.
🔗 Ссылка на регистрацию: https://vk.cc/cFRZWxРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
📕Открытый урок по Scala для Java, C#, Kotlin и Android программистов, аналитиков данных и специалистов по обработке больших данных
На открытом уроке 16 декабря в 20:00 мск мы изучим, эффекты в Scala.
📗На уроке:
- узнаем, что такое эффекты и какие они бывают;
- познакомимся с понятием функционального эффекта;
- разберемся, какие задачи они могут решать.
📘В результате:
Реализуем свой функциональный эффект, применив полученные навыки.
Спикер Алексей Воронец — руководитель разработки департамента проектных решений и поисковых систем в компании Naumen, 14+ лет разработки на Scala, Java, JavaScript и PHP.
👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cFQzkO
📙 Все участники открытого урока получат скидку на курс "Scala-разработчик"
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576