Artwork

Кирилл Мокевнин에서 제공하는 콘텐츠입니다. 에피소드, 그래픽, 팟캐스트 설명을 포함한 모든 팟캐스트 콘텐츠는 Кирилл Мокевнин 또는 해당 팟캐스트 플랫폼 파트너가 직접 업로드하고 제공합니다. 누군가가 귀하의 허락 없이 귀하의 저작물을 사용하고 있다고 생각되는 경우 여기에 설명된 절차를 따르실 수 있습니다 https://ko.player.fm/legal.
Player FM -팟 캐스트 앱
Player FM 앱으로 오프라인으로 전환하세요!

#51 ORM vs SQL — Дебаты: что побеждает в реальных проектах? Александр Вершилов

1:51:31
 
공유
 

Manage episode 491701093 series 3585626
Кирилл Мокевнин에서 제공하는 콘텐츠입니다. 에피소드, 그래픽, 팟캐스트 설명을 포함한 모든 팟캐스트 콘텐츠는 Кирилл Мокевнин 또는 해당 팟캐스트 플랫폼 파트너가 직접 업로드하고 제공합니다. 누군가가 귀하의 허락 없이 귀하의 저작물을 사용하고 있다고 생각되는 경우 여기에 설명된 절차를 따르실 수 있습니다 https://ko.player.fm/legal.

В этом выпуске мы поговорили с Александром Вершиловым — разработчиком с 15-летним опытом и руководителем отдела разработки в Сириус.Курсах. Мы устроили дебаты про ORM. Обсудили чем ORM отличается от query-builder’а, разобрали типичные проблемы N+1 и ленивых связей, сравнили подходы Code-First и Data-First к миграциям, а также поделились приёмами, как обойтись без ORM и не потерять производительность.

Вы узнаете, когда строгая типизация (на примере Haskell) спасает проект, какие настройки ORM могут «положить» продакшен и какие практики позволяют держать базу под контролем. А так же решите для себя, брать ли ORM в следующий проект или сразу писать SQL.

  • (00:00) - Введение. Почему мы всё ещё спорим про ORM?
  • (02:18) - Что такое ORM на пальцах — быстро, чётко, по делу
  • (04:32) - PHP и ORM: от древности до Laravel
  • (07:01) - ORM глазами хаскелиста — определение через опыт
  • (08:51) - Как типизация усложняет или упрощает маппинг
  • (10:35) - Связи решают всё: зачем они важны в любой базе
  • (13:45) - Фильтрация и динамика: где builder выигрывает у SQL
  • (17:51) - Тестируем SQL: что делать с ошибками на проде
  • (22:30) - Почему auto-инструментация — это роскошь не для всех
  • (25:43) - Query builder — обязательный минимум для любого проекта?
  • (29:23) - Когда ORM спасает время (и нервы)
  • (34:08) - Сериализация "на автомате" — магия или хорошая инженерия?
  • (36:51) - Промышленный стандарт = спокойствие в команде
  • (39:39) - Магия рефлексии: когда модель = пустой класс
  • (41:31) - Код first: почему он иногда опаснее, чем кажется
  • (43:36) - Zero downtime и миграции: возможно ли идеальное развертывание?
  • (49:36) - Как PHP прошёл путь к миграциям: взгляд в прошлое
  • (54:08) - Когда SQL тормозит: ищем виновника
  • (57:45) - Запросы: главная претензия к ORM
  • (01:05:03) - Как распознать N+1 запрос и не страдать
  • (01:08:13) - Пример Elixir: ORM без боли и магии
  • (01:12:44) - Где заканчивается SQL и начинается здравый смысл
  • (01:19:14) - Как удалять данные и при этом не терять их
  • (01:22:25) - ORM и бизнес-логика: когда класс — не просто класс
  • (01:28:50) - Декларативность vs. контроль: можно ли совместить?
  • (01:32:26) - Генерация объектов: действительно ли тормозит?
  • (01:36:22) - Оптимистичная блокировка спасает не только от конфликтов
  • (01:41:14) - Транзакции, блокировки и реалии продакшена
  • (01:44:58) - Нерешаемая проблема мутабельности
  • (01:48:27) - Когда "умная" ORM становится врагом архитектуры
  • (01:51:01) - Заключение. Как жить с ORM и не страдать?
