Как стать автором
Обновить
0
0

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

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

Лучшие практики для надёжной работы с RabbitMQ

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

Привет, Хабр! Я Женя, архитектор интеграционной платформы в Точке, отвечаю за асинхронный обмен сообщениями между внутренними сервисами, за ESB и за брокеры сообщений.

В этой статье я постарался кратко и последовательно изложить основные моменты, о которых полезно помнить при использовании RabbitMQ, если важны стабильность обмена и сохранность данных.

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

Следуй за белым кроликом
Всего голосов 58: ↑58.5 и ↓-0.5+59
Комментарии16

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

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

Какие проблемы появляются при переходе из монолитной архитектуры к микросервисной? Как с ними справляться в пиковые нагрузки? Ответим на эти вопросы на примере Сбербанк Онлайн.

Меня зовут Артём Арюткин, я руковожу проектным офисом в Сбере. Весь мой профессиональный опыт завязан на то, чтобы сделать Сбербанк Онлайн надёжнее. Расскажу про основные принципы отказоустойчивой архитектуры и весь путь эволюции Сбербанк Онлайн.

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

Алгоритм оценки стойкости пароля от Microsoft (Часть 2)

Время на прочтение31 мин
Количество просмотров5.4K
Продолжение предыдущего топика по алгоритму проверки стойкости пароля. Теперь возьмемся за более сложный алгоритм, который почему то считается «старым» и в основном тексте закомментирован.
Читать дальше →
Всего голосов 29: ↑18 и ↓11+7
Комментарии22

Туториал по нотификациям через RSocket: от концепции до запуска в продакшн

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

Однажды мы решали задачу разработки системы нотификаций для Альфа-Онлайн — мобильного банка в вебе. Нам было необходимо разработать инструмент по отправке сообщений (нотификаций) со стороны сервера в браузер в любой момент времени, пока клиент онлайн. На стороне Альфа-Онлайн каждый процесс самостоятельно определит дальнейшую судьбу сообщения.

После анализа различных вариантов, мы остановились на WebSocket в связке с RSocket.

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

Этап анализа и разработки превратился в бесконечные ресёрчи с долгим поиском информации по теме. Реальных примеров почти нет, а статьи (как англоязычные, так и русскоязычные) чаще всего приводят просто абстрактные примеры использования. Выжать практику из теоретических статей сопоставимо с попыткой нарисовать сову по мануалу из трех шагов.

Поэтому, когда мы закончили проект, то решили восполнить (или попытаться) этот пробел в русскоязычной среде на реальном примере. Надеемся, что эта статья поможет вам разобраться в применении RSocket over WebSocket и сократит время на погружение :) 

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

Сказ о том, как я за год решил более 600 leetcode задач

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

Всем салют!

Хочу рассказать вам историю о том, как я начинал с уровня — «не могу решить даже 1 easy задачу из 10» до уровня — «могу решить каждую вторую medium задачу» и прошел несколько coding сессий в таких компаниях как Meta, Booking, Careem, Avito...

Читать далее
Всего голосов 150: ↑141 и ↓9+132
Комментарии407

Микросервисы на основе событий с Kafka Streams и Spring Boot

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

Всем привет! Это моя первая статья на Habr, так что не судите строго за стиль, а вот по содержанию буду рад любой конструктивной критике.

Статья основана на публикациях Confluent о том, как можно реализовать микросервисную архитектуру на основе событий с помощью Kafka Streams и KSQL.

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

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

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

Данную статью пишу для думающих, стоит оно того или нет и начинающих построение своего умного дома, надеюсь она поможет сделать вам свой выбор. Для тех кто думает я не программист у меня ничего не получится, я тоже, хотя имею техническое (теплоэнергетик) образование, но никогда не работал в IT, не знаю не одного языка программирования. Дорогу осилит идущий. Начнем с рассуждений что такое умный дом, поверьте на слово он не решит все ваших бытовых и семейных проблем, но точно сделает жизнь немного комфортней. Что такое умный дом в моем представлении год назад: 1. Красивый планшет со схемой дома весящий на стане в прихожей с которого можно управлять всем в доме; 2. Управление всем чем можно голосом. Откровение через год планшет не нужен, так как бегать со второго этажа на первый что бы по управлять неудобно. Что бы хорошо работало голосовое управление, требуется установка умной колонки в каждую комнату, когда их две это одно. А когда значительно больше вопрос. Сейчас для меня умный дом это то, что работает само без моего участия, и не требует управления. Все о чем пойдет речь далее сделано мною лично, может можно сделать по другому, может проще и лучше. Но таков путь.

