Что должен знать каждый backend про N+1, lazy preload и производительность / Евгений Демин #83

В этом выпуске у меня в гостях Евгений Дёмин — Ruby-разработчик и автор нескольких популярных open source библиотек, которые решают проблемы с базами данных, валидацией и производительностью. Женя начинал как математик в Калининграде, попал на западный рынок почти случайно — друг порекомендовал его британскому рекрутеру, а всё собеседование свелось к фразе «Yes, please» в телефонной трубке. Тем не менее его взяли. Разобрались, почему open source — это не просто код на GitHub, а полноценный продукт, который нужно продвигать, объяснять и защищать. Женины библиотеки приносят ему живые деньги каждый месяц — и это получилось не по плану, а как результат маленьких последовательных шагов. Полезные ссылки: https://www.linkedin.com/in/evgeniydemin https://github.com/djezzzl/ https://x.com/EvgeniyDemin evgeniydemin.medium.com Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog – Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321 – Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239293 🔹 Курсы по искусственному интеллекту: https://ru.hexlet.io/courses_artificial-intelligence 🔹Хекслет Клуб в Telegram https://t.me/HexletClubBot Отдельно поговорили про schema.rb — файл, который Rails кладёт прямо в репозиторий и который даёт возможность строить инструменты автоматического анализа. В других экосистемах этого долго не было, а где-то нет до сих пор. Прошлись по конкретным инструментам. Выяснили, что расхождение между валидациями в коде и реальными ограничениями в базе данных — это не редкий edge case, а системная проблема, с которой сталкиваются даже крупные компании вроде 37signals. Подискутировали про N+1, что это не болезнь ORM, и вообще она существовала ещё когда люди писали запросы в циклах на чистом PHP. Обсудили, как можно пофиксить без ручного проставления includes — просто подключив нужную библиотеку. В конце разговор свернул в неожиданную сторону — обсудили, не станут ли все эти инструменты просто скиллами для ИИ-агентов, и нужны ли они вообще в том виде, в котором существуют сейчас. В этом видео: 00:00 Введение. Почему Ruby до сих пор придумывает идеи, которые потом копирует весь IT 01:51 Из олимпиадника в западный IT — история, которая сегодня звучит как фантастика 08:04 Золотая эпоха найма в IT. Почему раньше джунам давали шанс 14:14 Database Consistency: библиотека, которая ищет баги в вашей базе до продакшна 22:36 “Нет ORM — нет проблем”? Почему это опасный миф 27:09 Может ли AI сам находить архитектурные баги в коде? 41:38 Главная боль ORM — правда ли N+1 вообще проблема? 46:07 Counter Cache, preload и старые способы борьбы с N+1 50:28 Почему N+1 — проблема не ORM, а вообще всей индустрии 55:08 Goldiloader и AR Lazy Preload — магия, после которой можно забыть про N+1 1:01:45 Заключение. Open Source, AI и почему сильные инженерные идеи переживают технологии #opensource #rubyonrails #backend #programming #softwareengineering #postgresql #orm #nplusone #rails #developers #организованноепрограммирование #кириллмокевнин Что должен знать каждый backend про N+1, lazy preload и производительность / Евгений Демин #83

12+
28 просмотров
день назад
12+
28 просмотров
день назад

В этом выпуске у меня в гостях Евгений Дёмин — Ruby-разработчик и автор нескольких популярных open source библиотек, которые решают проблемы с базами данных, валидацией и производительностью. Женя начинал как математик в Калининграде, попал на западный рынок почти случайно — друг порекомендовал его британскому рекрутеру, а всё собеседование свелось к фразе «Yes, please» в телефонной трубке. Тем не менее его взяли. Разобрались, почему open source — это не просто код на GitHub, а полноценный продукт, который нужно продвигать, объяснять и защищать. Женины библиотеки приносят ему живые деньги каждый месяц — и это получилось не по плану, а как результат маленьких последовательных шагов. Полезные ссылки: https://www.linkedin.com/in/evgeniydemin https://github.com/djezzzl/ https://x.com/EvgeniyDemin evgeniydemin.medium.com Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog – Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321 – Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239293 🔹 Курсы по искусственному интеллекту: https://ru.hexlet.io/courses_artificial-intelligence 🔹Хекслет Клуб в Telegram https://t.me/HexletClubBot Отдельно поговорили про schema.rb — файл, который Rails кладёт прямо в репозиторий и который даёт возможность строить инструменты автоматического анализа. В других экосистемах этого долго не было, а где-то нет до сих пор. Прошлись по конкретным инструментам. Выяснили, что расхождение между валидациями в коде и реальными ограничениями в базе данных — это не редкий edge case, а системная проблема, с которой сталкиваются даже крупные компании вроде 37signals. Подискутировали про N+1, что это не болезнь ORM, и вообще она существовала ещё когда люди писали запросы в циклах на чистом PHP. Обсудили, как можно пофиксить без ручного проставления includes — просто подключив нужную библиотеку. В конце разговор свернул в неожиданную сторону — обсудили, не станут ли все эти инструменты просто скиллами для ИИ-агентов, и нужны ли они вообще в том виде, в котором существуют сейчас. В этом видео: 00:00 Введение. Почему Ruby до сих пор придумывает идеи, которые потом копирует весь IT 01:51 Из олимпиадника в западный IT — история, которая сегодня звучит как фантастика 08:04 Золотая эпоха найма в IT. Почему раньше джунам давали шанс 14:14 Database Consistency: библиотека, которая ищет баги в вашей базе до продакшна 22:36 “Нет ORM — нет проблем”? Почему это опасный миф 27:09 Может ли AI сам находить архитектурные баги в коде? 41:38 Главная боль ORM — правда ли N+1 вообще проблема? 46:07 Counter Cache, preload и старые способы борьбы с N+1 50:28 Почему N+1 — проблема не ORM, а вообще всей индустрии 55:08 Goldiloader и AR Lazy Preload — магия, после которой можно забыть про N+1 1:01:45 Заключение. Open Source, AI и почему сильные инженерные идеи переживают технологии #opensource #rubyonrails #backend #programming #softwareengineering #postgresql #orm #nplusone #rails #developers #организованноепрограммирование #кириллмокевнин Что должен знать каждый backend про N+1, lazy preload и производительность / Евгений Демин #83

, чтобы оставлять комментарии