Как стать автором
Обновить
11
0
Muhamad Zununov @VanquisherWinbringer

CIO

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

Пример микросервисной архитектуры с Saga на MassTransit

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

Привет, Хабр! В общем работаю я значит Архитектором Программных Решений. Мы тут монолиты на микросервисы переводим поэтому я решил для наших разработчиков написать пример проекта с сагой и за одно может оно и вам понадобиться поэтому выложил сюда. Статья будет дополняться по мере поступления вопросов от вас и от наших разработчиков

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

Scala: Гексагональная архитектура и DDD на Free Monad в функциональном программировании

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

Привет Хабр! Пятничного тру ФП хардкора с Free Monad, Таглес Финал, Монад трансформерами, Refined Types, Smart Constructors и прочим таким вам в ленту. Хардкор сам себя в ленту не принесет так что погнали.

Гексагональная архитектура делит наш код на три основные части.

1) Primary Adapters,

2) Secondary Adapter

3) Logic aka Domain.

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

Scala: Авторизация. Защита API с помошью Bearer токена

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

В это пример я буду рассматривать только парсинг и валидацию токенов что уже пришли в мое API в Authorization хедере. Для генерации токенов, регистрации пользователей и прочего SSO есть много готовых решений которые легко установить или даже устанавливать не надо. Например, Auth0, Keyckloak, IdentityServer4. В пример е буду работать с Tapir который может использовать в качестве бекенда http4s, Akk HTTP, Netty, Finatra, Play, ZIO Http, Armeria. Я буду использовать Tapir + Http4s.

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

Математика, красота, любовь — история одной валентинки

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

Было время был я влюблен и было мало денег. Хотелось сделать какой-то необычный подарок девушке на день святого Валентина и этим подарком стала вот такая программа, работу которой вы видите на первом видео. Скоро 14 февраля и может кого-то из вас эта статья вдохновит сделать свою 3D красоту для любимой девушки.
Читать дальше →
Всего голосов 12: ↑9 и ↓3+12
Комментарии8

Изучаю Scala: Часть 5 — Http Requests

Время на прочтение5 мин
Количество просмотров5.7K
Привет, Хабр! Продолжаю изучать Scala. Большинство бекендов так или иначе интегрированы с другими и делают HTTP запросы. Так как я на стек Cats и http4s ориентирован то буду рассматривать и изучать именно его. Сделаю запросы с куками, телом в json и в form, c файлом, с хедерами. Тут Hirrolot мне скорее всего минус поставит. Хочу сказать что может быть кому-то кто тоже изучает Scala будет полезна эта статья. Да и меня написание таких статей мотивирует изучать дальше. Люблю тебя малой. Расти большой не будь лапшой. Я уверен из тебя получится просто отличный инженер или даже может быть ученый в области IT. Давненько меня тут не было. В общем штормило у меня на личном фронте. С начала мы встречались обнимались и целовались с Марго. Потом мы расстались. Потом я переживал из-за этого. Потом работы навалилось. Вот так примерно у меня последние месяцы прошли. Взгрустнул, выпил и решил я написать сюда. И так, начнем.
Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

Изучаю Scala: Часть 4 — WebSocket

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

Привет, Хабр! На этот раз я по пробовал сделать простенький чат через ВебСокеты. За подробностями добро пожаловать под кат.
Читать дальше →
Всего голосов 8: ↑4 и ↓40
Комментарии1

Изучаю Scala: Часть 3 — Юнит Тесты

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


Привет, Хабр! Мало написать хороший код. Нужно еще покрыть его хорошими Юнит Тестами. В прошлой статье я сделал простой веб сервер. Теперь попробую написать насколько тестов. Обычных, Property-based и с моками. За подробностями добро пожаловать под кат.
Читать дальше →
Всего голосов 1: ↑0 и ↓1-1
Комментарии0

Три мушкетёра — Event Sourcing, Event Storming и Event Store — вступают в бой: Часть 1 — пробуем Event Store ДБ

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


Привет, Хабр! Решил я значит на время отойти от Scala, Idris и прочего ФП и чуть чуть поговорить о Event Store — базе данных в которой можно сохранят события в потоки событий. Как в старой доброй книге у нас тоже мушкетёров на самом деле 4 и четвертый это DDD. Сначала я с помощью Event Storming выделю команды, события и сущности с ними связанные. Потом сделаю на их основе сохранение состояния объекта и его восстановление. Буду я делать в этой статье обычный TodoList. За подробностями добро пожаловать под кат.
Читать дальше →
Всего голосов 3: ↑3 и ↓0+3
Комментарии5

Изучаю Scala: Часть 2 — Todo лист с возможностью загрузки картинок

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

Привет, Хабр! Следующий этап изучения нового языка это старый добрый todo list c картинками. Чтобы научится работе с базой данных и файловой системой. Работе со стримами. За подробностями добро пожаловать под кат.
Читать дальше →
Всего голосов 8: ↑2 и ↓6-2
Комментарии1