Читать далее
Всего голосов 43: ↑36 и ↓7+29
Комментарии150

Алгоритмы не важны

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

Прошу простить заранее за несколько кликбейтный заголовок )

Не так давно писал в соцсетях хейт‑пост по поводу «алгоритмических секций» при приёме на работу в Яндекс.

Да и многие другие софтверные компании это практикуют и считают навыки написания алгоритмов — чуть ли не самым важным навыком для программистов.

И ставят данной компетенции очень высокий приоритет при приёме на работу.

Попробую сегодня развить эту мысль и объяснить почему ставить навыки написания алгоритмов на первый план — не правильно, почему этот «алгоритмический» критерий не релевантен и не отражает реальной ценности / уровня / потенциальной пользы от данного программиста.

Читать далее
Всего голосов 167: ↑133 и ↓34+99
Комментарии370

Дефицит в IT закончился? Или нет? Что происходит на рынке труда?

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

По данным HeadHunter за первое полугодие 2023 года российские работодатели разместили 71 000 вакансий в сфере «Информационные технологии и телеком». Кажется, что это большая цифра. Но за первые 6 месяцев прошлого года вакансий было на 9% больше. При этом за это же время активными было 480 000 резюме, что на 11% больше, чем в прошлом году в первые полгода.

Еще пару лет назад ситуацию можно было описать как кадровый голод — вакансий много, а активных соискателей мало. Сейчас вакансий становится меньше, а тех, кто ищет работу — больше. Получается, что все ровно наоборот? И голод закончился, все сыты? Попробуем разобраться.

Читать далее
Всего голосов 25: ↑20 и ↓5+15
Комментарии37

Почему я сначала не хотел в тимлиды, а когда занял такую должность в ЮMoney, то понял, что это мой путь

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

Привет, меня зовут Денис Лыков, я IT-директор в ЮMoney. Порассуждал про тимлида в ИТ — кто это, что он делает, какие использует инструменты и чем отличается от техлида. Разобрал задачи тимлида в финтехе и пофантазировал, есть ли кто-то выше по должности, чем он (оказалось, что да!). Статья будет полезна тем, кто работает тимлидом, хочет им стать или сделать тимлидом коллегу.

Читать далее
Всего голосов 10: ↑5 и ↓50
Комментарии7

Аннотации и рефлексия в Java

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


Привет, уважаемые читатели Хабра!

Аннотации и рефлексия являются ключевыми концепциями в Java, предоставляя разработчикам мощные инструменты для создания более гибких, адаптивных и понятных приложений. Аннотации предоставляют способ добавить метаданные к классам, методам и полям, что позволяет компилятору и другим инструментам анализировать код более глубоко. Рефлексия, с другой стороны, позволяет программам анализировать и модифицировать свой собственный состав и поведение во время выполнения.
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии1

Мягкое удаление в Hibernate: неочевидные факты

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

Мягкое удаление (soft deletion) — это популярная в энтерпрайз разработке стратегия удаления, когда вместо физического стирания та или иная запись помечается как удаленная, а потом фильтруется во всех запросах на чтение. Применение мягкого удаления может быть оправдано целым набором требований: аудит, возможность восстановления удаленных записей, а иногда необходимо уметь удалять данные, при этом сохраняя на них ссылки из других записей… 

Вообщем, нам, как авторам JPA Buddy (плагина для IntelliJ), пришлось с этим плотно разбираться. В этой статье мы рассмотрим детали, которые зачастую не упоминаются в большинстве публикаций по этой теме, хотя крайне важны для принятия решения о способе реализации мягкого удаления в вашем приложении. Давайте посмотрим, с чем вы, вероятно, намучаетесь. 

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

Аудит пользователей Spring Data JPA

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

Задача: в БД необходимо фиксировать кто создал сущность, кто её обновил, и кто её удалил.

Все знают, как взять пользователя из контекста и сунуть его в сущность. Допустим, на уровне сервиса в методе извлечь информацию о нём и «засетать» его в нужные поля (придётся везде таскать этот кусок кода по сервису), а с аспектами как‑то выглядит не явно и накладывает ряд обязательств (например, развешивание аннотаций над методами всякий раз, когда мы что‑то пытаемся сделать с сущностью (новые участники команды могут не знать о такой неявной практике, а старые забыть о ней)).

