Как стать автором
Обновить
0
0
Лукашин Алексей @theco6ak

Пользователь

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

Apache Kafka и Spring Boot: лёгкая интеграция

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

Kafka — это универсальный и мощный инструмент для построения конвейеров данных в реальном времени и событийно-ориентированных приложений. Перевели туториал, где рассматривается интеграция Kafka с экосистемой Spring Boot.

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

Построение гибкой и распределенной архитектуры с использованием Kafka и Kafka Connect: Часть 2 — Получатель и Helm Chart

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

Данная статья является продолжением статьи - Ивентная модель данных с использованием Kafka и Kafka Connect: Построение гибкой и распределенной архитектуры.

Добро пожаловать во вторую часть статьи о построении гибкой и распределенной архитектуры с использованием Apache Kafka и Kafka Connect! В первой части мы ознакомились с ивентной моделью данных, разработали сервис отправителя и настроили интеграцию с Kafka, чтобы асинхронно отправлять сообщения. Теперь настало время рассмотреть вторую часть этого увлекательного проекта.

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

Как легко перейти с Java на Rust: Особенности и советы

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

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

Кроме того, я создал три open source библиотеки на Rust, которые публиковал на GitHub. Это позволило мне лучше изучить идиоматичный Rust, работу с асинхронностью и т. д.

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

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

Сравнительный анализ Apache Kafka и RabbitMQ

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

Сравнительный анализ Apache Kafka и RabbitMQ

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

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

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

Реализация gRPC с помощью Java и Spring Boot

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

Хорошо бы понимать различия между HTTP/1.1 и HTTP/2, поскольку gRPC использует HTTP/2 по умолчанию.

Характеристики HTTP/1.1:

- Текстовый формат
- Заголовки в текстовом формате
- TCP-соединение требует «трехстороннего рукопожатия» (three-way handshake) — один запрос и ответ с одним единственным TCP-соединением.

Характеристики HTTP/2:

- Бинарный формат
- Сжатие заголовков
- Управление потоком
- Мультиплексирование (одно и то же TCP-соединение может быть повторно использовано для мультиплексирования. Потоковая передача с сервера — потоковая передача от клиента — возможна двунаправленная потоковая передача)

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

Корни RxJava — о чем мы не подозревали

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

В этой статье описано то, как под капотом работает RxJava и почему она работает именно так, а не иначе. Статья рекомендуется к прочтению разработчикам уровня junior - middle, так же очень желательно перед прочтением статьи ознакомиться/вспомнить паттерн Observer, потому что вся история основана на нём.

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

KeyCloak и микро-сервисы. Как облегчить жизнь программисту

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

Привет! Если ты так же как и я решил использовать keycloak для аутентификации и авторизации в своей микро‑сервисной архитектуре, то я расскажу вам как правильно настроить сам keycloak, его рабочую среду а в конце мы подключим Active Directory к нашему приложению.

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

Типовое использование RabbitMQ

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

Алексей Барабанов, IT-директор «Хлебница» и спикер курса «RabbitMQ для админов и разработчиков», подготовил конспект о типовых архитектурных паттернах RabbitMQ. Из него вы узнаете, как настроить пайплайны обработки и реализовать очереди повторных попыток (в том числе, через механизм dead letter exchange). 

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

Лучшие инструменты для написания статей и постов на английском

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

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

Не верите? Посмотрите AI для Notion. Этот парень реально пишет блог за вас, не всегда правильно, но все же...

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

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

Читать далее
Всего голосов 24: ↑22 и ↓2+20
Комментарии6

Оптимизация Dockerfile для уменьшения размера и быстрой сборки образов

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

У каждого образа Docker есть свой размер, который он занимает на жёстком диске. Порой бывает так, что контейнер с запущенным приложением на языке программирования Go, который содержит в себе всего лишь одну строчку с выводом фразы «Hello, world!» может занимать сотни Мб, в то время как существуют образы содержащие легковесные ОС весом всего лишь 5 Мб (alpine).

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

Читать далее
Всего голосов 31: ↑27 и ↓4+23
Комментарии27

Локальный сервер для разработки (dns, nginx & git)

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

В итоге мы получим домашний сервер с фейковым доменом, на поддомене которого мы развернём GitLab и настроим работу gitlab-runner'а для деплоя наших веб-проектов.

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

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

Kubernetes the hard way

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

Всем привет. Меня зовут Добрый Кот Telegram.

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

Вошли и вышли, приключение на 20 минут)

От коллектива FR-Solutions и при поддержке @irbgeo Telegram : Продолжаем серию статей о K8S.

