uz
Feedback
Чашечка Java

Чашечка Java

Kanalga Telegram’da o‘tish

Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels

Ko'proq ko'rsatish
8 439
Obunachilar
-724 soatlar
-227 kunlar
-6430 kunlar
Postlar arxiv
Изучаю мок-сервера и пишу свой Однажды передо мной возник некий «чёрный ящик» — Шина, которая отвечает за преобразование данных из внешнего формата во внутренний. Какие внутри происходят преобразования, какие процессы, как идут запросы, потому что они очень большие, — непонятно. Логи есть, но они ограничены, к тому же часто запросы не логируются, потому что некоторые данные пользователей нельзя показывать. В попытках решить проблему и возник мок-сервер, как решение задачи понять, как работает «ящик», на каких принципах, и понять, правильно ли он работает. План статьи: — Проблематика черного ящика и почему его вообще нужно вскрывать. — Варианты решения проблемы. — Подробно про мок-сервер, как один из вариантов решения проблемы: зачем нужен, в чём польза и как выбрать между готовыми и самописными решениям. — Как написать свой мок-сервер. — Посмотрим как он работает на реальной задаче. — Закрепляем материал в блоке «Польза мок-сервера». Читать: https://habr.com/ru/companies/alfa/articles/749890/?utm_campaign=749890 @a_cup_of_java | Другие наши каналы

Эффективное и комплексное устранение утечек памяти в Android Цель этой статьи — изучить эффективные и комплексные решения по нахождению и устранению утечек памяти в контексте Android-разработки. Стоит понимать, что утечка памяти чаще всего возникает из-за незнания технологии или собственного кода на подкапотном уровне, поэтому основной целью является научиться правильно писать код, учитывая специфику работы Java Memory Model, Garbage Collector и File descriptor. Читать дальше Читать: https://habr.com/ru/articles/749568/?utm_campaign=749568 @a_cup_of_java | Другие наши каналы

Особенности разработки автотестов различными инструментами, а также статистика по использованию Попробуем разобраться в автоматизации тестирования ПО, сделаем обзор сервисов для автоматического тестирования, выясним, какой язык программирования лучше подходит для QA Automation. Вся информация основана в том числе на реальных событиях и моём реальном опыте. Читать: https://habr.com/ru/articles/749322/?utm_campaign=749322 @a_cup_of_java | Другие наши каналы

Добавляем поддержку пользовательского языка в IntelliJ с помощью ANTLR В этой статье я не буду описывать как создать плагин для IntelliJ с поддержкой %lang_name% с нуля. Кроме официальной документации и туториала от JetBrains в сети есть множество статей и примеров. На Хабре тоже есть пара весьма подробных статей от @pyltsinm. Фокус будет на разработке плагина с использованием ANTLR и моём опыте в этом нелёгком деле. Примером в этой статье будет WebCalm - плагин для IntelliJ с поддержкой JavaScript и CSS, который я сделал с помощью ANTLR. Читать: https://habr.com/ru/articles/748622/?utm_campaign=748622 @a_cup_of_java | Другие наши каналы

Работа с асинхронными операциями с помощью Kotlin Coroutines Всем привет! Меня зовут Сергей, я Android-разработчик Студии Олега Чулакова на проектах Сбера. Недавно я написал статью Многопоточность в мобильной разработке. В ней был затронут один из наиболее популярных инструментов для работы с асинхронными операциями — Kotlin Coroutines. Сегодня я хочу углубиться в Kotlin Coroutines и разобрать их основные компоненты. Мы рассмотрим Kotlin Coroutines, предполагая, что у вас уже есть базовое понимание языка Kotlin и некоторый опыт разработки Android-приложений. Мы изучим основные концепции Kotlin Coroutines, способы работы с асинхронными операциями, управление потоком выполнения, обработку ошибок и исключений, а также многое другое. Моя цель — помочь вам овладеть Kotlin Coroutines и научиться использовать их для упрощения и оптимизации вашего кода, обеспечения более гладкого пользовательского опыта и более эффективного управления асинхронными операциями. Приятного прочтения, мы начинаем! Читать: https://habr.com/ru/articles/747858/?utm_campaign=747858 @a_cup_of_java | Другие наши каналы

Как на самом деле работает Java ClassLoader system? (с картинками) — Часть 1/3, Загрузка Так ли на самом деле работает процесс загрузки классов, как его описывает Wikipedia и Baeldung? ClassNotFoundException — это откуда и чье? Какие виды загрузчиков классов актуальны в Java 20? Объясняем подпроцесс загрузки, из системы Java ClassLoader, на приятных Excalidraw диаграммах, со ссылками на оригинальные источники. Читать: https://habr.com/ru/articles/748758/?utm_campaign=748758 @a_cup_of_java | Другие наши каналы

