ar
Feedback

لا تقع ضحية للمخادعين! تيليمتريو يكتشف ويُميّز هذه القنوات 👉 إذا كنت تريد رؤية العلامة، اشترك

Библиотека джависта | Java, Spring, Maven, Hibernate

Библиотека джависта | Java, Spring, Maven, Hibernate

الذهاب إلى القناة على Telegram

Все самое полезное для Java-разработчика в одном канале. Учиться у нас: clc.to/AATM8w Для обратной связи: @proglibrary_feeedback_bot По рекламе: @tproger_sales_bot РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4

إظهار المزيد

📈 نظرة تحليلية على قناة تيليجرام Библиотека джависта | Java, Spring, Maven, Hibernate

تُعد قناة Библиотека джависта | Java, Spring, Maven, Hibernate (@javaproglib) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 21 884 مشتركاً، محتلاً المرتبة 6 062 في فئة التكنولوجيات والتطبيقات والمرتبة 30 014 في منطقة روسيا.

📊 مؤشرات الجمهور والحراك

منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 21 884 مشتركاً.

بحسب آخر البيانات بتاريخ 26 أكتوبر, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -132، وفي آخر 24 ساعة بمقدار -9، مع بقاء الوصول العام مرتفعاً.

  • حالة التحقق: غير موثّقة
  • معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 8.55‎%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 4.65‎% من ردود الفعل نسبةً إلى إجمالي المشتركين.
  • وصول المنشورات: يحصل كل منشور على متوسط 1 871 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 018 مشاهدة.
  • التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 7.
  • الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل джависта, навигация, jooq, corejava, hibernate.

📝 الوصف وسياسة المحتوى

يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Все самое полезное для Java-разработчика в одном канале. Учиться у нас: clc.to/AATM8w Для обратной связи: @proglibrary_feeedback_bot По рекламе: @tproger_sales_bot РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4”

بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 27 أكتوبر, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.

