Обновить
197.72

Java *

Объектно-ориентированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Как мы в MWS создали внутренний курс для Java-разработчиков. И что можем посоветовать, если вы тоже хотите

Время на прочтение15 мин
Охват и читатели2.9K

Привет, Хабр! На связи команда «МТС Аналитика»: техлид Саша Бобряков и ведущий разработчик Рома Захаров. Со дня на день мы в MWS запустим собственный комплексный курс по Java, который создали в рамках внутренней образовательной платформы МТС Тета. Он предназначен для внутренних разработчиков и поможет вырасти из уровня middle в senior. 

Зачем мы вообще его затеяли? Нам хотелось систематизировать «коллективный опыт» компании, выровнять грейды, чтобы мидл в условной команде X владел теми же навыками, что и мидл в команде Y, а еще — дать коллегам надежную базу, чтобы они росли в своем направлении. Работая над курсом, мы и сами многому научились. Например, выступать перед камерой, беспощадно отсекать избыточное, а еще — находить общий язык с дизайнерами (да, разрабам это не всегда дается легко).

Сейчас мы на финишной прямой, и пока впечатления о процессе работы еще свежи, нам захотелось ими с вами поделиться. Расскажем, в чем вообще польза от таких курсов для компании, как мы строили программу, какие сложности были. И посоветуем, на что стоит обратить внимание, если в вас тоже не умер преподаватель (да и ученик).

Читать далее

Новости

Compo B2B Platform vs 1С-Битрикс Enterprise: особенности внедрения

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели2.9K

Сегодня на рынке B2B/B2C‑платформ в России конкурируют два подхода. Яркие представители этих подходов, Compo B2B Platform, созданная по принципам headless‑commerce, ориентирована на модульность и микросервисный подход. С другой стороны — 1С‑Битрикс Enterprise, один из самых распространённых в России корпоративных продуктов для веб‑разработки, выросший из CMS‑системы и ставший полноценной платформой для e‑commerce и корпоративных порталов.

В этом материале мы проанализируем архитектуру, интеграции, управление данными, безопасность, бизнес‑возможности и экономику. Сравнение поможет оценить реальную применимость и ценность решений для бизнеса.

Читать далее

Ультимативный Spring-бульдозер на базе GigaIDE

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели10K

Недавно вышел новый релиз GigaIDE, c момента прошлого релиза прошло значительное количество времени, а значит, команда создающая инструмент, скорее всего не сидела без дела, а неустанно штормила и реализовывала фичи. Завариваем чаю и пробуем. Тем более выход новой версии сопровождался новостями на различных медиа площадках и ребята обещают нам свой собственный маркетплейс.

Читать далее

От минут к секундам, от ClickHouse к StarRocks: путь к real‑time в Hello

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели5.6K

Кейс Hello: миграция 100+ млрд строк с ClickHouse на StarRocks. Как ускорить аналитику в 5 раз, снизить расходы на инфраструктуру на 80% и построить real-time DWH. Разбор архитектуры, самописных инструментов валидации и подводных камней перехода.

Читать далее

О современной разработке. Часть 1: Моки — это технический долг

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели5.6K

Никак не могу оставить в прошлом, одну историю, произошедшую со мной больше 7 лет назад.

На тот момент я, еще студент последнего курса универа, только получил свою первую работу в IT... Как сейчас помню свои эмоции. Наконец-то, спустя годы подготовок и отказов, вот, наконец получаешь свойпервый «настоящий» проект. Осмотревшись по сторонам, понимаю, что кругом меня не то что других джунов нет, но даже мидлов. Сплошные синьоры и лиды, как тогда казалось — грозные дядьки, с большим опытом... Ну ничего, сейчас я им покажу, что такое «молодая гвардия» 😂.

Получаю компьютер, креды для доступа, мне подробнее рассказывают про проект, присылают ссылки на минимальный набор сервисов, что нужно будет локально поднять для работы и отправляют настраивать окружение. В первый же день я сломал заботливо предустановленную мне убунту 😂 (удалил «не ту» версию питона, которая, как выяснилась, очень нужна), ну да ладно, мелочи, с кем не бывает?