SpringBoot и вебсокеты: едем в кластер Всем привет! В этой статье я бы хотел затронуть тему горизонтального масштабирования SpringBoot-приложений, использующих вебсокеты. Основная особенность таких приложений - наличие состояния (state). Вебсокеты для работы используют постоянное TCP-соединение, собственно оно и является этим состоянием. А наличие состояния обычно вызывает проблемы при масштабировании. Stateless-сервисам все равно на какой из множества инстансов попал очередной запрос, или кто именно вычитал сообщение из очереди. Но когда на серверной стороне возникает понятие клиентской сессии, все запросы, связанные с этим клиентом, должен обрабатывать один и тот же инстанс. Либо должна быть возможность передать эту сессию на другой инстанс. Сложность реализации этого требования варьируется от "добавить одну строчку в конфиг балансировщика" до "написать подсистему мониторинга топологии сервиса и роутинга запросов, сложность которой может превышать сложность основного приложения". К счастью, для решения стандартных задач, как правило, существуют стандартные инструменты. Давайте посмотрим, что за инструменты используются при масштабировании вебсокетных приложений, написанных на SpringBoot. Читать: https://habr.com/ru/articles/743252/?utm_campaign=743252 @a_cup_of_java | Другие наши каналы

Строим свой SSO. Часть 3: Redis, Swagger, Vue.js Всем привет, мы продолжаем строить собственный SSO Server. Сегодня мы разберем подключение Redis и Swagger к нашему проекту. А также построим собственную, красивую форму аутнетификации, используя VueJS. Читать: https://habr.com/ru/articles/748584/?utm_campaign=748584 @a_cup_of_java | Другие наши каналы

Работа с единицами системы СИ на Java Библиотека по работе с единица системы СИ KotUniL, разработанная изначально на Kotlin, недавно сделана мультиплатформенной. В частности, она доступна теперь и на Java и JavaScript. Читать: https://habr.com/ru/articles/748248/?utm_campaign=748248 @a_cup_of_java | Другие наши каналы

Микросервисы в банке: на чем их лучше писать? Java/Kotlin, а может Go? В июле в офисе РСХБ-Интех (технологической дочки Россельхозбанка) состоялся бесплатный митап для Java-разработчиков — RSHB Backend Dev Meetup. Обсудили Kotlin, Go, маппинг и разные аспекты бэкэнд-разработки. В числе докладчиков выступал Иван Кочергин, руководитель центра собственной разработки РСХБ-Интех. Иван более 10 лет занимается разработкой на Java, последние три года — на Kotlin. В своем докладе он сравнил, на чем лучше писать микросервисы в банке: Java, Kotlin или Go. Делимся расшифровкой доклада. Запись всего митапа можно посмотреть на Rutube. Читать: https://habr.com/ru/companies/rshb/articles/747898/?utm_campaign=747898 @a_cup_of_java | Другие наши каналы

Whirl Platform — разработка длиной в 10 лет Поведаю историю развития одного проекта длительностью в более чем 10 лет. На основе проекта, речь о котором пойдет ниже, случилось мое становление как разработчика/архитектора. История более биографическая, чем техническая, с вкраплением мыслей о разработке в целом и небольшим обзором проекта который развивает наша команда. Если вы ждете техно-жесткача с фреймворками, конфигами и кусками кода, то дальше читать не надо - такого не будет. Продолжив вы узнаете про чужой опыт развития долгоживущего продукта, узнаете о еще одном отечественном open source проекте и просто увидите картинки с UI конструктором приложений. Читать: https://habr.com/ru/articles/747876/?utm_campaign=747876 @a_cup_of_java | Другие наши каналы

Функциональное тестирование в SpringBoot Всем привет, в прошлый раз мы говорили про юнит тесты с MockMVC, сегодня мы напишем функциональные тесты для того же самого кода. Начнем. Из пререквизитов у нас есть код приложения BookController.java. Читать: https://habr.com/ru/companies/otus/articles/747852/?utm_campaign=747852 @a_cup_of_java | Другие наши каналы

