Как все успевать
9:35
2 жыл бұрын
2021 09 06 Полиморфизм
12:06
2021-07-23 Наследование
26:01
06  Что почитать
29:11
3 жыл бұрын
00  Введение
3:14
3 жыл бұрын
04 ApiPlatform real project review
33:04
04 ApiPlatform real project Intro 2
12:41
04 ApiPlatform real project Intro 1
4:03
03 ApiPlatform demo inside 4
9:21
3 жыл бұрын
03 ApiPlatform demo inside 3
7:36
3 жыл бұрын
03 ApiPlatform demo inside 2
12:55
3 жыл бұрын
03 ApiPlatform demo inside 1
10:50
3 жыл бұрын
02 ApiPlatform demo
13:09
3 жыл бұрын
01 ApiPlatform Intro
4:04
3 жыл бұрын
Пікірлер
@DrSable
@DrSable Ай бұрын
У вас граней 10, а не 8. А гексагон (если что) это шестиугольник :). На смысл это конечно не влияет.
@maestroPotter
@maestroPotter 8 ай бұрын
Для детей книги Яков Перельман - почти все ещё годится, несмотря на давность написания.
@jirra1998
@jirra1998 8 ай бұрын
Я очень люблю писателя фантаста Айзек Азимова. Его многие знают как создатель 4 законов о робототехнике. Мои любимы книги у него это "Конец вечности", именно с этой книги я начал его знакомстава. И книга "Академия", советую, думаю вам тоже понравится. А на счет религии мне нравиться очень цикл видео лекций клинического психолога Джордана Питерсана про библейские истории. Тоже очень советую, я думаю данный цикл видео будет интересен всем не смотря верует в бога или нет.
@jirra1998
@jirra1998 8 ай бұрын
Очень круто спасибо
@user-jd2xr7bf2t
@user-jd2xr7bf2t Жыл бұрын
делал такую штуку на php и go класс
@anspoetic
@anspoetic Жыл бұрын
Отличный анализ. Больше разборов статей\текстов подобного рода. К сожалению, подобных разборов мало, нашел ролик совершенно случайно.
@denis0ru
@denis0ru Жыл бұрын
Спасибо за отзыв и потраченное время! Формат скрупулезного разбора - длинный и скучный. Неформат. Статистика просмотров это подтверждает. Поэтому и мало таких материалов. Но я рад, что хотя бы несколько человек будет чуть лучше вооружено при анализе "безобидных" текстов. Может быть и мой вклад был в том, что Асю Казанцеву признали иноагентом.
@serj_8228
@serj_8228 Жыл бұрын
Доброго дня, а какое минимальное железо для этого варианта потребуется, чтобы изучить систему (в distributed mode)? Есть старый сервер на двух Xeon серии 56**, по 6 ядер на каждом, 92 Гб памяти. Естественно он не только для этого нужен, хочется понять, сколько можно минимум выделить ресурсов для такой задачи.
@denis0ru
@denis0ru Жыл бұрын
Можно десятки экземпляров на бабушкином ноутбуке. Производительность нужна когда начинается посещаемость или другая нагрузка
@anastasiav8157
@anastasiav8157 Жыл бұрын
Добрый день! Спасибо за подборку. Часть фильмов уже видела (28 панфиловцев, Солнцепек, Небо) Согласна с Вами, что очень правильные сильные фильмы, которые затрагивают важные проблемы. Так что обязательно посмотрю и остальные фильмы. Хотелось бы учлышать Ваше мнение о фильме "Марш-бросок" о чеченском конфликте. Я этот фильм очень люблю. Про афганский конфликт я тоже не видела ни одного качественного фильма. Единственный фильм качественный о последствиях этого конфликта для военных, которые в нем участвовали это "Бессмертные". И еще я бы к Вашему списку добавила бы фильм "Однажды в пустыне". Тоже очень качественный фильм о сирийском конфликте.
@denis0ru
@denis0ru Жыл бұрын
Спасибо за отзыв! Перечисленные Вами фильмы не смотрел, но теперь записал. Буду искать возможность посмотреть.
@yanamaltseva8306
@yanamaltseva8306 Жыл бұрын
Про Украинские события пока больше всего понравился фильм «Донбасс.Окраина».
@denis0ru
@denis0ru Жыл бұрын
Спасибо, записал
@eduardmart1237
@eduardmart1237 Жыл бұрын
А у тебя получается примонтирована файловая система в данном примере?
@denis0ru
@denis0ru Жыл бұрын
Если говорить про Minio, то он может работать как в контейнере(ах), так и на хосте. В первом случае монтировать файловую систему обязательно, чтобы не терять всё содержимое при рестарте. Если говорить про подключение к Минио из контейнера, то можно это делать по S3 API, а можно абстрагироваться от деталей с помощью плагина для монтирования. Второй подход, однако, добавляет "чёрный ящик" посередине - это может выстрелить в разных сценариях. Особенно под высокой нагрузкой.
@Alchemisteroid
@Alchemisteroid Жыл бұрын
Феерический бред, особенно аналогия с сиамскими близнецами!
@denis0ru
@denis0ru Жыл бұрын
Спасибо за потраченное время. К сожалению, без конкретных замечаний, ничего поправить/уточнить не смогу. Если найдёте время и силы на развёрнутый комментарий - добро пожаловать. Просто хамские выпады буду чистить.
@Alchemisteroid
@Alchemisteroid Жыл бұрын
​@@denis0ru Весь текст не влез. Поэтому оставляю ссылку: docs.google.com/document/d/1VgNKKfG2sgj8nPau_ZIqthyjFLEmt-Lsuz9AmAcI0sQ/edit?usp=sharing
@denis0ru
@denis0ru Жыл бұрын
Ещё большее спасибо! Это надо внимательно изучить. Взял в работу.
@user-xu6bn1iy9j
@user-xu6bn1iy9j Жыл бұрын
Ася извращенка если ей такие вещи кажутся трогательными.
@mateusis
@mateusis Жыл бұрын
час ахинеи
@denis0ru
@denis0ru Жыл бұрын
Спасибо большое за потраченное время (если оно действительно было потрачено). К сожалению, без более развёрнутого комментария нет возможности провести работу над ошибками.
@MakarenkoSasha
@MakarenkoSasha Жыл бұрын
можно ли сделать версионирование?
@denis0ru
@denis0ru Жыл бұрын
Сам не пробовал, но в документации есть min.io/product/object-versioning-bucket-versioning
@user-zn6he6mi2f
@user-zn6he6mi2f Жыл бұрын
Спасибо, учту. а так очень полезно . Продолжу изучение
@user-zn6he6mi2f
@user-zn6he6mi2f Жыл бұрын
как то отрывчато, перескакивает с места на место
@denis0ru
@denis0ru Жыл бұрын
Четыре года назад ничего лучше на русском языке не было. А делиться с коллегами надо было.
@donatelodonatelo383
@donatelodonatelo383 Жыл бұрын
Привет! где можно рассмотреть ClientOptions interface для minio?
@denis0ru
@denis0ru Жыл бұрын
Привет! Не понял вопрос. Если речь о справке по консольному клиенту, то здесь: min.io/docs/minio/linux/reference/minio-mc.html Если нужен SDK, то здесь: min.io/docs/minio/linux/developers/minio-drivers.html
@user-qz7pv3tv2b
@user-qz7pv3tv2b 2 жыл бұрын
Да, Денис, переиграл и уничтожил бедную писательницу! :-). Но да, её аргументы в стиле "не читал, но осуждаю" заслуживают...
@denis0ru
@denis0ru 2 жыл бұрын
Я то ещё добрый (с третьего дубля). А вот как выглядит недобрый разбор: kzbin.info/www/bejne/jpyUcoWVlNxogZI
@Varkatel
@Varkatel 2 жыл бұрын
в целом у меня есть одно замечание Ася вот берётся утверждать, что слова не имеют значения, не могут повлиять на сексуальные предпочтения и потому пропаганда не сработает и запрет пропаганды не имеет смысла, кроме очевидного попрания свободы слова даже если проигнорировать то, что в таком случае зачем пропаганда, если она не имеет смысла, мы остаёмся с вопросом о силе слов даже взрослого человека можно сломать и вылечить словами, иначе психиатрическая терапия не имела бы смысла сломать словами можно человека в таком вопросе, как пищевое поведение и хрен его вылечишь так просто, а это ведь вопрос жизни и смерти так неужели в таком вопросе, как получение удовольствия от взаимодействия пиписьками, человека нельзя сдвинуть словом? сам вопрос просто оглушительной ясности, что хочется уже узнать, а зачем доказывается обратное?
@denis0ru
@denis0ru 2 жыл бұрын
Перечитал три раза и всё равно не уверен, что правильно отделил прямую речь Аси от Ваших соображений по этому вопросу. Так есть пропаганда или нет? Работает или нет? Ася пропагандист или научный журналист?
@Varkatel
@Varkatel 2 жыл бұрын
@@denis0ru если словами можно сломать пищевое поведение настолько, что хрен вылечишь, а это вопрос жизни или смерти то очевидно, что в вопросах получения удовольствия всё значительно проще пропаганда есть и она работает а Ася в первую очередь дура, а потом пропагандист дури
@Varkatel
@Varkatel 2 жыл бұрын
как ты можешь разбирать Асю и не знать любезного Милония? стыд и позор!
@denis0ru
@denis0ru 2 жыл бұрын
Стыдюсь, краснею... а не, показалось))
@kunilingvist
@kunilingvist 2 жыл бұрын
Здравствуйте! Благодарю за видео! Спасибо большое! А Вы с Ульяновска сами?)
@denis0ru
@denis0ru 2 жыл бұрын
Спасибо за отзыв! Я из Самары
@kunilingvist
@kunilingvist 2 жыл бұрын
Мне сегодня пришли две книги: "Рождение сложности" А. Маркова и "Биология добра и зла" Роберта Сапольски. Жду с нетерпением, когда пойду в пункт самовывоза забирать) мне, как студенту биологу, безумно повезло жить во время, когда такие книги можно скачать в интернете, потому что денег на покупку бумажных вариантов не всегда хватает. Проект Всенаука помогает)
@sergeykuznetsov3706
@sergeykuznetsov3706 2 жыл бұрын
@@kunilingvist рождение сложности не осилил. Если бы не купили, то подарил бы.
@kunilingvist
@kunilingvist 2 жыл бұрын
@@sergeykuznetsov3706 пока читаю - полёт нормальный. Ты тот самый Сергей Кузнецов с нашего факультета?))
@greentubedog
@greentubedog 2 жыл бұрын
А вообще, Денис, этим видосом ты рискуешь попасть в ряды нерукопожатных
@denis0ru
@denis0ru 2 жыл бұрын
Переживу как-нибудь. "Платон мне друг, но истина дороже"
@greentubedog
@greentubedog 2 жыл бұрын
Мне видится, причина поведения этих каналов проста - бабло Они тупо боятся, что Ютуб забанит под шумок их каналы, если они не встанут на сторону "добра" в лице наичестнейшего западного сообщества
@denis0ru
@denis0ru 2 жыл бұрын
Причины - я постарался вынести за скобки. Но про факт решил сказать. И постараться объяснить свою "озабоченность" такими тенденциями.
@imoisey
@imoisey 2 жыл бұрын
Чувак, ты набрасываешь якобы люди, которые занимаются просветительской деятельностью не могут говорить о войне. Ты делаешь то же самое, только поддерживаешь эту войну. Когда приходит война, страдают все и просветители и политики и рабочие. Все страдают, из-за того, что кто-то там что-то нарешал
@denis0ru
@denis0ru 2 жыл бұрын
За мир надо было бороться до начала операции. За мир нужно бороться после окончания. Но бороться за прекращение этого процесса - это безумие. Военная операция - только первый этап. Нужно ещё передать власть и наладить процесс мирный. Иначе всё насилие без толку.
@denis0ru
@denis0ru 2 жыл бұрын
Походил-подумал... нет, не в том дело, кто более правильный пацифист. А в том, что не верю я в искренность этих флэш-мобов - с чужого голоса хор подпевает. И вовлекает детей в недетские игры. Именно после начала этого флеш-моба пошли несанкционированные митинги в Москве. И именно это я считаю предельно серьёзным. Они в ответе за тех, кого приручили.
@Oyaeboooo
@Oyaeboooo 2 жыл бұрын
Видимо, "вторым этапом" будет третья мировая. Вот как она закончится, так сразу начнём за мир бороться! За него нужно бороться всегда, остальное лишь делает вас в лучшем случае лицемером, в худшем -- психом. А безумие -- утверждать, что нужно "передать власть" В ЧУЖОЙ СТРАНЕ и искать "толк" в международном преступлении против мира и безопасности человечества. Наш диктатор нарушил несколько соглашений ООН, принципы Хельсинской декларации, принципы ОБСЕ, собственную конституцию и даже новоиспечённые соглашения о взаимопомощи, напав до вступления их в силу. Врал в лицо про невозможность войны, как врал до этого про [проваливших все выборы в Украине] националистов и войну в Донбассе, которая стихла ещё семь лет назад. Просто решил перед пенсией погонять на танке по чужому государству. Вы в этом ищете "толк"? Искать какую-то внешнюю подоплёку в том, что люди не хотят войны, не хотят нищеты, не хотят изоляции и чтобы слово "русский" стало ругательным -- врать самому себе. Если вы со всех сторон окружены врагами, то враг это вы.
@denis0ru
@denis0ru 2 жыл бұрын
@@Oyaeboooo учите историю. Она все Ваши тезисы разносит в клочья. Русский - уже ругательное слово. Последние лет 500 и даже больше. Но эти ругательства и оскорбления- просто оправдание грабительских намерений. Желать прекратить военную операцию сейчас - значит желать своей стране поражения в войне за саму возможность её существования. Это колоборационизм - сотрудничество с врагом. Измена Родине. Но мой ролик не об этом, а о том, что не надо в эти игры втравливать детей. Они же могут, например, в защиту мира пойти бросать коктейли Молотова в наших полицейских. И вроде их не к этому призывали, но гормоны бурлят и требуют решительных шагов. Дети испортят себе жизнь, а кто понесёт ответственность?
@user-lt4kq9ft2t
@user-lt4kq9ft2t 2 жыл бұрын
Денис, спасибо за подборку. О некоторых, действительно, даже не слышал! С тобой полностью согласен! В наше время совсем другие герои, отношение к патриотизму. Фильмы про войну сильно затрагивают душу. Хорошие фильмы, снятые на реальных событиях, ещё и помогают разобраться в истории. Обязательно посмотрим все предложенные!
@user-is9rt7zv6k
@user-is9rt7zv6k 2 жыл бұрын
Большое спасибо за видео. Сам пишу на симфони, понял, что надо делить приложение на контексты и каждый контекст на Application, Domain, Infrastructure. И тут начинается самое неприятное. Симфони генерирует сущности, которые зависят из-за атрибутов от Doctrine, значит это не сущности, это модель данных, так как сущность не может зависеть от инфраструктуры. Тогда где ее размещать? В папке инфраструктуры? Окей. Значит надо писать какие-то конвертеры моделей в сущности. Но где размещать интерфейсы? Я не прошу ответов, это риторические вопросы были. Хотел попросить, не могли бы Вы на примере симфони показать чистую, гексагональную архитектуру для энтерпрайза? Самое просто что-нибудь... Типо блога... Я в целом суть понял но на практике что куда и в какую папку размещать - начинается путаница. Спасибо ещё раз за видео!
@denis0ru
@denis0ru 2 жыл бұрын
Если коротко, то сущности могут быть и доменными (пользователь, заказ) и инфраструктурными (журнал аудита, кэш запроса к внешнему апи). Доменные модели надо хранить в домене. Мэппинг доктрины можно описывать в аннотациях (не совсем по феншую, но как компромисс) , в xml и даже в php явно конфиги писать. В последних двух случаях- полная отвязка от доменного слоя. В первом тоже можно один глаз прикрыть, потому как теоретически обрабатывать аннотации доктрины может другой класс. Или вообще не обрабатывать - конфиг превратится просто в комменты, без функционала.
@KNBLAUT
@KNBLAUT 2 жыл бұрын
У нас домены это и есть сущности доктрины, да в зависимостях есть доктрина в доменном слое, но мы решили забить, пока ничего плохого не произошло. Посмотри вот этот видос kzbin.info/www/bejne/mYu8lq2ilJegkM0 тут ребята разделили домен и сущности, довольно не плохо тоже получилось.
@nickname20151
@nickname20151 2 жыл бұрын
Спасибо что рассказали, многие вопросы сняло =)
@vikont2448
@vikont2448 2 жыл бұрын
Очень интересно. А следующие видео можно не ждать?)) Самое интересное не выложили )
@denis0ru
@denis0ru 2 жыл бұрын
Искренне советую symfonycast.com Даже при том, что за деньги и на английском. Свежие видео очень классно сделаны. Я на неопределённое время от PHP отошёл.
@vikont2448
@vikont2448 2 жыл бұрын
@@denis0ru, большое спасибо) А в какую область отошли?)
@denis0ru
@denis0ru 2 жыл бұрын
DevOps, SRE, DevSecOps. Короче, админ в команде безопасников.
@vikont2448
@vikont2448 2 жыл бұрын
​@@denis0ru​, любопытная тема) А в конце этого видео идет отсылка к следующим темам. Они у вас записаны или вы резко закончили все свои дела на этом уроке? Если записаны, почему не стали выкладывать?)
@denis0ru
@denis0ru 2 жыл бұрын
Это были внутренние уроки для команды. Я в какой-то момент почувствовал, что эффект от уроков снижается. Обсудили с командой и решили, что остальные вопросы будем разбирать в процессе работы над реальными задачами.
@user-hc8zr1tv4h
@user-hc8zr1tv4h 2 жыл бұрын
Таким методом можно будет иметь своё личное облако? На домашнем ПК это работает?
@denis0ru
@denis0ru 2 жыл бұрын
На домашнем ПК это работает. В остальном- зависит от того, что Вы вкладываете в понятие "облако".
@user-hc8zr1tv4h
@user-hc8zr1tv4h 2 жыл бұрын
@@denis0ru Это что-то типа Google Drive?
@denis0ru
@denis0ru 2 жыл бұрын
Да, типа. Но протокол S3 не привязан к конкретному поставщику.
@alex331911
@alex331911 2 жыл бұрын
Денис, название урока не такое емкое, но блин материал огонь!!! Ты не проводишь инд. занятия? Я дошел до того уровня, что все о чем ты рассказываешь понимаю, включая моитвацию. Однако общая картина пока еще не сформировалась. Например урок по архитектуре шикарен, как при этом сделать API Gateway, как создать корректную авторизацию, как спроектировать сервисы и запаковать их в контейнеры, как организовать развертывание и масштабирование. Об этом очень бы хотелось узнать, хотя бы в теории как и что с чем стыкуется. Понятно что случаи индивидуальны, но говоря в рамках хайлоад приложения в облаке, состоящего из сервисов, апи шлюза и фронтенда. Как это все сделать? Хотя бы подскажи что почитать
@denis0ru
@denis0ru 2 жыл бұрын
Спасибо за отзыв - очень мотивирует! Про почитать: Я сейчас на эту тему читаю книгу по Terraform. Там примеры всё более навороченных архитектур на примере сервисов Amazon. Если параллельно делать примеры - все должно получиться. Причём в повторяемой форме. habr.com/ru/company/piter/blog/503858/
@alex331911
@alex331911 2 жыл бұрын
@@denis0ru Как вариант может платную подписку сделаешь?
@denis0ru
@denis0ru 2 жыл бұрын
@@alex331911 не. Не готов я настолько кардинально менять образ жизни. Зарабатывать на образовании - непростое дело. Я уже пару раз пробовал. Неудачно.
@paulmixable
@paulmixable 2 жыл бұрын
Спасибо! Успехов на новом месте
@aleksandrsolovyov5310
@aleksandrsolovyov5310 2 жыл бұрын
спасибо очень полезно, но немного не понятно про авторизацию через php и nginx к минио. У нас nodejs но смысл как я понял что при авторизации мы можем на бекенде в приложении добавить любой хедер и затем его в nginx проверять? или там какой то x-asl хедер? я его правда не нашел нигде, можете пояснить этот момент?
@denis0ru
@denis0ru 2 жыл бұрын
Авторизация - это отдельная история. Заголовок Authorization. А инструкция от бэкенда к nginx через заголовок: www.opennet.ru/base/net/nginx_x_accel_redirect.txt.html
@user-pi7lk9ee3u
@user-pi7lk9ee3u 2 жыл бұрын
Успехов и спасибо!)
@user-oz3xl2bz5b
@user-oz3xl2bz5b 2 жыл бұрын
Спасибо)
@user-sk4kl8mc6m
@user-sk4kl8mc6m 2 жыл бұрын
Меня часто спрашивают, как у меня получается все успевать. Секрет очень прост - у меня не получается.
@denis0ru
@denis0ru 2 жыл бұрын
Именно! Всегда остаётся чем заняться потом. А вы говорите "смысл жизни" ))
@user-yh4um1jm6b
@user-yh4um1jm6b 2 жыл бұрын
Все это круто, но только на картинках. Есть код? Хотелось бы тоже самое но с практическими примерами) и желательно пошагово. Типа, вот так-то так-то мы делаем слой доменный, так-то так то реализуем интерфейсы и т.д. Лично мне видео показалось бесполезным по причине отсутствия примеров конкретных.
@denis0ru
@denis0ru 2 жыл бұрын
Чудес не бывает. Даже короткая книжка только по DDD - это пара сотен страниц. Объять необъятное в коротком видео задачи не было. Только показать расположение терминов относительно друг друга.
@user-yh4um1jm6b
@user-yh4um1jm6b 2 жыл бұрын
@@denis0ru ну ок. Спасибо. Но если будет возможность запилить такое же видео тока с примерами - с удовольствием его гляну, даже если оно будет 3 часовое :)
@denis0ru
@denis0ru 2 жыл бұрын
@@user-yh4um1jm6b заказ принят. Есть одна идейка.
@KNBLAUT
@KNBLAUT 2 жыл бұрын
Вот тут что то похожее kzbin.info/www/bejne/mYu8lq2ilJegkM0
@VitaliySunny
@VitaliySunny 2 жыл бұрын
Только что прочитал в прошлом видео заявку на DDD и CQRS и тут видос. Магия :)
@user-rj4hw9bt6i
@user-rj4hw9bt6i 2 жыл бұрын
Очень хороший контент
@daniil4299
@daniil4299 2 жыл бұрын
Можете код на гитхаб вылить?
@denis0ru
@denis0ru 2 жыл бұрын
Прошу прощения за долгий ответ- сразу не получилось, а потом забыл. К сожалению, тот код и инфраструктура - часть закрытого проекта. Плюс, я уже давно в этой компании не работаю.
@alex331911
@alex331911 2 жыл бұрын
Денис привет! Расскажи про DDD и CQRS
@denis0ru
@denis0ru 2 жыл бұрын
Привет! Заказ принял. Буду думать, что здесь можно сказать небанального. Отдельные мысли есть, но в связный рассказ пока не собирал.
@alex331911
@alex331911 2 жыл бұрын
@@denis0ru Денис, у тебя фоном была картинка с архитектурой CQueryBus, адаптерами и прочими вкусностями. Вот по ней бы рассказ. Хотя бы в общих чертах. Тут и Домены с CQRS в тему будут
@alex331911
@alex331911 2 жыл бұрын
Супер!!! Спасибо!
@danjilov3965
@danjilov3965 3 жыл бұрын
Очень круто! Наглядная интерпретация всегда выигрывает сухой формализм
@aksel58
@aksel58 3 жыл бұрын
Спасибо за обзор! Приходилось ли использовать функционал версионирования? Он заявлен, хотелось бы знать как он работает.
@denis0ru
@denis0ru 3 жыл бұрын
Спасибо за комментарий. Версионирование не пробовал, полагаю что чудес ждать не стоит - будет несколько файлов по числу версий
@denis0ru
@denis0ru 3 жыл бұрын
docs.min.io/docs/minio-bucket-versioning-guide.html Из документации косвенно следует, что низкоуровневые детали реализации этого функционала не должны нас волновать. В том смысле, что могут меняться от релиза к релизу и отличаться для разных хранилищ.
@user-rl9xv3mw1r
@user-rl9xv3mw1r 3 жыл бұрын
Конструктор не дает гараний, что класс нельзя создать невалидный, ничто не мешает создать класс не через конструктор, все dataMapper без конструктор его и будут создавать в реальности
@denis0ru
@denis0ru 3 жыл бұрын
С точки зрения техники - согласен. В PHP трудно создать реально иммутабельный объект (хотя есть нетривиальные способы и от такого защититься - Александр Лисаченко знает). Но тут всё-таки важнее декларативная часть - явно записанные намерения.
@nekitos3269
@nekitos3269 3 жыл бұрын
Ох уж этот хаос, похоже чем меньше мы его пропускаем, тем большую систему можем построить
@denis0ru
@denis0ru 3 жыл бұрын
И "дольшую"! В смысле - долговечную )) Много больших систем было выброшено слишком рано, потому что достигли предела модернизации. А любой живой проект - это больше процесс, чем сумма компонентов.
@user-sk4kl8mc6m
@user-sk4kl8mc6m 3 жыл бұрын
Взял на вооружение отмазку: это не я написал этот треш код, это чужой код диффундировал в мой прекрасный метод пока в гите лежал
@denis0ru
@denis0ru 3 жыл бұрын
Welcome :)
@lebnikpro
@lebnikpro 3 жыл бұрын
Мне видео не очень понравилось, поэтому дублирую свое понимание Liskov substitution (принцип подстановки Барбары Лисков) > Функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа, не зная об этом. Это скорее требования к языку программирования: - защищенный метод (final/private) должен иметь возможность вызывать методы, которые реализованы в классах, которые унаследованы от текущего класса (в PHP это достигается с помощью ключевого слова static, например static::myFunction() ). - программная сущность пользующаяся явной зависимостью A, не должна ломаться в следствии замены A на B (при условии что B наследуется от A) > Подклассы не могут замещать поведения базовых классов. Подтипы должны дополнять базовые типы. Означает, что расширяя базовый класс (используя extend), не стоит переопределять методы базового класса
@denis0ru
@denis0ru 3 жыл бұрын
Возражу одним контрпримером: а если в качестве базового типа будет интерфейс? Функций нет, а контракты остаются.
@user-pi7lk9ee3u
@user-pi7lk9ee3u 3 жыл бұрын
Также важно смотреть и за эксепшенами. Если базовый класс ничего не бросает, то и дочерние этого делать не должны.
@denis0ru
@denis0ru 3 жыл бұрын
Да, контракт на выход состоит из всех возможных вариантов ответа. Включая исключения.
@dmitriykama1023
@dmitriykama1023 3 жыл бұрын
вот бы так все принципы)
@denis0ru
@denis0ru 3 жыл бұрын
Я думаю над этим. Наверное можно про инверсию контроля сделать видео в таком стиле. Скорее всего про каждый принцип можно. Но не про все будет ощущение ВАУ - это действительно просто!
@user-ed7wi6xn5n
@user-ed7wi6xn5n 3 жыл бұрын
Идеально. Теперь этот принцип наоборот стал самым понятным.