Pull to refresh
0
0
Лукашин Алексей @theco6ak

User

Send message

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

Level of difficultyEasy
Reading time10 min
Views7.8K

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

Читать далее
Total votes 3: ↑2 and ↓1+1
Comments2

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

Level of difficultyMedium
Reading time18 min
Views5.1K

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

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

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments3

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

Level of difficultyMedium
Reading time6 min
Views10K

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

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

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

Читать далее
Total votes 26: ↑23 and ↓3+20
Comments23

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

Level of difficultyMedium
Reading time13 min
Views9.3K

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

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

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

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments4

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

Reading time11 min
Views24K

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

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

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

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

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

Читать далее
Total votes 14: ↑12 and ↓2+10
Comments0

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

Level of difficultyMedium
Reading time6 min
Views5.4K

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

Читать далее
Total votes 14: ↑12 and ↓2+10
Comments9

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

Level of difficultyMedium
Reading time12 min
Views18K

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

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments12

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

Reading time4 min
Views32K

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

Читать далее
Total votes 41: ↑39 and ↓2+37
Comments4

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

Reading time2 min
Views6.2K

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

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

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

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

Читать далее
Total votes 24: ↑22 and ↓2+20
Comments6

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

Reading time6 min
Views14K

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

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

Читать далее
Total votes 31: ↑27 and ↓4+23
Comments27

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

Reading time5 min
Views23K

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

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

Читать далее
Total votes 15: ↑14 and ↓1+13
Comments14

Kubernetes the hard way

Reading time36 min
Views24K

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

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

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

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

Начать приключение
Total votes 34: ↑34 and ↓0+34
Comments16

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

Reading time5 min
Views15K

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

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

Читать далее
Total votes 14: ↑11 and ↓3+8
Comments2

Основы Terraform

Reading time6 min
Views34K

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

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

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

Читать далее
Total votes 16: ↑14 and ↓2+12
Comments0

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

Reading time53 min
Views130K


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


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

Читать дальше →
Total votes 109: ↑109 and ↓0+109
Comments60

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

Reading time3 min
Views15K

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

Читать далее
Total votes 13: ↑12 and ↓1+11
Comments1

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

Reading time5 min
Views12K

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

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

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

Читать далее
Total votes 9: ↑7 and ↓2+5
Comments0

Введение в Event Modeling

Reading time12 min
Views7.7K

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

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments3

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

Reading time9 min
Views16K

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

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

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

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments20

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

Reading time8 min
Views10K

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

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments3
1
23 ...

Information

Rating
Does not participate
Location
Обнинск, Калужская обл., Россия
Date of birth
Registered
Activity

Specialization

Backend Developer
Lead
Java
SQL