Java Ready | Программирование (@java_ready) — Telegram-канал | Telegram Dialogs
Все каналы
Java Ready | Программирование

Java Ready | Программирование

@java_ready

8.6K подписчиков технологии 💬 Комментарии открыты

Авторский канал по разработке на Java. Ресурсы, гайды, задачи, шпаргалки. Информация ежедневно пополняется! Автор: @energy_c Реклама на бирже: https://telega.in/c/java_ready

Последние публикации

Java Ready | Программирование
17.07.2026 11:12 · 👁 421
Почему успешная сборка ещё не означает, что Java-код работает правильно? В этой статье: • Почему пустой catch может незаметно скрыть реальную ошибку • Что произойдёт, если переопределить equals(), но забыть про hashCode() • Как современные возможности Java помогают убрать старые опасные конструкции • Зачем подключать SpotBugs, PMD и другие проверки ещё до релиза Полезный разбор ошибок, которые выглядят безобидно, проходят компиляцию, но позже превращаются в настоящие проблемы. Продолжай читать на Habr! 👉 Java Ready | #статья
Java Ready | Программирование
17.07.2026 09:12 · 👁 474
Пачку офферов заказывали? О всех трудоустройствах через ИИ-ассистента Софи ребята узнают от пользователей. И какой же кайф, когда они делятся своими историями. Вот так в чате узнали сразу о трех новых офферах: • Кейс Сергея - 2 недели в Софи и 2 оффера. • Кейс Елены - 1 неделя в Софи и оффер спустя 10 лет перерыва в работе. Елене 52 года. • Кейс Юлии - 1 месяц в Софи, свитчер из финансового аналитика в разработчика SQL. И еще один оффер🎉 Искренние поздравления ребятам и удачи им на новой работе! В следующий раз доступ в Софи откроется уже 21 июля. Если хочешь получить 3 дня бесплатного доступа - подписывайся на этот канал, все анонсы будут там.
Java Ready | Программирование
17.07.2026 07:12 · 👁 514
Шпаргалка по регулярным выражениям в Java! Например, \d находит цифру, \w символ слова, а квантификатор {n,m} задаёт минимальное и максимальное количество повторений. На картинке классы символов, границы строк, флаги Pattern, жадные и ленивые квантификаторы, группы, обратные ссылки и основные методы Pattern и Matcher. Сохрани, чтобы не потерять! 👉 Java Ready | #ресурс
Java Ready | Программирование
16.07.2026 16:11 · 👁 681
Почему split(".") не разделяет строку по точке? На первый взгляд такой код выглядит правильно: String[] parts = "api.example.com".split("."); Но split() принимает не обычную строку-разделитель, а регулярное выражение. В regex точка означает любой символ. Поэтому выражение "." совпадает практически со всей строкой, а пустые элементы в конце результата split() удаляет. В результате можно неожиданно получить пустой массив: System.out.println( Arrays.toString("a.b".split(".")) ); // [] Чтобы искать именно точку, её нужно экранировать: String[] parts = "api.example.com".split("\\."); System.out.println( Arrays.toString(parts) ); // [api, example, com] Два обратных слеша нужны из-за двойной обработки: сначала Java превращает \\ в один слеш, а затем regex получает выражение \. Если разделитель приходит из переменной, безопаснее не экранировать его вручную: String separator = "."; String regex = Pattern.quote(separator); String[] parts = text.split(regex); Pattern.quote() превращает строку в литеральное регулярное выражение. Это особенно полезно для разделителей вроде точки, вертикальной черты, плюса или скобок. 👉 Java Ready | #совет
Java Ready | Программирование
16.07.2026 08:12 · 👁 659
Интересная статья о том, как создавались 2D-игры для кнопочных Java-телефонов! В этой статье: • Как J2ME и MIDP использовались для разработки мобильных игр • Как работали спрайты, игровой цикл, ввод и мобильная графика • Почему разные разрешения, объём памяти и коды кнопок мешали переносимости игр Продолжай читать на Habr! 👉 Java Ready | #статья
Java Ready | Программирование
15.07.2026 11:12 · 👁 707
Собирайте значения по ключу через computeIfAbsent()! Когда в Map нужно хранить несколько значений для одного ключа, часто появляется ручная проверка: var values = tags.get(topic); if (values == null) { values = new ArrayList<>(); tags.put(topic, values); } values.add(tag); Здесь приходится отдельно получать значение, создавать список и записывать его обратно в Map. computeIfAbsent() объединяет эти действия: tags.computeIfAbsent(topic, key -> new ArrayList<>()) .add(tag); Функция создания вызывается только тогда, когда ключ отсутствует или связан с null. Если список уже существует, Java сразу вернёт его: tags.computeIfAbsent("java", key -> new ArrayList<>()) .add("collections"); tags.computeIfAbsent("java", key -> new ArrayList<>()) .add("streams"); В результате оба значения окажутся в одном списке: {java=[collections, streams]} Тот же приём подходит для группировки объектов, ленивого создания настроек и простых локальных кэшей: var config = configs.computeIfAbsent( serviceName, this::loadConfig ); Важно: если функция вернёт null, новое соответствие в Map добавлено не будет. 👉 Java Ready | #совет
Java Ready | Программирование
15.07.2026 09:12 · 👁 663
1000+ свежих IT-вакансий каждый месяц в одном месте 🤘 Пока другие листают hh — мы ищем вакансии по всему рынку: каналы, сайты компаний, стартапы и закрытые источники. IT Россия IT СНГ Стажировки Digital Международка Удалёнка Python Бигтех Дизайн QA Джунам Frontend Аналитика Стартапы за рубежом DevOps Не с HH Автоотклики
Java Ready | Программирование
15.07.2026 07:12 · 👁 715
Создаём погодного Telegram-бота на Java! В этой статье: • Как подключить OpenWeatherMap и получать актуальную погоду • Как обновлять прогноз через inline-кнопку без новых сообщений • Как настроить FSM-диалог, валидацию времени и рассылку по расписанию Продолжай читать на Habr! 👉 Java Ready | #статья
Java Ready | Программирование
14.07.2026 08:12 · 👁 850
😍 Шпаргалки Java-программиста — большая подборка полезных материалов! На странице собрана коллекция шпаргалок и полезных ресурсов для Java-разработчиков. Здесь есть материалы по Java Core, JPA и Hibernate, Stream API, Lombok, коллекциям, библиотекам для работы с JSON, а также ссылки на обучающие материалы, популярные open-source проекты и подборки для подготовки к собеседованиям. 📌 Оставляю ссылочку: bookflow.ru 👉 Java Ready | #репозиторий
Java Ready | Программирование
13.07.2026 17:12 · 👁 850
Генерируем безопасный URL-токен на Java! Для ссылки подтверждения, сброса пароля или временного приглашения нужен непредсказуемый токен. Обычный Random для этого не подходит, поэтому используем SecureRandom. Создадим генератор случайных байтов: private static final SecureRandom RANDOM = new SecureRandom(); Теперь напишем метод генерации: static String generateToken(int size) { byte[] data = new byte[size]; RANDOM.nextBytes(data); return Base64.getUrlEncoder() .withoutPadding() .encodeToString(data); } URL Encoder не использует символы, которые могут сломать адрес. Дополнительное кодирование результата не требуется. Создадим токен из 32 случайных байтов: String token = generateToken(32); System.out.println(token); Пример результата: Pp1HgxVmySpQJQi3KUUPN5ZXqCV4-ZPvP12Ft49XiI0 Теперь его можно добавить в ссылку: String link = "https://ready.com/confirm?token=" + token; На сервере безопаснее хранить хеш токена: var digest = MessageDigest.getInstance("SHA-256"); byte[] hash = digest.digest( token.getBytes(StandardCharsets.UTF_8) ); Также у токена должен быть срок действия и возможность только одноразового использования. 👉 Java Ready | #практика
Чат поддержки
Ответим здесь же, обычно быстро
Здравствуйте! Напишите ваш вопрос — оператор ответит в этом чате.