Начать приключение
Всего голосов 34: ↑34 и ↓0+34
Комментарии16

Как выразительно отвечать на вопросы на английском языке и звучать убедительно

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

В наше время коротких текстовых и голосовых сообщений бывает сложно дать развернутый ответ о своих предпочтениях в выборе инструментов и техник на собеседовании с HR- специалистом или при обсуждении вопросов специфики проекта с потенциальным работодателем. Часто краткие ответы не подходят в данной ситуации и ведут к еще большему потоку вопросов со стороны собеседника. Как же быть в таком случае?

Предлагаю обратиться к аутентичным источникам и посмотреть, как это делают носители языка. Прочитав отрывок из интервью с Полом Айришем (Paul Irish) каналу Treehouse, который на момент съемки занимал должность разработчика в Google Chrome, мы можем найти фрагменты ответа, указывающие:

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

Основы Terraform

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

Управление распределенной архитектурой требует значительных трудозатрат и финансовых вложений. Для автоматизации этого процесса можно использовать различные самописные скрипты, но лучше воспользоваться готовыми решениями с открытым исходным кодом. Одним из наиболее известных решений для автоматизации управления инфраструктурой является Terraform. Это Open source решение для управления IaC от компании Hashicorp, разработанное в 2014 году. Решение придерживается декларативного стиля управления инфраструктурой, то есть, вы описываете в конфигурационном файле  финальное состояние инфраструктуры, а Terraform приводит её к этому состоянию. В качестве примера можно привести автоматическое развертывание пула виртуальных машин, например для проведения обучения работе с каким-либо ПО.

Ручное создание пары десятков виртуалок может занять целый день, а с помощью Terraform это займет менее часа.

Для того, чтобы описание работы с Terraform не было “сферическим конем в вакууме”, мы в качестве наглядного примера, рассмотрим практический пример создания экземпляра EC2 в AWS.

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

Глубокое погружение в Java Memory Model

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


Я провел в изучении JMM много часов и теперь делюсь с вами знаниями в простой и понятной форме.


В этой статье мы подробно разберем Java Memory Model (JMM) и применим полученные знания на практике. Да, в интернете накопилось достаточно много информации про JMM/happens-before, и, кажется, что очередную статью про такую заезженную тему можно пропускать мимо. Однако я постараюсь дать вам намного большее и глубокое понимание JMM, чем большинство информации в интернете. После прочтения этой статьи вы будете уверенно рассуждать о таких вещах как memory ordering, data race и happens-before. JMM — сложная тема и не стоит верить мне на слово, поэтому большинство моих утверждений подтверждается цитатами из спеки, дизассемблером и jcstress тестами.

Читать дальше →
Всего голосов 109: ↑109 и ↓0+109
Комментарии60

Разбираемся в Apache Kafka: подборка полезных статей и кейсов

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

Разрабатываете приложения с применением Apache Kafka? Мы собрали для вас статьи, которые помогут освоить инструмент, познакомят с рабочими кейсами с использованием ПО. Делимся пользой и свежими идеями, подборками книг и реализованными задумками.

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

Pre-Commit хуки, о которых DevOps-инженер должен знать, чтобы управлять Kubernetes

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

Контролировать качество исходного кода как можно раньше в жизненном цикле проекта - хорошая практика. Давайте разберемся, как применять этот принцип в работе с Kubernetes.

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

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

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

Введение в Event Modeling

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

Event Modeling — это метод описания информационных систем на основе анализа изменений информации с течением времени. В частности, опускаются временные детали и выделяется то, что хранится долговременно, то что пользователь видит в любой конкретный момент времени. Это события на временной шкале, формирующие описание системы.

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

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

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

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

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

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

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

Анатомия идеального технического собеседования от бывшего вице-президента Amazon

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

Нилу Роузману уже порядком надоело слушать, как компании Кремниевой долины говорят, будто нанимают «только самых лучших и самых способных». Неважно, сколько раз они это повторяют, большинство компаний по-прежнему принимают решения, основываясь на интуиции, дипломе соискателя, его среднем балле, образовании, полученном в Лиге плюща, броских именах прошлых работодателей и даже на баллах SAT. Роузман против такого подхода. Будучи вице-президентом по технологиям в Amazon и Zynga, он провел сотни собеседований и считает, что каждый этап процесса должен быть тщательно проработан, поскольку необходимо тщательно изучить навыки, реальные достижения, соответствие кандидата требованиям корпоративной культуры и его лидерский потенциал.

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

Информация

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

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

Backend Developer
Lead
Java
SQL