★ Support this podcast ★
  continue reading

67 에피소드

Artwork
icon공유
 
Manage episode 491701093 series 3585626
Кирилл Мокевнин에서 제공하는 콘텐츠입니다. 에피소드, 그래픽, 팟캐스트 설명을 포함한 모든 팟캐스트 콘텐츠는 Кирилл Мокевнин 또는 해당 팟캐스트 플랫폼 파트너가 직접 업로드하고 제공합니다. 누군가가 귀하의 허락 없이 귀하의 저작물을 사용하고 있다고 생각되는 경우 여기에 설명된 절차를 따르실 수 있습니다 https://ko.player.fm/legal.

В этом выпуске мы поговорили с Александром Вершиловым — разработчиком с 15-летним опытом и руководителем отдела разработки в Сириус.Курсах. Мы устроили дебаты про ORM. Обсудили чем ORM отличается от query-builder’а, разобрали типичные проблемы N+1 и ленивых связей, сравнили подходы Code-First и Data-First к миграциям, а также поделились приёмами, как обойтись без ORM и не потерять производительность.

Вы узнаете, когда строгая типизация (на примере Haskell) спасает проект, какие настройки ORM могут «положить» продакшен и какие практики позволяют держать базу под контролем. А так же решите для себя, брать ли ORM в следующий проект или сразу писать SQL.

  • (00:00) - Введение. Почему мы всё ещё спорим про ORM?
  • (02:18) - Что такое ORM на пальцах — быстро, чётко, по делу
  • (04:32) - PHP и ORM: от древности до Laravel
  • (07:01) - ORM глазами хаскелиста — определение через опыт
  • (08:51) - Как типизация усложняет или упрощает маппинг
  • (10:35) - Связи решают всё: зачем они важны в любой базе
  • (13:45) - Фильтрация и динамика: где builder выигрывает у SQL
  • (17:51) - Тестируем SQL: что делать с ошибками на проде
  • (22:30) - Почему auto-инструментация — это роскошь не для всех
  • (25:43) - Query builder — обязательный минимум для любого проекта?
  • (29:23) - Когда ORM спасает время (и нервы)
  • (34:08) - Сериализация "на автомате" — магия или хорошая инженерия?
  • (36:51) - Промышленный стандарт = спокойствие в команде
  • (39:39) - Магия рефлексии: когда модель = пустой класс
  • (41:31) - Код first: почему он иногда опаснее, чем кажется
  • (43:36) - Zero downtime и миграции: возможно ли идеальное развертывание?
  • (49:36) - Как PHP прошёл путь к миграциям: взгляд в прошлое
  • (54:08) - Когда SQL тормозит: ищем виновника
  • (57:45) - Запросы: главная претензия к ORM
  • (01:05:03) - Как распознать N+1 запрос и не страдать
  • (01:08:13) - Пример Elixir: ORM без боли и магии
  • (01:12:44) - Где заканчивается SQL и начинается здравый смысл
  • (01:19:14) - Как удалять данные и при этом не терять их
  • (01:22:25) - ORM и бизнес-логика: когда класс — не просто класс
  • (01:28:50) - Декларативность vs. контроль: можно ли совместить?
  • (01:32:26) - Генерация объектов: действительно ли тормозит?
  • (01:36:22) - Оптимистичная блокировка спасает не только от конфликтов
  • (01:41:14) - Транзакции, блокировки и реалии продакшена
  • (01:44:58) - Нерешаемая проблема мутабельности
  • (01:48:27) - Когда "умная" ORM становится врагом архитектуры
  • (01:51:01) - Заключение. Как жить с ORM и не страдать?
★ Support this podcast ★
  continue reading

67 에피소드

Все серии

×
 
Loading …

플레이어 FM에 오신것을 환영합니다!

플레이어 FM은 웹에서 고품질 팟캐스트를 검색하여 지금 바로 즐길 수 있도록 합니다. 최고의 팟캐스트 앱이며 Android, iPhone 및 웹에서도 작동합니다. 장치 간 구독 동기화를 위해 가입하세요.

 

빠른 참조 가이드

탐색하는 동안 이 프로그램을 들어보세요.
재생