Установил минт, начал настраивать IDE, окружение, забрал себе нужные сервисы, вроде все хорошо, НО в одном из сервисов стабильно падает один и тот же тест. Запускаю отдельно — все хорошо и стабильно. Запускаю через сборщик (mvn test) — падение. Пытаюсь разобраться, что происходит — ничего не понятно. Тест падает из‑за мока, которого вообще нет в этом тестовом сценарии. Больше того, смущает ситуация, что ни на ci, ни у кого из коллег такого не происходит. Тест стабилен, да и в нем не меняли ничего уже довольно давно. Вывод: проблема на моей стороне и разбираться мне с ней самому.

Читать далее

Java. Многопоточность для самых маленьких. Часть 1

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели8.4K

Всем привет!

Многопоточность в Java не стоит на месте, а многие до сих пор используют только synchronized и создают потоки через new Thread(). С этого дня я запускаю серию уроков по современной многопоточности: как её правильно строить, в чём преимущества новых подходов по сравнению со старыми и что из классики всё ещё стоит использовать. Постараюсь объяснять максимально просто и наглядно, чтобы уроки были полезны и стажёрам, которые только начинают разбираться в теме, и опытным разработчикам, которым интересно узнать современный стиль работы с потоками.

Поехали!

Читать далее

KRepo: Spring Data для Ktor — без Spring и без боли

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели5.7K

KRepo: Никаких имплементаций или инъекций. Под капотом — динамический прокси, кэширование метаданных и независимость от фреймворков: плагины под Exposed, JDBC или MongoDB реализуются отдельно.

Читать далее

Мой Maven plugin для IDEA. Часть 3. Заключительная. Easy Maven — запуск тестов, приложения и отладка

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели5.8K

Всем привет. Ранее яуже публиковал статьи (раз и два), где рассказывал о проблемах IDEA Maven плагина, основная из которых — это импорт проектов. И о своем решении Easy Maven, как получить информацию о проекте с помощью нативного Maven плагина. Теперь я бы хотел поговорить о запуске и отладке проектов в IDEA. С ними на самом деле похожая проблема. Чтобы это все работало, нужно импортировать в IDEA все настройки компилятора из билд файлов, чтобы среда разработки могла сама компилировать и запускать проект. Но это не так то просто — постоянно появляются новые параметры и возможности компиляторов, также для каждого из JVM языка (Java, Kotlin, Groovy, Scala и так далее) есть свой компилятор со своими особенностями, annotation processors — которые надо дополнительно распознавать и загружать как jar‑файлы с их транзитивными зависимостями и импортировать в IDEA. Постоянно нужно за всем этим следить и нам опять приходить играть в догонялки. Только мы всегда находимся на шаг позади в роли отстающих и нужно тратить много ресурсов, чтобы заставить запускаться проект корректно из IDEA. Поэтому я решил и тут пойти другим путем — а зачем нам вообще все это делать и переносить настройки в IDEA, если мы можно просто выполнить Maven таск для соответствующего плагина — запуск теста или приложения? Поэтому я хотел бы остановиться на этом поподробнее и рассказать о своем решении.

Читать далее

Безопасность маленьких проектов

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели8.2K

Привет, Хабр! Я заметила, что в стартап-культуре и среди небольших команд бытует миф: «Мы слишком малы, чтобы нас атаковали». Я считаю, что сейчас это одно из опаснейших заблуждений, поэтому и решила написать статью, чтобы поделиться своими мыслями и некоторыми знаниями на эту тему.

Читать далее

Проверка OpenIDE: они этого не хотели, но мы сделали

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели7.3K

Если хотите посмотреть, что нашёл статический анализатор PVS-Studio в исходном коде Intellij платформы, используемой OpenIDE, то добро пожаловать в статью.

Читать далее

Расширяем функционал Apache NiFi 2.0: руководство к написанию своего процессора

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели6K

Привет, Хабр!

В последние годы потоки данных в различных системах и между ними только увеличиваются, а в дальнейшем этот тренд наврятли изменится. Для работы с данными всегда требуются различные инструменты.

Apache NiFi — программный продукт с открытым исходным кодом, написанный на языке Java, предназначенный для автоматизации потоков данных между системами. Главная его задача: организовывать ETL-процессы. На GitHub у Apache NiFi имеется 5.9 тысяч звезд.

Эта статья посвящена написанию процессора для Apache NiFi на Java и требует базовых знаний в области Apache NiFi, опыт программирования на Java и IDE на борту компьютера.

Читать далее

Как прошёл Java Rock Stars Meetup в сентябре (и чего ожидать в декабре)

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели7.4K

25 сентября в Москве прошёл Java Rock Stars Meetup, в котором было всё: доклады, холивары о будущем Spring в России и много нетворкинга.

