![iSpring Tech](/img/default-banner.jpg)
- 108
- 84 150
iSpring Tech
Russia
เข้าร่วมเมื่อ 23 มิ.ย. 2017
На канале iSpring Tech вы найдёте записи митапов, проводимых компанией iSpring, доклады разработчиков iSpring на конференциях и другие видео по разработке ПО.
Вредные советы проектирования Data Marts или как выстрелить в себе в ногу - Даниил Колов, iSpring
В докладе рассматривается проектирование витрин данных по Galaxy Scheme. Основной акцент делается как на ошибках проектирования, так и на особенностях самой модели данных, которые следует учитывать на стадии проектирования и использования. Будут рассмотрены практические кейсы устранения ошибок и описаны выводы, сделанные на основе нашего опыта использования схемы данных, состоящей из совокупности таблиц фактов.
Подпишись на нас - tech_ispring, чтобы не пропустить следующий митап.
Подпишись на нас - tech_ispring, чтобы не пропустить следующий митап.
มุมมอง: 91
วีดีโอ
Организация потоковой аналитики в real-timе системах, Всеволод Мороцкий и Сергей Хахулин, LegatoData
มุมมอง 5314 วันที่ผ่านมา
Доклад исследует подходы и технологии организации потоковой аналитики в системах управления обучением (Learning Management Systems, LMS). Основное внимание уделено преимуществам и вызовам внедрения real-time аналитики в образовательный процесс, а также инструментарию и архитектурным решениям, которые позволяют реализовать такие системы. Рассматриваются практические кейсы применения потоковой ан...
Шпаклюем React приложение: полифилы и differential loading - Даниил Худяков, TravelLine
มุมมอง 7821 วันที่ผ่านมา
Шпаклюем React приложение: полифилы и differential loading - Даниил Худяков, Младший инженер-программист, TravelLine -Расскажу о том, как мы добились работоспособности React-части формы бронирования TravelLine в старых браузерах, включая IE 10 -Реализовали автоматическую полифилизацию кода и всех node модулей, а также написали свой differential loading.
Рефакторинг кода с помощью jscodeshift - Кирилл Борисов, iSpring
มุมมอง 5921 วันที่ผ่านมา
Рефакторинг кода через преобразование структуры программы - Кирилл Борисов, программист, iSpring - Расскажу, почему мы решили отказаться от регулярных выражений - Расскажу про инструмент, который позволяет манипулировать структурой кода - Покажу на примерах, как им пользоваться
Контроль над визуальной регрессией в дизайн-системе - Роман Кутимский, TravelLine
มุมมอง 8921 วันที่ผ่านมา
Контроль над визуальной регрессией в дизайн-системе - Кутимский Роман, Инженер-программист, TravelLine - Объясню, что такое визуальная регрессия и почему важно её контролировать в дизайн-системе - Поделюсь методами и инструментами для автоматического тестирования визуальных изменений - Обсудим, что такое Storybook и почему мы не стали его использовать - Приведу примеры из практики и поделюсь со...
Чистая архитектура на фронтенде - Артур Мирзин, Финтех
มุมมอง 14221 วันที่ผ่านมา
Чистая Архитектура на фронтенде. С примерами - Артур Мирзин, Руководитель ЦК фронтенд и мобильной разработки, Финтех - Увидим, как это может выглядеть в React Typescript приложении - Рассмотрим проект, который использует Чистую Архитектуру - Поговорим, стоит ли ее применять на боевых проектах: какие это несет за собой преимущества и недостатки - Представим, как можно модифицировать этот подход ...
Testing Trophy в отдельно взятом бэкенде - Сергей Шамбир, iSpring
มุมมอง 1342 หลายเดือนก่อน
Сергей Шамбир с докладом: "Testing Trophy в отдельно взятом бэкенде"
Контроль соединения в микросервисном взаимодействии - Вадим Макеров, iSpring
มุมมอง 1182 หลายเดือนก่อน
Вадим Макеров с докладом: "Контроль соединения в микросервисном взаимодействии"
Как сделать email письма красивее, а бэкенд чище - Рустам Гайнутдинов, iSpring
มุมมอง 1232 หลายเดือนก่อน
Рустам Гайнутдинов с докладом: "Как сделать email письма красивее, а бэкенд чище"
Дизайн-митап в ispring I Design Meetup
มุมมอง 2173 หลายเดือนก่อน
Это мы дизайн-митап проводили, сейчас работаем уже. Собрались вновь в ispring, чтобы исследовать современные тенденции в дизайне продуктов и не только, делиться опытом и вдохновлять друг друга на большие идеи. Смотри в видео то, как прошёл дизайнерский митап! И присоединяйся к нашему сообществу, чтобы не пропустить следующую встречу: t.me/ BCFDwYinOoFkNzgy
Оптимизация QA процессов в разработке - Юра Минаков, Тинькофф
มุมมอง 1674 หลายเดือนก่อน
Юра Минаков, старший разработчик в Тинькофф, с докладом: "Оптимизация QA процессов в разработке"
Опыт работы с командой партнеров - Александр Москвичев, Люба Бабушкина, iSpring
มุมมอง 494 หลายเดือนก่อน
Люба Бабушкина, инженер по качеству в iSpring, и Александр Москвичев, ведущий инженер по качеству в iSpring с докладом: "Опыт работы с командой партнеров - тестирование интеграций"
Контрактные тесты с Spring Cloud Contact в действии - Александр Михайлов, СберОбразование
มุมมอง 694 หลายเดือนก่อน
Александр Михайлов, ИТ-инженер (QA Automation), СберОбразование с докладом: "Уверенное взаимодействие: Контрактные тесты с Spring Cloud Contact в действии"
Эволюция матрицы компетенций отдела тестирования - Рамиль Аскаров, Travelline
มุมมอง 754 หลายเดือนก่อน
Рамиль Аскаров, ведущий специалист по тестированию ПО в TravelLine с докладом "Эволюция матрицы компетенций отдела тестирования"
Как выстроена работа продуктового аналитика в Тинькофф - Анна Прокашева, Тинькофф
มุมมอง 2575 หลายเดือนก่อน
Как выстроена работа продуктового аналитика в Тинькофф - Анна Прокашева, Тинькофф
Продуктовый подход в аналитике - Цовинар Амбарян, iSpring
มุมมอง 1285 หลายเดือนก่อน
Продуктовый подход в аналитике - Цовинар Амбарян, iSpring
Кэш через OPcache - Валентин Удальцов
มุมมอง 8479 หลายเดือนก่อน
Кэш через OPcache - Валентин Удальцов
Вебхуки как способ упростить интеграции клиентам и уменьшить нагрузку - Егор Чернуха, iSpring
มุมมอง 1399 หลายเดือนก่อน
Вебхуки как способ упростить интеграции клиентам и уменьшить нагрузку - Егор Чернуха, iSpring
Применение паттерна saga в system design - Антон Цитульский, Тинькофф
มุมมอง 1.5K9 หลายเดือนก่อน
Применение паттерна saga в system design - Антон Цитульский, Тинькофф
Продуктовый и UIX дизайнер: разница не только в зарплате - Эмиль Сафиуллин, АкБарс Банк
มุมมอง 7211 หลายเดือนก่อน
Продуктовый и UIX дизайнер: разница не только в зарплате - Эмиль Сафиуллин, АкБарс Банк
Бесплатные нейросети для дизайнеров - Виктория Рачкова, iSpring
มุมมอง 17211 หลายเดือนก่อน
Бесплатные нейросети для дизайнеров - Виктория Рачкова, iSpring
Главный фреймворк дизайнера - Вадим Сосков, iSpring
มุมมอง 8011 หลายเดือนก่อน
Главный фреймворк дизайнера - Вадим Сосков, iSpring
Зеркалим интерфейсы - Арина Каравайцева, iSpring
มุมมอง 160ปีที่แล้ว
Зеркалим интерфейсы - Арина Каравайцева, iSpring
Flutter, Fail Fast - Алексей Иванов, Travelline
มุมมอง 127ปีที่แล้ว
Flutter, Fail Fast - Алексей Иванов, Travelline
WebView в условиях метрополитена - Елена Ерусланова, iSpring; Андрей Танаков, iSpring
มุมมอง 99ปีที่แล้ว
WebView в условиях метрополитена - Елена Ерусланова, iSpring; Андрей Танаков, iSpring
Викторина по языку Go на архитектурном Go митапе 2023, Йошкар-Ола
มุมมอง 133ปีที่แล้ว
Викторина по языку Go на архитектурном Go митапе 2023, Йошкар-Ола
ChatGPT: опыт внедрения языковой модели в продукт - Константин Гейст, iSpring
มุมมอง 829ปีที่แล้ว
ChatGPT: опыт внедрения языковой модели в продукт - Константин Гейст, iSpring
Докеризация сборки проекта на всех уровнях - Вадим Макеров, iSpring
มุมมอง 256ปีที่แล้ว
Докеризация сборки проекта на всех уровнях - Вадим Макеров, iSpring
Почему авторизация сложно и причем здесь Занзибар? -Максим Горозий, Тинькофф
มุมมอง 2.8Kปีที่แล้ว
Почему авторизация сложно и причем здесь Занзибар? -Максим Горозий, Тинькофф
очень интересно! спасибо!
Пятерка на протяжении 24(42) минут жестко наваливает про бэкенд
Отличный доклад! Тоже столкнулся с описанными проблемами монолита и пришел к тому же решению, что и вы. Больше всего понравилась структура доклада и целостность повествования. Ну, и спикер, конечно, тоже супер, этого не отнять)
Вопрос с участием отвечающего парня - там паттерн аутбокс по сути обсуждали. А следующий парень хороший вопрос задал (~54 минута), только его не поняли, мне кажется, ответили "попробуйте, у нас не так". В его вопросе становится несколько единиц развертывания и он предлагает микросервисы
Материал хорошо изложен. Спасибо. 5 копеек про паттерн outbox, кажется пример нет очень удачно подобран. На другом конце сидит пользователь и в синхроне ждет , что его переведут на оплату например, мы не можем этого сделать, так не отправили сообщение о бронировании. При таком кейсе надо думать доп сценарий , сейчас не можем зайдите позже. Но это лишнее усложне, с непонятой конверсией. Делать это придется во всех сервисах. На мой взгляд в таких кейсах лучше сразу отказать по техническим причинам и откатить , что необходимо, запомнить д данные заявки и пригласить клиента снова создать заявку после решения проблем. Данные старой заявки использовать для автозаполнения. Т.е. когда есть "синхронный" путь клиента применять паттер outbox надо оценивая , как меняется сценарий клиента и сколько сложности это добавит.
Делать внутри критической секции вызов к внешнему сервису - изначально кривая реализация, так делать нельзя. Вместо того, чтобы переписать кривой участок кода правильно - увеличили потолок коннектов. Смешные
Здраствуйте! Спасибо за прекрасный доклад. Не подскажите как выполнена интеграция SpiceDB c API Gateway?
Офигеть)
Спасибо за интересные доклады
кажется немного не хватает финального бенчмарка
Он и был в начале. Валентин показал устройство позже.
спасибо
уже 8 лет существует magefile
lame
Илья спасибо за доклад!
Интересный материал, большое спасибо !
спасибо
кафка (да и в целом любой брокер) не реализует exactly once без поддержки приложения. Можно взять сообщение в обработку, работу сделать, но упасть при коммите оффсета и обработчик снова возьмет это сообщение в работу. Приложение должно убедиться что еще не было выполнено и только потом выполнять обработку
неплохой тулинг, спасибо
Информация безусловно очень интересная и познавательная. Но зачем фокусировать видео на ораторе вместо того чтобы показать что там на доске? Оператор муж ее?😊
Спасибо. Contract-first рулит, но мне еще предстоит в этом убедиться.. 🙂
Класс! Спасибо большое за это видео, очень интересно, жаль презентацию нельзя скачать
Классный доклад, спасибо за него
жпт 3.5 апнули, теперь с кирилицей намного лучше работает. Сужу по качеству ответов. Не знаю правда как насчет токенов изменилась ли ситуация, я просто как пользователь.
Начинаю погружаться в JS фреймворки после PHP, в частности Laravel других фреймворков. И просто не понимаю что они имеют ввиду тут под сущностью. Открываешь пример проекта который, как бы использует FSDdesign и оказывается что в сущности появляется UI то есть сущность не только модель, но и отображение... При этом теже папки UI распиханы в каждом слайсе помимо общего. feature/blog-item/ui, widget/blog-list/ui и тд. Черт возьми, на вид это вообще никак не упрощает. Если есть на проекте UI, почему он размазан повсюду в каждой части. По идее UI это вид, UI элементы просто должны получать данные и только отображать их. А Entity только содержать бизнес логику... Никакой связи с тем, как эта логика должна отображаться... В общем муть какая-то
@@flatstorycentury Разобрался.
кли, рэтри.....😀 си-эл-ай, ре-трай.
почему российские компании до сих пор используют анти-паттерны с синхронной коммуникацией между микро сервисами и костыли, которые из этого вытекают в лице дискавер или разрыва цепи? МСА = асинхронность. По-умолчанию.
go-micro класс если что можно поманить некотрые компоненты
можно будет презентации получить?
Да, скоро выложим записи докладов и презентации :)
Нужно говорить прямо в микрофон, максимально близко к нему)
Очень познавательно! Спасибо!
Отличное выступление, почти слезу пустил от ностальгии. Достаточно полезно взглянуть на то что было, чтобы понять что сейчас
Прикольно. Спасибо за доклад.
Круто
Cпасибо за инфу, но звук...мне кажется я слышал как у докладчика волосы ростут..слышно каждый вдох и выдох.. Чувствительность надо убавить.
Ребят вы бы хотя бы презентацию продублировали в видео, нихрена не видно
Вы можете посмотреть презентацию по ссылке - ispri.ng/11Vqk
Если честно люди которые там по ходу повествования встревали со своими "ну очень важными уточнениями" вели себя крайне неуважительно для вопросов есть время в конце доклада а не по середине.
ты молодец!
Спасибо за доклад. В 2022ом году goswagger по-прежнему не совместим с популярными http- библиотеками?
Не думаю, что когда-нибудь станет. By-design в go-swagger генерируются типизированные хендлеры (как в grpc, например), а большинство библиотек заточено под работу с http.Handler. Я не смотрел на него давно, может там появились какие-то проставки для middleware, но в целом много ждать не стоит.
За IO в mutex расстрел на месте, либо в штрафбат к говнокодерам.
Поймут лишь не все
Интересный доклад, спасибо!)
Нарушение правила 1 сервис - 1 база породило свой велосипед с промежуточным читателем событий (ещё одна точка отказа причем в том же месте где и брокер). Если бы у вас был инстанс сервиса (с базой) для каждого клиента, раз они так хотят, тогда бы не нужно было бы придумывать этот велосипед. Первый клиент нагородил бы 1000 сообщений для своего сервиса, а второй для своего. И Все бы они параллельно пошли в инстансы клиентов.
Спасибо, что посмотрели доклад) Правила 1 сервис - 1 база, 1 клиент - 1 база, 1 клиент - 1 сервис отличаются друг от друга. Ваш вариант решения скорее всего сработает, но потребует огромных инфраструктурных расходов ввиду постоянно растущего количества клиентов и постоянно растущем количестве сервисов (а на каждого клиента придётся создавать не 1 сервис, а полный набор из всех сервисов). Про правило "1 сервис - 1 база" - правило соблюдается, у каждого микросервиса своя база, в рамках монолита каждый модуль обладает своим набором таблиц и не читает данные из таблиц других модулей, только через ACL. Можете почитать статью по мотивам доклада, может там найдёте недостающий контекст - habr.com/ru/company/ispring/blog/569648/
Спецификация - это не пример сервиса по DDD. Сервис - это логика, которую невозможно положить только в один из агрегатов. Пример такой логики - возврат денег от одного агрегата другому, от заёмщика - кредитору. А спецификация - вообще не сервис, а класс, инкапсулирующий условия и ограничений. Например условия выборки из репозитория определённых данных. Либо же это инкапсуляция нескольких бизнес операций. Сервисы - самый распространённый класс в DDD потому что банальный СRUD с изменением это сервис, который вызывает фабрику и создаёт агрегат, потом что-то обновляет для него, производит какой-то перерасчёт в этом агрегате, а затем репозиторием сохраняет. И всё это делается в таким сервисом, а не, скажем, в контроллере API как любят туда пихать всё. Контроллер в апи всё что умеет - валидировать DTO, вызывать сервисы или репозитории и слать правильные HTTP-коды ошибок (200, 401) .
Тут у вас немного перемешались понятия. Давайте обратимся к литературе: "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" совпадает. Интересно, что на эту тему пишет Эванс)
Тест
Вы меня извините конечно, но какой двинутый это снимал? Человек объясняет, на стену проецируется наглядный пример и мне показывают рассказчика вместо того чтобы показать то что он объясняет. Вы нормальные?
*Exellent job!*
>>>> "В наших руках абсолютно всё сейчас" Вот теперь заживём! 😃😃😃
думаю за такие слоганы можно получить пару лет тюрьмы
Уважаемый pro_gen, мы видим в слогане весьма позитивную формулировку и искренне не разделяем ваше мнение. Любой слоган, фраза, высказывание корректно воспринимается лишь неразрывно с контекстом. Возможно вы восприняли заголовок через призму своего мировосприятия и поторопились написать комментарий, не посмотрев трейлер и не прочитав описание. Либо вам не удалось разглядеть контекст в трейлере или в описании. В любом случае рекомендуем вам посмотреть полную версию фильма, ссылка есть в описании к видео. Уверены, что после просмотра у вас не возникнет подобных мыслей.
блин ну почему я этот доклад не увидел два года назад( прям все мои вопросы закрыло. спасибо большое.
Рада, что было полезно!
@@jmatveeva подскажите названия книжек не получилось расслышать? Классный доклад, в прошлом проекте делали что-то похожее, но тогда я не знал как это называется :)
@@ruslanm.1120 По-моему, я там упоминала книгу Vaughn Vernon "Implementing Domain Driven Design". Сейчас бы я ещё рекомендовала книгу Vlad Khononov "Learning Domain-Driven Design", must read. Есть на русском вроде бы обе, но лучше в оригинале, конечно
Звук, ребята, что с озвучкой?
Добрый день! А что именно вас беспокоит со звуком?
@@iSpringTech Все фонит.