Мне хотелось полностью делегировать это приложению, но погуглив, я не нашёл какого‑то явного решения. Сейчас расскажу, как мне удалось это сделать:

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

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

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

Привет, меня зовут Лера Коряковцева. Я — Customer Journey Owner, больше 10 лет занимаюсь product management, сейчас создаю и развиваю продукты для юридических лиц  в Альфа-Банке.

Я увлекаюсь поведенческой психологией и сегодня хочу поделиться рассуждениями на эту тему. Я часто задаюсь вопросом: почему у одних получается вести за собой команду, а у других нет?

Личная стратегия — база любого менеджмента. Нужно уметь составлять планы и помочь своим сотрудникам сделать то же самое. Сегодня мы разберёмся, что такое личная стратегия, из чего она состоит и с какими инструментами вы точно найдёте свою цель. 

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

Продвинутый телеграмм бот на Java (Spring, postgres и free deploy)

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

На дворе 2023 год. На хабре до сих пор пишут статьи по созданию телеграмм ботов, скажите вы, но не спешите с выводами. Во-первых, пожалеем студентов, во многих вузах на программистских направлениях до сих пор заставляют писать ботов хотя бы раз в течение обучения. И многие гайды в интернете немножко outdated в плане деплоя (хероку умер, доздравствует... но об этом немного позже). Т.е. основным уклоном данной статьи будет именно этот аспект. Ну и сам бот у нас будет также не скучный и не самый простой, какие часто в гайдах, а с полноценной привязкой к базе данных, т.е. полноценное Spring приложение.

Ну так о чем же бот и как мне пришла в голову такая идея?

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

Оценка стоимости разработки программного продукта, информационной системы, сервиса или задачи

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

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

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

Оценка трудозатрат на проект и подготовка коммерческих предложений

Время на прочтение4 мин
Количество просмотров26K
Ни для кого не секрет, что большинство команд разработчиков регулярно или периодически встречаются с ситуациями проваленных сроков выполнения и превышения планируемого бюджета проектов. В англоязычном интернете можно найти очень много информации по этому поводу. Более того, каждый более или менее опытный разработчик, как правило, имеет собственное мнение на этот счет.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии20

Как мы оцениваем проекты

Время на прочтение5 мин
Количество просмотров5.3K
У клиентов бюджет не бесконечный. Прежде чем они решат разрабатывать проект, очевидно, они должны быть уверенны что смогу покрыть расходы на разработку. Так как клиенты платят нам за каждый час работы, клиенты обычно спрашивают меня какой подход мы используем в оценке проекта – как мы не даем клиенту сойти с ума когда говорим им что не скажем точной цены.

За последние 5 лет нашей работы в консалтинге этот процесс довольно часто менялся, но последние два года мы используем тот что описан ниже.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии2

Расчет сроков и стоимости проектов: как это делается и можно ли упростить процесс?

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

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

— Это слишком дорого, что если сделаем без функции Х?
*делаем расчет* Столько.
— Все равно дорого, а сколько будет стоить разработка только под платформу Y?
*делаем перерасчет* Столько.
— Ух ты, то есть, если мы откажемся от платформы Y, то сможем сделать не только Х, но и Z?
*очередной перерасчет* Увы, нет.
— Жаль, тогда давайте сделаем без Z, во сколько нам обойдется?

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

Но, как и любой другой процесс, характеризующийся словами “рутина”, “точность” и “вычисления”, подобные расчеты скорее всего могут быть автоматизированы. Давайте проверим, действительно ли это так.
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии6

Как я, тимлид, оцениваю проекты

Время на прочтение9 мин
Количество просмотров14K
Тимлиды часто оценивают проекты, и не все делают это хорошо. Тут многое зависит от личности самого тимлида, а также от его понимания команды. Есть много техник оценки проектов от метода “по аналогии” до PERT. Но сегодня я расскажу о том, как я применяю planning poker и другие приемы, чтобы оценивать точнее и с большей пользой.

image

Читать дальше →
Всего голосов 30: ↑24 и ↓6+18
Комментарии17
1
23 ...

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность

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

Backend Developer
Middle
От 200 000 ₽
Java
Java Spring Framework
Spring Boot
Vaadin
PostgreSQL
Oracle