Все о принципах SOLID

  Рет қаралды 34,860

Merion Academy

Merion Academy

Күн бұрын

Пікірлер: 125
@merionacademy
@merionacademy 3 ай бұрын
Python Advanced. Продвинутый курс: wiki.merionet.ru/merion-academy/courses/python-advanced-prodvinutyj-kurs/?YT& Мы в VK Видео: vk.com/video/@merion_academy Мы в Дзене: wiki.merionet.ru/merion-academy
@N0thingE1se
@N0thingE1se Ай бұрын
Как же шикарно у вас сделаны видосы! Текст, визуализация, отсылки к классике мемологии.. Браво!👏
@dolgparagon
@dolgparagon Ай бұрын
И юморок завернут шикарно
@Strqwerty
@Strqwerty 3 ай бұрын
Метод ITS = ITakSoidet всë равно по статистике как был, так и останется единственным широко применяемым методом. Мечтатели.
@wuzi200Z
@wuzi200Z 3 ай бұрын
выдал базу.
@Torbjorn-ph7rt
@Torbjorn-ph7rt 3 ай бұрын
То же самое PSIT - Пока Сойдёт И Так
@Strqwerty
@Strqwerty 3 ай бұрын
@@Torbjorn-ph7rt да, точно, надо обязательно дать надежду😀
@sas408
@sas408 3 ай бұрын
Еще принцип EVPP = это временно, потом перепишем
@Banka24
@Banka24 Ай бұрын
Но всё же в СНГ пространстве широко используется и более популярен PH - Pohuy Normalno
@prodbyscelleapart
@prodbyscelleapart 3 ай бұрын
SOLIDное видео
@thats_embarrassing_JS
@thats_embarrassing_JS 3 ай бұрын
SOLID принципы следует использовать в случае, если в каких-то определённых частях приложения потенциально могут быть частые незначительные изменения в связи с новыми требованиями бизнеса. Это может быть, например, создание нового функционала, который похож на уже существующий(добавление нового способа оплаты), или небольшое изменение поведения текущего(пользователь теперь должен ввести новые данные для оплаты). Стоит отметить, что эти принципы НЕ спасают от случаев, когда нужно внести кардинальные изменения, ломающие всю логику приложения. Если проект маленький, его дальнейшая поддержка не планируется или есть какие-то специфические и важные требования(короткий дедлайн, экономия памяти и т.д.), возможно, SOLID лучше пренебречь.
@sonesoul5668
@sonesoul5668 3 ай бұрын
именно, так и появляется оверинженеринг
@vividbw
@vividbw 3 ай бұрын
L вообще не про абстрактные классы. Он про то, что подклассы должны быть способны заменить родителя, не нарушая его контракт. Метод подкласса может ослаблять предусловия родителя и делать более строгими постусловия, а наоборот - нельзя . Например, если метод родителя мог принимать любые числа, то подкласс не должен требовать только положительные, так как это сделает более строгим предусловие. Также нельзя из метода подкласса выбрасывать исключение, если от родительского класса это не ожидалось.
@МаксимОрлов-х9ы
@МаксимОрлов-х9ы 2 ай бұрын
Обожаю вас когда в качестве примера приводите код на пайтоне, повторяю его просто смотря ваши ролики - гениально и просто Карл! Гениально и просто!
@mrBars1kChannel
@mrBars1kChannel 3 ай бұрын
Ждём теперь KISS, DRY, YAGNI и другие заклинания
@aqr91
@aqr91 3 ай бұрын
все эти понятия легкодоступны для понимания, как и солид в целом. Лучше бы объяснили (например сейчас я изучаю) как работает «рантайм» операционок, куда более сложная и интересная тема, потому что достаточно адекватных, сжатых и неблевотных статей я не нашел. А драи, киссы и тому подобное изучается за 3 минуты поиска в интернете.
@sovenok-hacker
@sovenok-hacker 3 ай бұрын
DRY - не повторяйся
@sovenok-hacker
@sovenok-hacker 3 ай бұрын
KISS - не переусложняй
@mrBars1kChannel
@mrBars1kChannel 3 ай бұрын
Жесть, душнилы. Я всё это применяю и знаю, просто если уж SOLID решили разобрать и примеры привести, то новичкам и другие принципы написания кода, какими бы они простими ни были, будут полезны, особенно с примерами. Звучит легко, а как применить не совсем ясно и когда это вообще целесообразно. Нужно уметь мыслить с точки зрения совсем новичка, который только пришёл в индустрию. А целевая аудитория канала именно такая. Опытный человек почитал бы статью, документацию или какую-нибудь заумную книгу.
@mrBars1kChannel
@mrBars1kChannel 3 ай бұрын
Просто дать описание понятиям - это ещё не научить этим пользоваться. - "Как мне побеждать в игре?" - "Главный принцип: не получай урон" - "Ой, спасибо, так стало понятнее..."
@АртемМосин-э2м
@АртемМосин-э2м 3 ай бұрын
Как всегда интересно и вовремя! Прошу, делайте больше образовательных видео!
@xopp3r_s
@xopp3r_s 3 ай бұрын
Теперь жду видео про паттерны!
@AndreyAndrey-nx6uj
@AndreyAndrey-nx6uj 2 ай бұрын
Очень доходчиво и наглядно. Благодарю
@rayanatlasov8906
@rayanatlasov8906 3 ай бұрын
Вы молодцы! Порекомендую вас друзьям, спасибо за понятное объяснение ❤
@mongoose144
@mongoose144 3 ай бұрын
Так, постойте, т.е. если я создам свою it компанию, то я смогу официально утвердить говнокод как стандарт к которому должны все стремиться?
@-Sergey
@-Sergey 3 ай бұрын
Да. Но очень желательно при этом задать свои стандарты говнокода. Иначе может получиться, что код не достаточно говнистый будет получаться у некоторых сотрудников.
@макс-х9п9л
@макс-х9п9л 2 ай бұрын
Ты и без всего этого можешь утвердить свой говнокод, как стандарт. Вопрос только в том, кто ему будет следовать
@mongoose144
@mongoose144 2 ай бұрын
@@макс-х9п9л корпорация LLC "GOVNOCODE & CO"
@hop173
@hop173 2 ай бұрын
​@@-Sergeyтаких выгонят как профнепригодных)
@ИльяФоменко-ш2п
@ИльяФоменко-ш2п 3 ай бұрын
Спасибо, merionacademy) либо автор сам решил выпустить видео на эта тему, либо прочитал мой комментарий)
@bondarenko1702
@bondarenko1702 3 ай бұрын
Спасибо за ролик, оченькласный
@clandast2136
@clandast2136 3 ай бұрын
Хз как можно о S рассказывать без рассказа об акторах. SRP: принцип единственной ответственности каждый программный модуль/класс имеет одну и только одну причину для изменения ( Модуль/класс должен отвечать за одного и только за одного актора. ). Впринципе модуль/класс может делать разные вещи в единном контексте только если причиной для изменения будет единственный актор. Под актором здесь понимается группа, состоящая из одного или нескольких лиц, желающих изменения поведения программного модуля/класса. Авторы не рассказывают об этом и потом новички будут плодить кучу классов. Пусть сами для начала разберутся с SOLID
@alexanderskusnov5119
@alexanderskusnov5119 2 ай бұрын
Молодцы - реклама [почти] в конце.
@merionacademy
@merionacademy 2 ай бұрын
Как вы думаете, если исключить рекламу, откуда брать деньги на производство роликов на этом канале? Интересны ваши мысли!
@GexPlayerMD
@GexPlayerMD 3 ай бұрын
Чистый кот. 😺
@DmitryBlack88
@DmitryBlack88 3 ай бұрын
8:30 класс square наследуется от ОЧЕПЯТКИ!!!
@0ladiya
@0ladiya Ай бұрын
Ага, а затем на 9:10 в этом же классе нет абстрактного метода get_area().
@MrGold911
@MrGold911 3 ай бұрын
Работал когда-то в РУП "БРТПЦ", что на знаке-примере аббревиатур, не очень доступных для быстрого понимания )
@h8cker_
@h8cker_ 3 ай бұрын
Дождался!
@MoLnnn
@MoLnnn 3 ай бұрын
Один из ЛУЧШИХ it кналов на РУССИ, я считаю, что один из лучших в всём мире. Идея для видео - Свяи в БД(o-to-o; m-to-o; m-to-m;)
@melkiiabziegiz
@melkiiabziegiz 3 ай бұрын
Shape = Figure
@СергейГрин-ш3ъ
@СергейГрин-ш3ъ 3 ай бұрын
💥
@yuliyao192
@yuliyao192 3 ай бұрын
Привет, классный канал, на 9 минуте небольшая ошибка, наследование от abc не делает класс абстрактным. Попробуйте создать инстанс этого класса, все будет ок. А вот добавление туда декораторов abstractmethod сделает класс абстрактным
@thekarenovich
@thekarenovich 2 ай бұрын
Про сравнение GRASP и SOLID 🙏🏼
@jcatstreams8550
@jcatstreams8550 3 ай бұрын
Давай про GRASP
@poespb
@poespb 3 ай бұрын
SOLID и микросервисы ребята не совместимые. По логике можно сказать, что на базе SOLID сделана идея микросервисов. Ждем ролик про DDD, чтобы, нам легушатам, понять а куда двигаться в этой вашей IT-шечке
@harumba
@harumba 3 ай бұрын
Годнота! А можно видео про Бабушку (тьфу, Барбару Лисков). А то Аду Лавлейс все знают...
@Winter-Wyvern
@Winter-Wyvern 3 ай бұрын
опачки, новый видосик)
@ДмитрийАлексеевич-х6и
@ДмитрийАлексеевич-х6и 3 ай бұрын
Расскажите, пожалуйста , про Kerberos Голову ломаю, не могу понять Вся надежда на вас 🥹
@ogonichyose
@ogonichyose 3 ай бұрын
Видос классный, душнилам из комментов предлагаю пройти в треды хабра
@sergen5298
@sergen5298 3 ай бұрын
В России разных ИТ-курсов стало больше чем казино в 90-е. )) Видимо очень выгодный бизнес.
@Torbjorn-ph7rt
@Torbjorn-ph7rt 3 ай бұрын
Кто может тот делает, кто не может тот учит, кто не может учить тот руководит. Классика. Ещё говорят, что в периоды упадка реальной экономики расцветает экономика отложенного удовлетворения экономических потребностей, например всякие образовательные курсы итп.
@merionacademy
@merionacademy 3 ай бұрын
или неожиданный скачок спроса на IT специалистов , которым требуются знания. Спрос - всегда формируют реалии :)
@alexey5570
@alexey5570 3 ай бұрын
Даешь чистый код. Да здравствует дядюшка Боб
@ДаниилШестаков-щ8к
@ДаниилШестаков-щ8к 3 ай бұрын
8:37 Класс Square у вас унаследован от Shape, а не от Figure
@Aleksandr37rus
@Aleksandr37rus 3 ай бұрын
То чувство когда примеры из жизни непонятные, а когда пишешь код проще, я уже в матрице 😅
@maxschwarzschmied5744
@maxschwarzschmied5744 3 ай бұрын
Использовал бы лучше для примеров Яваскрипт, ну или C# какой-нибудь
@LudoChil
@LudoChil 3 ай бұрын
Нет никакого Ява скрипта, там буква j это Джей где здесь ты видишь я?
@maxschwarzschmied5744
@maxschwarzschmied5744 3 ай бұрын
@@LudoChil Я из Германии, у нас говорят яваскрипт 🤷‍♂️
@slashfast
@slashfast 3 ай бұрын
16 минут годноты
@_fire_strike_2383
@_fire_strike_2383 3 ай бұрын
Принципы solid противоречат computer science и оптимизации кода (особенно абстракции и бесконечное дерево наследований). Хоть применение принципов могут быть полезны для чтения кода человеком (хотя лично меня это очень бесит, особенно в багфиксинге, когда ты лазишь по сотням родительских классов, пока не найдешь саму реализацию). Про оптимизацию (особенно в интерпимтируемых языках): огромное количество классов и абстракций увеличивает количество обращений интепретатора (то есть когда мы вызываем метод на энд поинте (последнем классе), интепретатор поэтапно опускается в родительские классы пока не дойдет до самой реализации, а потом также поэтапно поднимает return, тем самым все эти действия замедляют работу программы, тк на каждый такой шаг необходимо как минимум один такт процессора, а в питоне вообще штук десять). А теперь про память: сам solid код очевидно весит больше, и хотя кажется что какая разница 2 килобайта или 5, у нас ведь на компах по 16 гигабайт оперативы, так вот - не забывайте про микроконтроллеры и прочие низкопроизводительные устройства, где каждый байт на счету. Так что из-за вас солидщики у нас лагают игрушки и приходится постоянно обновлять железо.
@KinoArchuve
@KinoArchuve 3 ай бұрын
Ну а как поддерживать код в долгую разным разработчикам? Это просто ужасно, когда ты заходишь и видишь, что все в одном файле. А при изменении у тебя валится вся программа и уже тебе, а не компьютеру надо читать все это, чтобы найти ошибку
@_fire_strike_2383
@_fire_strike_2383 3 ай бұрын
@@KinoArchuve ну, я же не говорю что надо пользоваться только функциональным программированием, от ооп ни кто не отказывается, да и не обязательно все хранить в одном файле. Я говорю о том что, например в одном классе синглтоне типа "МФУ" можно сделать и методы печати, сканирования, отправка факсом (никто уже ими не пользуется, ну да ладно). То есть все функции (вместе с реализацией) засунуть в один класс, не нужно никаких абстракций и наследований. А если все поля класса называть по нормальному и писать анотации, то все будет и так читабельно-понятно. А если говорить про бесконечные наследования абстракций в разных файлах то это тоже не очень понятно, особенно если тебе надо как-нибудь изменить/дополнить реализацию.
@_fire_strike_2383
@_fire_strike_2383 3 ай бұрын
​@@KinoArchuveя же не говорю, чтоб все хранить в одном файле, один файл - один смысл или класс. Типа в файле users прописать одноименный класс User со всеми полями и методами с реализацией. А когда тебе надо добавить админ функции, просто добавь миксин Admin с методами админа к этому классу и все. Не надо наследоваться от самого user'a, так будет только сложнее, тк теперь у тебя пользователи будут разными instance и их уже будет сложно сравнивать, складывать или, например, в цикле проходить по пользователям и вызывать админ-метод, и к каждому пользователю писать проверку - зачем это нужно, если саму проверку можно засунуть в миксин. В принципе это будет даже понятнее. А если каждый разработчик будет в своем файле писать релизацию, то как потом все это объединять. А про то что весь код рушиться при изменении какого-то метода, ну так сначала тестируй/дебаж, а уж потом коммить. P.s. Искать (скролить или ctrl + click по методу) реализацию в одном файле намного удобнее, чем ctrl-tab'аться по разным файлам.
@maxlight4321
@maxlight4321 3 ай бұрын
Solid это сделка с дьяволом. Ты продаешь оптимизацию и память компьютера за быструю и удобную работу для программистов. Но по сути в 90% случаев люди работают не с игровым движком и не с микроконтроллерами, а перекладывают json’ы, так что оптимизация правда зачастую ненужна
@Torbjorn-ph7rt
@Torbjorn-ph7rt 3 ай бұрын
Так в микроконтроллерах вообще без ООП пишут. Тупо функция main и из неё куча вызовов других функций. если что я про ардуинки и стмы с прошивками на си, за микропитон не скажу, но там вроде тоже из ООП только модули в качестве классов.
@clash_larry
@clash_larry 3 ай бұрын
давай видео про язык С
@huanglee448
@huanglee448 3 ай бұрын
46 cекунд назад ура ура SOLID ДАА БАБУШКА
@МаксимОрлов-х9ы
@МаксимОрлов-х9ы 2 ай бұрын
Во 2ом классе метод не переопределен а создан новый. Следовательно 2ой класс не соответствует принципу Барбары и Лисков
@reform3831
@reform3831 3 ай бұрын
По вашему мнению получается, что в принципе единственной ответственности, вообще не может быть более 1 метода… Несколько я знаю смысл совершенно в другом, а именно что за ответом может обратиться менеджер, директор, финансист. И правильно будет написать несколько классов которые делают отчеты, но для разных направлений. А не просто разделить методы по классам. Этим должно занимать разделение интерфейсов.
@KinoArchuve
@KinoArchuve 3 ай бұрын
Я считаю, что нужно создавать отдельные классы для каждого действия допустим для получения данных и для установки в хранилище. Также нужно реализовать паттерн фасад, который управляет доступом к этим классам. Далее, если актеру Бухгалтер нужно получить данные он обращается к фасаду, который в свою очередь провайдит его до класса, выдаеющего эти данные. Если другому актеру, допустим, отдел кадров понадобилось получать как-нибудь данные иначе (Формула изменилась, например), то мы добавляем метод в класс который отвечает за получение данных и также добавляем провайд в класс реализующий фасад и уже этот актор будет взаимодействовать с нужным ему методом. И конечно же к фасаду мы имеем доступ через интерфейсы, для соблюдения полеморфизма) А в видео, по моему личному мнению, есть нарущение SRP, просто потому что Employee, формально, не может посчитать сколько он получит з.п. Если конечно не поразумевался подсчет подсчет оставшихся дянег у клиента
@reform3831
@reform3831 3 ай бұрын
@@KinoArchuve 1) Хз к чему ваши рассказы про фасад к солиду и моей претензии на SRP. Куча текста не о чем. 2) Как вы собираетесь реализовывать ООП, если вам надо создать объект(Например машину), вы серьезно будете создавать куча классов с машиной и одним методом ? ))) 3) То о чем вы говорите обычно используется для бизнес логики. Привет медиатору которой реализует интерфейс irequest с одним лишь методом handle. 4) И нет как раз таки метод подсчета зарплаты не противоречит, в том же DDD мы описываем ентитям поведение, и вот вы удивитесь в зависимости от сложности объекта и поведений будет много.
@LudoChil
@LudoChil 3 ай бұрын
Советую диктору произносить английские слова без попытки произнести без акцента - получаетмя полностью наоборот и режет слух. А так видео очень информативно!
@JenechekDv
@JenechekDv 2 ай бұрын
Роберт Мартин и его брат Джордж - оба упоротые, но каждый на своём.
@PSP-uf5fw
@PSP-uf5fw 3 ай бұрын
ебать, это что за марафон годноты на канале мерион ?
@pashkiewich
@pashkiewich 3 ай бұрын
Но ведь это отсылка на Metal Gear Solid
@orazjanov77
@orazjanov77 3 ай бұрын
04:46 речь про инкапсуляцию идёт, а не про абстракцию
@4TheGames
@4TheGames 3 ай бұрын
Абстракция, как услышал не понял о чем речь, мне доступно, инкапсуляция, наследование и полиморфизм😂
@vael6555
@vael6555 3 ай бұрын
Принципы созданы, чтобы их нарушать
@alexanderskusnov5119
@alexanderskusnov5119 2 ай бұрын
4:41 Два раза повторили Class One.
@torburgmax
@torburgmax 3 ай бұрын
а точно ооп это про классы, а не про типы?
@Monoramen
@Monoramen Ай бұрын
Он систематизировал и объединил их, но никак не написал ибо принципы сформулированы были до него.
@ЕхНавык
@ЕхНавык 3 ай бұрын
А где в веб применяется солид?
@LudoChil
@LudoChil 3 ай бұрын
На фуллстек проектах конечно же
@mitruslatovous6
@mitruslatovous6 3 ай бұрын
8:38 Почему написано Regtangle?
@tolevich
@tolevich 3 ай бұрын
меня больше смущает, что говорят "наследуется от FIgure", а на деле от Shape, который вообще не объявлен
@hoopengo2289
@hoopengo2289 3 ай бұрын
8:48 - Shape где)
@gyosttsyrenov2767
@gyosttsyrenov2767 3 ай бұрын
Я мечтаю
@ЛераОдеждова-н1и
@ЛераОдеждова-н1и 3 ай бұрын
Думаю принцыпы солид придуманы только чтоб спрашивать на собеседовании. Человек на практике достаточно быстро разбирается зачем абстракции. Через 5 рефакторингов понимает как лучше организовывать код. А эта теория - сложная для понимания херня. Которую можно понять только после того как сам на практике к таким же выводам. А потом понял что оказывается у этого есть названия
@bregeak
@bregeak Ай бұрын
ДАЁШЬ ЧИСТЫЙ КОД
@tihon4979
@tihon4979 3 ай бұрын
С принципом подстановки Барбары Лисков полный провал.
@sl1pstr1m
@sl1pstr1m 18 күн бұрын
даешь чистый код
@Михазагрздин
@Михазагрздин 3 ай бұрын
254
@valeronjack8449
@valeronjack8449 3 ай бұрын
спасибо
@shining_intellegence
@shining_intellegence 3 ай бұрын
Солит? Это про кого-то из Питера?
@ilyuwkaaa
@ilyuwkaaa 3 ай бұрын
Ну конечно...
@KinoArchuve
@KinoArchuve 3 ай бұрын
Так это же перезказ книги "Чистая архитектура" только со своими примерами и я не уверен, что все они верные
@CultureOfMan
@CultureOfMan 3 ай бұрын
Алеееееее. Мне нужна помощь в разработке сайта. Есть тематический чат у кого , или автор мне поможет?
@merionacademy
@merionacademy 3 ай бұрын
Пройдите на курс про фронтенд разработке и дело в шляпе 🙂
@CultureOfMan
@CultureOfMan 3 ай бұрын
@@merionacademy , мне нужен именно полноценный гайд: дизайн, фронт и бэк на ноде, деплой на хост( админ панель, статистика) есть такой? Может у вас есть чат со специалистами? Этакий форум? 🥺
@realmanproject7529
@realmanproject7529 2 ай бұрын
cleam code
@subdmndline
@subdmndline 3 ай бұрын
perviy
@Alexander-vi9mg
@Alexander-vi9mg 3 ай бұрын
Забыли упомянуть, что отказ от этих принципов может увеличить скорость работы до 20 раз
@harumba
@harumba 3 ай бұрын
😂
@alexandralikin3830
@alexandralikin3830 3 ай бұрын
еба*ь все в програме в процедуре, не вникай чел
@MrShnaiderTV
@MrShnaiderTV 3 ай бұрын
И на столько же замедлить скорость разработки. Достойно🗿
@yfullstackhub
@yfullstackhub Ай бұрын
Для небольших проектов, естественно, лучше отказаться от подобных вещей. Все эти принципы и архитектурные подходы созданы, чтобы замедлять рост сложности поддержки приложений со временем его роста. Если рост не намечается, то и смысл от всех этих прикольных аббревиатур и подходов пропадает. Всё относительно и зависит от проекта. Увы, нету серебрянной пули
@roflanEblan
@roflanEblan 3 ай бұрын
изучать солид и ооп с помощью питона...
@mitruslatovous6
@mitruslatovous6 3 ай бұрын
Таймкоды? Нее, нафик... (
@merionacademy
@merionacademy 3 ай бұрын
Вот мы так же считаем!
@WounderVaflel
@WounderVaflel 3 ай бұрын
SOLID не актуален, если ты функциональщик
@mikep541
@mikep541 3 ай бұрын
SRP актуален, т.к. одна ф-ция выполняет своё одно действие. Может ещё кто добавит? Мне было бы тоже интересно.
@DrumYum
@DrumYum 3 ай бұрын
Это слишком спорные и сложные вещи для такого формата, тем более с притянутым за уши Python. Редкое видео, которое не зашло совсем :(
@АртурБадалов-ж1ц
@АртурБадалов-ж1ц 2 ай бұрын
невозможно нормально смотреть, подача на уровне аутиста, рофл лол кек и тд, лучше бы вместо мемов углубились бы в тему, на кеки чебуреки уходит половина видео , на что я трачу свое время?
@merionacademy
@merionacademy 2 ай бұрын
Как думаете, корректно ли сравнивать людей с аутистами по причине того, что важи ожидания не совпали с просматриваемым контентом?
@uipo1122
@uipo1122 3 ай бұрын
кал
@merionacademy
@merionacademy 3 ай бұрын
орийность черешни 50-56 ккал на 100 г продукта!
@uipo1122
@uipo1122 3 ай бұрын
@@merionacademy от которой мы дрищем жидким поносом уже 30 лет всей индустрией
@merionacademy
@merionacademy 3 ай бұрын
вам просто чуть поменьше черешни надо употреблять, а еще советуем не смешивать с хинкалями, это гарантировано взрывная сразу же
Что такое Flutter и Dart?
12:58
Merion Academy
Рет қаралды 17 М.
Noodles Eating Challenge, So Magical! So Much Fun#Funnyfamily #Partygames #Funny
00:33
When u fight over the armrest
00:41
Adam W
Рет қаралды 29 МЛН
Про микросервисы за 8 минут
8:01
Merion Academy
Рет қаралды 154 М.
Что такое Nginx?
11:21
Merion Academy
Рет қаралды 117 М.
ЭТОТ Паттерн Спрашивают на 99% Собесов
14:19
Что такое Docker?
6:50
Merion Academy
Рет қаралды 316 М.
КАК УСТРОЕН TCP/IP?
31:32
Alek OS
Рет қаралды 218 М.