Книжный куб
11.1K subscribers
2.66K photos
6 videos
3 files
1.96K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре
Download Telegram
Platform Engineering Night (Рубрика #Engineering)

Только что начиналась наша конференция Platform Engineering Night (трансляция доступна здесь). Конференцию открыл Игорь Маслов, наш VP of Coretech & Data.

Сама конференция про то, как платформы дружат с искусственным интеллектом! Эта дружба пройдет под знаком Productivity & AI, мы погрузимся в реальные кейсы, где AI не просто модное слово, а инструмент, который уже сегодня автоматизирует рутину, предсказывает сбои, масштабирует сервисы и повышает продуктивность команд. Только проверенные подходы, которые работают в проде — никаких теорий, только практика.

1) На сцену выйдут заслуженные джентельмены и лидеры индустрии: Игорь Маслов (Т-Банк), Евгений Колесников (Yandex Infrastructure), Денис Артюшин (Nestor, Т-Банк), Иван Юрченко (FineDog, Т-Банк) и другие. Они расскажут, как строить собственных AI-ассистентов, эволюционировать SRE и внедрять AI в инженерные платформы.
2) Помимо докладов будут демонстрационные зоны, где можно пообщаться с инженерами, потрогать платформы руками и узнать, как устроены LLM Platform, FineDog и другие решения для автоматизации и управления инцидентами.
3) Будет экспериментальный контент в виде кодинг-батла: AI против человека! Кто быстрее и качественнее решит задачу — разработчик или AI-ассистент? Сначала — битва, потом разбор полётов от экспертов. Голосуй за фаворита и участвуй в обсуждении: сможет ли искусственный интеллект заменить живой опыт и инженерное мышление?
4) Ну и конечно будет крутой нетворкинг, где можно будет обменяться опытом с практиками, найти единомышленников, обсудить острые вопросы и заводи новые профессиональные связи.

P.S.
Я присутствую на этой конференции, так что если кто-то уже у нас в гостях, то пишите, сможем поговорить очно:)

