13937
Обучающий канал по Java Ссылка для друга - https://t.me/+ZEYYht6-46w5MDM6 По всем вопросам @valentin_mascarov Реклама на бирже - https://telega.in/c/Java_per_month
➡️ Использование библиотеки Takari для создания плагинов Maven
Takari — это библиотека, предназначенная для упрощения разработки Maven-плагинов. Она предоставляет удобные инструменты для создания высокопроизводительных плагинов с минимальным количеством кода.
🔗 Ссылочка на доку
Java Learning 👩💻
➡️ Использование библиотеки JDBI3 для работы с базами данных
JDBI3 — это легковесная библиотека для удобного взаимодействия с базами данных. Она позволяет выполнять SQL-запросы и маппить результаты прямо на объекты Java.• JDBI3 упрощает работу с базами данных благодаря поддержке fluent-интерфейса.
🔗 Ссылочка на доку
Java Learning 👩💻
⌛ Что будет выведено при выполнении кода?
Java Learning 👩💻
Трюк с битовыми операциями
Этот код демонстрирует обмен значений двух переменных (a и b) без использования дополнительной временной переменной.
Он использует битовую операцию XOR (^). Ключевой момент здесь в том, что XOR двух одинаковых чисел возвращает 0, а XOR числа с 0 возвращает само это число. Таким образом, когда мы применяем XOR к a и b и затем обратно, мы фактически обмениваем их значения.
Java Learning 👩💻
Хотите научиться разрабатывать парсеры pdf-файлов и создавать полезные приложения?
Приглашаем на открытый урок «Разработка парсера pdf-файла».
🗓 24 октября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Professional»
На вебинаре разберем:
- как разработать парсер для выписки ВТБ банка в формате pdf;
- весь путь от идеи до практического применения;
- ответы на все возникающие вопросы.
⬇️ В результате урока вы получите практически полезное приложение с подробностями реализации.
Спикер Сергей Петрелевич — опытный Java/Kotlin-разработчик и преподаватель.
Все участники вебинара получат специальную цену на обучение!
🔗 Ссылка на регистрацию: https://clck.ru/3DyYJJРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
➡️ Использование библиотеки json-unit для тестирования JSON-ответов в Java
json-unit — это удобная библиотека для сравнения и тестирования JSON-данных в Java. Она поддерживает сравнение структуры, частичное совпадение данных и игнорирование несущественных различий, что делает её идеальной для тестирования API-ответов.• json-unit — отличный выбор для разработчиков, которым нужно тестировать и проверять сложные JSON-структуры.
🔗 Ссылочка на доку
Java Learning 👩💻
➡️ Использование библиотеки joor для упрощенной работы с рефлексией в Java
Joor — это легковесная библиотека для работы с рефлексией в Java, которая значительно упрощает использование этого мощного механизма.
✔️ Она предоставляет удобный API для создания экземпляров, вызова методов и доступа к полям классов, делая код более читаемым и компактным.
🔗 Ссылочка на доку
Java Learning 👩💻
#Вопросы_с_собеседования
Если вы хотите переопределить equals(), какие условия должны удовлетворяться для переопределенного метода?
- Метод должен удовлетворять условиям транзитивности, рефлексивности и симметричности.
- Метод должен быть согласованным - многократные вызовы с неизменными объектами должны возвращать один и тот же результат.
- Если x.equals(y) вернёт true, то x.hashCode() должен быть равен y.hashCode().
- Метод не должен выбрасывать исключения при сравнении допустимых значений.
Java Learning 👩💻
➡️ Использование библиотеки Jolt для трансформации JSON в Java
Jolt — это мощная библиотека для преобразования и манипуляции JSON-данными. Она позволяет описывать преобразования в виде спецификаций и легко применять их к JSON-структурам, что особенно удобно при интеграции данных.• Jolt — идеальный инструмент для случаев, когда необходимо трансформировать сложные JSON-данные.
🔗 Ссылочка на доку
Java Learning 👩💻
⌛ Что будет выведено при выполнении кода?
Java Learning 👩💻
👩💻 «Знакомство со Spring Cloud».
Приглашаем на открытый урок, где мы разберем:
✔️ что такое Spring Cloud и для чего он нужен;
✔️ из каких основных компонентов состоит Spring Cloud;
✔️ как использовать ключевые функции Spring Cloud для разработки.
🗓 10 октября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Professional»
🔗 Ссылка на регистрацию : https://clck.ru/3DqUU4Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Бесплатный интенсив: Java-разработчик: старт в профессии с нуля.
📆 Когда: 15-16 октября в 19:00 по мск.
За два дня интенсива в прямом эфире, под руководством опытного Java-разработчика, вы сможете:
✔️ Познакомиться с синтаксисом и основными конструкциями языка Java.
✔️ Написать свой первый проект и определить, подходит ли вам профессия разработчика.
✔️ Создать Telegram-бота с нуля.
✔️ Узнать ответы интересующие вас вопросы.
✔️ Получить доступ к закрытому профессиональному сообществу.
🎁 Подарки для участников интенсива: гайд «Как заговорить на сленге IT-специалистов», карта компетенций начинающего Java-разработчика и доступ в закрытое сообщество «Старт в Java» от Хекслета!
Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid:LjN8K2kGH
➡️ Использование библиотеки Picnic для форматирования таблиц в текстовом формате в Java
Picnic — это библиотека для создания красиво отформатированных текстовых таблиц в Java. Она упрощает генерацию таблиц с правильным выравниванием, заголовками и рамками, что делает её идеальной для вывода табличных данных в консольных приложениях.• Picnic отлично подходит для случаев, когда нужно представить данные в текстовой таблице, например, для отчетов или логов.
🔗 Ссылочка на доку
Java Learning 👩💻
➡️ Использование библиотеки Jinjava для рендеринга шаблонов в Java
Jinjava — это шаблонизатор для Java, основанный на синтаксисе Jinja, популярного в мире Python. Эта библиотека позволяет гибко рендерить HTML-шаблоны с поддержкой переменных, циклов, условий и фильтров.• Jinjava — отличный выбор для тех, кому нужно интегрировать мощный шаблонизатор с простым и понятным синтаксисом в свои Java-приложения.
🔗 Ссылочка на доку
Java Learning 👩💻
➡️ Использование StackWalker для эффективного анализа стека вызовов
StackWalker — это новое API, введенное в Java 9, которое позволяет легко и эффективно работать с информацией о стеке вызовов.
В отличие от устаревших методов, таких как Thread.getStackTrace(), StackWalker предоставляет гибкий и производительный способ получения информации о стеке, поддерживая фильтрацию и построчную обработку.
🗣 StackWalker дает возможность работать с текущим стеком вызовов, избегая накладных расходов и ограничений старых методов.
Java Learning 👩💻
IT Community Day в Санкт-Петербурге прошёл идеально! 👨💻
Сотни IТ-специалистов встретились, чтобы послушать доклады топовых спикеров, прокачать hard и soft skills, познакомиться, повеселиться на афтерпати, и главное — стать частью крупнейшего IТ-комьюнити!
Завидуем тем, кто смог попасть на это мероприятие. А остальным советуем не расстраиваться: совсем скоро состоятся IT Community Day в:
✔️ В Казани 12 октября научимся управлять большими данными, укрощать искусственный интеллект, создавать успешное резюме и находить подход к карьере.
✔️ И в Екатеринбурге 19 октября поговорим об интеграции LLM в приложение, методологии API-first и комбинации личного и профессионального развития.
Успейте зарегистрироваться! 💚
👉 Казань, 12 октября
👉 Екатеринбург, 19 октября
В чем отличия между TreeSet и HashSet?
Основное отличие между TreeSet и HashSet заключается в том, что TreeSet хранит элементы в отсортированном порядке, в то время как порядок хранения элементов в HashSet не определен. TreeSet также обеспечивает быстрый поиск и извлечение элементов в отсортированном порядке.
Java Learning 👩💻
♨️ Анализировать множество показателей и не перегружать приложение?
С Java Flight Recorder – это легко.
Приглашаем вас на открытый урок «Обзор инструмента Java Flight Recorder».
🗓 22 октября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Advanced» от OTUS.
JFR:
- Регистрирует множество событий внутри виртуальной машины Java
- Не ухудшает производительность
- Помогает детально разобраться в причинах сбоев и ошибок
Хотите освоить? - приходите на вебинар!
Спикер – Александр Царёв, техлид в Сбере.
🔗 Ссылка на регистрацию: https://clck.ru/3Dzwc6Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
➡️ Использование библиотеки Reactor для работы с реактивным программированием в Java
Reactor — это библиотека для построения асинхронных, реактивных систем. Она использует потоковую обработку данных и позволяет эффективно управлять асинхронными операциями с минимальной задержкой.• Reactor поддерживает функциональный стиль программирования и является основой для Spring WebFlux.
🔗 Ссылочка на доку
Java Learning 👩💻
❓ Вопрос на собеседовании
Что такое try-with-resources в Java, и как он улучшает управление ресурсами?
Ответ ⬇️
"Try-with-resources" — это конструкция, введенная в Java 7, которая автоматически закрывает ресурсы (например, файлы, потоки) после использования. Это помогает избежать утечек ресурсов и улучшает читаемость кода.
Пример использования ⚙️
Здесь BufferedReader автоматически закрывается после завершения блока try, даже если возникает исключение.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Станьте разработчиком нейро-сотрудников на Python и зарабатывайте от 150.000р в месяц 🔥🔥🔥
Мы научим вас создавать топовых нейро-сотрудников на базе GPT-4 Omni, и вы сможете:
1️⃣ Устроиться разработчиком в крупную компанию и зарабатывать от 150 тысяч ₽ в месяц
2️⃣ Разрабатывать такие проекты на заказ и зарабатывать от 500 тысяч ₽ за проект
3️⃣ Создать нейро-сотрудника в вашей компании и вырасти на +30-100% в зарплате
Что будет на интенсиве?
🧬 Теория: как создаются нейро-сотрудники с GPT-4o на Python
🧬 Практика: мы создадим нейро-консультанта, нейро-HR, нейро-маркетолога и др.
Ведущий интенсива - Senior AI разработчик нейросетей и основатель Университета искусственного интеллекта
🔥 Регистрируйтесь на бесплатный интенсив! Встречаемся в ближайший четверг!
➡️ Использование Sequenced Collections для упорядоченных коллекций
Sequenced Collections — интерфейс, который объединяет функциональность упорядоченных коллекций, таких как списки и наборы.
Он позволяет более эффективно работать с коллекциями, где важен порядок элементов, и предоставляет методы для работы с первым и последним элементами коллекции.
🗣 Это удобное API для работы с коллекциями, где требуется работа с последовательностями элементов.
Java Learning 👩💻
Главная конференция по бизнесу в Telegram
31 октября в Москве пройдёт первая конференция по Telegram от крупнейшего сервиса аналитики Telemetr. Топы Телеграм-рынка, маркетологи и представители бизнеса обсудят самые актуальные тенденции и перспективы развития платформы Telegram.
Присоединиться к мероприятию можно будет и онлайн. Тут найдёте всю информацию - https://telemetr.pro.
На конференции вас ждут:
- 20+ опытных спикеров
- 1000+ онлайн и офлайн участников
- две сцены
- нетворкинг активности
- лаунж зона
- вкусный фуршет
- яркое afterparty в PAPA Moscow
Спикерами главной сцены будут: Артемий Лебедев, руководитель Telemetr - Денис Ларионов, основатель агентства GoDigital - Сурен Альбертян, основатель Сидорин ЛАБ - Дмитрий Сидорин и многие другие!
За подробностями сюда - https://telemetr.pro
А купить билет со скидкой в 10% можно, использовав наш промокод - TMConf10
Купить билет - https://telemetr.pro
Выиграй 4 000 000 ₽ на True Tech Champ
МТС приглашает опытных и начинающих разработчиков поучаствовать в чемпионате. В треке «Программирование роботов» нужно будет создать алгоритм для прохождения лабиринта. Победит тот, чей робот окажется самым быстрым. При этом не обязательно разбираться в устройстве роботов: эксперты трека уже сконструировали их и создали прошивку. Для участия достаточно уметь программировать на одном из языков: С++, C#, Go, Python, JS, Java.
Регистрация открыта до 15 октября, отборочные онлайн-этапы уже стартовали!
До финала смогут дойти на равных разработчики вне зависимости от стека или уровня: питонисты или джависты, джуны или сеньоры. А с полуфиналов начнётся командный этап — можно собрать свою дримтим.
Участникам дадут доступ к API и подробные инструкции. Эксперты трека будут помогать, направлять и отвечать на вопросы на вебинарах.
Зарегистрироваться можно по ссылке.
SonarJava
SonarJava — это плагин для статического анализа кода, который используется для проверки качества кода Java. Он может обнаруживать различные проблемы, такие как ошибки кода, дублирование кода, потенциальные уязвимости безопасности и т. д.
Java Learning 👩💻
➡️ Использование StructuredTaskScope для управления асинхронными задачами
StructuredTaskScope — это API, который упрощает управление группами асинхронных задач. Он позволяет легко запускать несколько задач параллельно и контролировать их выполнение, гарантируя, что все дочерние задачи будут завершены корректно, даже в случае ошибок.
🗣 Это отличное решение для обработки нескольких связанных задач, где важно, чтобы все задачи были завершены, или отменены вместе, если одна из них завершится с ошибкой.
Java Learning 👩💻
❓ Вопрос на собеседовании
Что такое "weak references" в Java и когда их стоит использовать?
Ответ ⬇️
Weak references (слабые ссылки) позволяют ссылаться на объекты, не предотвращая их сборку сборщиком мусора (GC). Если на объект осталась только слабая ссылка, GC сможет освободить его память, когда посчитает нужным. Это полезно в ситуациях, когда нужно избежать утечек памяти, но при этом объект не должен оставаться в памяти, если он больше не используется, как в кэширующих структурах данных или пуле объектов.
Java Learning 👩💻
⚡️ Вся база знаний по IT в одном месте!
🧑💻 IT База — краткие разборы самого важного из мира IT. Сотни мастхев-ресурсов, каждый день новые материалы по работе и подготовке к собеседованиям. Подойдёт как новичкам, так и состоявшимся айтишникам;
🖥 Frontend База — всё для фронтенд разработчиков. Готовые решения для проектов, полезные курсы по JS/HTML/CSS, готовые роадмапы для комфортного освоения в профессии и дальнейшего развития;
👣 Backend База — самое важное для бэкендеров. Всё о работе с PHP, MySQL, MongoDB, Golang и Rust в одном месте, плюс полные курсы и лайфхаки для работы на каждый день;
🖥 База Знаний — склад полезных курсов и материалов, где легко найти что-то нужное по хэштегам. Если вам что-то интересно про IT, то оно уже лежит на Базе, проверяйте.
⏲ Успей подписаться, чтобы не потерять!
❓ Вопрос на собеседовании
Что такое "backpressure" в реактивных системах на Java, и как его можно обработать?
Ответ ⬇️
"Backpressure" возникает, когда источник данных производит элементы быстрее, чем потребитель может их обработать. В Java для управления этим в реактивных системах используется интерфейс Flow.Subscriber, который позволяет контролировать поток данных через запрос определенного количества элементов с помощью метода request.
🗣 Пример:
import java.util.concurrent.Flow;
public class BackpressureExample {
public static void main(String[] args) {
MyPublisher publisher = new MyPublisher();
MySubscriber subscriber = new MySubscriber();
publisher.subscribe(subscriber);
}
}
class MyPublisher implements Flow.Publisher<Integer> {
@Override
public void subscribe(Flow.Subscriber<? super Integer> subscriber) {
subscriber.onSubscribe(new Flow.Subscription() {
@Override
public void request(long n) {
for (int i = 1; i <= n; i++) {
subscriber.onNext(i);
}
subscriber.onComplete();
}
@Override
public void cancel() {
}
});
}
}
class MySubscriber implements Flow.Subscriber<Integer> {
private Flow.Subscription subscription;
@Override
public void onSubscribe(Flow.Subscription subscription) {
this.subscription = subscription;
subscription.request(5); // Запрашиваем 5 элементов
}
@Override
public void onNext(Integer item) {
System.out.println("Получен элемент: " + item);
}
@Override
public void onError(Throwable throwable) {
System.err.println("Ошибка: " + throwable.getMessage());
}
@Override
public void onComplete() {
System.out.println("Все элементы получены.");
}
}
⌛ Что будет выведено при выполнении кода?
Java Learning 👩💻