uk
Feedback

Не попадись на ботовода! Telemetrio знаходить і позначає такі канали мітками 👉 Хочеш бачити мітку, оформляй підписку

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

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

Відкрити в Telegram

Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика Связь: @devmangx РКН: https://clck.ru/3H4WUg

Показати більше

📈 Аналітичний огляд Telegram-каналу Java Portal | Программирование

Канал Java Portal | Программирование (@java_iibrary) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 11 913 підписників, посідаючи 10 459 місце в категорії Технології та додатки та 53 942 місце у регіоні Росія.

📊 Показники аудиторії та динаміка

З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 11 913 підписників.

За останніми даними від 31 жовтня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на 293, а за останні 24 години на -1, загальне охоплення залишається високим.

  • Статус верифікації: Не верифікований
  • Рівень залученості (ER): Середній показник залученості аудиторії становить 10.96%. Протягом перших 24 годин після публікації контент зазвичай збирає 6.20% реакцій від загальної кількості підписників.
  • Охоплення публікацій: В середньому кожен допис отримує 1 306 переглядів. Протягом першої доби публікація в середньому набирає 738 переглядів.
  • Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 3.
  • Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як boot, string, void, архитектура, resttemplate.

📝 Опис та контентна політика

Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика Связь: @devmangx РКН: https://clck.ru/3H4WUg”

