iSpring Tech

iSpring Tech

На канале iSpring Tech вы найдёте записи митапов, проводимых компанией iSpring, доклады разработчиков iSpring на конференциях и другие видео по разработке ПО.

Викторина №2

Викторина №2

Пікірлер

  • @xForNeonShadow
    @xForNeonShadow4 күн бұрын

    Пятерка на протяжении 24(42) минут жестко наваливает про бэкенд

  • @leshen_deaf
    @leshen_deaf17 күн бұрын

    Отличный доклад! Тоже столкнулся с описанными проблемами монолита и пришел к тому же решению, что и вы. Больше всего понравилась структура доклада и целостность повествования. Ну, и спикер, конечно, тоже супер, этого не отнять)

  • @goriaev
    @goriaevАй бұрын

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

  • @gorynych55
    @gorynych55Ай бұрын

    Материал хорошо изложен. Спасибо. 5 копеек про паттерн outbox, кажется пример нет очень удачно подобран. На другом конце сидит пользователь и в синхроне ждет , что его переведут на оплату например, мы не можем этого сделать, так не отправили сообщение о бронировании. При таком кейсе надо думать доп сценарий , сейчас не можем зайдите позже. Но это лишнее усложне, с непонятой конверсией. Делать это придется во всех сервисах. На мой взгляд в таких кейсах лучше сразу отказать по техническим причинам и откатить , что необходимо, запомнить д данные заявки и пригласить клиента снова создать заявку после решения проблем. Данные старой заявки использовать для автозаполнения. Т.е. когда есть "синхронный" путь клиента применять паттер outbox надо оценивая , как меняется сценарий клиента и сколько сложности это добавит.

  • @bluesdemon1
    @bluesdemon13 ай бұрын

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

  • @eugenesazonov2735
    @eugenesazonov27353 ай бұрын

    Здраствуйте! Спасибо за прекрасный доклад. Не подскажите как выполнена интеграция SpiceDB c API Gateway?

  • @user-davidtema
    @user-davidtema3 ай бұрын

    Офигеть)

  • @den-rad
    @den-rad3 ай бұрын

    Спасибо за интересные доклады

  • @ivanmilov7344
    @ivanmilov73444 ай бұрын

    кажется немного не хватает финального бенчмарка

  • @user-davidtema
    @user-davidtema3 ай бұрын

    Он и был в начале. Валентин показал устройство позже.

  • @ayaz.ayupov
    @ayaz.ayupov5 ай бұрын

    спасибо

  • @dimabezludnev947
    @dimabezludnev9477 ай бұрын

    уже 8 лет существует magefile

  • @nikitqa6985
    @nikitqa69857 ай бұрын

    lame

  • @Shindos-Kopernik
    @Shindos-Kopernik7 ай бұрын

    Илья спасибо за доклад!

  • @dmitryd1572
    @dmitryd15727 ай бұрын

    Интересный материал, большое спасибо !

  • @emotional_stuff
    @emotional_stuff8 ай бұрын

    спасибо

  • @mt89vein
    @mt89vein8 ай бұрын

    кафка (да и в целом любой брокер) не реализует exactly once без поддержки приложения. Можно взять сообщение в обработку, работу сделать, но упасть при коммите оффсета и обработчик снова возьмет это сообщение в работу. Приложение должно убедиться что еще не было выполнено и только потом выполнять обработку

  • @kubitre_motonos
    @kubitre_motonos8 ай бұрын

    неплохой тулинг, спасибо

  • @microb3726
    @microb37269 ай бұрын

    Информация безусловно очень интересная и познавательная. Но зачем фокусировать видео на ораторе вместо того чтобы показать что там на доске? Оператор муж ее?😊

  • @alex-0x6b
    @alex-0x6b9 ай бұрын

    Спасибо. Contract-first рулит, но мне еще предстоит в этом убедиться.. 🙂

  • @MOVxR32
    @MOVxR3210 ай бұрын

    Класс! Спасибо большое за это видео, очень интересно, жаль презентацию нельзя скачать

  • @MOVxR32
    @MOVxR3210 ай бұрын

    Классный доклад, спасибо за него

  • @boblako
    @boblako10 ай бұрын

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

  • @POEOneLove
    @POEOneLove10 ай бұрын

    Начинаю погружаться в JS фреймворки после PHP, в частности Laravel других фреймворков. И просто не понимаю что они имеют ввиду тут под сущностью. Открываешь пример проекта который, как бы использует FSDdesign и оказывается что в сущности появляется UI то есть сущность не только модель, но и отображение... При этом теже папки UI распиханы в каждом слайсе помимо общего. feature/blog-item/ui, widget/blog-list/ui и тд. Черт возьми, на вид это вообще никак не упрощает. Если есть на проекте UI, почему он размазан повсюду в каждой части. По идее UI это вид, UI элементы просто должны получать данные и только отображать их. А Entity только содержать бизнес логику... Никакой связи с тем, как эта логика должна отображаться... В общем муть какая-то

  • @POEOneLove
    @POEOneLove3 ай бұрын

    @@flatstorycentury Разобрался.

  • @user-ll2xw7tn6v
    @user-ll2xw7tn6v Жыл бұрын

    кли, рэтри.....😀 си-эл-ай, ре-трай.

  • @user-ll2xw7tn6v
    @user-ll2xw7tn6v Жыл бұрын

    почему российские компании до сих пор используют анти-паттерны с синхронной коммуникацией между микро сервисами и костыли, которые из этого вытекают в лице дискавер или разрыва цепи? МСА = асинхронность. По-умолчанию.

  • @user-jd2xr7bf2t
    @user-jd2xr7bf2t Жыл бұрын

    go-micro класс если что можно поманить некотрые компоненты

  • @batazor
    @batazor Жыл бұрын

    можно будет презентации получить?

  • @kavai9
    @kavai9 Жыл бұрын

    Да, скоро выложим записи докладов и презентации :)

  • @codingfox
    @codingfox Жыл бұрын

    Нужно говорить прямо в микрофон, максимально близко к нему)

  • @victorklimov5254
    @victorklimov5254 Жыл бұрын

    Очень познавательно! Спасибо!

  • @user-ni7ge7ne7s
    @user-ni7ge7ne7s Жыл бұрын

    Отличное выступление, почти слезу пустил от ностальгии. Достаточно полезно взглянуть на то что было, чтобы понять что сейчас

  • @f00b4r123
    @f00b4r123 Жыл бұрын

    Прикольно. Спасибо за доклад.

  • @goocarry_dailyroutine
    @goocarry_dailyroutine Жыл бұрын

    Круто

  • @stasfirsov
    @stasfirsov Жыл бұрын

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

  • @user-bi3kx5uf6d
    @user-bi3kx5uf6d Жыл бұрын

    Ребят вы бы хотя бы презентацию продублировали в видео, нихрена не видно

  • @iSpringTech
    @iSpringTech Жыл бұрын

    Вы можете посмотреть презентацию по ссылке - ispri.ng/11Vqk

  • @user-br3hw1us7k
    @user-br3hw1us7k Жыл бұрын

    Если честно люди которые там по ходу повествования встревали со своими "ну очень важными уточнениями" вели себя крайне неуважительно для вопросов есть время в конце доклада а не по середине.

  • @pavelerokhin1512
    @pavelerokhin1512 Жыл бұрын

    ты молодец!

  • @star0dub
    @star0dub Жыл бұрын

    Спасибо за доклад. В 2022ом году goswagger по-прежнему не совместим с популярными http- библиотеками?

  • @ilyakaznacheev2160
    @ilyakaznacheev2160 Жыл бұрын

    Не думаю, что когда-нибудь станет. By-design в go-swagger генерируются типизированные хендлеры (как в grpc, например), а большинство библиотек заточено под работу с http.Handler. Я не смотрел на него давно, может там появились какие-то проставки для middleware, но в целом много ждать не стоит.

  • @MAGAVHEBRON
    @MAGAVHEBRON Жыл бұрын

    За IO в mutex расстрел на месте, либо в штрафбат к говнокодерам.

  • @SntrTube
    @SntrTube Жыл бұрын

    Поймут лишь не все

  • @brothers_karamazovs
    @brothers_karamazovs Жыл бұрын

    Интересный доклад, спасибо!)

  • @user-ll2xw7tn6v
    @user-ll2xw7tn6v Жыл бұрын

    Нарушение правила 1 сервис - 1 база породило свой велосипед с промежуточным читателем событий (ещё одна точка отказа причем в том же месте где и брокер). Если бы у вас был инстанс сервиса (с базой) для каждого клиента, раз они так хотят, тогда бы не нужно было бы придумывать этот велосипед. Первый клиент нагородил бы 1000 сообщений для своего сервиса, а второй для своего. И Все бы они параллельно пошли в инстансы клиентов.

  • @kavai9
    @kavai9 Жыл бұрын

    Спасибо, что посмотрели доклад) Правила 1 сервис - 1 база, 1 клиент - 1 база, 1 клиент - 1 сервис отличаются друг от друга. Ваш вариант решения скорее всего сработает, но потребует огромных инфраструктурных расходов ввиду постоянно растущего количества клиентов и постоянно растущем количестве сервисов (а на каждого клиента придётся создавать не 1 сервис, а полный набор из всех сервисов). Про правило "1 сервис - 1 база" - правило соблюдается, у каждого микросервиса своя база, в рамках монолита каждый модуль обладает своим набором таблиц и не читает данные из таблиц других модулей, только через ACL. Можете почитать статью по мотивам доклада, может там найдёте недостающий контекст - habr.com/ru/company/ispring/blog/569648/

  • @user-ll2xw7tn6v
    @user-ll2xw7tn6v Жыл бұрын

    Спецификация - это не пример сервиса по DDD. Сервис - это логика, которую невозможно положить только в один из агрегатов. Пример такой логики - возврат денег от одного агрегата другому, от заёмщика - кредитору. А спецификация - вообще не сервис, а класс, инкапсулирующий условия и ограничений. Например условия выборки из репозитория определённых данных. Либо же это инкапсуляция нескольких бизнес операций. Сервисы - самый распространённый класс в DDD потому что банальный СRUD с изменением это сервис, который вызывает фабрику и создаёт агрегат, потом что-то обновляет для него, производит какой-то перерасчёт в этом агрегате, а затем репозиторием сохраняет. И всё это делается в таким сервисом, а не, скажем, в контроллере API как любят туда пихать всё. Контроллер в апи всё что умеет - валидировать DTO, вызывать сервисы или репозитории и слать правильные HTTP-коды ошибок (200, 401) .

  • @kavai9
    @kavai9 Жыл бұрын

    Тут у вас немного перемешались понятия. Давайте обратимся к литературе: "When a significant process or transformation in the domain is not a natural responsibility of an ENTITY or VALUE OBJECT, add an operation to the model as a standalone interface declared as a SERVICE. Define the interface in terms of the language of the model and make sure the operation name is part of the UBIQUITOUS LANGUAGE. Make the SERVICE stateless.". Работа с несколькими агрегатами из вашего примера, особенно с учётом подхода "1 агрегат - 1 сервис", больше похожа на сагу (зависит от логики вложенной в конкретную реализацию, конечно). А сервис уровня домена - это бизнес логика (бизнес процесс или преобразование в модели), которая не относится к естественным обязанностям сущности или объекта-значения и не имеет состояния. Является ли класс "спецификация" сервисом - это менее однозначный вопрос, под рукой Эванса нет, потом гляну, как он называет их. Но суть в том, что спецификации - это бизнес логика без состояния, заключающаяся в проверке соответствия некоторым правилам. Спецификация и её логика не может быть вложена в конкретную сущность, поскольку работает с коллекцией сущностей. По определению "domain service" совпадает. Интересно, что на эту тему пишет Эванс)

  • @ev_geniy17
    @ev_geniy172 жыл бұрын

    Тест

  • @antonshakhmatov5878
    @antonshakhmatov58782 жыл бұрын

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

  • @moravsky5115
    @moravsky51152 жыл бұрын

    *Exellent job!*

  • @rainysky84
    @rainysky842 жыл бұрын

    >>>> "В наших руках абсолютно всё сейчас" Вот теперь заживём! 😃😃😃

  • @pro_gen9417
    @pro_gen94172 жыл бұрын

    думаю за такие слоганы можно получить пару лет тюрьмы

  • @institute_ispring
    @institute_ispring2 жыл бұрын

    Уважаемый pro_gen, мы видим в слогане весьма позитивную формулировку и искренне не разделяем ваше мнение. Любой слоган, фраза, высказывание корректно воспринимается лишь неразрывно с контекстом. Возможно вы восприняли заголовок через призму своего мировосприятия и поторопились написать комментарий, не посмотрев трейлер и не прочитав описание. Либо вам не удалось разглядеть контекст в трейлере или в описании. В любом случае рекомендуем вам посмотреть полную версию фильма, ссылка есть в описании к видео. Уверены, что после просмотра у вас не возникнет подобных мыслей.

  • @nickname20151
    @nickname201512 жыл бұрын

    блин ну почему я этот доклад не увидел два года назад( прям все мои вопросы закрыло. спасибо большое.

  • @jmatveeva
    @jmatveeva2 жыл бұрын

    Рада, что было полезно!

  • @ruslanm.1120
    @ruslanm.11209 күн бұрын

    ​@@jmatveeva подскажите названия книжек не получилось расслышать? Классный доклад, в прошлом проекте делали что-то похожее, но тогда я не знал как это называется :)

  • @jmatveeva
    @jmatveeva9 күн бұрын

    @@ruslanm.1120 По-моему, я там упоминала книгу Vaughn Vernon "Implementing Domain Driven Design". Сейчас бы я ещё рекомендовала книгу Vlad Khononov "Learning Domain-Driven Design", must read. Есть на русском вроде бы обе, но лучше в оригинале, конечно

  • @user-jy6en6jf9s
    @user-jy6en6jf9s2 жыл бұрын

    Звук, ребята, что с озвучкой?

  • @iSpringTech
    @iSpringTech2 жыл бұрын

    Добрый день! А что именно вас беспокоит со звуком?

  • @user-jy6en6jf9s
    @user-jy6en6jf9s2 жыл бұрын

    @@iSpringTech Все фонит.

  • @AnonAristotel
    @AnonAristotel2 жыл бұрын

    Спасибо.