💡 ООП, процедурное программирование, Transaction script, ORM - фрагмент семинара из курса по Node.js

Sdílet
Vložit
  • čas přidán 7. 09. 2024
  • Оглавление нового курса по Node.js: github.com/How...
    Видео обзор курса: • 🎧 Node JS 2022 - 2023 ...
    Открытый курса по Node.js: github.com/How...

Komentáře • 38

  • @average-user9
    @average-user9 Před rokem +1

    Круте відео, дякую.
    Подобається, що обговорюєте плюси-мінуси підходів і патернів. І розкладаєте їх гарно)
    Бо пам'ятаю, коли вчився на курсах, то препод любив навішувати ярлики - цим патерном кодять тільки лохи, от тім тільки професіонали. Забувайте фори, бо вже є мап-и і редюси ... І все в такому дусі.

  • @zelenchuk.serhii
    @zelenchuk.serhii Před rokem +2

    Тимур благодарю 🙏
    Прям мне сейчас по делу.
    Я недавно получил команду Джунов и пишу 2 проекта корпоративных…. И я выбрал именно такой подход как вы описали в этом ролике. Это быстро, это эффективно и это масштабируемо 🔥
    Приятно слышать, что вы это одобряете 🙂 От себя могу добавить, что этот подход просто требует больше опыта и абстрактного мышления, возможно из-за этого это не сразу очевидно для людей «зашуганных» другими принципами программирования.
    Вроде это видео мелочь, но для меня это золото. Благодарю 🙏

    • @TimurShemsedinov
      @TimurShemsedinov  Před rokem +2

      Это работает, быстро, качественно, надежно, но это не модно, не стильно и не молождежно )))

  • @artem_travlo
    @artem_travlo Před 4 dny

    супер❤

  • @ApelsinovIvan
    @ApelsinovIvan Před rokem +2

    Оу, вот прям недавно об этом думал, спасибо за такие глубокие разъяснения

  • @zeOnni
    @zeOnni Před 2 měsíci +1

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

  • @xfg9183
    @xfg9183 Před 8 měsíci

    Вы исходите из предположения, что списание товара, это что-то вроде UPDATE SET status=CANCELED WHERE created_date < :some_date, но в реальности это не так, это целый бизнес-процесс который может охватывать ряд различных сервисов, в том числе и сторонних, а каждая номенклатурная единица товара может списываться по разному, например крупногабаритный товар требует утилизации и соответствующего контрагента, оплаты его услуг и в конце-концов это будет отражено как дебет в бух учете, а допустим списание просроченных продуктов может идти по иному сценарию, где они перепродаются фермерским хозяйствам и это будет отражено как кредит в бух учете. Так вот оказывается, что списание товара это long-running process, а вовсе не апдейт в базе данных. Так вот это то самое где DDD подойдет, а в вашем примере вы его пытаетесь применять к CRUD приложению, что является неверным.

  • @danylo.iliukha
    @danylo.iliukha Před rokem +1

    Найкращий канал по nodejs в українському сегменті

    • @TimurShemsedinov
      @TimurShemsedinov  Před rokem +2

      Я думав у світовому, чож ви так... У сусідньому відео два англомовних чувака обговорюють як їм дивитисі відео, радять субтитри перекладені чатом гопоти

  • @johngalt9494
    @johngalt9494 Před 2 měsíci +1

    Скиньте пожалуйста ссылку на сравнение парадигм 6:20

  • @KopoLPedov
    @KopoLPedov Před rokem +2

    можно ли назвать стракты+процедуры как data oriented programming?

    • @TimurShemsedinov
      @TimurShemsedinov  Před rokem +1

      можно, ну это уже имеет название процедурного или структурного программирования, только в термине "структурное" под структурой понимается не структура данных, а структура кода, блоки, процедуры, функции с вложенностью

  • @failure232
    @failure232 Před rokem

    Наличие втутреннего состояние это достотачный или необходимый критерий для ООП подхода?

    • @TimurShemsedinov
      @TimurShemsedinov  Před rokem

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

  • @failure232
    @failure232 Před rokem

    Подскажите полное название лекции про парадигмы программирования.

  • @artem_travlo
    @artem_travlo Před rokem +1

    если програмист может миксовать это уровень.

  • @sy-xo8xm
    @sy-xo8xm Před rokem

    вопрос от типичного "оопэшника" по поводу использования шаблона Transaction script. Разве не будет размазывания логики в самом коде, в хранимках в базе и как следствие сложное управление этим и высокая связность? База данных будет знать про логику приложения, а проблема быстродействия далеко не везде встречается.

    • @returnbackfalls
      @returnbackfalls Před rokem

      Как логика будет размазываться в базе и коде, если для базы у вас есть просто BEGIN и COMMIT? База не будет знать бизнес логику, от ней только одно требование -- ACID.

    • @justvisitor
      @justvisitor Před rokem

      ​@@returnbackfalls так прямым текстом сказали, что часть бизнес логики будет вынесена в SQL запрос

    • @returnbackfalls
      @returnbackfalls Před rokem

      @@justvisitor там речь шла за enterprise, а transaction script не подразумевает использования raw sql(это опционально), этот паттерн спокойно работает с ORM

  • @eugenematveyev9096
    @eugenematveyev9096 Před rokem

    стосовно критики transaction script - що дає виконання логіки в рамках application service, якщо все одно треба внести правки в декілька таблиць БД? нехай кейс з розрахунком і нестачею грошей він вирішить, а помилку при записі ніяк

    • @returnbackfalls
      @returnbackfalls Před rokem

      Використовуючи transaction script можна виконати зміни в декількох таблицях, якщо виникне помилка, то всі зміни rollback
      Можливо я не зрозумів питання, вибачайте

    • @TimurShemsedinov
      @TimurShemsedinov  Před rokem

      Но, якось я теж не зрозуміу, можна інакшо пувісти?

  • @bkatsevych
    @bkatsevych Před rokem +1

    Повторюсь, але подібні відео повинні бути також англійською (хоча б титрами). Такий контент необхідно поширювати і пропагандувати. Пане Тімур, я вже звертався до Вас через електронну пошту зі своєю пропозицією стосовно перекладу, але Ви не відповіли

    • @TimurShemsedinov
      @TimurShemsedinov  Před rokem

      Пробачте, часу брак, зараз випущу Metarhia 3 та сесія закінчиться і у початку наступного місяця напишіть ще раз

    • @bkatsevych
      @bkatsevych Před rokem

      @@TimurShemsedinov дякую за відповідь!

  • @blogtravelq
    @blogtravelq Před rokem

    Конечно если прошрамист может миксовать это круто

    • @TimurShemsedinov
      @TimurShemsedinov  Před rokem +1

      Что миксовать? Парадигмы? или разные подходы доступа к данным в базе?

    • @blogtravelq
      @blogtravelq Před rokem

      @@TimurShemsedinov парадигмы конечно

    • @TimurShemsedinov
      @TimurShemsedinov  Před rokem +1

      @@blogtravelq 100%, если нет разных подходов, то даже один глубоко не понимается из-за отсутствия сравнения

    • @blogtravelq
      @blogtravelq Před rokem +1

      @@TimurShemsedinov и это не только написания програмного кода касается😊

  • @PowWowVideo
    @PowWowVideo Před rokem +1

    Гы, лектора бы еще про graphql спросить - от его бомбанёт :)

    • @TimurShemsedinov
      @TimurShemsedinov  Před rokem

      Ну можно разобрать конечно, я считаю, что ORM придумали для людей, которые не могут освоить SQL, а GraphQL для людей, которые даже API не способны написать. Нода это праздник - все летит на стек, Нода это праздник - все летит на стек, как пел незабываемый Error Let`ov

    • @PowWowVideo
      @PowWowVideo Před rokem +1

      @@TimurShemsedinov "убежать бы,из этого зоопарка" всевозможных этих всех инфрастуктурных "решений" в чистую ноду, как пел также Егор Let'ов

    • @TimurShemsedinov
      @TimurShemsedinov  Před rokem

      @@PowWowVideo А при метархии все будет заебись, Она наступит скоро, надо только подождать, Там все будет бесплатно, там всё будет в кайф, Там наверное вообще не надо будет перестартовывать процессы

    • @PowWowVideo
      @PowWowVideo Před rokem +1

      @@TimurShemsedinov Коммунизм что-ли :) ? Дай бог Вам сил и здоровья и терпения