Завдяки високій частоті оновлень (останні дані отримано 01 листопада, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.

11 913
Підписники
-124 години
-77 днів
+29330 днів
Архів дописів
Сохраняем себе: Jimmer это иммутабельный ORM, заточенный под работу с графами объектов, а не отдельными сущностями. 🔹Авто-ге
Сохраняем себе: Jimmer это иммутабельный ORM, заточенный под работу с графами объектов, а не отдельными сущностями. 🔹Авто-генерация DTO 🔹Без N+1 (batch fetch из коробки) 🔹Умные SQL без лишних JOIN'ов 🔹DSL с type-safety 🔹GraphQL + TypeScript-генерация 🔹Кеширование (включая Redis) 🔹Работает через APT/KSP ⇢ https://github.com/babyfish-ct/jimmer 👉 Java Portal

Вопросы на собеседование по Spring Boot 1. Как Spring Boot определяет, какие бины создавать при автоконфигурации? 2. Для чего используется аннотация @ConditionalOnProperty? 3. Как реализовать пользовательскую валидацию в Spring Boot с помощью аннотаций? 4. Как @Transactional обрабатывает вложенные транзакции? 5. В чём разница между application.properties и application.yml в Spring Boot? 6. Как вынести конфигурацию Spring Boot для разных окружений (environments)? 7. Что такое WebClient в Spring Boot и чем он отличается от RestTemplate? 👉 Java Portal

Выделение памяти в Java В Java память по умолчанию выделяется в куче с помощью new. Это просто, управляется сборщиком мусора
Выделение памяти в Java В Java память по умолчанию выделяется в куче с помощью new. Это просто, управляется сборщиком мусора и подходит для большинства приложений. Но если нужны высокая производительность или низкие задержки, можно использовать off-heap память через ByteBuffer.allocateDirect(). Такой подход выделяет память вне кучи, снижает нагрузку на GC и повышает эффективность при работе с большими или долго живущими данными. Off-heap даёт больше контроля и производительности, но требует аккуратного управления ресурсами, так как такая память не очищается автоматически, в отличие от памяти в куче. 👉 Java Portal

Как выдержать нагрузку в 10 000 одновременных пользователей 1. Поставь балансировщик нагрузки (Load Balancer) спереди - Распределяй трафик между несколькими backend-серверами. - Инструменты: NGINX, HAProxy, AWS ELB. 2. Масштабируй горизонтально - Один мощный сервер — нет. - Используй несколько небольших stateless-серверов за LB. 3. Пиши stateless-сервисы - Не храни сессии или состояние в оперативке. - Используй Redis / Memcached или JWT для сессий и авторизации. 4. Используй connection pooling - Базы «захлебываются» от 10 000 одновременных подключений. - Ограничь число подключений к БД с каждого сервера через пул (например, HikariCP). 5. Активно кэшируй Кешировать можно: - Static files → CDN - DB-запросы → Redis - HTML-фрагменты → Edge cache 6. Используй read-replicas - Разделяй чтение и запись, чтобы масштабировать чтение из базы. 7. Async и очереди (Queued Workloads) - Переноси тяжёлые задачи (почта, видео и т.д.) в background jobs. - Используй очереди: SQS, RabbitMQ, Kafka. 8. Включи авто-масштабирование - Используй инфраструктуру, способную масштабироваться под нагрузку: AWS EC2 + ASG, GCP GKE и т.д. 9. WebSocket / Реалтайм? Используй gateway-сервисы - Запускай WebSocket-шлюзы (например, Socket.io за LB). - Масштабируй через sticky-сессии или pub/sub (Redis, Kafka). 10. Мониторь всё - Отслеживай CPU, память, задержки, глубину очередей. - Инструменты: Prometheus + Grafana, Datadog, New Relic. 👉 Java Portal

System.out.println(
    "Программирование — ВСЕ!"
);
В 2025 году на кодинге уже не вывезешь, перспектива года - Кибербезопасность. Ловите полезные каналы, которые помогут ворваться в новое направление: 👍 ZeroDay — Подробные уроки по безопасности с нуля, эксплуатации уязвимостей, инструментам и свежие новости. 👨‍💻 Серверная Админа — Большое количество уроков, статей, книг и гайдов по устройству и настройке компьютерных сетей. База которую должен знать каждый

Пример проекта, демонстрирующий, как использовать GraphQL вместе с Spring Boot. В репозитории показано: 🔸как настроить Graph
Пример проекта, демонстрирующий, как использовать GraphQL вместе с Spring Boot. В репозитории показано: 🔸как настроить GraphQL в Spring-приложении, 🔸как описывать схемы, резолверы и DTO, 🔸как работать с базой данных (MongoDB), 🔸и как совмещать GraphQL с REST-контроллерами. Подойдёт, если ты хочешь разобраться, как устроен GraphQL в экосистеме Spring или ищешь базу для своего pet-проекта. 👉 Java Portal

Гайд как откатить последний коммит в Git (пошагово) ① Если ещё не делал push: Оставить изменения в staging (индексе): git res
Гайд как откатить последний коммит в Git (пошагово) ① Если ещё не делал push: Оставить изменения в staging (индексе):
git reset --soft HEAD~1
Полностью удалить изменения:
git reset --hard HEAD~1
Отредактировать последний коммит (сообщение или содержимое):
git commit --amend -m "Исправленное сообщение"
② Если уже сделал push: Используй git revert <хеш>, чтобы создать новый коммит, отменяющий изменения предыдущего. (Если возникнут конфликты — их придётся разрулить вручную.) Получи хеш нужного коммита с помощью:
git log
★ Уровень «эксперт»: Используй git rebase -i для редактирования локального коммит-истории: Можно менять порядок, объединять, править или удалять коммиты. После изменений —
git push --force-with-lease
Важно: Делай rebase и push --force-with-lease только если ты один работаешь в ветке или вся команда согласована и не против переписывания истории. 👉 Java Portal

Виртуальные потоки с Project Loom Традиционные потоки в Java мощный, но тяжёлый механизм, который ограничивает масштабируемос
Виртуальные потоки с Project Loom Традиционные потоки в Java мощный, но тяжёлый механизм, который ограничивает масштабируемость в высоконагруженных многопоточных приложениях. С появлением Project Loom вводится концепция виртуальных потоков т.е. лёгких потоков, управляемых самой JVM, которые упрощают работу с конкурентностью и делают её более эффективной. Виртуальные потоки позволяют запускать тысячи параллельных задач с минимальными накладными расходами, при этом сохраняя простой, блокирующий стиль написания кода без ущерба для производительности. 😇 👉 Java Portal

Метод createNativeQuery из JPA EntityManager Если тебе нужно выполнить сложную выборку (например, последнюю запись на дату) —
Метод createNativeQuery из JPA EntityManager Если тебе нужно выполнить сложную выборку (например, последнюю запись на дату) — не бойся использовать createNativeQuery. Нативный SQL в JPA — это мощный инструмент, особенно когда JPQL ограничен ⏩Читать подробнее 👉 Java Portal | #cтатья

8 концепций проектирования систем, объясненных в одной диаграмме 1. Availability with Load Balancers Использование балансиров
8 концепций проектирования систем, объясненных в одной диаграмме
1. Availability with Load Balancers Использование балансировщиков (Layer 7) для распределения трафика между несколькими экземплярами сервисов (например, Comment Service, Post Service). Повышает отказоустойчивость и доступность. 2. Latency with CDNs CDN кэширует контент ближе к пользователю, уменьшая задержки. Первый запрос идёт на origin-сервер, второй — уже из кэша CDN. 3. Scalability with Replication Данные реплицируются между несколькими узлами. Увеличивает доступность и масштабируемость систем. 4. Durability with Transaction Logs Система сохраняет изменения в журнал транзакций перед применением. В случае сбоя состояние может быть восстановлено из лога. 5. Consistency with Eventual Consistency Записи и чтения могут идти в разные источники. Система приходит к согласованному состоянию со временем (eventually). 6. Modularity with Loose Coupling and High Cohesion Модули имеют чёткие границы и хорошо организованы внутри. Улучшает читаемость, повторное использование и сопровождение кода. 7. Configurability with Configuration-as-Code Инфраструктура управляется через код (например, Terraform, Ansible). Контроль версий, автоматизация и повторяемость. 8. Resiliency with Message Queues Задания помещаются в очередь, откуда обрабатываются несколькими потребителями. Улучшает отказоустойчивость и масштабируемость обработки.
👉 Java Portal

Этот репозиторий представляет собой целую энциклопедию для Java-разработчиков. Автор структурировал материал от основ языка до продвинутых тем Он охватывает основы, ООП, многопоточность, сборку мусора, коллекции и другие важные темы Проект имеет полезные разделы с примерами кода: от классических паттернов вроде Singleton до задач на динамическое программирование. Для тех, кто готовится к собеседованиям, есть подборка LeetCode-шаблонов и реальных interview-задач. 😡 👉 Java Portal

Необходимый репозиторий с сотнями бесплатных API для практики программирования и создания проектов. Обновляется еженедельно и разделён по темам 😇 ⇢ http://github.com/public-apis-dev/public-apis 👉 Java Portal

Как вернуть результат в виде Map из запроса JPA или Hibernate ⏩Читать подробнее 👉 Java Portal | #cтатья
Как вернуть результат в виде Map из запроса JPA или Hibernate ⏩Читать подробнее 👉 Java Portal | #cтатья

🔍Тестовое собеседование с Java-разработчиком из Oracle завтра 23 июля(уже завтра!) в 19:00 по мск приходи онлайн на открытое
🔍Тестовое собеседование с Java-разработчиком из Oracle завтра 23 июля(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Java-разработчика. Как это будет: 📂 Алексей Ушаровский, разработчик с опытом работы в Oracle и EPAM, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Алексей будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Алексею Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Java-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_sh_bot Реклама. О рекламодателе

Функциональное программирование в Java с использованием Streams и лямбд: Streams обрабатывают фильтрацию, сортировку и свёртк
Функциональное программирование в Java с использованием Streams и лямбд: Streams обрабатывают фильтрацию, сортировку и свёртку данных, а лямбды упрощают определение функций. В Spring они используются для построения реактивных API, а в задачах алгоритмического программирования — для оптимизации обработки данных. Выше приведён пример REST-эндпойнта на Spring, фильтрующего пользователей, и функции в стиле олимпиадного программирования для поиска лидеров по очкам. 👉 Java Portal

7 ключевых сложностей по времени выполнения, которые нужно знать для собеседований по программированию: 1. O(1) — Константное
7 ключевых сложностей по времени выполнения, которые нужно знать для собеседований по программированию: 1. O(1) — Константное время - Время выполнения не зависит от размера входных данных. - 📌 Пример: доступ к элементу массива по индексу. 2. O(log n) — Логарифмическое время - Время выполнения растёт медленно по мере увеличения входных данных. Обычно встречается в алгоритмах, делящих задачу пополам на каждом шаге. - 📌Пример: бинарный поиск в отсортированном массиве. 3. O(n) — Линейное время - Время выполнения растёт пропорционально объёму входных данных. - 📌Пример: поиск элемента в массиве перебором. 4. O(n log n) — Линеаритмическое время - Время выполнения немного быстрее, чем квадратичное, и включает логарифмическое количество операций на каждый элемент. - 📌Пример: сортировка массива алгоритмами быстрой сортировки (quick sort) или слиянием (merge sort). 5. O(n²) — Квадратичное время - Время выполнения растёт пропорционально квадрату входных данных. - 📌Пример: сортировка пузырьком, где сравниваются и при необходимости меняются местами все пары элементов. 6. O(2ⁿ) — Экспоненциальное время - Время выполнения удваивается с каждым новым элементом входа. Такие алгоритмы быстро становятся неэффективными при больших объёмах данных. - 📌Пример: генерация всех подмножеств множества. 7. O(n!) — Факториальное время - Время выполнения растёт как факториал от количества входных данных. - 📌Пример: генерация всех перестановок множества. 👉 Java Portal

Repost from Data Science. SQL hub
🎁 РАЗЫГРЫВАЕМ MacBook Air! Разыгрываем шикарный 13-дюймовый MacBook Air! Отличная рабочая машинка! Условия участия максималь
🎁 РАЗЫГРЫВАЕМ MacBook Air! Разыгрываем шикарный 13-дюймовый MacBook Air! Отличная рабочая машинка! Условия участия максимально простые: 🔸Подписаться на телеграм-канал: @sqlhub 🔸Подписаться на телеграм-канал: @ai_machinelearning_big_data 🔸Нажать кнопку "Участвовать" ниже. ВСЁ! Вы участник! Бот выберет одного человека, которому мы подарим этот MacBook. Доставка по зоне СДЭК. Итоги подведём 14 августа. Всем удачи! Пусть победит самый приятный человек! ⚠️ Если бот подвис — не беспокойтесь, вас все равно зарегистрирует, просто выполните условия и нажмите «Участвую».

5 советов по написанию действительно хороших юнит-тестов 1) Тестируйте поведение, а не реализацию Пишите тесты, которые прове
+4
5 советов по написанию действительно хороших юнит-тестов 1) Тестируйте поведение, а не реализацию Пишите тесты, которые проверяют, что код должен делать, а не как именно он это делает внутри. Потому что внутренние методы могут изменяться, но ожидаемое поведение должно оставаться стабильным. 2) Давайте тестам имена как документации, а не как коду Пишите имена тестовых методов так, как будто они рассказывают историю - - чётко, конкретно и читаемо для человека. Это облегчает чтение отчетов о тестах — не нужно углубляться в код. 3) Пишите тест до исправления ошибки Когда вы обнаруживаете ошибку, сначала напишите тест, который воспроизводит её, прежде чем исправить код. Это докажет, что ошибка действительно существует (а не только в вашей голове). Допустим, вы обнаружили, что дни рождения в високосный год крашат вашу систему. 4) Используйте тесты с параметрами для граничных случаев Вместо того чтобы писать много похожих тестов, пробегитесь по набору входных данных с помощью параметризованных тестов. Это предотвращает беспорядок от копипаста и делает набор тестов более чистым. 5) Проверяйте только важные моменты, а не все поля Сфокусируйтесь на утверждениях, касающихся важных бизнес-результатов, а не на каждом поле объекта. Это помогает тестам оставаться стабильными, даже когда несущественные детали изменяются. 👉 Java Portal

