Artificial Intelligence Index Report 2024 (Рубрика #AI)
Недавно почитал этот отчет от Stanford University for Human-Centered AI, который в виде pdf занимает солидные 500+ страниц:) Отчет является достаточно значимым в индустрии и затрагивает большое количество тем (он разбит на 9 отдельных глав вида: RnD, tech performance, responsible AI, economy, science & medicine, education, policy & governance, diversity, public opinion). Каждая глава содержит большое количество отсылок к исследованиям, различные визуализации и нетривиальные выводы, которые выливаются в следюущие top-level находки
1. AI beats humans on some tasks, but not on all - железные друзья уже превосходят людей в ряде задач, пока не во всех, но еще не вечер
2. Industry continues to dominate frontier AI research - создание foundational моделей - дело дорогое, поэтому крупные компании его могут себе позволить, а вот академическим исследователям не хватает бюджетов для конкуренции. Поэтому многие прорывные результаты рождаются в корпорациях
3. Frontier models get way more expensive - интересно наблюдать экспоненциальный рост стоимости моделек, который дает стабильный рост результатов
4. The United States leads China, the EU, and the U.K. as the leading source of top AI models - USA пока впереди Китая в рамках AI (а если посмотреть на другие новости про запрет экспорта части технологий в Китай, то кажется, что USA хочет продолать быть лидером)
5. Robust and standardized evaluations for LLM responsibility are seriously lacking - вопрос оценки моделей достаточно сложен (во второй части про tech performance авторы рассказывают про разные варианты бенчмарков)
6. Generative AI investment skyrockets - видно, что тема инвестиций в AI горячая и все стартапы теперь пытаются добавить себе в описание рассказы про искусственный интеллект, чтобы повысить оценку бизнеса у инвесторов:)
7. The data is in: AI makes workers more productive and leads to higher quality work - есть исследования, что показывают повышение продуктивности и качества работы с использованием искусственного интеллекта
8. Scientific progress accelerates even further, thanks to AI - искусственный интеллект теперь помогает естественному двигать науку вперед. Интересно посмотреть что будет в отчете следующего года - по-факту, это позитивная спираль обратной связи и если AI сможет ускорять научные исследования, то лучше ему начать с области исследований AI:)
9. The number of AI regulations in the United States sharply increases - как обычно с большими возможностями приходит и большая ответственность, которую накладывают регуляторы. По-идее, это фиксирует границы и правила игры, но одновременно замедляет исследование нового. Но AI теперь слишком большой слон, чтобы регуляторы им не заинтересовались:)
10. People across the globe are more cognizant of AI’s potential impact—and more nervous - люди нервничают, так как появляется ощущение, что мы живем в эпоху перемен и технологическая сингулярность не за горами. Одновременно, не ясно когда и чью работу отдадут нашим железным друзьям и как потеря работы отразится на нашей жизни. Правда, пока AI скорее идет в сторону ассистентов людей, но при такой скорости развития моделей и получения данных для обучения ассистент скоро сможет превзойти учителя и ...
В общем, рекомендую отчет к ознакомлению всем интересующимся в современных технологических трендах.
#AI #ML #Software #Engineering #DataScience
Недавно почитал этот отчет от Stanford University for Human-Centered AI, который в виде pdf занимает солидные 500+ страниц:) Отчет является достаточно значимым в индустрии и затрагивает большое количество тем (он разбит на 9 отдельных глав вида: RnD, tech performance, responsible AI, economy, science & medicine, education, policy & governance, diversity, public opinion). Каждая глава содержит большое количество отсылок к исследованиям, различные визуализации и нетривиальные выводы, которые выливаются в следюущие top-level находки
1. AI beats humans on some tasks, but not on all - железные друзья уже превосходят людей в ряде задач, пока не во всех, но еще не вечер
2. Industry continues to dominate frontier AI research - создание foundational моделей - дело дорогое, поэтому крупные компании его могут себе позволить, а вот академическим исследователям не хватает бюджетов для конкуренции. Поэтому многие прорывные результаты рождаются в корпорациях
3. Frontier models get way more expensive - интересно наблюдать экспоненциальный рост стоимости моделек, который дает стабильный рост результатов
4. The United States leads China, the EU, and the U.K. as the leading source of top AI models - USA пока впереди Китая в рамках AI (а если посмотреть на другие новости про запрет экспорта части технологий в Китай, то кажется, что USA хочет продолать быть лидером)
5. Robust and standardized evaluations for LLM responsibility are seriously lacking - вопрос оценки моделей достаточно сложен (во второй части про tech performance авторы рассказывают про разные варианты бенчмарков)
6. Generative AI investment skyrockets - видно, что тема инвестиций в AI горячая и все стартапы теперь пытаются добавить себе в описание рассказы про искусственный интеллект, чтобы повысить оценку бизнеса у инвесторов:)
7. The data is in: AI makes workers more productive and leads to higher quality work - есть исследования, что показывают повышение продуктивности и качества работы с использованием искусственного интеллекта
8. Scientific progress accelerates even further, thanks to AI - искусственный интеллект теперь помогает естественному двигать науку вперед. Интересно посмотреть что будет в отчете следующего года - по-факту, это позитивная спираль обратной связи и если AI сможет ускорять научные исследования, то лучше ему начать с области исследований AI:)
9. The number of AI regulations in the United States sharply increases - как обычно с большими возможностями приходит и большая ответственность, которую накладывают регуляторы. По-идее, это фиксирует границы и правила игры, но одновременно замедляет исследование нового. Но AI теперь слишком большой слон, чтобы регуляторы им не заинтересовались:)
10. People across the globe are more cognizant of AI’s potential impact—and more nervous - люди нервничают, так как появляется ощущение, что мы живем в эпоху перемен и технологическая сингулярность не за горами. Одновременно, не ясно когда и чью работу отдадут нашим железным друзьям и как потеря работы отразится на нашей жизни. Правда, пока AI скорее идет в сторону ассистентов людей, но при такой скорости развития моделей и получения данных для обучения ассистент скоро сможет превзойти учителя и ...
В общем, рекомендую отчет к ознакомлению всем интересующимся в современных технологических трендах.
#AI #ML #Software #Engineering #DataScience
👍4❤3🔥3
Немного картинок к отчету, на которых представлены значимые модельки за 2023 год, а также видно как performance моделей приближается или превосходит человеческий уровень.
🔥4👍2❤1
Introducing GPT-4o (Рубрика #AI)
Вчера был интересный анонс новой модели от OpenAI и живое демо ее возможностей.
Видео длится 26 минут и его интересно посмотреть в оригинале, так как там было несколько интересных новостей:
- Появление настольной версии ChatGPT (для Mac)
- Запуск новой флагманской модели GPT-4o, которая действительно мультимодальна и с ней можно разговаривать, показывать видео и картинки и задавать по ним вопросы.
- Latency на ответы у модели такое, что с ней вполне можно приятно разговаривать без задержек в несколько секунд на генерацию ответа - это мне напомнило фильм "Она", который был про взаимоотношения AI как персонального ассистента и главного героя, кстати фильм вышел в 2013 году
- GPT-4o в 2 раза быстрее, на 50% дешевле и рейт-лимиты в 5 раз выше, чем в GPT4-Turbo
- GPT-4o будет доступен для всех пользователей (даже бесплатных)
- В демо был интересный кейс помощи в решении линейного уравнения - похоже GPT-4o теперь еще больше импакта способен принести в Edtech
- Дальше был пример работы с python кодом, код конечно простой был, но ChatGPT хорошо рассказал что это за код, зачем он нужен, а потом еще проанализировала график, который этот код и рисовал
- Другой пример с переводом в режиме реального времени тоже выглядел вдохновляюще
- Ну и последний пример - это анализ эмоций по выражению лица, которое транслируется при помощи селфи-камеры
В общем, очень интересная демка после которой вспоминается третий закон Артура Кларка
И кажется технологии от OpenAI приближаются к этому достаточно развитому уровню:)
#AI #DataScience #ML
Вчера был интересный анонс новой модели от OpenAI и живое демо ее возможностей.
Видео длится 26 минут и его интересно посмотреть в оригинале, так как там было несколько интересных новостей:
- Появление настольной версии ChatGPT (для Mac)
- Запуск новой флагманской модели GPT-4o, которая действительно мультимодальна и с ней можно разговаривать, показывать видео и картинки и задавать по ним вопросы.
- Latency на ответы у модели такое, что с ней вполне можно приятно разговаривать без задержек в несколько секунд на генерацию ответа - это мне напомнило фильм "Она", который был про взаимоотношения AI как персонального ассистента и главного героя, кстати фильм вышел в 2013 году
- GPT-4o в 2 раза быстрее, на 50% дешевле и рейт-лимиты в 5 раз выше, чем в GPT4-Turbo
- GPT-4o будет доступен для всех пользователей (даже бесплатных)
- В демо был интересный кейс помощи в решении линейного уравнения - похоже GPT-4o теперь еще больше импакта способен принести в Edtech
- Дальше был пример работы с python кодом, код конечно простой был, но ChatGPT хорошо рассказал что это за код, зачем он нужен, а потом еще проанализировала график, который этот код и рисовал
- Другой пример с переводом в режиме реального времени тоже выглядел вдохновляюще
- Ну и последний пример - это анализ эмоций по выражению лица, которое транслируется при помощи селфи-камеры
В общем, очень интересная демка после которой вспоминается третий закон Артура Кларка
Любая достаточно развитая технология неотличима от магии.
И кажется технологии от OpenAI приближаются к этому достаточно развитому уровню:)
#AI #DataScience #ML
YouTube
Introducing GPT-4o
OpenAI Spring Update – streamed live on Monday, May 13, 2024.
Introducing GPT-4o, updates to ChatGPT, and more.
Introducing GPT-4o, updates to ChatGPT, and more.
🔥14👍8⚡2👏1
Google I/O 2024: Everything Revealed in 12 Minutes (Рубрика #AI)
Прошел один день с анонса GPT-4o от OpenAI и состоялся Google I/O, который пропустившим можно посмотреть в виде 12-минутной нарезки ключевых моментов от CNET. Забавно, что само мероприятие Google I/O можно заменой одной буквы переименовать в Google AI, о котором в основном и говорили со сцены:)
- Project Astra - как Gemini умеет работать с видео с камеры телефона и воспринимать окружающее пространство
- Veo Generative AI Video Model - модель для генерации видео навроде Sora
- Trillium TPU - шестое поколение процессоров для обработки тензоров (в 4.7 раза эффективнее, чем раньше)
- Axion Processor - custom ARM процессор
- Gemini AI Google Search - как AI встраивается в Google Search: AI Overviews в качестве дополнительного блока сверху поисковой выдачи, дальше пример с поиском ресторанов под определенную задачу
- Gemini AI Video Search - поиск по видео, когда ты снимаешь камерой смартфона что-то и задаешь вопрос, выглядит интересно
- Gemini AI 'Live' Voice Chat - голосовой ассистент, с которым можно естественно разговаривать в real-time
- Gemini AI Gems - персонализированные ассистенты, которым можно задать инструкции и дальше они будут вести себя в соответствии с ними
- Android 15 AI Powered Search - AI полным ходом заезжает в Android (сначала на Pixel, а потом и на другие телефоны), где были показаны три изменения: доработки поиска, gemini становится ассистентом на Android, новая AI gemini модель будет работать на устройстве
- Circle To Search - поиск по кружочку:)
- Gemini AI Context Aware - обсуждение с учетом контекста (в демо пример с общение насчет pickleball и теннисом - вопросы, генерация картинок, вопросы по видео)
- Android 15 with Gemini Nano with Multimodality - подробнее про модель, работающую на устройстве (Geini Nano с мультимодельностью, on-device foundational model)
- How many times AI was mentioned at Google I/O - шутка на тему частого упоминания AI
P.S.
На Google I/O было много примеров использования AI во всех продуктах компании. Кажется, что это отличный способ сделать AI вездесущим со стороны Google и найти где он действительно причиняет добро пользователям, а дальше это монетизировать:)
P.P.S.
Но даже в день Google I/O у OpenAI была интересная новость про уход из компании Ilya Sutskever, chief scientist, а также со-основателя компании. Если вспомнить мелодраму с уходом Сэма Альтмана и его возвращением в OpenAI, то эта новость не кажется особенно неожиданной, так как Илья поучаствовал в этой истории как один из зачинщиков, большая часть из которых уже давно покинула компанию. Но Илья сначала потерял место в совете директоров после возвращения Сэма, а теперь вообще пошел заниматься чем-то, про что он написал в своем твитте так
#AI #DataScience #ML #Bigtech
Прошел один день с анонса GPT-4o от OpenAI и состоялся Google I/O, который пропустившим можно посмотреть в виде 12-минутной нарезки ключевых моментов от CNET. Забавно, что само мероприятие Google I/O можно заменой одной буквы переименовать в Google AI, о котором в основном и говорили со сцены:)
- Project Astra - как Gemini умеет работать с видео с камеры телефона и воспринимать окружающее пространство
- Veo Generative AI Video Model - модель для генерации видео навроде Sora
- Trillium TPU - шестое поколение процессоров для обработки тензоров (в 4.7 раза эффективнее, чем раньше)
- Axion Processor - custom ARM процессор
- Gemini AI Google Search - как AI встраивается в Google Search: AI Overviews в качестве дополнительного блока сверху поисковой выдачи, дальше пример с поиском ресторанов под определенную задачу
- Gemini AI Video Search - поиск по видео, когда ты снимаешь камерой смартфона что-то и задаешь вопрос, выглядит интересно
- Gemini AI 'Live' Voice Chat - голосовой ассистент, с которым можно естественно разговаривать в real-time
- Gemini AI Gems - персонализированные ассистенты, которым можно задать инструкции и дальше они будут вести себя в соответствии с ними
- Android 15 AI Powered Search - AI полным ходом заезжает в Android (сначала на Pixel, а потом и на другие телефоны), где были показаны три изменения: доработки поиска, gemini становится ассистентом на Android, новая AI gemini модель будет работать на устройстве
- Circle To Search - поиск по кружочку:)
- Gemini AI Context Aware - обсуждение с учетом контекста (в демо пример с общение насчет pickleball и теннисом - вопросы, генерация картинок, вопросы по видео)
- Android 15 with Gemini Nano with Multimodality - подробнее про модель, работающую на устройстве (Geini Nano с мультимодельностью, on-device foundational model)
- How many times AI was mentioned at Google I/O - шутка на тему частого упоминания AI
P.S.
На Google I/O было много примеров использования AI во всех продуктах компании. Кажется, что это отличный способ сделать AI вездесущим со стороны Google и найти где он действительно причиняет добро пользователям, а дальше это монетизировать:)
P.P.S.
Но даже в день Google I/O у OpenAI была интересная новость про уход из компании Ilya Sutskever, chief scientist, а также со-основателя компании. Если вспомнить мелодраму с уходом Сэма Альтмана и его возвращением в OpenAI, то эта новость не кажется особенно неожиданной, так как Илья поучаствовал в этой истории как один из зачинщиков, большая часть из которых уже давно покинула компанию. Но Илья сначала потерял место в совете директоров после возвращения Сэма, а теперь вообще пошел заниматься чем-то, про что он написал в своем твитте так
I am excited for what comes next — a project that is very personally meaningful to me about which I will share details in due time.
#AI #DataScience #ML #Bigtech
YouTube
Google I/O 2024: Everything Revealed in 12 Minutes
Google revealed a slew of Gemini AI software updates at its developers conference and introduced Project Astra and Project Veo.
Read: Google Ups Its AI Game With Project Astra, AI Overviews and Gemini Updates https://bit.ly/3ymFNyo
0:00 Intro
0:30 Project…
Read: Google Ups Its AI Game With Project Astra, AI Overviews and Gemini Updates https://bit.ly/3ymFNyo
0:00 Intro
0:30 Project…
👍5❤2🔥2
CTO Day Light от Yandex
Вчера была интересная тусовка для технических директоров от Yandex в центре Москвы.
Мероприятие получилось для меня очень интересным, так как удалось пообщаться с умными людьми и обсудить интересные вопросы от полушуточных до серьерзных, например
- Как выстраивать end-to-end процессы продуктовой разработки и какие проблемы тут могут быть
- Как выстраивать оргструктуру под требования бизнеса и как понять оптимальна ли структура под текущие запросы
- Что такое культура компании и как она влияет на взаимодействие команд и процессы
- Как подходить к процессам архитектуры и проектирования - тут и про написание дизайн доков, про нотации моделирования, про описание стейта архитектуры vs изменений, про TLA+ и не только
- Кто такие системные аналитики и что они делают в командах разработки
- Как выглядит работа в европейской компании vs российской:)
- и так далее
В общем, мероприятие получилось топовым для меня и вечер прошел отлично. А вообще этот формат мне нравится больше конференций - плотность крутых специалистов высока и всегда можно найти себе интересного собеседника:)
P.S.
Спасибо организаторам, что позвали в гости на это мероприятие.
Кстати, оно было продолжением того, что было на CTO Day в Дубае, про которое я рассказывал раньше.
#Engineering #Software #Management #SystemDesign #SystemEngineering #Leadership
Вчера была интересная тусовка для технических директоров от Yandex в центре Москвы.
Мероприятие получилось для меня очень интересным, так как удалось пообщаться с умными людьми и обсудить интересные вопросы от полушуточных до серьерзных, например
- Как выстраивать end-to-end процессы продуктовой разработки и какие проблемы тут могут быть
- Как выстраивать оргструктуру под требования бизнеса и как понять оптимальна ли структура под текущие запросы
- Что такое культура компании и как она влияет на взаимодействие команд и процессы
- Как подходить к процессам архитектуры и проектирования - тут и про написание дизайн доков, про нотации моделирования, про описание стейта архитектуры vs изменений, про TLA+ и не только
- Кто такие системные аналитики и что они делают в командах разработки
- Как выглядит работа в европейской компании vs российской:)
- и так далее
В общем, мероприятие получилось топовым для меня и вечер прошел отлично. А вообще этот формат мне нравится больше конференций - плотность крутых специалистов высока и всегда можно найти себе интересного собеседника:)
P.S.
Спасибо организаторам, что позвали в гости на это мероприятие.
Кстати, оно было продолжением того, что было на CTO Day в Дубае, про которое я рассказывал раньше.
#Engineering #Software #Management #SystemDesign #SystemEngineering #Leadership
❤14👍11🔥8👏1🐳1😇1🆒1
Доклад про инженерную продуктивность на конференции MTS True Tech Day (Рубрика #Management)
Сегодня на главной сцене конференции от MTS я буду выступать с докладом про developer productivity. У этой конференции интересный слоган: "код науки и технологии", который мне понравился. Мое выступление у меня будет отчасти экспериментальным, так как часть доклада мне придется рассказывать в формате стендапа без слайдов (не уложился в дедлайн их отправки).
Update: ребята успели зарелизить все слайды и рассказ вышел полноценным и без экспериментов. Респект команде МТС!
У меня есть полная версия со всем визуалом и расшифрокой в виде статьи в моем блоге. План выступления примерно следующий
- Затравка про важность этого вопроса
- Как я предлагаю сузить границы рассмотрения только продуктовыми компаниями и частью delivery без discovery
- Какие подходы были в академической среде: DORA и Accelerate, SPACE, DevEx - тезисы со ссылками на материалы доступны здесь
- Как это делают в Bigtech, например, в Google используют подход QUANTS - тезисы доступны здесь
- Что есть на рынке в виде коммерческих платформ - тезисы и ссылки здесь
- Как это делаем мы в Тинькофф - тут я расскажу про наш инструмент T-Meter
- Ну и какие выводы из этого всего следуют
P.S.
Так как мой доклад - это не питчинг раунда финансирования для стартапа, то я решил исключить часть про влияние AI на developer productivity, что тянет на отдельный доклад (который недавно как раз рассказывал VP of Product из GitHub)
P.P.S
Получить достууп к трансляции можно так
- создать аккаунт здесь https://lk.truetechday.ru/login
- перейти на страничку https://lk.truetechday.ru/broadcast и выбрать интересующий трек (рекомендую в 14.15 открыть главный зал)
#Processes #Management #Performance #Engineering #Software #SoftwareDevelopment #Leadership
Сегодня на главной сцене конференции от MTS я буду выступать с докладом про developer productivity. У этой конференции интересный слоган: "код науки и технологии", который мне понравился. Мое выступление у меня будет отчасти экспериментальным, так как часть доклада мне придется рассказывать в формате стендапа без слайдов (не уложился в дедлайн их отправки).
Update: ребята успели зарелизить все слайды и рассказ вышел полноценным и без экспериментов. Респект команде МТС!
У меня есть полная версия со всем визуалом и расшифрокой в виде статьи в моем блоге. План выступления примерно следующий
- Затравка про важность этого вопроса
- Как я предлагаю сузить границы рассмотрения только продуктовыми компаниями и частью delivery без discovery
- Какие подходы были в академической среде: DORA и Accelerate, SPACE, DevEx - тезисы со ссылками на материалы доступны здесь
- Как это делают в Bigtech, например, в Google используют подход QUANTS - тезисы доступны здесь
- Что есть на рынке в виде коммерческих платформ - тезисы и ссылки здесь
- Как это делаем мы в Тинькофф - тут я расскажу про наш инструмент T-Meter
- Ну и какие выводы из этого всего следуют
P.S.
Так как мой доклад - это не питчинг раунда финансирования для стартапа, то я решил исключить часть про влияние AI на developer productivity, что тянет на отдельный доклад (который недавно как раз рассказывал VP of Product из GitHub)
P.P.S
Получить достууп к трансляции можно так
- создать аккаунт здесь https://lk.truetechday.ru/login
- перейти на страничку https://lk.truetechday.ru/broadcast и выбрать интересующий трек (рекомендую в 14.15 открыть главный зал)
#Processes #Management #Performance #Engineering #Software #SoftwareDevelopment #Leadership
👍13🔥5❤4
Как_и_зачем_измерять_инженерную_продуктивность_в_крупной_компании.pdf
15.1 MB
Расшифровка доклада про продуктивность инженеров для тех, у кого не открывается Medium. На выходных еще запишу режиссерскую версию доклада и залью на свой Youtube канал:)
👍17🔥6❤4
Designing for change with Vertical Slice Architecture - Chris Sainty - NDC London 2024 (Рубрика #Architecture)
Интересный, но странный доклад про вертикальные слайсы как архитектурный концепт. Основная мысль в том, что нам стоит проектировать приложения с учетом изменений, так как изменения являются единственной постоянной в нашей отрасли. Дальше автор вспоминает предыдущие виды архитектур
- Трехзвенная архитектура (n-tier), что была популярна во времена динозавров. В этой архитектуре у нас есть data access layer, business logic layer, user interface layer
- Луковая архитектура,хорошо, что не липовая (onion) - в этой архитектуре центральным элементом являются бизнес-правила предметной области
- Чистая архитектура от дяди Боба (что любит все чистое: код, архитектуру, agile) - микс лучших практик из других архитектур возведенный на уровень догм
Дальше автор вспоминает что мы делаем код не ради красивой архитектуры (звучит лучше, чем чистая), а ради создания фичей внутри продукта и зарабатывания денег. Поэтому у нас есть ограничения и иногда нам фичи сделать важнее, чем сделать все по красоте. Так появляется техдолг и потребность в рефакторинге.
Сейчас стандартным подходом является создание отдельных сервисов, но у нас появляются проблемы
- High coupling и low cohesion (а нужно конечно наоборот)
- Это приводит к сложности в изменении и обслуживании этих систем
- У нас часто появляются проблемы с методами сервисов, которые имеют больше одной причины для изменений (продолжение single responsibility principle и separation of concern)
- Само свойство систем приводит к большому количеству связей и повышению сложности, если мы не боремся с этим
- Стандартная многозвенная архитектура нам не помогает - у нас есть проблемы с пониманием и изменением кода, так как надо держать все части приложения в голове. Также появляются проблемы со сложностью кода, производительностью и масштабируемостью систем.
И автор предлагает серебрянную пулю в виде vertical slice architecture, где у нас
- Организация кода предполагается по сценариям использования, а не по технической ответственности
- Мы пишем отдельный код для слайсов, а не переиспользуем существующий
- В слайсах мы пишем только тот код, что нужен сейчас. Если в будущем появится новые потребности, то мы добавим их в слайсы (все 100500, которые сделаем в рамках своей архитектуры)
Дальше идут плюсы архитектуры, которые влияют на производительность разработчиков, так как она
- Позволяет быстро создавать и тестировать функции, что облегчает обучение и понимание системы.
- Упрощает разделение функций и масштабирование отдельных частей приложения
Здесь мы легко обрабатываем срочность выпуска фич
- Срочные функции могут быть созданы и протестированы быстрее, без компромиссов в коде (простодобавь воды сделай еще один слайс )
- Код под кастомного пользователя может быть написан в отдельной вертикали, что позволяет избежать загрязнения существующего кода
- Технический долг и рефакторинг также могут быть выполнены более эффективно, так как мы можем его отдавать по слайсам
Эта архитектура помогает также с огромными сервисами, которые появляются в чистой архитектуре. Вместо этого можно использовать MediatR, который реализует паттерн посредник, обеспечивающий взаимодействие множества объектов, формируя при этом слабое зацепление и избавляя объекты от необходимости явно ссылаться друг на друга.
Ну и напоследок автор говорит, что некоторый код все-таки надо шарить (сюрприз) и автор предлагает правило трех (как правило трех конвертов ), которое гласит, что если код повторяется три раза, его следует извлечь в новую процедуру. Но самое важное, что автор оставил напоследок это то, что модели предметной области хорошо подходят для совместного использования кода, так как они моделируют бизнес-правила и изменения в бизнесе.
#Architecture #Software #SystemDesign #SoftwareArchitecture
Интересный, но странный доклад про вертикальные слайсы как архитектурный концепт. Основная мысль в том, что нам стоит проектировать приложения с учетом изменений, так как изменения являются единственной постоянной в нашей отрасли. Дальше автор вспоминает предыдущие виды архитектур
- Трехзвенная архитектура (n-tier), что была популярна во времена динозавров. В этой архитектуре у нас есть data access layer, business logic layer, user interface layer
- Луковая архитектура,
- Чистая архитектура от дяди Боба (что любит все чистое: код, архитектуру, agile) - микс лучших практик из других архитектур возведенный на уровень догм
Дальше автор вспоминает что мы делаем код не ради красивой архитектуры (звучит лучше, чем чистая), а ради создания фичей внутри продукта и зарабатывания денег. Поэтому у нас есть ограничения и иногда нам фичи сделать важнее, чем сделать все по красоте. Так появляется техдолг и потребность в рефакторинге.
Сейчас стандартным подходом является создание отдельных сервисов, но у нас появляются проблемы
- High coupling и low cohesion (а нужно конечно наоборот)
- Это приводит к сложности в изменении и обслуживании этих систем
- У нас часто появляются проблемы с методами сервисов, которые имеют больше одной причины для изменений (продолжение single responsibility principle и separation of concern)
- Само свойство систем приводит к большому количеству связей и повышению сложности, если мы не боремся с этим
- Стандартная многозвенная архитектура нам не помогает - у нас есть проблемы с пониманием и изменением кода, так как надо держать все части приложения в голове. Также появляются проблемы со сложностью кода, производительностью и масштабируемостью систем.
И автор предлагает серебрянную пулю в виде vertical slice architecture, где у нас
- Организация кода предполагается по сценариям использования, а не по технической ответственности
- Мы пишем отдельный код для слайсов, а не переиспользуем существующий
- В слайсах мы пишем только тот код, что нужен сейчас. Если в будущем появится новые потребности, то мы добавим их в слайсы (
Дальше идут плюсы архитектуры, которые влияют на производительность разработчиков, так как она
- Позволяет быстро создавать и тестировать функции, что облегчает обучение и понимание системы.
- Упрощает разделение функций и масштабирование отдельных частей приложения
Здесь мы легко обрабатываем срочность выпуска фич
- Срочные функции могут быть созданы и протестированы быстрее, без компромиссов в коде (просто
- Код под кастомного пользователя может быть написан в отдельной вертикали, что позволяет избежать загрязнения существующего кода
- Технический долг и рефакторинг также могут быть выполнены более эффективно, так как мы можем его отдавать по слайсам
Эта архитектура помогает также с огромными сервисами, которые появляются в чистой архитектуре. Вместо этого можно использовать MediatR, который реализует паттерн посредник, обеспечивающий взаимодействие множества объектов, формируя при этом слабое зацепление и избавляя объекты от необходимости явно ссылаться друг на друга.
Ну и напоследок автор говорит, что некоторый код все-таки надо шарить (
#Architecture #Software #SystemDesign #SoftwareArchitecture
YouTube
Designing for change with Vertical Slice Architecture - Chris Sainty - NDC London 2024
This talk was recorded at NDC London in London, England. #ndclondon #ndcconferences #developer #softwaredeveloper
Attend the next NDC conference near you:
https://ndcconferences.com
https://ndclondon.com/
Subscribe to our YouTube channel and learn…
Attend the next NDC conference near you:
https://ndcconferences.com
https://ndclondon.com/
Subscribe to our YouTube channel and learn…
👍16🔥2😱2❤1
100 Things To Know About Oceans (Рубрика #Kids)
Наш млалший сын очень любит книги про океаны и морских тварей, а также он ходит в английских детский сад. По этим причинам я решил прикупить для него эту красочную книгу с отличными картинками и очень интересными фактами про подводный мир. Читаем книгу мы примерно так: я читаю сначала интересный факт на английском, потом перевожу на русский, а потом мы обсуждаем сами истории: про огромные стаи рыб, горы под водой, пиратов, китов, жителей дна океана и так далее. В общем, книга очень нам нравится - многие факты внове и для меня, а детям нравится рассматривать иллюстрации и задавать уточняющие вопросы, а еще можно подкачать английский язык себе и детям:)
#ForParents #ForKids
Наш млалший сын очень любит книги про океаны и морских тварей, а также он ходит в английских детский сад. По этим причинам я решил прикупить для него эту красочную книгу с отличными картинками и очень интересными фактами про подводный мир. Читаем книгу мы примерно так: я читаю сначала интересный факт на английском, потом перевожу на русский, а потом мы обсуждаем сами истории: про огромные стаи рыб, горы под водой, пиратов, китов, жителей дна океана и так далее. В общем, книга очень нам нравится - многие факты внове и для меня, а детям нравится рассматривать иллюстрации и задавать уточняющие вопросы, а еще можно подкачать английский язык себе и детям:)
#ForParents #ForKids
❤13🔥8👍6
An Introduction to Residuality Theory - Barry O'Reilly - NDC Oslo 2023 (Рубрика #Architecture)
Интересное выступление про residuality theory от Barry O'Reilly, автора теории. Автор делает подход к созданию теории, что поможет инженерам прокачиваться в архитектуру не просто набивая опыт, а используя достижения complexity theory, но без погружения во всю ее сложность. Для этого автор начинает с определения упорядоченных и неупорядоченных систем, а дальше он показывает как стрессоры (неизвестные факторы) могут негативно влиять на архитектуру. С учетом вариативности окружающего мира проанализировать все состояния системы и влияние стрессоров на систему в этом состоянии не представляется возможным. Поэтому автор предлагает рассматривать систему не целиком, а изучать то, что остается от системы, если случается пи... (стрессор X). Эти остатки определяют будущее системы и могут быть использованы для управления архитектурой программного обеспечения. Для моделирования стрессоров нам поможет метод Монте-Карло с его рандомизацией, которую мы можем применить к возможным стрессорам.
Дальше автор вводит рассказывает про аттракторы как устойчивые состояния, в которые скатывается система. Он приходит к ним через NK модель Кауффмана. У нас есть система с N элементами, принимающими значение 0 или 1, параметром K характеризующим связность (например, максимум связей одного элемента). Суть в том, чтобы показать, что при росте N и K у нас в системе увеличивается количество аттракторов. Заодно там появляется вероятностная характеристика P, которая характеризует bias связей между элементами. Финалом размышлений становится вывод некоторой выпуклой кривой критичности, которая вырисовывается в пространстве N и K, где мы играем с количеством элементов и связей между ними (еще один способ определить количество сервисов и связей между ними).
В общем, для каждого стрессора, который ломает нашу начальную наивную архитектуру, мы придумывает доработку, которая позволяет архитектуре системы пережить наступление этого стрессора. Пробежавшись по всем стрессорам, мы получаем крутую residual architecture для нашей системы.
Дальше автор приводит крутые примеры из дизайна системы для управления зарядными станциями для электромобилей. Ребята учли corner cases, которые бывают с зарядкой электромобилей и это помогло потом упростить решение проблем с людьми, что оставляют заряжать машины на целый день, а также с ребятами, что занимались саботажем. А вообще история прикольная и рекомендую посмотреть ее в оригинале.
Ну и в финале автор рассказывает про составление матриц для описания связей между компонентами системы и факторами стресса. Эти матрицы помогают выявить нефункциональные требования и уязвимости в системе. В этой матрице у нас в строках приведены стрессоры, а в колонках - компоненты системы. В итоге, мы анализируем для каждого стрессора влияет ли он на компонент. Если несколько компонентов подвержены одному стрессору, то вероятно у них есть неявная связь (implicit coupling), с которой хорошо бы разобраться.
В конце автор приводит способ померить крутость нашей residual architecture по сравнению с ее наивной версией. Схема выглядит так, что нам надо подсчитать для каждого стрессора
- Переживает ли наша наивная архитектура его наступление
- Переживает ли его наступление residual architecture
- Из значения успехов для residual architecture вычесть количество успехов для наивной архитектуры, а потом отнормировать на общее количество стрессоров
- Полученное число показывает насколько мы хорошо как архитекторы прокачали нашу начальную архитектуру:)
В общем, все звучит достаточно логично и напоминает мне подход генеративно-состязательных сетей, но только к архитектуре. Дальше я планирую прочитать whitepaper "Residuality Theory, random simulation, and attractor networks" от автора доклада и рассказать про него:)
#DistributedSystems #SystemDesign #Math #Engineering #Architecture #SoftwareArchitecture #ComplexityTheory #Software #Processes
Интересное выступление про residuality theory от Barry O'Reilly, автора теории. Автор делает подход к созданию теории, что поможет инженерам прокачиваться в архитектуру не просто набивая опыт, а используя достижения complexity theory, но без погружения во всю ее сложность. Для этого автор начинает с определения упорядоченных и неупорядоченных систем, а дальше он показывает как стрессоры (неизвестные факторы) могут негативно влиять на архитектуру. С учетом вариативности окружающего мира проанализировать все состояния системы и влияние стрессоров на систему в этом состоянии не представляется возможным. Поэтому автор предлагает рассматривать систему не целиком, а изучать то, что остается от системы, если случается пи... (стрессор X). Эти остатки определяют будущее системы и могут быть использованы для управления архитектурой программного обеспечения. Для моделирования стрессоров нам поможет метод Монте-Карло с его рандомизацией, которую мы можем применить к возможным стрессорам.
Дальше автор вводит рассказывает про аттракторы как устойчивые состояния, в которые скатывается система. Он приходит к ним через NK модель Кауффмана. У нас есть система с N элементами, принимающими значение 0 или 1, параметром K характеризующим связность (например, максимум связей одного элемента). Суть в том, чтобы показать, что при росте N и K у нас в системе увеличивается количество аттракторов. Заодно там появляется вероятностная характеристика P, которая характеризует bias связей между элементами. Финалом размышлений становится вывод некоторой выпуклой кривой критичности, которая вырисовывается в пространстве N и K, где мы играем с количеством элементов и связей между ними (еще один способ определить количество сервисов и связей между ними).
В общем, для каждого стрессора, который ломает нашу начальную наивную архитектуру, мы придумывает доработку, которая позволяет архитектуре системы пережить наступление этого стрессора. Пробежавшись по всем стрессорам, мы получаем крутую residual architecture для нашей системы.
Дальше автор приводит крутые примеры из дизайна системы для управления зарядными станциями для электромобилей. Ребята учли corner cases, которые бывают с зарядкой электромобилей и это помогло потом упростить решение проблем с людьми, что оставляют заряжать машины на целый день, а также с ребятами, что занимались саботажем. А вообще история прикольная и рекомендую посмотреть ее в оригинале.
Ну и в финале автор рассказывает про составление матриц для описания связей между компонентами системы и факторами стресса. Эти матрицы помогают выявить нефункциональные требования и уязвимости в системе. В этой матрице у нас в строках приведены стрессоры, а в колонках - компоненты системы. В итоге, мы анализируем для каждого стрессора влияет ли он на компонент. Если несколько компонентов подвержены одному стрессору, то вероятно у них есть неявная связь (implicit coupling), с которой хорошо бы разобраться.
В конце автор приводит способ померить крутость нашей residual architecture по сравнению с ее наивной версией. Схема выглядит так, что нам надо подсчитать для каждого стрессора
- Переживает ли наша наивная архитектура его наступление
- Переживает ли его наступление residual architecture
- Из значения успехов для residual architecture вычесть количество успехов для наивной архитектуры, а потом отнормировать на общее количество стрессоров
- Полученное число показывает насколько мы хорошо как архитекторы прокачали нашу начальную архитектуру:)
В общем, все звучит достаточно логично и напоминает мне подход генеративно-состязательных сетей, но только к архитектуре. Дальше я планирую прочитать whitepaper "Residuality Theory, random simulation, and attractor networks" от автора доклада и рассказать про него:)
#DistributedSystems #SystemDesign #Math #Engineering #Architecture #SoftwareArchitecture #ComplexityTheory #Software #Processes
YouTube
An Introduction to Residuality Theory - Barry O'Reilly - NDC Oslo 2023
Residuality theory is a revolutionary new theory of software design that aims to make it easier to design software systems for complex business environments. Residuality theory models software systems as interconnected residues - an alternative to component…
👍10🔥8❤1☃1🤯1😇1🆒1