Чашечка Java
الذهاب إلى القناة على Telegram
Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels
إظهار المزيد8 458
المشتركون
-224 ساعات
-167 أيام
-6030 أيام
أرشيف المشاركات
8 458
Как компьютер понимает Языки программирования: история о том, как ваш код превращается в нули и единицы
Привет, Хабр! (И тебе, случайный читатель, который думает, что "код - это магия", а процессор - маленький гномик, который внутри ноутбука читает for i in range(10) и послушно бегает кругами.)
Сегодня разберёмся с вопросом, который в какой-то момент приходит в голову каждому разработчику, а потом быстро вытесняется дедлайном:
Как вообще компьютер “читает” Python или 1С или любой другой язык программирования, если он понимает только 0 и 1? И почему ваш идеальный код иногда превращается в "segmentation fault" / "Неопределённая ошибка" / “Пользователь не найден (хотя он сидит напротив)”?
Вот и мне спустя годы в разработке пришла идея изучить этот ваш старомодный Computer Science и понять вообще, что такое программа и компьютер на самом деле.
Поехали. Будет без хардкора уровня “компилятор за 21 день”, но с понятными аналогиями, для статьи упростил всё до минимума. Реально постарался переварить информацию и выдать её в красивой упаковке. Кстати, в статье будут примеры из двух разных миров Python и 1С, так что будет интересно…
Читать: https://habr.com/ru/articles/988482/?utm_campaign=988482
@a_cup_of_java | Другие наши каналы
8 458
Маппинг POJO в MongoDB с помощью Jackson
В Java-приложениях, работающих с MongoDB, преобразование данных между нативным документо-ориентированным представлением MongoDB и обычными Java-объектами (POJO — Plain Old Java Objects) является частой задачей.
Читать: https://habr.com/ru/articles/988858/?utm_campaign=988858
@a_cup_of_java | Другие наши каналы
8 458
11 топовых библиотек и фреймворков для Java в 2025 году
Топ библиотек и фреймворков Java 2025: Spring Boot, Hibernate, JUnit, Micronaut, Quarkus. Практические советы от Senior и Lead разработчиков.
Читать: «11 топовых библиотек и фреймворков для Java в 2025 году»
@a_cup_of_java | Другие наши каналы
8 458
Курсы по автоматизации тестирования: обучение автотестированию бесплатно и платно
Лучшие курсы по автотестированию. Рейтинг вариантов онлайн-обучения для тестировщиков, обзор обучающей программы и стоимости курсов.
Читать: «Курсы по автоматизации тестирования: обучение автотестированию бесплатно и платно»
@a_cup_of_java | Другие наши каналы
8 458
Стив Фриман, Нэт Прайс, Тим Маккиннон, Джо Уорнc «Мокируем роли, а не объекты»
Продолжаем серию публикаций, посвященных истокам лондонской школы тестирования. В статье «Мокируем роли, а не объекты» (2004) авторы совершают ключевой концептуальный переход. Они переосмысливают мок-объекты: из инструмента для изоляции тестов они становятся инструментом для выявления интерфейсов, проектирования взаимодействий между объектами и создания целостной архитектуры системы.
Читать: https://habr.com/ru/articles/988518/?utm_campaign=988518
@a_cup_of_java | Другие наши каналы
8 458
Как мы перевели сервисы Java с виртуальных машин в Kubernetes
Статья: «Как мы перевели сервисы Java с виртуальных машин в Kubernetes»
В этой статье я разберу наш путь от VM к Kubernetes: какие задачи решали, как настраивали пайплайны, с какими сложностями столкнулись и какие плюсы в итоге получили.
Читать: https://habr.com/ru/companies/alfastrah/articles/988306/?utm_campaign=988306
@a_cup_of_java | Другие наши каналы
8 458
Почему Kotlin ломает JPA
Используешь Kotlin с Jakarta Persistence и думаешь, что всё работает? Возможно, до первой неожиданной ошибки. data class, val, final-классы и даже значения по умолчанию — всё это может тайно мешать корректной работе JPA. Вместе с Торбеном Янссеном в новом переводе от команды Spring АйО разберем скрытые ловушки и показывают, как настроить проект правильно, чтобы не наступить на мину.
Читать: https://habr.com/ru/companies/spring_aio/articles/987890/?utm_campaign=987890
@a_cup_of_java | Другие наши каналы
8 458
Лучшие практики для ускорения фронтенда: чек-лист 2025 года
Ускорьте свой сайт с помощью чек-листа по оптимизации фронтенда: от HTML и CSS до изображений и серверов. Практические советы для повышения скорости, SEO и конверсий в 2025 году.
Читать: «Лучшие практики для ускорения фронтенда: чек-лист 2025 года»
@a_cup_of_java | Другие наши каналы
8 458
Observability-as-Code в Spring Boot: Контракты и тесты для метрик, логов и трейсов
Observability-as-Code - это подход, при котором базовые элементы наблюдаемости (метрики, логи, трассировки) описываются и проверяются так же строго, как и код самого приложения. Эта информация хранится в VCS и к ней выдвигаются такие же требования, как “остальному коду”. Инженеры явно описывают "контракт" наблюдаемости (какие метрики и логи должна выдавать система, с какими свойствами), снабжают этот контракт автоматическими тестами и включают проверки в процесс CI/CD.
В данной публикации мы подробно разберем, почему такой подход эффективен, и как его реализовать в Spring Boot с использованием Micrometer, OpenTelemetry и инструментов вроде ArchUnit.
Читать: https://habr.com/ru/companies/spring_aio/articles/987358/?utm_campaign=987358
@a_cup_of_java | Другие наши каналы
8 458
10 VSCode расширений, которые реально повышают продуктивность
Топ-10 расширений VSCode для повышения продуктивности: форматирование, тестирование API, управление проектами и многое другое. Ускорьте свою разработку с лучшими инструментами.
Читать: «10 VSCode расширений, которые реально повышают продуктивность»
@a_cup_of_java | Другие наши каналы
8 458
Soft-, Weak-, Final- и PhantomReference в Java
В статье представлены сведения о классах пакета java.lang.ref - SoftReference, WeakReference, PhantomReference и др. Описываются приёмы их применения.
Читать: https://habr.com/ru/articles/987362/?utm_campaign=987362
@a_cup_of_java | Другие наши каналы
8 458
Как Web3 меняет разработку веб-приложений: от серверов к блокчейну
Поговорили с экспертом и узнали, где Web3 даёт практическую пользу разработчикам: сравниваем подходы, исследуем рынок вакансий и особенности новой реальности.
Читать: «Как Web3 меняет разработку веб-приложений: от серверов к блокчейну»
@a_cup_of_java | Другие наши каналы
8 458
JVM ещё жива, но уже бесполезна: как Netflix научился убивать её по GC
Вместо того чтобы ждать, пока Java-приложение окончательно "зависнет" из-за GC, инженеры Netflix сделали jvmquake — инструмент, который сам определяет, что JVM уже не спасти, вызывает дамп памяти и аккуратно завершает процесс. Меньше тревог, больше аптайма.
Подробности - в новом переводе от команды Spring АйО.
Читать: https://habr.com/ru/companies/spring_aio/articles/987116/?utm_campaign=987116
@a_cup_of_java | Другие наши каналы
8 458
WebAssembly 3.0 добрался до браузеров: 64-битная память, сборщик мусора и настоящие исключения
WebAssembly 3.0 уже работает в браузерах: 64-битная память, полноценный GC, система исключений и новые инструменты для языков
Читать: «WebAssembly 3.0 добрался до браузеров: 64-битная память, сборщик мусора и настоящие исключения»
@a_cup_of_java | Другие наши каналы
8 458
Внедряем Testcontainers за два дня или как перестать бояться рефакторинга и начать доверять своим тестам
Надоело, когда после сотни зеленых unit-тестов приложение падает на тестовом стенде? Когда рефакторинг превращается в кошмар из-за необходимости переписывать полсотни тестовых классов? Мне тоже надоело и я нашел решение. В статье покажу, как за два-три рабочих дня внедрить Testcontainers и начать писать тесты, которые действительно работают. В докладе вы найдете production-ready решение с PostgreSQL, Kafka и WireMock, которое выявит реальные проблемы еще до деплоя, честное тестирование реального поведения приложения.
Читать: https://habr.com/ru/articles/986870/?utm_campaign=986870
@a_cup_of_java | Другие наши каналы
8 458
Как снизить хвостовые задержки в Java с помощью ZGC
Хвостовые задержки в Java часто упираются не в «среднее время ответа», а в редкие, но болезненные выбросы на p999. В статье сравним G1 и ZGC на прикладном бенчмарке микросервиса (Quarkus + Postgres) и на синтетической нагрузке с высокой скоростью аллокаций: где ZGC действительно срезает хвосты почти без пауз — и в каких условиях, упираясь в CPU, он начинает «тормозить» через приостановки аллокаций.
Читать разбор
Читать: https://habr.com/ru/companies/otus/articles/986604/?utm_campaign=986604
@a_cup_of_java | Другие наши каналы
8 458
Осознанная стоимость абстракций: Autoboxing в современной Java
Мы живём во времена, когда на оперативной памяти для heap Java-приложений почти не экономят, а архитектурные решения, которые ещё недавно можно было назвать расточительными, всё чаще воспринимаются как best practices.
Но не все коту масленица. Благодаря AI - буму, облачным вычислениям и микросервисной архитектуре с сотнями одновременно работающих инстансов, мы можем воочию наблюдать неукротимый рост стоимости оперативной памяти, что обязывает вернуться к рассмотрению принципов её экономии.
В этих условиях привычные абстракции требуют переоценки.
Сегодня я хочу напомнить об одной из самых распространенных в Java — autoboxing — механизме автоматической упаковки примитивных типов в соответствующие объекты-обертки.
Приглашаю вас посмотреть на знакомый Java-код не глазами разработчика, а глазами JVM, сборщика мусора и процессора, и разобраться, как незаметные на уровне синтаксиса решения превращаются в аллокации, давление на GC и раздувание heap.
Погрузиться
Читать: https://habr.com/ru/articles/985620/?utm_campaign=985620
@a_cup_of_java | Другие наши каналы
8 458
Project Panama: как Java научилась говорить на C! (Часть 1)
Как безопасно и эффективно вызывать C-функции из Java? Благодаря Project Panama — новому API из OpenJDK — это стало возможно без использования JNI.
В новом переводе от команды Spring АйО познакомимся с основами FFM API, посмотрим на запуск Hello World на C, роль jextract, и на то, как управлять памятью вне кучи JVM.
Читать: https://habr.com/ru/companies/spring_aio/articles/985144/?utm_campaign=985144
@a_cup_of_java | Другие наши каналы
8 458
Реализация гексагональной архитектуры на Java
В данной статье рассматривается архитектура проекта, позволяющая модульным образом интегрировать инфраструктурные фреймворки, такие как Spring, Quarkus и Micronaut, без необходимости модификации ядра предметной области (domain) или внешних API.
Читать: https://habr.com/ru/articles/985156/?utm_campaign=985156
@a_cup_of_java | Другие наши каналы