Изучаю Scala: Часть 1 — Игра змейка

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

Привет Хабр! Когда я изучаю новый язык я обычно делаю на нем змейку. Может какому-нибудь новичку который тоже изучает Scala будет интересен код другого новичка в этом ЯП. У опытных скалистов скорее всего мой первый код на Scala вызовет грусть. За подробностями добро пожаловать под кат.
Читать дальше →
Всего голосов 9: ↑6 и ↓3+7
Комментарии5

Blazor Client Side Интернет Магазин: Часть 7 — Обновился до релизной версии 3.2.0 и добавил показ картинок

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


Привет, Хабр! Вышел релиз Blazor WebAssemby и я немного обновил свой сайт. За подробностями добро пожаловать под кат.
Читать дальше →
Всего голосов 5: ↑4 и ↓1+6
Комментарии0

Изучаю Akka.NET: Сервер простой онлайн игры

Время на прочтение8 мин
Количество просмотров6.7K
Привет, Хабр! Решил я значит попробовать переписать тот сервер что делал с MS Orleans на Akka.NET просто чтобы попробовать и эту технологию тоже. Если вам интересно что получилось до добро пожаловать под кат.
Читать дальше →
Всего голосов 4: ↑3 и ↓1+6
Комментарии0

Сервер Игры на MS Orleans — часть 3: Итоги

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


Привет, Хабр! Я продолжаю изучать MS Orleans и делать простенькую онлайн игру с консольным клиентом и сервером работающим с Orleans грейнами. На этот раз я расскажу чем все закончилось и какие я для себя выводы сделал. За подробностями добро пожаловать под кат.
Читать дальше →
Всего голосов 4: ↑3 и ↓1+2
Комментарии0

Сервер Игры на MS Orleans — часть 2: Делаем управляемую точку

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


Привет, Хабр! Я продолжаю изучать MS Orleans и делать простенькую онлайн игру с консольным клиентом и сервером работающим с Orleans грейнами. На этот раз я добавил в игру возможность управлять точкой. Ее можно двигать вверх, вниз, влево, вправо. За подробностями добро пожаловать под кат.
Читать дальше →
Всего голосов 6: ↑3 и ↓3+3
Комментарии2

Сервер Игры на MS Orleans — часть 1: Что такое Акторы

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


Привет Хабр! И так, на четырнадцатый день копья решил я значит начать делать простенький игровой сервер для простой онлайн стрелялки. За одно тему распределенных вычислений затронуть. В этой вводной статье цикла хочу рассказать что такое акторы (в Орлеанс их зернами называют) и принцип их работы. Для этого я пока пример простенького приложения с самодельными акторами без Orleans. Как говориться прежде чем строить корабль посмотрим как плавает и почему плавает обычный бумажный кораблик. За подробностями добро пожаловать под кат.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии6

Blazor Client Side Интернет Магазин: Часть 6 — Создание заказа и работа с компенсирующими действиями

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


Привет, Хабр! Продолжаю делать интернет магазин и изучать Blazor. В этой части расскажу о том как добавил в него возможность создания заказа, просмотра заказов и работу с последовательностью действий одно из которых может завершиться ошибкой. За подробностями добро пожаловать под кат.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Blazor Client Side Интернет Магазин: Часть 5 — Просмотр корзины и работа с Stateful

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


Привет, Хабр! Продолжаю делать интернет магазин на Blazor. В этой части расскажу о том как добавил в него возможность просмотра корзины товаров и организовал работу с состоянием. За подробностями добро пожаловать под кат.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии3

Blazor Client Side Интернет Магазин: Часть 4 — Добавления товара в корзину

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


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

Blazor Client Side Интернет Магазин: Часть 3 — Витрина товаров

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


Привет, Хабр! Продолжаю делать интернет магазин на Blazor. В этой части расскажу о том как добавил в него витрину товаров и сделал свои компоненты. За подробностями добро пожаловать под кат.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии0

Организация кода в микросервисах и мой подход применения гексагональной архитектуры и DDD

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

Привет, Хабр! В Монолите весь код должен быть в едином стиле, a в разных микросервисах можно использовать разные подходы, языки программирования и фреймворки. Для простых микросервисов с 1 — 2 контроллерами и 1 — 10 действиями особо смысла городить слои абстракций нет. Для сложных микросервисов с различными состояниями и логикой перехода между ними наоборот лучше изначально не лениться. Я хочу рассказать о моем опыте организации кода и использования подходов DDD, Портов и Адаптеров для обоих случаев. Есть кратко суть статьи: Джун — пишет код в контроллере. Мидл — пишет кучу абстракций. Сеньор — знает когда нужно писать код в контроллере, а когда нужны абстракции.
Читать дальше →
Всего голосов 10: ↑6 и ↓4+5
Комментарии8
1

Информация

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

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

Chief Technology Officer (CTO), Chief information officer (CIO)
C#
Software development
Project management
Product management
Development management
Agile
Scrum
Kanban
Development of tech specifications
Scala