Сергей Боиштян - Как я возненавидел ORM

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 ก.พ. 2018
  • Ближайшая конференция - Mobius 2024 Autumn, 11 октября (Online), 19-20 октября, Санкт-Петербург. Подробности и билеты: jrg.su/Yu6KNJ
    - -
    . . .
    . Расскажем историю из нашего текущего проекта на Android, какие проблемы нам принесла ORM (рост размера файла базы до умопомрачительных размеров) и как мы их решали. Мы обсудим назначение ORM и какие ограничения она накладывает на разработчиков. Цель доклада - заставить рядового разработчика задуматься о целесообразности использования ORM в своем проекте. Технологии, которые будут задействованы - OrmLite, Stetho, DBInspector, SQLite.

ความคิดเห็น • 6

  • @ultraon83
    @ultraon83 4 ปีที่แล้ว +3

    Подача материала - Супер, весело, легко и непринужденно! На таком докладе не уснёшь! Спасибо!

  • @NeptuneCasto
    @NeptuneCasto 3 ปีที่แล้ว +3

    Начало необычное и привлекает внимание зрителя, но этоо больше доклад про внутренности SqlLite а не проблемы ORM в целом. Кроме тонких клиентов под Android или iOS и очень маленьких сайтов SqlLite вам мало где понадобиться. SqlLite один из самых примитивных движков базы и никаких проблем при миграции из него нет, особоенно BLOB полей. На крайний случай можно написать приложение из нескольких строк которое будет вытягивать байты из sql lite и писать их соответствующие поле в другой базе. Проблема использования ORM в том что новички которым дают задачи не осознают всю серьезность любого изменения сущностей ORM. Проблема BLOB полей в базе при использовании ORM в другом, на 27й минуте докладчик уже просто читает с листика не особо понимая о чем рассказывает. BLOB поле в базе обычно маппится в Byte[] в коде и это таит в себе опасности. Если например нужно сделать простой скрин который например отображает список загруженных многие буду выгружать из базы полную сущность вместе с байтами и начинаются тормоза. Еще вспомним о цепочке падающей валидации вложенных сущностей в случайных местах приложения когда кто-то просто добавил поле но забыл его пометить nullable например.

  • @TonyMontana-xp7ps
    @TonyMontana-xp7ps 6 ปีที่แล้ว

    Спасибо за доклад.

  • @a.o.yaroslavov
    @a.o.yaroslavov 4 ปีที่แล้ว

    Ты его вновь полюбишь, если перейдёшь на Entity Framework (C#)