Последние посты

Уголок сельского джависта
23 июл., 11:35изменён
⏰📆 JSR 310: InstantКласс java.time.Instant описывает точное время и работает с метками времени в формате UTC. Для большинства технических задач, например, хранения, логгирования и аудита, Instant подходит лучше всего.📖 Читать на сайте 📖 Читать в VK 📖 Читать в Telegra.ph 📖 Читать в Дзене#java #jsr310


Уголок сельского джависта
9 июл., 12:12изменён
⏰📆 JSR 310: Источники времениПрежде чем переходить к более подробному описанию классов, описывающих метки времени, неплохо было бы упомянуть источники времени, хотя на практике они используются не так часто. Источники времени представлены интерфейсом InstantSource и его основной реализацией — Clock.📖 Читать на сайте 📖 Читать в VK 📖 Читать в Telegra.ph#java #jsr310


Уголок сельского джависта
9 июл., 10:48изменён
⏰📆 Введение в JSR 310: Дата и время в JavaДля работы с датой и временем в стандартной библиотеке Java существует два набора API: старый, включающий в себя такие классы, как Date и Calendar, и новый, опирающийся на стандарт ISO 8601 и включающий в себя классы из пакета java.time. В настоящее время разработчиками платформы Java рекомендуется использование новых API для работы с датой и временем.📖 Читать на сайте 📖 Читать в VK 📖 Читать в Telegra.ph 📖 Читать в Дзене#java #jsr310


Уголок сельского джависта
31 дек. 2025 г., 15:22
🎄Друзья! Я поздравляю всех вас с наступающим новым 2026 годом! Искренне желаю вам успехов и удачи во всех ваших начинаниях, чтобы все поставленные цели были достигнуты, профессионального роста и всего самого-самого наилучшего!Да, в этом году времени на блог у меня не было, к сожалению, но я очень надеюсь на то, что в наступающем году это самое время и мотивация будут.Всем добра!


Уголок сельского джависта
22 окт. 2025 г., 09:32
🐈⬛ Про пет-проектыВ затянувшемся творческом перерыве решил смахнуть цифровую пыль с одной из своих самых любимых видеоигр - Elite: Dangerous, чтобы докачать наконец-то ранг исследователя до Элиты (каково же было моё удивление, когда я узнал, что рангов Элиты теперь 6) и вернуться в обитаемый пузырь, а то последние два года у меня длится очередная кругосветка.Процесс исследования звёздных систем требует времени, особенно, если есть желание отлететь куда подальше от обитаемого пузыря. А чтобы исследование звёздной системы проходило быстрее, нужно знать, какие планеты в системе представляют наибольший интерес, какое вознаграждение можно получить за систему, и сколько вообще исследовательских данных накоплено. Игра предоставляет далеко не всю информацию, зато пишет очень подробный лог внутри-игровых событий в формате JSON. И вот тут у меня созрела идея написать очередной пет-проект -



