Библиотека Java разработчика
الذهاب إلى القناة على Telegram
📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate. По всем вопросам @evgenycarter РКН clck.ru/3KoGeP
إظهار المزيد9 988
المشتركون
-224 ساعات
-197 أيام
-6030 أيام
أرشيف المشاركات
Рисуем звук. Почувствуй себя нейросетью. Java, Guice
Сегодня java, guice и другие - помогут нам записать звук в представление чуть более непонятное чем эквалайзер (по крайней мере для меня). Вы при желании можете записать что-то другое.
00:00 Demo
01:34 Under the hood
02:44 Quickstart Archetype
04:28 BytesFetcher interface
05:32 AudioBytesFetcher
15:00 ImageDrawService
27:44 Guice module
28:51 App
34:40 Start
35:36 Success
36:23 Result
GitHub
источник
👉@BookJava
Почему не рекомендуется использовать метод Thread.stop()?
При принудительной остановке (приостановке) потока,
stop() прерывает поток в недетерменированном месте выполнения, в результате становится совершенно непонятно, что делать с принадлежащими ему ресурсами. Поток может открыть сетевое соединение - что в таком случае делать с данными, которые еще не вычитаны? Где гарантия, что после дальнейшего запуска потока (в случае приостановки) он сможет их дочитать? Если поток блокировал разделяемый ресурс, то как снять эту блокировку и не переведёт ли принудительное снятие к нарушению консистентности системы? То же самое можно расширить и на случай соединения с базой данных: если поток остановят посередине транзакции, то кто ее будет закрывать? Кто и как будет разблокировать ресурсы?
👉@BookJavaКак из Java приложения запустить другую программу?
Самый простой и базовый способ – с помощью метода
Runtime.getRuntime().exec(). В качестве параметра ему передается строка системной команды. Опциональные можно передать рабочую директорию, и переменные окружения в виде массива строк "имя=значение". Если команде нужны аргументы, они передаются либо массивом, либо в той же строке команды через пробелы.
Рекомендуемый, и более управляемый способ – использование класса ProcessBuilder. Он же применяется внутри метода exec. Билдер дает, например, средства для использования в команде пайплайнов и редиректов ввода-вывода.
В результате запуска команды создается объект класса Process. Его можно сконвертировать в более современный (Java 9+) и функциональный ProcessHandle. Через эти объекты идет работа с вводом-выводом процесса, его характеристиками и статусом.
Команда запускается в отдельном подпроцессе операционной системы. Это значит, что лозунг «Write once, run anywhere» перестает здесь работать – ваша программа становится платформо-зависимой. Обращение к ОС, а тем более выделение нового процесса обычно занимает немало ресурсов компьютера. Запуск внешних программ не считается плохой практикой, но всё-таки при возможности стоит его избегать.
👉@BookJava🦾Испытай свою силу джавист - пройди тест по Spring!
Ответь на вопросы и проверь свои знания. Сможешь сдать — пройдёшь на продвинутый курс "Разработчик на Spring Framework" от OTUS по специальной цене.
Что даст тебе курс?
🔵Умение «выживать» в проектах, где есть Spring;
🔵Знание современных возможностей Spring;
🔵Понимание, как создавать Web-приложения на микросервисной архитектуре и решать высокоуровневые задачи по разработке;
🔵Умение быстро проходить путь от идеи до production-grade;
🔵Владение фреймворками Spring и технологиями вспомогательных проектов (Spring MVC, Spring Security, Spring Boot, Spring Reactive Stack, Spring 5).
🎫Возможна оплата курса в рассрочку
🎁После прохождения теста ты получишь демо-ролик о занятиях на курсе, Welcome-скидку на курс и доступ к открытым урокам.
👉 ПРОЙТИ ТЕСТ
Реклама. Информация о рекламодателе на сайте otus.ruШпаргалка по Java JDBC
https://javaconceptoftheday.com/java-jdbc-cheat-sheet/
👉@BookJava
Нашли для вас ребят, с которыми можно начать карьеру разработчика без вложений, а после прохождения курса они гарантировано устроят на работу!🤩
ITM Space - один из немногих проектов в России, где ты можешь научиться Java разработке бесплатно. Оплата обучения происходит только после того, как ты начнешь работать. Первая зарплата - от 150 000 рублей. 💸
1. Ты получаешь гарантию трудоустройства, если не найдешь работу - ничего не должен.
2. Будешь учиться по индивидуальной программе с личным наставником.
3. Изучишь востребованный стек технологий: Java Core, JDBC, HIBERNATE, SPRING(Core, MVC, Security), SPRING BOOT, GIT(GITHUB, GITLAB), MAVEN
4. Сможешь общаться в закрытом сообществе студентов - разработчиков
5. И получишь карьерную поддержку от экспертов бессрочно: мастер-классы, митапы, консультации и тренинги.
Курс подойдет тем, кто хочет войти в IT, но никогда раньше не занимался программированием. Студентам ВУЗов и выпускникам образовательных программ, которые затрудняются найти работу после обучения. Действующим Junior и Middle программистам, которые хотят выйти на новый уровень дохода. Разработчикам из других ниш, которые хотят начать разрабатывать сайты. 🔥
Оставь заявку и стань высокооплачиваемым программистом в сфере IT уже в 2023 году.
*Количество мест ограничено.
»Перейти на сайт
Телеграм бот-игра на JAVA в 100 строк
Пишем телеграм бота, реализующего простую игру в стиле "камень-ножницы-бумага" на чистой джава + библиотека telegram api. Для пущей сложности я делаю это без БД и при этом пытаюсь выдернуть информацию о том, в каком чате происходит дело (может пригодиться для хранения какой-либо статистики)
Код из видео
Использованная библиотека
источник
👉@BookJava
Привет! На связи Podlodka Crew — организатор IT-конференций, родившихся из известного подкаста!
Что важно уметь для построения микросервисной архитектуры? Профайлить, держать код в порядке, придерживаться принципов DDD и SOLID, создавать грамотный API и не использовать антипаттернов.
Это и многое другое разберём во втором сезоне Podlodka Java Crew, который стартует 20 марта.
Вместе с экспертами из Yandex Cloud, Tinkoff, Точка, Альфа-банк, СберМаркет, Qiwi, Huawei и других компаний:
*️⃣ Узнаем, возможно ли построить чистую архитектуру и добиться порядка в коде, не построив распределённый монолит вместо микросервисной архитектуры;
*️⃣ Поучаствуем в круглом столе по монолитам, микросервисам, гибридной архитектуре;
*️⃣ Научимся проектировать микросервисную архитектуру, разберёмся, что такое eventual consistency и как сделать грамотный API;
*️⃣ Обсудим 10 популярных антипаттернов и узнаем, как их исправить.
Это не все темы: расписание уже на сайте: https://podlodka.io/javacrew! Поспеши забрать свой билет 😉
Java. Распараллеливаем вычисления на пуле потоков
Разбираемся, как можно по простому ускорить вычисления с помощью параллельного выполнения на пуле потоков.
Исходный код
источник
👉@BookJava
Содержит множество проектов на Java, которые могут быть полезны при изучении языка
https://github.com/topics/java
👉@BookJava
⁉️ Как использовать платформу JHipster для быстрого создания приложений?
🟠Узнайте в понедельник, 13 марта в 20:00 мск на открытом уроке онлайн-курса «Разработчик на Spring Framework» в OTUS.
📢📢 На занятии мы поговорим о платформе JHipster, а точнее о том, почему она стала так популярна, затронем Rapid Application Development и рассмотрим некоторые примеры использования.
🎙 Спикером выступит Дмитрий Коган, преподаватель курса и председатель совета предприятия DXC.
🟠Курс рассчитан на Java-разработчиков с опытом и доступен в рассрочку.
👉 Пройдите вступительный тест для регистрации на вебинар: https://otus.pw/De1Y/
Реклама. Информация о рекламодателе на сайте otus.ruСобеседование Java Spring - Разбор вопросов с собеседований на Java Developer
Собрали самые интересные вопросы с собеседований на Java-разработчика. В видео две части. В первой рассказываем про Java: Коллекции, Hash Code & Equals Contract, Functional interfaces, Stream API, Garbage collector, устройство памяти, heap, concurrency.
Во второй — про Spring: Spring Beans, Spring Data Repository, Аннотации, Programmatic TM, Spring MVC
источник
👉@BookJava
Один день из жизни JVM-инженера
Можно разрабатывать на Java, а можно разрабатывать Java. Есть люди, чей код исполняет виртуальная машина — а есть люди, чей код и есть виртуальная машина.
Вроде бы те и другие существуют в одной Java-экосистеме, но задачи совершенно разные.
https://habr.com/ru/company/jugru/blog/719614/
👉@BookJava
С каждым годом востребованность Kafka растет, а работа с этим инструментом входит в топ-10 ключевых навыков IT-специалистов.
Только за последний месяц можно найти больше 3000 вакансий, где требуется знание Кафки.
Уверенно заявляем: каждому backend-специалисту рано или поздно придется столкнуться с Кафкой — поэтому команда Слёрм создала интенсив по Apache Kafka для разработчиков, специально под ваши задачи.
Курс Кафка для разработчиков идеально подойдёт вам, если:
▫️Вы уже владеете языками Java или Go;
▫️Понимаете goroutine, модульность;
▫️Имеете базовые знания ThreadPool.
28 онлайн-уроков с возможностью обучаться из любой точки мира, доступ на 2 года, AMA-сессии со спикерами и закрытый чат с куратором — уменьшите время на рабочие задачи с Кафкой, получив расширенные знания по работе с инструментом!
После курса вы:
▫️Начнете прекрасно разбираться и ориентироваться в терминологии;
▫️Напишете простейшие клиенты, поймёте внутреннюю архитектуру Кафки
▫️Сможете работать со сложными протоколами и настраивать приложение так, чтобы оно не развалилось в проде;
▫️Выстроите архитектуру между микросервисами;
▫️Сможете избежать распространенных проблем с данными при построении архитектуры;
▫️Используете и оцените по достоинству все преимущества Kafka;
▫️Поймете, как использовать Кафку в качестве СУБД и стоит ли это делать;
▫️Значительно упростите работу с микросервисами.
А ещё на курсе вы разберёте самые популярные ошибки и узнаете, как не допустить их повторения 😉
Старт 2-ого потока уже 10 марта — успевайте записаться по ссылке: slurm.club/3kPHfTr
Можно ли хранить null в стандартных коллекциях?
Все интерфейсы Collections Framework позволяют своим реализациям самостоятельно решать, поддерживать ли null-значения. Если реализация не может принять
null, она выбрасывает NullPointerException или ClassCastException.
Большинство списков (LinkedList, ArrayList) принимают null без проблем. Большинство очередей (Queue и Deque) не хранят null – возвращая из читающего метода null они сообщают пользователю о пустоте коллекции.
Unmodifiable Maps не допускают null-ов совсем. Обычные изменяемые мапы обычно не испытывают трудности со значениями null. А вот с ключами дело обстоит интереснее.
HashMap не может посчитать hash-сумму от null. Но вместо этого для таких ключей просто используется бакет номер 0.
Иногда этот вопрос дается как задача с подвохом про TreeMap. Nullability её ключей зависит от готовности к этому компаратора. Натуральный порядок (который работает для Comparable ключей) не поддерживает null. Раньше в реализации был баг, который позволял положить значение по ключу null в корень дерева без выброса исключения.
Для значений Set-ов действуют те же правила, что для ключей лежащих в основе их Map-ов.
👉@BookJava❓ Как понять, подойдет ли тебе профессия тестировщика? Если вы еще не имеете опыта в IT, но хотите освоить новую профессию,
Приглашаем на бесплатный урок: Как стать тестировщиком?
🧠 Вы узнаете:
— Кто такой тестировщик, какими он должен обладать компетенциями, какую работу выполняет.
— Что делает автоматизатор, как он может развиваться, на каких позициях может работать.
👉 Для участия зарегистрируйтесь https://otus.pw/KtGP/
📌 Урок проходит в рамках тест-драйва курса «QA Automation Engineer» в OTUS (возможна рассрочка).
Реклама. Информация о рекламодателе на сайте www.otus.ru15 Tips to Become a Java Expert!
https://dev.to/weder96/15-tips-to-become-a-java-expert-1acj
👉@BookJava
Как написать на Java функцию, подобную sizeof в C
https://levelup.gitconnected.com/how-to-write-a-c-like-sizeof-function-in-java-9352e646d112
👉@BookJava