Пока готовился обзор прошедшего митапа, мы уже успели организовать новый и заключительный в этом году Java Rock Stars Meetup, который пройдёт 2 декабря в Москве в привычном месте — лофте Casa Picassa.

Регистрируйтесь на митап по ссылке.

А пока присоединяйтесь к нашему ТГ-каналу и чату Java Rock Stars Meetup, чтобы быть в курсе новостей митапа.

Читать далее

Как я проходил собеседование на Senior Java

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели17K

Всем привет!

Сейчас я работаю Senior Java Developer в банке, и за последние годы мне довелось пройти немало собеседований — разных по уровню, стилю и степени жесткости. Сегодня я хочу рассказать об одном из них и поделиться опытом, который может быть полезен тем, кто тоже готовится к новым вызовам.

Читать далее

Ближайшие события

Spring Boot 4. Новые модули. Зачем?

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели12K

Это довольно короткая статья, целью которой является пояснение того, что вообще такое "модуляризация" Spring Boot, почему она появилась и откуда, собственно, ноги растут.

Для многих Spring Boot это просто автоконфигурация. Само собой Spring Boot гораздо шире и включает в себя в том числе ещё и

Spring Boot Actuator

Spring Boot DevTools

Spring Boot Tools и т.д.

Читать далее

Kafka без боли: моя шпаргалка для собесов в Java. Часть 5

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели8.6K

Всем привет!

Я работаю Senior Java Developer в одном из банков, и за последние годы мне довелось пройти не один десяток собеседований, выслушать массу неожиданных вопросов и потратить немало времени на подготовку. И вот что я понял: Kafka - одна из самых любимых и в то же время самых коварных тем на технических интервью. Независимо от уровня кандидата, вопросы по Kafka появляются почти всегда - от базовой архитектуры до тонкостей гарантий доставки и работы consumer groups.

Сегодня я хочу помочь подготовиться к вопросам по Kafka, вопросы будут разной сложности, будет интересно. Поехали!

Читать далее

Вышла GigaIDE 2025.1: подключаем свой маркетплейс плагинов

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели6.6K

На днях вышла новая версия GigaIDE Community Edition. Долгожданное обновление, которое помимо обновления базовой платформы до IntelliJ 2025.1 и мультиагентной системы на базе GigaCode, имеет собственный маркетплейс плагинов. Особенно стоит отметить, что команда GigaIDE пошла по пути максимальной открытости и добавила возможность переключаться между различными маркетплейсами прямо в интерфейсе GigaIDE.

Читать далее

Упрощаем работу с микросервисами при помощи API Gateway на Java

Время на прочтение5 мин
Охват и читатели6.2K

Микросервисы легко разрастаются до зоопарка эндпоинтов, где каждый сервис живёт по своим правилам, а клиенту приходится знать обо всех. В статье разберем, как API Gateway превращает этот хаос в единую точку входа: берёт на себя маршрутизацию, аутентификацию, агрегацию запросов и наблюдаемость. На простом примере с Spring Cloud Gateway рассмотрим, как собрать такой слой поверх Java-сервисов и упростить жизнь и разработчикам, и внешним потребителям API.

Разобраться с Gateway

БД без боли: моя шпаргалка для собесов в Java. Часть 4

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели11K

Всем привет!


Я Senior Java Developer в банке, и за эти годы мне довелось пройти немало собеседований. Где-то было спокойно, где-то — как в допросной, с каверзными вопросами, странными задачами и вечным «а почему так, а не иначе?». В процессе я собрал целую коллекцию тем, которые всплывают снова и снова, особенно когда дело касается баз данных.

Сегодня хочу поделиться этим опытом и разобрать вопросы, которые чаще всего задают именно по SQL-базам.

Читать далее

CookBook maven plugin. CDI, отладка и тестирование

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели5.7K

CookBook maven plugin. CDI, отладка и тестирование. Цель статьи - рассказать об опыте разработки плагина.

Читать далее

Как защить сборки: криптография «из коробки» и подключение ГОСТ-провайдеров

Уровень сложностиПростой
Время на прочтение1 мин
Охват и читатели5.2K

Приглашаем на вебинар, на котором поговорим, как защитить сборки, избежать зависимостей от внешних репозиториев и повысить надёжность.

Вебинар бесплатный, нужно только зарегистрироваться.

Читать далее
1
23 ...

Вклад авторов