Как стать автором
Обновить
0
0
Анатолий @atpshnik

Java Developer

Отправить сообщение

Как расширить JPA для работы с PostgreSQL

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров5.9K

Всем привет! Меня зовут Антон, я — архитектор компании ITFB Group. Пережив несколько проектов, на которых встречается стек PostgreSQL с использованием связки PostgreSQL + JPA, мне удалось устранить большое количество проблем, связанных с неоптимальной интеграцией функциональности PostgresSQL в Java-приложения. В этой cтатье мы максимально подробно разберем, как можно настроить JPA для эффективной работы с PostgreSQL. Всем, кому интересна эта тема, добро пожаловать под кат)

Читать далее
Всего голосов 9: ↑7 и ↓2+7
Комментарии8

Что нужно знать, чтобы успешно пройти System Design Interview

Время на прочтение16 мин
Количество просмотров44K

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

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

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

Читать далее
Всего голосов 49: ↑47 и ↓2+56
Комментарии26

Попросил нейросети собрать игровой ПК за 100 000 рублей. Вот что из этого получилось

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

Говорят, что нейросети могут все. Они пишут дипломы, знакомятся с девушками, рисуют картины и в считанные минуты делают то, на что профессионалам, возможно, потребовались бы часы, дни или даже недели. Многие верят, что такими темпами развития им совсем скоро удастся заменить людей в десятках и сотнях профессий. Рассуждать на эту тему мы не будем, а просто попробуем попросить нейросети собрать игровой компьютер, и посмотрим, насколько хороший результат нам выдаст ИИ.

Читать далее
Всего голосов 47: ↑32 и ↓15+31
Комментарии159

Перемещение указателя на смещение в Kafka

Время на прочтение3 мин
Количество просмотров3K

В данной статье описывается задача, в которой необходимо слушать сообщения с определенного смещения(offset) в Kafka. Для решения данной задачи потребуется интерфейс ConsumerSeekAware и найти позицию с которой нужно начать слушание. Так же необходимо будет создать механизм перезапуска слушателя сообщений Kafka. В примерах кода используются Java и Spring фреймворк.

Читать далее
Всего голосов 7: ↑6 и ↓1+7
Комментарии0

Spring Boot Starter: практически, принципиально и подробнее. Часть 1

Время на прочтение9 мин
Количество просмотров11K

Всем привет, меня зовут Сергей Соловых, я Java-разработчик в команде МТС Digital. За последние 2 года я написал и выпустил в продакшен более 30 микросервисов. Выдержать столь высокий темп помогло применение общепроектных решений и паттернов разработки.

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

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

Первую часть мы посвятим созданию принципиального решения, которое позволит запустить стартер как подключаемую к другому Spring Boot-приложению библиотеку.

Читать далее
Всего голосов 12: ↑12 и ↓0+14
Комментарии3

Управление оффсетами в Kafka

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров7.2K

Сегодня в статье разберем, как Kafka обрабатывает оффсеты сообщений и какие существуют стратегии их сохранения и обновления.

Оффсет в Kafka — это числовой идентификатор, который указывает позицию каждого сообщения внутри партиции топика. Оффсеты представляют собой порядковые номера, начинаемые с нуля, и уникальны в рамках каждой партиции, но не между разными партициями. Т.е сообщение с оффсетом 5 в партиции 1 и сообщение с оффсетом 5 в партиции 2 — это разные сообщения.

Читать далее
Всего голосов 9: ↑6 и ↓3+8
Комментарии0

SOLIDно знать…

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

SOLID. Принципы и Паттерны. Паттерны и Принципы.
Что может быть ближе друг другу чем эти субстанции ?! Эта статья проведет параллель между ними, она не собирается объяснить суть каждой, вместе или отдельно, а желает показать как одна другой помогает.
То есть, статья в некотором роде перекрестный бой между паттернами и SOLID принципами.

Читать далее
Всего голосов 15: ↑8 и ↓7+5
Комментарии21