Модернизация приложений и обеспечение надёжности сайтов (SRE) Часто приходится говорить с клиентами и партнёрами о целостной модернизации приложений. В контексте модернизации приложений наиболее востребованы такие аспекты как обеспечение надёжности приложений, упрощение проектирования и как можно более безотказная эксплуатация. Поэтому среди руководящих представителей инженерного звена всё популярнее становится практика обеспечения надёжности (SRE), де-факто превратившаяся в эксплуатационный стандарт для крупных корпораций. В этом посте я хотел бы изложить простую точку зрения на то, как сочетать SRE и модернизацию enterprise-приложений. Расскажу о том, как коррелируют две эти практики. Читать: https://habr.com/ru/companies/piter/articles/747850/?utm_campaign=747850 @a_cup_of_java | Другие наши каналы

Потоковая обработка данных с помощью Kafka Streams: архитектура и ключевые концепции При реализации потоковой обработки и анализа данных может возникнуть необходимость агрегирования записей для объединения нескольких независимых поток данных или обогащения какой-либо модели данных. Для этой цели может использоваться Kafka Streams, которая позволяет выполнять обработку данных в режиме реального времени. В этой статье мы рассмотрим основные компоненты Kafka Streams и теоретические аспекты их использования. Мы будем использовать последние версии технологий, доступных на сегодня: Kafka 3.4.0 и Java 17 в качестве языка программированию. Для снижения входного порога мы будем использовать только нативные возможности Kafka и Kafka Streams, и не будем рассматривать решения с использованием различных фреймворков вроде Spring. Читать: https://habr.com/ru/articles/747658/?utm_campaign=747658 @a_cup_of_java | Другие наши каналы

Прожарка java.lang.String Давайте абьюзить баг в java.lang.String, который позволит делать очень странные строки. Мы сделаем "Hello World", который не начинается с "Hello" и покажем, что не все пустые строки равны между собой. Научимся прожаривать строки в чужих классах. Вкуснотища. . Читать: https://habr.com/ru/companies/bar/articles/747528/?utm_campaign=747528 @a_cup_of_java | Другие наши каналы

Разбираемся в REST assured как новичок и не только Привет, меня зовут Александр Беляков, я инженер по тестированию Альфа-Банка. В 2021 году пришёл в IT из медицины и четыре месяца стажировался в Альфа-банке. Хотел бы рассказать о внедрении автотестов REST API с JSON-schema на проекте, на котором я стажировался с нуля и без опыта: с чего начать, как подготовиться, что необходимо знать и как быть с ошибками. Статья будет полезна начинающим тестировщикам, как я, которые только хотят начать работать в тестировании. Но и начинающим лидам я скромно рекомендую уделить статье время. У вас уже достаточно опыта и вы всё знаете, но, возможно, не помните, каково это ничего не знать. Читать: https://habr.com/ru/companies/alfa/articles/745854/?utm_campaign=745854 @a_cup_of_java | Другие наши каналы

Собеседование на Java разработчика. Разбор 1606 вопросов и ответов. Часть 3 (с 270 по 370 вопрос) Всем привет! Меня зовут Владимир Баганов. Я продолжаю серию статей с простым разбором вопросов на собеседованиях на Java разработчика. Под капотом 370 разобранных вопросов из 1606 вопросов. Читать: https://habr.com/ru/articles/747190/?utm_campaign=747190 @a_cup_of_java | Другие наши каналы

Строим свой SSO. Часть 2: PostgreSQL и ролевая модель Всем привет, и мы продолжаем нашу серию статей по созданию собственного SSO. В предыдущей статье мы создали замечательную основу приложения и проработали множество нюансов связанных как с Spring Authorization Server, так и с Spring Security, Spring OAuth2 Client. Подключили "Social login" через Google, Github и Yandex. Теперь настало время превращения этого SSO в реальный проект. Читать: https://habr.com/ru/articles/746698/?utm_campaign=746698 @a_cup_of_java | Другие наши каналы

Осенние конференции JUG Ru Group: Москва, Питер, онлайн той весной мы провели конференции с продолжительной офлайн-частью, но не забывая про онлайн-участников. Получилось удачно: хватало и тех, кто общался вживую на площадке, и тех, кто подключался издалека. Так что продолжим это в нашем большом осеннем сезоне: проведём целых 10 конференций, и на этот раз не только в Москве. Все подробности — под катом. Читать: https://habr.com/ru/companies/jugru/articles/746654/?utm_campaign=746654 @a_cup_of_java | Другие наши каналы

Тестирование Spring Boot через MockMVC Автор статьи: Рустем Галиев Сегодня мы посмотрим на то, как тестировать Spring Boot через MockMVC. MockMvc – это тестовый фреймворк на стороне сервера, который позволяет проверять большинство функциональных возможностей приложения Spring MVC с помощью облегченных и целевых тестов. Читать: https://habr.com/ru/companies/otus/articles/746414/?utm_campaign=746414 @a_cup_of_java | Другие наши каналы