21 884
المشتركون
-924 ساعات
-537 أيام
-13230 أيام
جذب المشتركين
أكتوبر '26
أكتوبر '26
+52
في 1 قنوات
سبتمبر '26
+67
في 1 قنوات
Get PRO
أغسطس '26
+54
في 1 قنوات
Get PRO
يوليو '26
+41
في 2 قنوات
Get PRO
يونيو '26
+65
في 1 قنوات
Get PRO
مايو '26
+136
في 3 قنوات
Get PRO
أبريل '26
+85
في 5 قنوات
Get PRO
مارس '26
+69
في 1 قنوات
Get PRO
فبراير '26
+103
في 2 قنوات
Get PRO
يناير '26
+75
في 0 قنوات
Get PRO
ديسمبر '25
+98
في 4 قنوات
Get PRO
نوفمبر '25
+94
في 1 قنوات
Get PRO
أكتوبر '25
+117
في 2 قنوات
Get PRO
سبتمبر '25
+120
في 1 قنوات
Get PRO
أغسطس '25
+93
في 4 قنوات
Get PRO
يوليو '25
+78
في 0 قنوات
Get PRO
يونيو '25
+118
في 0 قنوات
Get PRO
مايو '25
+106
في 0 قنوات
Get PRO
أبريل '25
+178
في 15 قنوات
Get PRO
مارس '25
+294
في 52 قنوات
Get PRO
فبراير '25
+200
في 31 قنوات
Get PRO
يناير '25
+231
في 51 قنوات
Get PRO
ديسمبر '24
+196
في 38 قنوات
Get PRO
نوفمبر '24
+216
في 48 قنوات
Get PRO
أكتوبر '24
+253
في 36 قنوات
Get PRO
سبتمبر '24
+339
في 37 قنوات
Get PRO
أغسطس '24
+319
في 36 قنوات
Get PRO
يوليو '24
+422
في 35 قنوات
Get PRO
يونيو '24
+372
في 34 قنوات
Get PRO
مايو '24
+460
في 35 قنوات
Get PRO
أبريل '24
+438
في 38 قنوات
Get PRO
مارس '24
+610
في 30 قنوات
Get PRO
فبراير '24
+573
في 32 قنوات
Get PRO
يناير '24
+561
في 26 قنوات
Get PRO
ديسمبر '23
+466
في 36 قنوات
Get PRO
نوفمبر '23
+372
في 3 قنوات
Get PRO
أكتوبر '23
+503
في 23 قنوات
Get PRO
سبتمبر '23
+676
في 0 قنوات
Get PRO
أغسطس '23
+570
في 0 قنوات
Get PRO
يوليو '23
+446
في 0 قنوات
Get PRO
يونيو '23
+448
في 0 قنوات
Get PRO
مايو '23
+560
في 0 قنوات
Get PRO
أبريل '23
+226
في 0 قنوات
Get PRO
مارس '23
+762
في 0 قنوات
Get PRO
فبراير '23
+359
في 0 قنوات
Get PRO
يناير '23
+387
في 0 قنوات
Get PRO
ديسمبر '22
+469
في 0 قنوات
Get PRO
نوفمبر '22
+542
في 0 قنوات
Get PRO
أكتوبر '22
+289
في 0 قنوات
Get PRO
سبتمبر '22
+368
في 0 قنوات
Get PRO
أغسطس '22
+439
في 0 قنوات
Get PRO
يوليو '22
+557
في 0 قنوات
Get PRO
يونيو '22
+503
في 0 قنوات
Get PRO
مايو '22
+275
في 0 قنوات
Get PRO
أبريل '22
+383
في 0 قنوات
Get PRO
مارس '22
+399
في 0 قنوات
Get PRO
فبراير '22
+225
في 0 قنوات
Get PRO
يناير '22
+364
في 0 قنوات
Get PRO
ديسمبر '21
+334
في 0 قنوات
Get PRO
نوفمبر '21
+297
في 0 قنوات
Get PRO
أكتوبر '21
+263
في 0 قنوات
Get PRO
سبتمبر '21
+329
في 0 قنوات
Get PRO
أغسطس '21
+425
في 0 قنوات
Get PRO
يوليو '21
+371
في 0 قنوات
Get PRO
يونيو '21
+334
في 0 قنوات
Get PRO
مايو '21
+586
في 0 قنوات
Get PRO
أبريل '21
+702
في 0 قنوات
Get PRO
مارس '21
+633
في 0 قنوات
Get PRO
فبراير '21
+660
في 0 قنوات
Get PRO
يناير '21
+568
في 0 قنوات
Get PRO
ديسمبر '20
+18 204
في 0 قنوات
التاريخ
نمو المشتركين
الإشارات
القنوات
27 أكتوبر0
26 أكتوبر+1
25 أكتوبر0
24 أكتوبر0
23 أكتوبر+1
22 أكتوبر0
21 أكتوبر0
20 أكتوبر+2
19 أكتوبر+1
18 أكتوبر0
17 أكتوبر0
16 أكتوبر+2
15 أكتوبر+1
14 أكتوبر+6
13 أكتوبر+3
12 أكتوبر+11
11 أكتوبر+6
10 أكتوبر+2
09 أكتوبر+1
08 أكتوبر+1
07 أكتوبر+4
06 أكتوبر+1
05 أكتوبر+1
04 أكتوبر+4
03 أكتوبر+1
02 أكتوبر+2
01 أكتوبر+1
منشورات القناة
🧩 ZGC в JDK 28 сможет подбирать размер кучи по расходам памяти и CPU Маленькая куча экономит память, но сборщику мусора приходится работать чаще. Большая снижает давление на GC, зато оставляет меньше ресурсов соседним процессам. JEP 546 предлагает адаптивную политику для ZGC: менять размер кучи по измеряемым потребностям приложения и доступным ресурсам системы. Планируемое включение выглядит так:
java -XX:+UseZGC -XX:+ZAdaptiveHeapSizing ...
Если расходы CPU на сборку растут, политика может расширить кучу. Если они ниже целевого уровня — уменьшить её. Дополнительно учитывается использование ресурсов на машине, чтобы одна JVM не забирала всё у соседей. 🟡 Это возможность будущего JDK 28 JEP имеет статус Targeted для JDK 28. Флаг не следует считать готовой настройкой для выпущенного JDK 27. Автоматика также не отменяет проверки под реальной нагрузкой. Важно измерять одновременно задержки, пропускную способность, память и CPU: короткие паузы GC ещё не говорят, что сборщик работает дёшево. 🔗 Как предлагается адаптировать размер кучи ZGC #CoreJava ══════ Навигация ══════ Вакансии • Задачи • Собесы 🐸 Библиотека джависта

2
🔥 Прожарка резюме Java-разработчиков Откликаешься, а в ответ тишина? Или зовут, но предлагают меньше, чем рассчитываешь? Воз
🔥 Прожарка резюме Java-разработчиков Откликаешься, а в ответ тишина? Или зовут, но предлагают меньше, чем рассчитываешь? Возможно, дело не в навыках, а в резюме. 27 октября рекрутер из Skyeng и Java-разработчик из Wildberries разберут резюме участников в прямом эфире! Что разберём: ✦ почему рекрутер закрывает резюме, не дочитав до конца; ✦ как показать свой вклад и результаты, а не просто перечислить технологии; ✦ какие формулировки могут занизить твой грейд. 🗓 27 октября в 19:00 МСК Участие бесплатное 👥 Спикеры: — Анастасия Дегтярь, Senior TA в Skyeng, 6+ лет в найме; — Виктор Анохин, Java/Kotlin-разработчик в Wildberries, ex-Билайн. Эфир проводит ШОРТКАТ – менторская программа для разработчиков, которые хотят сменить работу или вырасти в грейде и зарплате. Переходи в бота, чтобы зарегистрироваться на эфир: @shortcut_sh_bot Реклама. О рекламодателе.
951
3
Kube API не отвечает, LoadBalancer не пропускает трафик, DNS не резолвит, исходящие запросы не уходят. Причина обычно кроется
Kube API не отвечает, LoadBalancer не пропускает трафик, DNS не резолвит, исходящие запросы не уходят. Причина обычно кроется на стыке облачной сети и кластера, и найти её без понимания всей цепочки сложно. 3 ноября в 12:00 Роман Ерема, разработчик в команде Managed Kubernetes MWS Cloud Platform, на практике покажет: ⏺️как взаимодействуют сеть облака, CNI и сеть Kubernetes ⏺️как работают SNAT и Source IP ⏺️когда нужен externalTrafficPolicy: Local и почему при нём может не проходить health check ⏺️как диагностировать проблемы на реальных кейсах (live-demo) Все участники получат чек-лист для проверки доступности. Полезно инженерам, разработчикам и специалистам по сетям и облачной инфраструктуре. 🗓 3 ноября в 12:00 Регистрируйтесь по ссылке
1 059
4
☕️ JDK 28 готовит финальный API для преобразования ключей и сертификатов в PEM Убрать BEGIN и END, декодировать Base64, определить тип ключа, выбрать фабрику — ручная обработка PEM быстро обрастает деталями. JEP 542 завершает разработку стандартного API с PEMEncoder и PEMDecoder в java.security. Например, публичный ключ можно представить строкой: String pem = PEMEncoder.of() .encodeToString(publicKey); API поддерживает стандартные представления ключей, сертификатов и списков отозванных сертификатов. Для шифрования закрытого ключа предусмотрена отдельная настройка: String pem = PEMEncoder.of() .withEncryption(password) .encodeToString(privateKey); Здесь password — char[], а ключи уже получены приложением. 🟡 PEM сам по себе не шифрует ключ Текст между BEGIN и END может содержать незашифрованный закрытый ключ. Base64 делает данные текстовыми, но не скрывает их. В JDK 27 этот API находится в третьем preview и требует включения preview-возможностей. JEP 542 относится к будущему JDK 28, где планируется финализация. Не стоит переносить пример в проект на старом JDK без проверки доступности API. 🔗 Описание PEM API и поддерживаемых форматов #CoreJava ══════ Навигация ══════ Вакансии • Задачи • Собесы 🐸 Библиотека джависта
1 095
5
📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше. В Proglib Academy действует акция: покупаешь один кур
📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше. В Proglib Academy действует акция: покупаешь один курс, а второй получаешь в подарок. Например, можно совместить два направления по работе с ИИ: 💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью. 💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений. 📍 Разница в цене — почти 50 тысяч рублей. Можно освоить больше, не выходя за рамки запланированного бюджета. А если тебе интереснее Python, алгоритмы, backend или DevOps — выбирай другую пару курсов из каталога. Акция действует до 31 октября включительно ⏳ ⏮️ Пора прокачать свой стек
1 167
6
🧩 Генератор нагрузки в тестируемой JVM может скрывать задержки во время GC Сервис остановился на сборку мусора. В реальности запросы продолжают приходить и ждут в очереди. А что произойдёт, если генератор нагрузки находится в той же JVM? Он тоже остановится. Часть запросов, которые должны были прийти во время паузы, просто не будет создана. В исследовании на SPECjbb2015 авторы сравнили генератор и сервер в общей JVM с размещением в отдельных JVM. Для сборщиков с заметными паузами результаты p99 существенно различались. 🟡 Одной поправки на время отправки недостаточно Можно считать задержку от запланированного момента запроса, а не фактической отправки. Но такая поправка не создаёт реальный поток запросов и очередь, которых не было во время общей паузы. Поэтому при измерении задержек важно отделить генератор от системы под тестом и проверить, что он сам выдерживает нужную интенсивность. Числа из статьи относятся к конкретному эксперименту. Авторы отдельно предупреждают: исследовательские конфигурации не предназначены для официального рейтинга SPECjbb2015. 🔗 Исследование и схема эксперимента #CoreJava ══════ Навигация ══════ Вакансии • Задачи • Собесы 🐸 Библиотека джависта
1 143
7
🛠 JDK 28 сможет выделять небольшие блоки нативной памяти из повторно используемых пулов Вызову нативной функции нужен указатель на одно число. Создавать полноценное выделение памяти ради нескольких байт может оказаться дороже самой работы с ними. Типичный код FFM выглядит так: try (Arena arena = Arena.ofConfined()) { MemorySegment segment = arena.allocate(ValueLayout.JAVA_INT); segment.set(ValueLayout.JAVA_INT, 0, 42); } В разрабатываемом JDK 28 небольшие выделения confined-арены могут обслуживаться из пула. Он запрашивается лениво, при первом подходящем выделении. По умолчанию кеш платформенного потока может хранить четыре пула по 64 байта. Если размер или выравнивание не подходят, используется обычный путь. 🟡 Закрытая арена не становится доступной повторно После close() её сегменты всё так же недоступны. Перед повторным использованием занятая часть пула очищается. Повторно используется внутренняя память, а не старые MemorySegment. Менять исходный код ради этой оптимизации не требуется. Но это улучшение будущего JDK 28: пример API уже знаком по выпущенным версиям, описанный механизм пулов — ещё нет. 🔗 Как устроены пулы confined-арен #CoreJava ══════ Навигация ══════ Вакансии • Задачи • Собесы 🐸 Библиотека джависта
1 285
8
☕️ JDK 27 копирует HashMap без повторного вычисления хешей в специальных сценариях Копирование Map выглядит коротко: var copy = new HashMap<>(source); Но внутри общего пути могут быть итератор, обращения к ключам и значениям, повторный hashCode(). Когда через одну точку вызова проходят разные реализации Map, JIT сложнее убрать эти расходы. В JDK 27 добавили специальные пути для источника, который является именно HashMap, и неизменяемой обёртки над HashMap. Они обходят исходную таблицу напрямую и используют хеши, уже сохранённые в её узлах. Оптимизация относится и к putAll(). Для других реализаций Map остаётся общий путь. 🟡 Это не глубокое копирование Новая таблица по-прежнему содержит ссылки на те же ключи и значения. Изменяемый объект внутри карты не станет независимым после создания копии. В статье приведены заметные выигрыши микробенчмарков на конкретной платформе. Переносить эти проценты на весь сервис нельзя: сначала проверьте, есть ли копирование карт среди его горячих участков. 🔗 Что ускорили в библиотеках JDK 27 #CoreJava ══════ Навигация ══════ Вакансии • Задачи • Собесы 🐸 Библиотека джависта
1 505
9
😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция! До 31 октября в Proglib Academy можно выбрать два курса
😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция! До 31 октября в Proglib Academy можно выбрать два курса и заплатить только за один. Например, можно совместить: 💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью. 💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений. Вместе курсы стоят 108 000 ₽, но по акции оба обойдутся в 59 000 ₽. Экономия — 49 000 ₽ 🔥 Интересуют Python и ИИ или алгоритмы и архитектура? Можно выбрать любые два курса из каталога. Акция действует до 31 октября включительно ⏳ ⏬ Собрать свой учебный билд
1 562
10
🛠 Spring переводит регулярные исправления на единый день выпуска Раньше обновления проектов Spring выходили по очереди в течение двух недель. Теперь команда собирает их в один выпуск: в четверг после третьего понедельника месяца. Первый регулярный выпуск по новой схеме назначен на 22 октября. Это дата из анонса — наличие конкретных версий в Maven Central всё равно нужно проверять. Причина изменения практическая: при растянутом графике исправления уязвимостей появлялись в разные дни. Единый выпуск позволяет получить согласованный набор обновлений сразу. 🟡 Что проверить в своём проекте — Какая версия Spring Boot и какой BOM управляют зависимостями. — Какие рекомендации по безопасности относятся к используемым компонентам. — Какие тесты нужно прогнать перед обновлением. На spring.io/security появились фильтры по проекту, серьёзности и номеру CVE. Это удобнее, чем искать нужный компонент в длинной ленте. Общий день выпуска не означает, что можно обновить только одну случайную библиотеку и считать весь стек исправленным. Сначала проверьте рекомендации для затронутых проектов и совместимость версий. 🔗 Как меняется выпуск обновлений Spring #Enterprise ══════ Навигация ══════ Вакансии • Задачи • Собесы 🐸 Библиотека джависта
1 573
11
🧩 ArchUnit на легаси: запрещаем новые нарушения Добавили архитектурный тест, а он нашёл сотни старых нарушений. Отключить проверку — значит разрешить добавлять новые. В ArchUnit для этого есть FreezingArchRule. ArchRule frozen = FreezingArchRule.freeze(rule); frozen.check(importedClasses); Здесь rule — ваше архитектурное правило, importedClasses — импортированные классы проекта. Проверка сохраняет известные нарушения в baseline и затем сообщает только о новых. Исправленные нарушения убираются из baseline, чтобы не допустить регрессии. 🟡 Для первоначального создания хранилища отдельно разрешите freeze.store.default.allowStoreCreation=true. Сохраните baseline в Git; в CI используйте существующее хранилище. Не включайте автоматическое freeze.refreeze=true: оно принимает текущие нарушения заново, и проверка перестаёт защищать от ухудшения архитектуры. 🔗 Источник • Разбор и примеры ══════ Навигация ══════ Вакансии • Задачи • Собесы 🐸 Библиотека джависта #Enterprise
2 049
12
🛠 Как записать минуту работы JVM без перезапуска Сервис тормозит сейчас, а перезапускать его ради профилирования не хочется. JFR можно включить у уже работающей JVM через jcmd. jcmd 12345 JFR.start name=slow \ settings=profile duration=60s \ filename=/tmp/slow.jfr Замените 12345 на PID нужной JVM. Через минуту запись остановится и сохранится в указанный файл на машине процесса. Её можно открыть в JDK Mission Control и сопоставить события GC, блокировок и выполнения с моментом задержки. 🟡 Команду запускают на той же машине и под тем же пользователем, что и JVM. В контейнере учитывайте пространство процессов и путь к файлу. Профиль profile собирает больше данных, но даёт больше накладных расходов, чем default. Поэтому здесь запись короткая, а не бесконечная. 🔗 Источник ══════ Навигация ══════ Вакансии • Задачи • Собесы 🐸 Библиотека джависта #Enterprise
2 055
13
☕️ Скользящие окна в Stream без ручного буфера Нужно сравнить соседние измерения или обработать последовательность небольшими перекрывающимися группами? В Java 24+ есть готовый gatherer. var windows = Stream.of(1, 2, 3, 4, 5) .gather(Gatherers.windowSliding(3)) .toList(); // [[1, 2, 3], [2, 3, 4], [3, 4, 5]] Каждое следующее окно теряет самый старый элемент и получает новый. Если вход короче размера окна, получится одно неполное окно; пустой Stream не выдаст ни одного. 🟡 Окна нельзя изменять. Большой размер окна может потреблять лишнюю память — это не бесплатная замена любого буфера. Gatherers стали стабильным API в Java 24. В докладе автора API есть примеры собственных преобразований и правила работы с параллельными потоками. 🔗 Источник • Разбор и примеры ══════ Навигация ══════ Вакансии • Задачи • Собесы 🐸 Библиотека джависта #CoreJava
2 002
14
🧑‍💻 Какие навыки помогают вам в разработке в 2026 году? Что вы чаще используете в работе? В каких задачах помогает ИИ, а где проще справиться самостоятельно? Мы решили собрать портрет современного разработчика — и приглашаем вас поделиться своим опытом. Расскажите, какие навыки вам пригодились и как вы используете ИИ. Если обходите его стороной, нам тоже интересно узнать почему. Опрос анонимный и займёт около 5 минут. Результаты опубликуем в общем большом исследовании. 👉 Пройти опрос
1 557
15
🧩 Неизменяемый список всё ещё может измениться Collections.unmodifiableList() запрещает менять список через обёртку. Но это представление исходного списка, а не его независимая копия. var source = new ArrayList<>(List.of("A")); var view = Collections.unmodifiableList(source); var snapshot = List.copyOf(source); source.add("B"); System.out.println(view); // [A, B] System.out.println(snapshot); // [A] 🟡 Если возвращаете наружу текущее состояние коллекции и не хотите, чтобы дальнейшие изменения исходного списка были видны читателю, используйте List.copyOf() — он доступен с Java 10. Копия поверхностная: сами изменяемые объекты внутри неё не становятся неизменяемыми. И null-элементы она не принимает. 🔗 Источник • Разбор и примеры ══════ Навигация ══════ Вакансии • Задачи • Собесы 🐸 Библиотека джависта #CoreJava
1 884
16
💡 Logpoints: логи без правки кода и нового деплоя Чтобы увидеть значение переменной, необязательно добавлять println(), пересобирать приложение и потом удалять отладочный мусор. Logpoint в IntelliJ IDEA выводит выражение в консоль, не приостанавливая выполнение. Можно менять точки наблюдения прямо во время отладки. Нужен процесс, к которому подключён debugger; к произвольному сервису без доступа к отладке этот приём не применить. Например, сначала выводите идентификатор запроса, потом добавляете значение скидки и проходите по цепочке вызовов до места, где результат меняется. 🟡 В IDEA 2026.2 точку можно добавить между исполняемыми строками в поле слева от кода. Выражение выполняется в той же JVM: тяжёлые вычисления в горячем методе всё равно стоят времени. В разборе JetBrains показан поиск ошибки в gRPC-сервисе. 🔗 Источник ══════ Навигация ══════ Вакансии • Задачи • Собесы 🐸 Библиотека джависта #Enterprise
1 917
17
Если приходилось уходить с одного ИИ-инструмента на другой, что стало главной причиной?
1 679
18
Почему разработчик планирует отдавать больше задач Claude Винсент Шмальбах описал план перераспределить расходы на ИИ: больше работы отдавать Claude, а Codex сохранить для части задач. К решению его подтолкнули затяжные сессии. По наблюдениям автора, агент иногда часами продолжал проверки и добавлял соседние задачи. Квота расходовалась, а момент, когда можно принять результат и двигаться дальше, было трудно предсказать. В личном разборе Шмальбах связывает эти эпизоды с условиями подписки и затратами на собственные проекты. #ии #инструменты 🐸 Библиотека ИИ для айтишников
1 650
19
🛠 Контейнер запущен, а тест всё равно падает Порт уже открыт, но приложение ещё применяет миграции или прогревает зависимости. Тест отправляет первый запрос слишком рано — и падает только иногда. Для обычного GenericContainer Testcontainers по умолчанию ждёт, пока начнёт слушать первый проброшенный порт. Это ещё не гарантия готовности вашего сценария. container.waitingFor( Wait.forHttp("/ready") .forStatusCode(200) ); Здесь container — уже настроенный контейнер с открытым HTTP-портом, а /ready — ваш endpoint готовности. 🟡 Условие должно проверять именно то, что нужно тесту. Если endpoint отвечает 200 до готовности БД, гонка останется. Для других сервисов можно ждать Docker healthcheck или нужную строку в логах. 🔗 Источник ══════ Навигация ══════ Вакансии • Задачи • Собесы 🐸 Библиотека джависта #Enterprise
2 039
20
🧠 Почему BigDecimal считает 2.0 и 2.00 разными Что выведут эти две строки? var a = new BigDecimal("2.0"); var b = new BigDecimal("2.00"); System.out.println(a.equals(b)); System.out.println(a.compareTo(b)); ❤️ true и 0 🔥 false и 0 👍 false и -1 👇 Правильный ответ: false и 0. equals() сравнивает и числовое значение, и scale: у 2.0 он равен 1, у 2.00 — 2. А compareTo() сравнивает значения, поэтому возвращает 0. Когда проверяете равенство сумм по величине, нужен compareTo() == 0. Но ключи HashMap и элементы HashSet используют equals() и hashCode(): эти объекты останутся разными. 🔗 Источник ══════ Навигация ══════ Вакансии • Задачи • Собесы 🐸 Библиотека джависта #CoreJava
2 204