Погружаемся в Kubernetes: полезные материалы от сотрудников Selectel

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

Часто новичкам сложно начать работу с Kubernetes. Нужно перебрать с десяток курсов, прежде чем они найдут действительно полезные материалы. Чтобы помочь вам с выбором, мы попросили коллег порекомендовать ресурсы для изучения Kubernetes. Сохраняйте в закладки: пригодится начинающим разработчикам, администраторам и DevOps-инженерам.
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии0

Запускаем PostgreSQL в Docker: от простого к сложному

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

О простых и продвинутых способах запуска PostgreSQL в Docker: добавляем healthcheck, ставим на мониторинг, настраиваем параметры.

Читать далее
Всего голосов 34: ↑32 и ↓2+35
Комментарии39

Передовой опыт тестирования в Java

Время на прочтение20 мин
Количество просмотров29K


Чтобы покрытие кода было достаточным, а создание нового функционала и рефакторинг старого проходили без страха что-то сломать, тесты должны быть поддерживаемыми и легко читаемыми. В этой статье я расскажу о множестве приёмов написания юнит- и интеграционных тестов на Java, собранных мной за несколько лет. Я буду опираться на современные технологии: JUnit5, AssertJ, Testcontainers, а также не обойду вниманием Kotlin. Некоторые советы покажутся вам очевидными, другие могут идти вразрез с тем, что вы читали в книгах о разработке ПО и тестировании.
Читать дальше →
Всего голосов 40: ↑40 и ↓0+40
Комментарии23

Несколько советов по работе с CORS для начинающих разработчиков

Время на прочтение8 мин
Количество просмотров90K

В этой статье мы с вами разберемся, что такое CORS, CORS-ошибки и из-за чего мы можем с ними сталкиваться. Я также продемонстрирую возможные решения и объясню, что такое предварительные (preflight) запросы, CORS-заголовки и в чем заключается их важность при обмене данными между сторонами.

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

Читать далее
Всего голосов 13: ↑12 и ↓1+12
Комментарии2

Kubernetes для самых маленьких

Время на прочтение14 мин
Количество просмотров24K

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

Го
Всего голосов 7: ↑4 и ↓3+1
Комментарии1

Создание очередей с низкой задержкой размером в терабайт

Время на прочтение5 мин
Количество просмотров6.3K

Очереди часто являются фундаментальными компонентами в паттернах проектирования программного обеспечения.

Но что, если каждую секунду поступают миллионы сообщений, а многопроцессорные потребители должны иметь возможность читать полный журнал всех сообщений?

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

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

Читать далее
Всего голосов 5: ↑4 и ↓1+5
Комментарии2

Чем различаются Kafka и RabbitMQ: простыми словами

Время на прочтение8 мин
Количество просмотров94K

Программные брокеры сообщения уже стали стандартом при построении больших и сложных систем. Однако до сих пор не все ИТ-специалисты понимают, как работают эти инструменты. Главный системный аналитик «Иннотех» Павел Малыгин помогает разобраться в брокерах сообщениях и их работе.

Читать далее
Всего голосов 56: ↑53 и ↓3+55
Комментарии33

Время, когда видеокассеты были большие. Рассказ с подробностями об открытии видеосалона в СССР

Время на прочтение13 мин
Количество просмотров33K

Моя история о том, как бывший школьник открыл видеосалон.Конец 80х начало 90х окунул меня в мир видеокассет VHS. За окончание школы Батя купил мне видеомагнитофон Aiwa DK510. У товарища появился видеомагнитофон Электроника ВМ-12 и мы открыли в подвале видеосалон. Первая половина дня у меня проходила в техникуме, а вторая половина благодаря компании JVC проходило в мире видео.

Читать далее
Всего голосов 42: ↑39 и ↓3+57
Комментарии142

Разбираем модульный марсоход от «Сколтеха», состоящий из четырёх двухколёсных роботов

Время на прочтение7 мин
Количество просмотров3.6K

В апреле этого года Сколковский институт науки и технологий («Сколтех») представил концепцию модульного марсохода, состоящего из четырёх двухколёсных роботов. Роботы могут функционировать по отдельности или собираться в разных комбинациях, реализуя принцип кооперативной робототехники. Информационная служба Хабра обратилась в пресс-службу «Сколтеха» с просьбой предоставить дополнительную информацию по проекту и ответить на пару вопросов. На вопросы редакции ответил доцент института и один из авторов проекта Антон Иванов.

Читать далее
Всего голосов 14: ↑11 и ↓3+18
Комментарии24

Java 17 для тех, кто не следил. Часть 1

Время на прочтение28 мин
Количество просмотров37K


Уже вышла Java 18, но для всех, кто сидит на LTS, по-прежнему остаётся актуальной версия 17. Такие люди могут не отслеживать постоянно фичи каждой новой версии, а спокойно заниматься своими делами и иногда навёрстывать сразу всё.


И как раз на такое «навёрстывание» рассчитан доклад Тагира Валеева (tagir_valeev), с которым он осенью выступил на нашем мероприятии TechTrain. Люди, которые в последние годы тщательно отслеживали все новинки в Java, тут особо много нового не узнают. Зато для остальных это удобный единый ликбез по главным вещам сразу нескольких версий: от запечатанных классов до того, почему молодёжь может зарофлить над вами из-за префиксов get и is.


Поэтому в преддверии нового TechTrain и Java-конференции JPoint мы решили сделать для Хабра текстовую версию доклада. В этом посте речь идёт о языковых фичах, а отдельно опубликуем часть про изменения в API. Далее повествование идёт от лица спикера.

Читать дальше →
Всего голосов 21: ↑20 и ↓1+26
Комментарии13

Лучшие книги по Apache Kafka

Время на прочтение15 мин
Количество просмотров30K

«Effective Kafka: A Hands-on Guide to Building Robust and Scalable Event-Driven Applications», «Kafka: The Definitive Guide» и другие издания.

В этой статье я расскажу, как изучал Apache Kafka и с какими трудностями столкнулся. Я очень надеюсь, что мои наблюдения помогут тем, кто ещё только приступает к знакомству с платформой. Здесь мы обсудим полезные ресурсы, в основном, книги, которые я прочитал, и мой опыт с платформой#nbsp;— до чтения книг и после.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии3

«Леди Колец» и юная «мадонна с младенцем» из Геркуланума. Жертвы Везувия

Время на прочтение3 мин
Количество просмотров31K

Автор: Лысый Камрад (@LKamrad)

Эта фотография обошла весь мир. Наверное, нет популярного интернет-ресурса, где бы его не опубликовали. Женщина с золотыми кольцами (Леди Колец) - жертва извержения Везувия 79 года нашей эры. Но вглядитесь внимательней в фотографию и вы поймете - здесь явно что-то не так.

Кто-то даже спрашивал меня: "А что мог значить обычай носить два кольца на одном пальце?"

Читать далее
Всего голосов 93: ↑87 и ↓6+103
Комментарии30

Бывших не бывает. Как опыт спортивного программирования влияет на работу с реальным кодом

Время на прочтение8 мин
Количество просмотров8.9K

Большинство соревнований для программистов требуют максимально быстрого решения и реализации алгоритмических задач на любом из языков программирования. Среди мобильных разработчиков популярны хакатоны, но сегодня речь пойдет о контестах. Наиболее известные из них – Codeforces Rounds, VK Cup Engine, ACM ICPC. Мы поговорим о том, как они устроены, какие плюсы и минусы есть у разработчиков с «олимпиадным» бэкграундом и как этот опыт влияет на работу с коммерческими задачами в мобильной разработке.

Читать далее
Всего голосов 11: ↑7 и ↓4+7
Комментарии10
1
23 ...

Информация

В рейтинге
6 295-й
Откуда
Воронеж, Воронежская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Technical Support Engineer
Lead
Git
SQL
Linux
Java
Bash
Ubuntu
OOP
Java Spring Framework
PostgreSQL
REST