Чашечка Java
Open in Telegram
Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels
Show more8 572
Subscribers
No data24 hours
+47 days
+130 days
Posts Archive
8 572
Как разработать онлайновый компилятор кода при помощи Java и Docker
Вы когда-нибудь задумывались, как устроены такие платформы как Codeforces и LeetCode? Как именно они компилируют и выполняют код, поступающий от множества пользователей и проверяют его в тестовых кейсах? Как определяют эффективность алгоритмов?
В этой статье мы подробно разберём, как выстроить высокоэффективную платформу для решения задач.
Исходный код к этой статье выложен на Github в этом репозитории
Читать: https://habr.com/ru/companies/piter/articles/831704/?utm_campaign=831704
@a_cup_of_java | Другие наши каналы
8 572
Работа с геометрией в JPA и Spring Boot 3
Добрый день, уважаемые читатели Хабра. В один день для моего pet-проекта понадобилось сделать добавление адресов клиентов, и проверка входит ли этот адрес в зону доставки.
Так как статей на эту тему на хабре раз и обчелся, то вот держите еще одну 😁
В этой статье мы разберем, что такое геометрия, как с ней можно работать в sql и no-sql базах данных. Приступим.
Читать: https://habr.com/ru/articles/831566/?utm_campaign=831566
@a_cup_of_java | Другие наши каналы
8 572
Использование алгоритма Бойера-Мура-Хорспула в Java с примером решения задачи с LeetCode
Алгоритм Хорспула используется для нахождения подстроки в строке. Например, у нас есть строка «The game is over» и подстрока «over». Алгоритм Хорспула вернет значение первого вхождения подстроки «over» в строку «The game is over», а именно 12.
Фактически, данный алгоритм является упрощенным алгоритмом Бойера-Мура, который, считается работает лучше, чем стандартный алгоритм на случайных текстах, но в худшем случае его скорость равна |needle| * |haystack| вместо 3 х |haystack|.
Тем не менее, для восприятия, на мой взгляд, он гораздо проще.
Итак, погнали.
Условие задачи с leetcode: https://leetcode.com/problems/find-the-index-of-the-first-occurrence-in-a-string/description/
Как работает алгоритм?
Строка и подстрока совмещаются по первому символу, и начинаются сравниваться от последнего символа к первому.
Для примера возьмем строку: «aabcdadbc» и подстроку «adb»
Совмещаются строки следующим образом (слева направо):
Читать: https://habr.com/ru/articles/831562/?utm_campaign=831562
@a_cup_of_java | Другие наши каналы
8 572
Быстрый старт: Docker + SMTP + Java/Go
Не так давно у меня появилась необходимость на нескольких проектах сделать регистрацию с подтверждением email, так же хотелось минимизировать затраты и исключить лишние телодвижения, так сказать методом ctrl+c ctrl+v, без танцев с бубном. Так же нам не нужно принимать почту и прочее, просто отправка, не более
P.s. Для прожженных отцов разработки ничего нового тут не будет
Итак, поехали ;-)
Читать: https://habr.com/ru/articles/831230/?utm_campaign=831230
@a_cup_of_java | Другие наши каналы
8 572
Разница между Веб-сервером, Сервером приложений и Контейнером сервлетов
Статья объясняет различия между веб-сервером, сервером приложений и контейнером сервлетов. Веб-сервер обслуживает статические страницы, сервер приложений выполняет динамический код, а контейнер сервлетов управляет жизненным циклом сервлетов и JSP. Примеры: Apache для веб-сервера, JBoss для сервера приложений и Tomcat для контейнера сервлетов. Подготовка к интервью по Spring
Готовитесь к интервью? Статья предлагает список вопросов по Spring Boot, Cloud, MVC и микросервисам, а также полезные курсы. Узнайте, какие аннотации использовать и как лучше подготовиться. Подпишитесь, чтобы не пропустить обновления и скидки.
Подробности: http://www.java67.com/2016/06/3-difference-between-web-server-vs-application-server-vs-servlet-container.html
#en
@a_cup_of_java | Другие наши каналы
8 572
Flyway + Spring Boot: настройка и написание миграций баз данных
Написание скриптов миграции трудоёмкий процесс. И если есть возможность это дело автоматизировать – этим нужно пользоваться!
В этом гайде я расскажу как подключить и настроить Flyway в Spring Boot приложении, сгенерировать скрипты инициализации и миграции схемы базы данных вместе с Amplicode!
Читать: https://habr.com/ru/companies/haulmont/articles/829782/?utm_campaign=829782
@a_cup_of_java | Другие наши каналы
8 572
Основные принципы проектирования микросервисов
Микросервисы — это будущее разработки ПО. Они помогают создавать масштабируемые и независимые приложения. В статье обсуждаются 10 ключевых принципов проектирования микросервисов, таких как принцип единой ответственности и слабая связанность. Ознакомьтесь с подробностями для лучшего понимания! Лучшие принципы дизайна для микросервисов
Хотите узнать, как улучшить свою разработку микросервисов? В новой статье рассматриваются ключевые принципы дизайна и их оптимальное применение на разных этапах жизненного цикла ПО. Подробные примеры из IT-индустрии помогут вам лучше понять, как использовать эти принципы для повышения продуктивности.
Подробности: http://www.java67.com/2023/09/top-10-microservices-design-principles.html
#en
@a_cup_of_java | Другие наши каналы
8 572
Разыскиваем опытных Java-разработчиков
Обязанности:
— Участие в полном цикле разработки.
— Проектирование/разработка back-end и API.
— Обеспечение чистоты кода, тестирование, код-ревью, релизы.
Требования:
— Знание Java/Kotlin, Spring.
— Понимание микросервисной архитектуры.
— Опыт SQL/NoSQL.
— Опыт командной работы, код-ревью, git flow.
Откликайтесь тут
#вакансии #работа
8 572
14 конференций осени и 14 видеозаписей докладов
Вот уже много лет мы каждую осень проводим серию конференций. Но в этот раз их впервые будет целых 14. Так что найти подходящее мероприятие смогут самые разные люди — от тех, кто пишет на Go, до тех, кто работает с машинным обучением. Некоторые конференции пройдут полностью в онлайне, но у большинства будет возможность и лично прийти на площадку.
Кратко описали их все для Хабра, и каждой добавили по видеозаписи доклада — чтобы можно было не просто читать красивые слова, а сразу увидеть конкретику и заодно узнать что-то полезное.
Вот общий список, а дальше в посте — отдельно про каждую.
— SmartData (инженерия данных)
— DotNext (.NET)
— Flow (системный и бизнес-анализ)
— PiterPy (Python)
— VideoTech (видеотехнологии)
— GoFunc (Go)
— КаргоКульт (HR-практики)
— Joker (Java)
— Heisenbug (тестирование)
— Mobius (мобильная разработка)
— SafeCode (безопасность приложений)
— DevOops (девопс)
— HolyJS (JavaScript)
— I'ML (использование ML)
Читать: https://habr.com/ru/companies/jugru/articles/830768/?utm_campaign=830768
@a_cup_of_java | Другие наши каналы
8 572
Топ 5 паттернов проектирования для Spring Boot приложений
В новом переводе от команды Spring АйО вы узнаете про 5 основных паттернов проектирования, которые часто применяются в Spring Boot приложениях:
1. Singleton
2. Factory Method
3. Repository
4. Service Layer
5. Facade
Эти паттерны, несмотря на их кажущуюся простоту и широкое распространение, играют ключевую роль в улучшении чистоты, упрощении и повышении поддерживаемости вашего кода.
Читать: https://habr.com/ru/companies/spring_aio/articles/830496/?utm_campaign=830496
@a_cup_of_java | Другие наши каналы
8 572
Java News Roundup: JDK 23 in Rampdown Phase Two, Graal Development Kit, Payara Platform, JSpecify
This week's Java roundup for July 15th, 2024 features news highlighting: JDK 23 in Rampdown Phase Two: the July 2024 Payara Platform release; Graal Development Kit for Micronaut 4.5.0; GraalVM for JDK 22 Community 22.0.2; JSpecify 1.0.0, MicroProfile 7.0-RC1, Open Liberty 24.0.0.7; and the July 2024 Oracle Critical Patch Update.
By Michael Redlich
Read: https://www.infoq.com/news/2024/07/java-news-roundup-jul15-2024/
@a_cup_of_java | Другие наши каналы
8 572
Рекурсия в Java с примером решения задачи с LeetCode
Рекурсивные методы в Java — это методы, которые вызывают сами себя и требуют осторожности с их обращением.
Чтобы не увидеть «StackOverflowError» на экране, нужно помнить о двух штуках: базисе и шаге рекурсии.
Базис — это условие выхода из рекурсии, а шаг — это вызов методом самого себя с измененными параметрами.
Самый частый пример, который можно встретить в интернете при попытке найти информацию о рекурсии — нахождение факториала числа. Быстренько пройдемся по нему перед рассмотрением более интересной задачки с leetCode.
Читать: https://habr.com/ru/articles/830620/?utm_campaign=830620
@a_cup_of_java | Другие наши каналы
8 572
Разбираемся с MavenGate. Настолько ли он страшен на самом деле
Привет, Хабр!
Меня зовут Михаил, я исследователь Центра научных исследований и перспективных разработок, в круг моих обязанностей входит разработка мобильных приложений Android и исследование безопасности разрабатываемых решений. Сегодня рассмотрим, так ли страшен "черт", как его малюют, или насколько страшен MavenGate на самом деле.
Читать: https://habr.com/ru/companies/infotecs_official/articles/830600/?utm_campaign=830600
@a_cup_of_java | Другие наши каналы
8 572
JEP 481: Third Preview of Scoped Values API Brings Key Enhancements in JDK 23
JEP 481, Scoped Values (Third Preview), formerly known as Extent-Local Variables (Incubator), offers a third preview, with one change, to gain additional experience and feedback from one round of incubation and two rounds of preview. This feature enables the sharing of immutable data within and across threads.
By A N M Bazlur Rahman
Read: https://www.infoq.com/news/2024/07/jep-481-enhanced-scoped-values/
@a_cup_of_java | Другие наши каналы
8 572
Тестируем качественные характеристики. Как сделать сложное простым
Привет, Хабр! Меня зовут Юрий Заковряшин. Я занимаюсь разработкой ПО более 40 лет, преподаю курсы по технологиям разработки программного обеспечения и программированию на платформе Java в СПбПУ Петра Великого.
В этой статье я расскажу о некоторых приемах в разработке тестов, которые позволяют на практике избежать серьезных пробелов в тестировании качественных характеристик программных систем. Статья предназначена для начинающих тестовых инженеров, но может быть полезной и более опытным разработчикам.
Читать: https://habr.com/ru/companies/beeline_cloud/articles/830560/?utm_campaign=830560
@a_cup_of_java | Другие наши каналы
8 572
Amplicode учит вашу IDE говорить на языке Spring Boot!
Amplicode – это многофункциональный плагин для IntelliJ IDEA Community, Ultimate и GigaIDE, который упрощает и ускоряет работу с технологиями Spring Boot, JPA, Docker, Kafka, Liquibase, MapStruct и т.д.
Основные возможности:
— Навигация по проекту согласно архитектуре Spring приложения
— Создание объектов сразу в терминах фреймворка вместо Java классов: контроллеры, репозитории, сервисы, сущности, события, DTO, мапперы и т.д.
— Палитра и инспектор, позволяющие видеть опции, доступные разработчику в текущем контексте
— Умные инжекции, подсказки и исправление ошибок
Это лишь малая часть того, на что способен Amplicode. При этом в настоящий момент возможности доступны абсолютно бесплатно!
Сделано с любовью к разработчикам командой, создавшей суперпопулярный плагин JPA Buddy.
Попробовать Amplicode
Посмотрите, как Amplicode помогает разрабатывать на Spring Boot в IntelliJ IDEA!
Реклама. ООО «Хоулмонт», ИНН 6316134393, erid: LjN8K2NGL
8 572
Spring Ecosystem Delivers Numerous Milestone Releases
There was a flurry of activity in the Spring ecosystem during the week of July 15th, 2024, highlighting milestone releases of: Spring Boot 3.4.0-M1; Spring Framework 6.2.0-M6; Spring Security 6.4.0-M1; Spring Session 3.4.0-M1; Spring Integration 6.4.0-M1; and Spring Modulith 1.3.0-M1; Spring AMQP 3.2.0-M1; and Spring for Apache Kafka 3.3.0-M1.
By Michael Redlich
Read: https://www.infoq.com/news/2024/07/spring-releases-jul15-2024/
@a_cup_of_java | Другие наши каналы
8 572
Упрощённая сортировка объектов в Java 8
Класс Comparator в Java 8 стал более мощным и удобным благодаря лямбда-выражениям и методам ссылок. Актуальный пример показывает, как можно сортировать объекты с использованием новых возможностей JDK 8. Статья содержит 10 примеров для ежедневных задач разработчика. Узнайте больше: [ссылка на статью] Методы сортировки книг в Java 8
Узнайте, как сортировать списки объектов книг в Java 8 с помощью Comparator. Научитесь использовать лямбда-выражения, ссылки на методы и статические методы для сортировки по различным критериям: году публикации, цене и названию. Это значительно упрощает код и делает его более читаемым. Сортировка с учетом null значений в Java 8
В статье рассмотрены методы сортировки объектов с использованием Comparator в Java 8. Основное внимание уделено обработке null значений с помощью методов nullsFirst() и nullsLast(). Примеры кода показывают, как упорядочить книги по году, цене и названию, сохраняя при этом корректную обработку отсутствующих данных.
Подробности: http://www.java67.com/2023/10/10-example-of-comparator-and-sorting-in.html
#en
@a_cup_of_java | Другие наши каналы
8 572
Мы сопоставили языки программирования с специализацией World Of Warcraft
Привет, друзья разработчики и геймеры!
Мы с командой разработчиков "*** Telecom" решили весело и с увлечением сопоставить языки программирования с классами из мира World of Warcraft. Почему бы не объединить наше любимое хобби с нашей профессиональной деятельностью? Давайте вместе погрузимся в этот волшебный мир и узнаем, как каждый язык программирования может быть аналогом одного из классов в WoW!
Читать: https://habr.com/ru/articles/830214/?utm_campaign=830214
@a_cup_of_java | Другие наши каналы
Available now! Telegram Research 2025 — the year's key insights 