Конкурентность vs параллелизм - это НЕ одно и то же Конкурентность: Конкурентность означает, что приложение продвигается по нескольким задачам одновременно. Хотя один CPU-ядро может обрабатывать только одну задачу за раз, оно достигает конкурентности, быстро переключаясь между задачами. Пример: Слушание музыки во время написания кода. CPU быстро переключается между этими задачами так эффективно, что кажется, будто обе выполняются одновременно. Основная цель конкурентности — максимизировать использование процессора, минимизируя время простоя. Параллелизм: Параллелизм означает выполнение нескольких задач одновременно. Для достижения параллелизма задачи разбиваются на более мелкие независимые подзадачи и обрабатываются одновременно на нескольких процессорах, ядрах или GPU. Пример: Обучение модели глубокого обучения, разделив датасет на батчи и обрабатывая каждый батч одновременно на нескольких GPU. Цель параллелизма — ускорить обработку, выполняя несколько задач одновременно. Они не являются взаимно исключающимися: 🔸Можно иметь конкурентность без параллелизма. 🔸Можно иметь параллелизм без конкурентности. 🔸Или можно использовать и то, и другое для высокопроизводительных систем. 👉 Java Portal

Динамические прокси для логирования в стиле AOP Используй java.lang.reflect.Proxy, чтобы перехватывать вызовы методов на этап
Динамические прокси для логирования в стиле AOP Используй java.lang.reflect.Proxy, чтобы перехватывать вызовы методов на этапе выполнения. Это позволяет эмулировать AOP без Spring — идеально подходит для обработки сквозной логики (cross-cutting concerns). В этом примере мы логируем до и после вызова метода. Такой подход даёт гибкий способ динамически абстрагировать поведение. > Динамические прокси позволяют внедрять поведение — например, логирование, тайминг или проверку безопасности — без изменений исходного кода. Этот паттерн активно используется во фреймворках вроде Spring и Hibernate. 👉 Java Portal