Уголок сельского джависта
16 сент. 2025 г., 10:19
✅ Гибкие конструкторы JDK 25 привнесёт ещё одно небольшое, но важное, на мой взгляд, изменение в язык программирования Java - гибкие конструкторы (JEP 513). Цель изменения - позволить выполнять действия в конструкторе класса-наследника до вызова конструктора родительского класса.Представим себе достаточно банальную ситуацию: нам нужно создать экземпляр некоторого класса-наследника, но в процессе создания нужно провалидировать переданные в аргументах данные. До Java 25 сделать это можно только после вызова конструктора родительского класса: class Vehicle { int wheels; Vehicle(int wheels) { this.wheels = wheels; } }class Car extends Vehicle { Car(int wheels) { super(wheels); // Всякие Reliant-ы и Morgan Super 3 - // это трайки и автоциклы if (wheels < 4) { throw new IllegalArgumentException(); } }
Уголок сельского джависта
15 сент. 2025 г., 06:05изменён
✅ Сборщики стримов Одним из наиболее важных нововведений, на мой взгляд, в стандартной библиотеке в грядущем релизе JDK 25 станут сборщики стримов (JEP 485 Stream Gatherers). Да, стабильными они стали ещё в JDK 24, но для себя я рассматриваю только LTS-релизы.Сборщики стримов описываются типизированным интерфейсом Gatherer<T, A, R>, где T - тип входящего элемента стрима, R - тип выходящего элемента, а A - потенциально изменяемое состояние сборщика.Внутри Gatherer используются четыре компонента: - Supplier<A> initializer - инициализатор состояния (если оно используется) - Integrator<A, T, R> integrator - интегратор, обрабатывающий полученный элемент, опционально использующий состояние. Так же существует жадный интегратор - Integrator.Greedy, который принимает все элементы стрима и передаёт элементы нисходящему стриму только, если тот их может принять. Жадные интеграторы не должны


Уголок сельского джависта
13 сент. 2025 г., 13:18
🎉 Всех причастных с праздником! Добивайтесь профессиональных высот, не оставайтесь на достигнутом и поменьше багов вам!


Уголок сельского джависта
11 сент. 2025 г., 11:03
✅ Переменные с областью действия Ещё одно интересное нововведение, которое ждёт нас в грядущем релизе JDK 25 — переменные с областью действия (JEP 506).Наверняка многие сталкивались с ситуацией, когда нужно передать какую-то информацию между двумя компонентами, но при этом по каким-то причинам не хочется добавлять новые аргументы в методы или свойства в классы. Зачастую такая задача решалась при помощи ThreadLocal - локальных переменных потока. В одном месте данные добавлялись в локальные переменные потока, а в другом - извлекались. Но у локальных переменных потоков есть свои недостатки и достаточно существенные. И именно недостатки ThreadLocal побудили разработчиков JDK придумать новый инструмент, позволяющий объявлять переменные в некоторой области действия.Переменные с областью действия находились в разработке с JDK 20 и к релизу JDK 25 стали стабильными. Переменные с областью


Уголок сельского джависта
10 сент. 2025 г., 13:59изменён
✅ Импорт модулей в Java 25Ещё одним нововведением в языке программирования Java в грядущем релизе JDK 25 является импорт модулей (JEP 511). Ещё в JDK 9 была реализована система модулей платформы Java (JPMS - Java Platform Module System), а классы стандартной библиотеки были распределены между различными модулями. Однако это никак не повлияло на написание кода, а вся работа с JPMS сводилась к файлу module-info.java.Теперь же с 25 версии языка программирования Java появится возможность импорта не только отдельных классов или классов, находящихся в одном пакете, а всех публичных классов определённого модуля. В следующем примере кода импортируется четыре класса из пакета java.util и его подпакетов: package example;import java.util.List; import java.util.function.Function; import java.util.function.Predicate; import java.util.stream.Collectors;class Application {static final


Уголок сельского джависта
10 сент. 2025 г., 09:09
✅ Компактные файлы исходных кодов в Java 25С релизом JDK 25, который произойдёт уже на следующей неделе - 16 сентября, стабильными станут компактные файлы исходных кодов и главные методы (JEP 512), которые были в разработке начиная с JDK 21. Все мы знаем, что любая программа, написанная на языке программирования Java, начинает выполнение с класса с main-методом, который в общих чертах имеет следующую форму: class Application {public static void main(String[] args) { System.out.println("Hello world!"); } }И у людей, только начинающих изучение языка программирования Java, возникает сразу много вопросов: "А что такое класс и зачем он нужен?", "Зачем все эти public static void?" и т.д. И ведь во многих других языках программирования для обычного "Hello world" действительно нужно меньше действий.Вот пример на Kotlin: fun main() { println("Hello world!") }А вот пример на Rust: fn mai


Уголок сельского джависта
28 апр. 2025 г., 11:54
Java: Виртуальные потокиОдним из наиболее значимых нововведений в Java 21 стала стабильная поддержка виртуальных потоков. Предлагаю в этой статье разобраться с тем, почему нам нужны виртуальные потоки, как их использовать и какие подводные камни могут нас ожидать при их применении.📖 Читать в блоге 📖 Читать в VK 📖 Читать на Telegra.ph#java💬 Обсудить в Telegram: https://t.me/+UFAkw187WstX0wqyПоддержать: 💵 На карту T: https://www.tinkoff.ru/cf/4PEOiVCZQuS 💵 В VK https://vk.com/donut/shurik.codes 💵 В Boosty https://boosty.to/akosarev/donate 💵 ЮМани 5599 0050 8286 9475


Уголок сельского джависта
9 апр. 2025 г., 14:42
Ровно 13 лет назад, 9 апреля 2012 года, я переступил порог компании "Maxim Technology" (@ooo_technology), будучи зелёным джуном. Когда я шёл на собеседование, ожидал увидеть типичный ИТ-отдел компании провинциального уровня с десятком айтишников в свитерах и очках, а увидел просторный, залитый светом офис с удобными и современными рабочими местами и коллектив, состоящий из пары десятков профессионалов, частью которого мне посчастливилось стать. Тогда я ещё был веб-разработчиком (да, PHP, MySQL, HTML, JavaScript, CSS и прочие радости веба), но уже с опытом разработки на Java 6 со Spring Framework 3, Java EE и прочими томкатами. Кто бы мог подумать, но за прошедшие годы из джуна я вырос до техлида, освоил и внедрил в разработку огромное количество инструментов. Решённых задач уже не счесть, да и не важно это. Было ли желание уйти? Было. Были ли причины уйти? Были. Но моя лень сделала своё


Уголок сельского джависта
9 апр. 2025 г., 14:08
Друзья, всем снова привет! Моим коллегам из федеральной сети фитнес-клубов "Брайтфит" нужен в команду Java-разработчик уровня middle+.Брайтфит - это больше 200 тыс. клиентов в год, 2 Страны, 14 городов, 34 фитнес клуба, больше 1 тыс. тренеров-партнеров.За подробностями обращаться к @Viacheslav_st1.
Уголок сельского джависта
4 апр. 2025 г., 15:33
Всех причастных с праздником! #404


Уголок сельского джависта
21 мар. 2025 г., 17:36
Друзья, всем привет! Мне в команду в компании @ooo_technology нужен толковый разработчик на Kotlin уровня middle или senior. Ну или джавист, готовый погрузиться в Kotlin. Задачи интересные, связанные с телефонией, работать можно удалённо или в офисе, подробнее тут: https://spb.hh.ru/vacancy/117519653?hhtmFrom=employer_vacanciesspb.hh.ruВакансия Java/Kotlin разработчик в Санкт-Петербурге, работа в компании Maxim technology (вакансия в архиве c 2 апреля 2025)Зарплата: не указана. Санкт-Петербург. Требуемый опыт: 3–6 лет. Полная. Дата публикации: 22.03.2025.
Уголок сельского джависта
26 дек. 2024 г., 11:51изменён
▶️ Основы Apache KafkaИнформационные системы в процессе своей работы порождают большое количество событий, которые могут быть связаны как с самой системой, так и с реализуемой предметной областью. Но созданные события нужно доставить до получателей - других компонентов информационной системы, и в этом случае на помощь приходят брокеры очередей сообщений и стриминговые системы. В этом ролике речь пойдёт о самой популярной системе стриминга событий - Apache Kafka и будут описаны следующие темы: - Краткое описание стримов данных - Терминология Kafka - Локальный запуск Apache Kafka - Использование утилит CLI для отправки и получения сообщений - Отправка и получение сообщений в проекте на Java▶️ Смотреть в VK ▶️ Смотреть в Rutube ▶️ Смотреть в Дзене ▶️ Смотреть на Платформе ▶️ Смотреть на YouTube ▶️ Смотреть в Boosty ▶️ Смотреть в NUUM#kafka #java


Уголок сельского джависта
26 дек. 2024 г., 06:49
Заждались? Уже сегодня)


Уголок сельского джависта
4 дек. 2024 г., 04:30
📖 Получение сообщений из KafkaПолучение сообщений из Kafka на первый взгляд выглядит достаточно просто, но на деле обладает большим количеством нюансов, связанных с членством получателя в группе, её перебалансировкой, получением ранее отправленных сообщений, фиксацией смещений и семантиками доставки. Все эти вопросы я постарался осветить в этой статье.📖 Читать на сайте 📖 Читать в VK 📖 Читать в Telegraph#kafka💬 Обсудить в Telegram: https://t.me/+UFAkw187WstX0wqyПоддержать: 💵 На карту T: https://www.tinkoff.ru/cf/4PEOiVCZQuS 💵 В VK https://vk.com/donut/shurik.codes 💵 В Boosty https://boosty.to/akosarev/donate 💵 ЮМани 5599 0050 8286 9475


Уголок сельского джависта
3 дек. 2024 г., 08:33
📖 Отправка сообщений в KafkaВ предыдущих статьях я вкратце рассказал об Apache Kafka, некоторых нюансах его внутреннего устройства, а так же о способах развёртывания. В этой же статье я хочу поговорить об использовании стандартной клиентской библиотеки Kafka для отправки сообщений в проектах на платформе Java.📖 Читать на сайте 📖 Читать в VK 📖 Читать в Telegraph#kafka💬 Обсудить в Telegram: https://t.me/+UFAkw187WstX0wqyПоддержать: 💵 На карту T: https://www.tinkoff.ru/cf/4PEOiVCZQuS 💵 В VK https://vk.com/donut/shurik.codes 💵 В Boosty https://boosty.to/akosarev/donate 💵 ЮМани 5599 0050 8286 9475