#PlatformEngineering #Architecture #Processes #Conference
🔥136👍2
[2/3] Quality Metrics in Software Architecture (Рубрика #Architecture)

Продолжая рассказ про эту научную статью, поговорим про методологию исследования и подход к реализации.

Для реализации своего фреймворка авторы взяли следующие инструменты
- Модель реализована с помощью доменно-специфического языка (Domain-Specific Language, DSL) на базе xText, что позволяет текстово описывать элементы качества и их связи.
- Для визуализации используется генератор кода (xTend), который строит интерактивные веб-интерфейсы: списки метрик и атрибутов, а также граф взаимосвязей между ними.
- Каталог поддерживает расширение и коллективную работу: любой участник может предложить новую метрику или атрибут через pull request, после чего данные автоматически попадают в визуализацию (правда, в репозитории не было pull requests за все время)

Если описывать подход авторов к исследованию, то он был достаточно строгим
- Они сформулировали исследовательские вопросы (RQ1–RQ4): какие метрики и атрибуты используются, являются ли они универсальными или специфичными, внутренними или внешними, и как их применять на практике.
- Они сформулировали поисковую стратегию: запросы по ключевым словам в пяти крупнейших научных базах (IEEExplore, ACM Digital Library, Scopus, Springer Link, ScienceDirect) за период 2011–2022 гг.
- Они отфильтровали найденные публикации по релевантности, языку, типу публикации и другим критериям, из 746 публикаций осталось всего 33
- Они проанализировали и классифицировали найденные метрики и атрибуты - для этого использовались характеристики из ISO/IEC 25010:2011, а потом они добавили классификацию по признакам generic/specific (универсальные/специфичные) и internal/external (внутренние/внешние)
- На основе этого они собрали модель и дальше использовали DSL для описания и генерации визуализаций

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

Авторы подчёркивают, что их каталог и фреймворк — это "живой" инструмент, который должен развиваться совместно с профессиональным сообществом. Основные направления будущих исследований и развития:
- Оценка и валидация с участием стейкхолдеров: планируется провести пользовательские исследования с архитекторами и экспертами для проверки удобства и полезности DSL и каталога.
- Комьюнити-драйв развитие: каталог открыт для внешних вкладов, его развитие зависит от активности сообщества инженеров и исследователей.
- Интеграция в практику: каталог может использоваться для:
-- Поиска и выявления новых или отсутствующих связей между метриками и атрибутами;
-- Поддержки инструментов автоматической оценки качества архитектуры;
-- Анализа влияния одних атрибутов качества на другие (impact traceability);
-- Построения переиспользуемых моделей качества и SaaS-решений, не зависящих от конкретного архитектурного языка.
- Расширение набора внешних метрик: большинство найденных метрик — внутренние, поэтому требуется разработка и внедрение большего количества внешних метрик, отражающих восприятие качества пользователями и заказчиками.
- Валидация связей между атрибутами: каталог помогает выявлять неожиданные или спорные связи между атрибутами качества, что может стать поводом для новых исследований и экспериментальных проверок

В итоге, эта статья предлагает систематизированный и практически применимый каталог метрик для оценки архитектуры ПО, реализованный в виде расширяемой модели и фреймворка.

#Architecture #Metrics #Software #Engineering #SystemDesign #Management
👍43🔥1
[3/3] Quality Metrics in Software Architecture (Рубрика #Architecture)

Заканчивая рассказ (1 и 2) про этот whitepaper поделюсь иллюстрациями из самой статьи
👍54🔥2
What Every Programmer Should Know about How CPUs Work • Matt Godbolt • GOTO 2024 (Рубрика #Engineering)

Посмотрел на неделе интересное выступление Мэтта Годболта, британского программиста, разработчика игр и бывшего сотрудника Google, наиболее известного как создатель популярного среди разработчиков инструмента Compiler Explorer. В этом выступлении Мэтт рассказывал о вещах, которые обязательно знать программистам о том, как работают CPUs (да, я знаю, что сейчас более модно рассказывать о том, как работают GPUs, но мы тут про базу, а не про хайп). Доклад проливает свет за 45 минут на следующие вещи

- Как выглядит архитектура современных процессоров в плане конвейерной обработки инструкций, что такое фронтэнд и бэкэнд в процессорах
- Как базово работает механизм branch prediction (предсказания ветвлений)
- Как процессоры разбирают инструкции и избегают конфликтов при работе с регистрами.
- Как достигается одновременное выполнение множества инструкций и почему это важно для производительности (тут про буфер переупорядочивания)
- Как процессор реагирует на ошибки (например, сегментации) и отменяет неверные вычисления.
- Как точность предсказания ветвлений напрямую влияет на скорость работы программ.
- Как сортировка данных и особенности кода влияют на эффективность исполнения (примеры на Python и C++)
- Почему деление — одна из самых медленных операций, как компиляторы и программисты могут это обойти (роль кэшей и памяти)
- Какие инструменты можно использовать для анализа производительности (Perf, Compiler Explorer, Cache Grind и другие)

В итоге, этот доклад прямо интересно посмотреть тем, кто хочет писать быстрый и эффективный код, понимая, как реально работают современные процессоры и компиляторы.

#Engineering #Software #Architecture #Hardware
🔥105👍2🥱1
The Beauty of Simplicity - Making Your Own Technology • Yan Chernikov • YOW! 2024 (Рубрика #Architecture)

Посмотрел недавно интересно выступление Яна Черникова (The Cherno), австралийского разработчика, популярного YouTube-блогера и бывшего инженера Electronic Arts. Его основной вклад — образовательный контент по C++, разработке игровых движков и программированию, а также создание собственного 3D-движка Hazel. Черников прославился благодаря подробным видеоурокам по архитектуре игровых движков и практическим сериям по созданию Hazel с нуля. До Hazel он работал над движками Osiris и Frostbite в EA, но ушёл, чтобы сосредоточиться на собственных проектах и образовательной деятельности.

В этом выступлении он рассказал интересный доклад про красоту простоты. В своем докладе он подчёркивает ценность простоты как основы для выживания и эффективности в разработке собственных решений. Вот основные темы, что он затронул в своем рассказе
- Как он пришел к Hazel и почему это было вызовом самому себе и стало образовательным проектом для сообщества
- Как Hazel вырос из личного проекта в командную разработку благодаря вовлечённости сообщества и добровольцам
- Как выглядит образовательная часть - самHazel и сопутствующие видео используются для обучения C++, архитектуре движков и демонстрации реальных кейсов разработки
- Как сравнить использование готовых движков с созданием собственного продукта - Unity и Unreal Engine против Hazel
- Какие основные неявные критерии выбора: лицензии, поддержка, найм специалистов - все это важные аспекты при выборе между готовыми решениями и самостоятельной разработкой
- Как работать с зависимостями и почему важна модульность - лучше минимизировать внешние зависимости и работать модульно - это обеспечит гибкость и возможность менять отдельные модули под свои задачи
- Почему open source помогает делает свои решшение - сейчас есть много открытых решений, что позволяют ускорить разработку и делегировать часть задач готовым решениям
- Что такое VSDD (vertical slice driven development) - я уже как-то рассказывал про доклад "Designing for change with Vertical Slice Architecture - Chris Sainty - NDC London 2024", где об это рассказывают сильно подробнее
Вертикальная разработка и оптимизация
Подход VSDD: развитие всех компонентов проекта параллельно, а не углубление только в одну часть; простота как ключ к эффективной оптимизации.
- Почему важно поступательное движение и фокус на конечном продукте, а также зачем пробовать создавать свои решения, даже если это кажется сложным

В общем, Черников вдохновляет разработчиков не бояться создавать свои технологии, ценить простоту и учиться на реальных задачах, а не только на готовых решениях.

#Architecture #SystemDesign #Engineering #Management #Software
7🔥5👍2
Диснейленд в Шанхае (Рубрика #Travel)

Во второй раз за месяц приехал в Китай, но на этот раз с семьей. Первым делом мы отправились в Диснейленд, чтобы прочувствовать атмосферу диснеевских мультфильмов. В принципе, у нас это получилось - мы пришли к 8.30 в парк, а ушли в районе 17.00, полностью посетив все, что входили в fast tack из 11 аттракционов. Круто, что самого маленького сына пустили почти везде. Особенно нам понравился громадный ландшафтый парк и общая атмосфера с музыкой и парадами игровых персонажей по улицам города. В общем, мы с женой вспоминили свое детство со старыми диснеевскими мультиками, а детишки простт увидели воплощенные сказки, которые они часто видят в телевизоре.

Один день на Дичнейленд конечно потратить стоит, но больше одного дня по нему ходить было бы скучно.

#Travel #Cinema
🔥18👍9🥰72