Всем привет! Меня зовут Антон, я — архитектор компании ITFB Group. Пережив несколько проектов, на которых встречается стек PostgreSQL с использованием связки PostgreSQL + JPA, мне удалось устранить большое количество проблем, связанных с неоптимальной интеграцией функциональности PostgresSQL в Java-приложения. В этой cтатье мы максимально подробно разберем, как можно настроить JPA для эффективной работы с PostgreSQL. Всем, кому интересна эта тема, добро пожаловать под кат)
Java Developer
Что нужно знать, чтобы успешно пройти System Design Interview
Для любого разработчика глубокое понимание основных принципов системного проектирования является необходимым условием для создания стабильных и масштабируемых программных систем, способных обеспечивать высокую производительность. Системное проектирование (System Design) включает разработку архитектуры и структуры программной системы, направленную на удовлетворение специфических требований и обеспечение требуемых показателей производительности.
С учетом стремительного прогресса в области технологий и возрастающей сложности программных приложений, овладение принципами системного проектирования становится критически важным для разработчиков, стремящихся создавать эффективные системы. Не имеет значения новичок вы или опытный специалист: освоение этих принципов позволит вам разрабатывать надежные и масштабируемые программные системы, отвечающие требованиям современных приложений.
Далее мы рассмотрим каждый из принципов более детально, чтобы понять их суть и способы применения в разработке приложений.
Попросил нейросети собрать игровой ПК за 100 000 рублей. Вот что из этого получилось
Говорят, что нейросети могут все. Они пишут дипломы, знакомятся с девушками, рисуют картины и в считанные минуты делают то, на что профессионалам, возможно, потребовались бы часы, дни или даже недели. Многие верят, что такими темпами развития им совсем скоро удастся заменить людей в десятках и сотнях профессий. Рассуждать на эту тему мы не будем, а просто попробуем попросить нейросети собрать игровой компьютер, и посмотрим, насколько хороший результат нам выдаст ИИ.
Перемещение указателя на смещение в Kafka
В данной статье описывается задача, в которой необходимо слушать сообщения с определенного смещения(offset) в Kafka. Для решения данной задачи потребуется интерфейс ConsumerSeekAware и найти позицию с которой нужно начать слушание. Так же необходимо будет создать механизм перезапуска слушателя сообщений Kafka. В примерах кода используются Java и Spring фреймворк.
Spring Boot Starter: практически, принципиально и подробнее. Часть 1
Всем привет, меня зовут Сергей Соловых, я Java-разработчик в команде МТС Digital. За последние 2 года я написал и выпустил в продакшен более 30 микросервисов. Выдержать столь высокий темп помогло применение общепроектных решений и паттернов разработки.
Общепроектные решения — хорошая практика. Так можно создать единую основу для всех микросервисов, снизить риск ошибок и сосредоточиться на конкретных задачах, связанных с бизнес-логикой наших проектов. К тому же, микросервисы на единой основе легче интегрировать друг с другом, а это важно при разработке сложных систем.
В этом цикле статей я поделюсь выжимкой из материалов, накопленных мною в процессе создания микросервисов. Это будет полезно тем, кто только начинает разбираться, что же такое Spring Boot Starter и с чем его едят.
Первую часть мы посвятим созданию принципиального решения, которое позволит запустить стартер как подключаемую к другому Spring Boot-приложению библиотеку.
Управление оффсетами в Kafka
Сегодня в статье разберем, как Kafka обрабатывает оффсеты сообщений и какие существуют стратегии их сохранения и обновления.
Оффсет в Kafka — это числовой идентификатор, который указывает позицию каждого сообщения внутри партиции топика. Оффсеты представляют собой порядковые номера, начинаемые с нуля, и уникальны в рамках каждой партиции, но не между разными партициями. Т.е сообщение с оффсетом 5 в партиции 1 и сообщение с оффсетом 5 в партиции 2 — это разные сообщения.
SOLIDно знать…
SOLID. Принципы и Паттерны. Паттерны и Принципы.
Что может быть ближе друг другу чем эти субстанции ?! Эта статья проведет параллель между ними, она не собирается объяснить суть каждой, вместе или отдельно, а желает показать как одна другой помогает.
То есть, статья в некотором роде перекрестный бой между паттернами и SOLID принципами.
Погружаемся в Kubernetes: полезные материалы от сотрудников Selectel
Часто новичкам сложно начать работу с Kubernetes. Нужно перебрать с десяток курсов, прежде чем они найдут действительно полезные материалы. Чтобы помочь вам с выбором, мы попросили коллег порекомендовать ресурсы для изучения Kubernetes. Сохраняйте в закладки: пригодится начинающим разработчикам, администраторам и DevOps-инженерам.
Запускаем PostgreSQL в Docker: от простого к сложному
О простых и продвинутых способах запуска PostgreSQL в Docker: добавляем healthcheck, ставим на мониторинг, настраиваем параметры.
Передовой опыт тестирования в Java
Чтобы покрытие кода было достаточным, а создание нового функционала и рефакторинг старого проходили без страха что-то сломать, тесты должны быть поддерживаемыми и легко читаемыми. В этой статье я расскажу о множестве приёмов написания юнит- и интеграционных тестов на Java, собранных мной за несколько лет. Я буду опираться на современные технологии: JUnit5, AssertJ, Testcontainers, а также не обойду вниманием Kotlin. Некоторые советы покажутся вам очевидными, другие могут идти вразрез с тем, что вы читали в книгах о разработке ПО и тестировании.
Несколько советов по работе с CORS для начинающих разработчиков
В этой статье мы с вами разберемся, что такое CORS, CORS-ошибки и из-за чего мы можем с ними сталкиваться. Я также продемонстрирую возможные решения и объясню, что такое предварительные (preflight) запросы, CORS-заголовки и в чем заключается их важность при обмене данными между сторонами.
Эта статья рассчитана на тех, у кого уже есть базовые познания в области веб-разработки и некоторый опыт с протоколом HTTP. Я старался писать статью так, чтобы она была понятна и новичкам, будучи наполненной знаниями, но при этом стараясь избегать слишком большого количества технических нюансов, не связанных с темой CORS.
Kubernetes для самых маленьких
Сегодня Вы узнаете, как онлайн, с смс и регистрацией задеплоить своё приложение в kubernetes. Поехали!
Создание очередей с низкой задержкой размером в терабайт
Очереди часто являются фундаментальными компонентами в паттернах проектирования программного обеспечения.
Но что, если каждую секунду поступают миллионы сообщений, а многопроцессорные потребители должны иметь возможность читать полный журнал всех сообщений?
Java может хранить ограниченное количество информации, пока куча не станет ограничивающим фактором, в результате чего сборка мусора будет иметь большие последствия, что потенциально может помешать нам выполнить целевые SLA (соглашения об уровне обслуживания) или даже остановить JVM на секунды или даже минуты.
В этой статье рассказывается о том, как создавать огромные персистентные очереди, сохраняя при этом предсказуемую и стабильную низкую задержку с помощью Chronicle Queue с открытым исходным кодом.
Чем различаются Kafka и RabbitMQ: простыми словами
Программные брокеры сообщения уже стали стандартом при построении больших и сложных систем. Однако до сих пор не все ИТ-специалисты понимают, как работают эти инструменты. Главный системный аналитик «Иннотех» Павел Малыгин помогает разобраться в брокерах сообщениях и их работе.
Время, когда видеокассеты были большие. Рассказ с подробностями об открытии видеосалона в СССР
Моя история о том, как бывший школьник открыл видеосалон.Конец 80х начало 90х окунул меня в мир видеокассет VHS. За окончание школы Батя купил мне видеомагнитофон Aiwa DK510. У товарища появился видеомагнитофон Электроника ВМ-12 и мы открыли в подвале видеосалон. Первая половина дня у меня проходила в техникуме, а вторая половина благодаря компании JVC проходило в мире видео.
Разбираем модульный марсоход от «Сколтеха», состоящий из четырёх двухколёсных роботов
В апреле этого года Сколковский институт науки и технологий («Сколтех») представил концепцию модульного марсохода, состоящего из четырёх двухколёсных роботов. Роботы могут функционировать по отдельности или собираться в разных комбинациях, реализуя принцип кооперативной робототехники. Информационная служба Хабра обратилась в пресс-службу «Сколтеха» с просьбой предоставить дополнительную информацию по проекту и ответить на пару вопросов. На вопросы редакции ответил доцент института и один из авторов проекта Антон Иванов.
Java 17 для тех, кто не следил. Часть 1
Уже вышла Java 18, но для всех, кто сидит на LTS, по-прежнему остаётся актуальной версия 17. Такие люди могут не отслеживать постоянно фичи каждой новой версии, а спокойно заниматься своими делами и иногда навёрстывать сразу всё.
И как раз на такое «навёрстывание» рассчитан доклад Тагира Валеева (tagir_valeev), с которым он осенью выступил на нашем мероприятии TechTrain. Люди, которые в последние годы тщательно отслеживали все новинки в Java, тут особо много нового не узнают. Зато для остальных это удобный единый ликбез по главным вещам сразу нескольких версий: от запечатанных классов до того, почему молодёжь может зарофлить над вами из-за префиксов get
и is
.
Поэтому в преддверии нового TechTrain и Java-конференции JPoint мы решили сделать для Хабра текстовую версию доклада. В этом посте речь идёт о языковых фичах, а отдельно опубликуем часть про изменения в API. Далее повествование идёт от лица спикера.
Лучшие книги по Apache Kafka
«Effective Kafka: A Hands-on Guide to Building Robust and Scalable Event-Driven Applications», «Kafka: The Definitive Guide» и другие издания.
В этой статье я расскажу, как изучал Apache Kafka и с какими трудностями столкнулся. Я очень надеюсь, что мои наблюдения помогут тем, кто ещё только приступает к знакомству с платформой. Здесь мы обсудим полезные ресурсы, в основном, книги, которые я прочитал, и мой опыт с платформой#nbsp;— до чтения книг и после.
«Леди Колец» и юная «мадонна с младенцем» из Геркуланума. Жертвы Везувия
Автор: Лысый Камрад (@LKamrad)
Эта фотография обошла весь мир. Наверное, нет популярного интернет-ресурса, где бы его не опубликовали. Женщина с золотыми кольцами (Леди Колец) - жертва извержения Везувия 79 года нашей эры. Но вглядитесь внимательней в фотографию и вы поймете - здесь явно что-то не так.
Кто-то даже спрашивал меня: "А что мог значить обычай носить два кольца на одном пальце?"
Бывших не бывает. Как опыт спортивного программирования влияет на работу с реальным кодом
Большинство соревнований для программистов требуют максимально быстрого решения и реализации алгоритмических задач на любом из языков программирования. Среди мобильных разработчиков популярны хакатоны, но сегодня речь пойдет о контестах. Наиболее известные из них – Codeforces Rounds, VK Cup Engine, ACM ICPC. Мы поговорим о том, как они устроены, какие плюсы и минусы есть у разработчиков с «олимпиадным» бэкграундом и как этот опыт влияет на работу с коммерческими задачами в мобильной разработке.
Информация
- В рейтинге
- 6 295-й
- Откуда
- Воронеж, Воронежская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность