Blog Posts

Перечисления в Java и подозрительный метод values()

Перечисление (Enumeration) в Java представляют собой класс, состоящий из констант. Появились в языке для удобной реализации перечисляемых типов данных. Например, светофор имеет три цвета: красный, желтый и зеленый. Вместо того, чтобы создавать отдельный статический класс с константами типа Color, у которых есть поле name в которое уже записано имя цвета. [crayon-5c133d20739db138751708/] Конструкция получилась очень неудобной. Ко всему прочему при такой реализации вы можете создать экземпляр класса TrafficLight, а это противоречит понятию перечисляемых типов. Давайте перепишем TrafficLight с помощью перечисляемых классов и

Продолжение

Apache Kafka. Быстрый старт на MacOS

Apache Kafka — это один из самых популярных брокеров сообщений на рынке IT. Когда-то был разработан LinkedIn для своих внутренних нужд, позже был передан в OpenSource. В настоящее время главным мэинтейнером Apache Kafka является компания Confluent. Думаю на истории можно остановиться. Подробнее о Apache Kafka можно почитать здесь https://kafka.apache.org. Какую проблему решает? С одной стороны, когда мы имеем один источник данных и одного потребителя данных, то Kafka и другие брокеры сообщений нам вообще ни к чему. Примерно выглядит это вот так: С

Продолжение

Еще одна статья о DI в Spring Boot

Как сказал один мудрец: вечно смотреть можно на три вещи: как течет вода, как горит огонь и как кто-то пишет очередную стать о DI в Spring Boot. Сегодня я сделаю попытку коротко описать всю эту петрушку. DI (Dependency Injection, внедрение зависимости) — процесс при котором построение одного объекта, предоставляется внешнему объекту. Или точнее это то место, где зависимость будет внедрена другим объектом. Понятнее будет на примере. Пусть у нас есть класс «Автомобиль» у него есть поле класса «Двигатель». Место где

Продолжение

Docker. Создание контейнера с базой данных Oracle

Что такое Docker и зачем он нужен? Docker — это специализированный контейнер, расположенный в среде виртуализации, предназначенный для «упаковки» в него приложения со всем его окружением и зависимостями. В настоящее время активно внедряется и успешно используется многими компаниями. Если раньше при разработке, развертывании и тестировании приложений использовались виртуальные машины с установленными на них операционными системами, то благодаря Doсker-контейнерам виртуализация получила новый виток развития. По сравнению с традиционным методом создания окружения (виртуальные машины), docker имеет ряд преимуществ: Потребление меньшего количества ресурсов

Продолжение

Как успешно пройти интервью на позицию Java-разработчика?

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

Продолжение

Site Footer