Тёмный

Прекрати писать код в ОДНОМ файле Python | ТОП 5 Ошибок и создание правильной архитектуры 

ZProger [ IT ]
Подписаться 110 тыс.
Просмотров 49 тыс.
50% 1

⭐ Курс ООП и Приват канал: www.zproger-school.com/?...
⭐ Телеграм канал: t.me/+QuVaRqpoWcliMjQx
Что мы рассмотрим в этом видео:
- 5 ошибок, которые сделают Ваш проект хуже, если Вы пишите его в одном файле
- Примеры почему писать код в одном файле является плохой практикой
- Научимся распределять Python проект на пакеты
- Научимся импортировать функционал из разных компонентов и использовать его повторно
- Рассмотрим проект по защите Python программ и его структуру
- Спроектируем архитектуру проекта на примере чата
📁 Github: github.com/Zproger
📁 Все плейлисты с уроками: bit.ly/39GaY89
📁 Связаться со мной: zproger777@gmail.com
📁 Поддержать криптовалютой: github.com/Zproger/donate
Тайм-коды:
0:00 - Что будет в видео?
0:45 - Ошибка #1 - как ориентироваться в таком коде?
1:25 - Ошибка #2 - о функциях и повторном использовании
2:39 - Ошибка #3 - почему надо разбивать программу на компоненты?
3:18 - Ошибка #4 - почему код выглядит плохо?
4:03 - Ошибка #5 - не стоит перебарщивать
4:51 - Топовые фишки о Python
5:03 - Начинаем рассматривать мой проект с модульной структурой
5:53 - Как разделять python программу на пакеты?
6:15 - Как устроены методы в пакете Client
6:49 - Структура пакета Server
7:08 - Стоит ли релизить этот проект?
7:25 - Ошибка в структуре проекта
7:36 - Хорошие примеры методов. Как писать методы правильно?
8:10 - Как использовать пакет в других компонентах?
9:04 - Почему такой подход лучше?
9:34 - Анализируем файл упаковщика (Немного о безопасности Python)
10:58 - Рассматриваем класс который изменяет свое поведение в рантайме
12:50 - Как определить сущности на примере чата?
14:00 - Как научиться импортировать всё это?
14:42 - Важный момент с импортами
16:30 - Как импортировать пакеты которые находятся на уровень выше?
16:55 - Не забывайте про обратную связь, это сильно мотивирует =)

Опубликовано:

 

29 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 147   
@user-uo6rq1bl5g
@user-uo6rq1bl5g Год назад
Привет Zproger. я всё это время создавал иллюзию того что вас смотрят много людей. Это все был я.
@zproger
@zproger Год назад
Мистера робота насмотрелись?))
@monkeyobserver5367
@monkeyobserver5367 Год назад
@@zproger это фрагмент общения с папичем.
@dimk7983
@dimk7983 Год назад
Спасибо, интересно было посмотреть.
@kevinflynn4867
@kevinflynn4867 Год назад
Спасибо Прогер ,полезная инфа)
@zproger
@zproger Год назад
Благодарю
@lapppse2764
@lapppse2764 Год назад
Спасибо, подобные видео очень помогают
@zproger
@zproger Год назад
Рад что принес пользу
@zluka7951
@zluka7951 Год назад
Спасибо за видео!
@zproger
@zproger Год назад
Рад что понравилось =)
@dreamer_ror9485
@dreamer_ror9485 Год назад
не стоит в обучающее видео вставлять примеры с from import *, это так себе практика) импортируйте в файлы только то, что нужно, либо, в крайнем случае, используйте import as , так и путаницы меньше, и ошибок, и выглядит приятнее, и не приходится запоминать, какое имя каких функций/классов/переменных уже инициализировано в импортируемых пакетах
@xaea-1233
@xaea-1233 Год назад
не стоит доверять обучающим видео на ютубе)) 95% процентов авторов не программисты а контент мейкеры, за автора не скажу, только недавно его видео стали попадаться, но вот среди популярных очень много погромистов
@A1ham
@A1ham Год назад
Самое страшное, что я знал об этой фиче, но не сообразил, что её можно использовать таким образом. Я так з@#&@*$я переименовывать имена во всём файле каждый раз. Большое спасибо.
@user-ye6ow8gn5j
@user-ye6ow8gn5j Год назад
@@A1ham просто пользуйтесь нормальным редактором кода - в котором любое многократно встречающееся имя можно изменить сразу для ВСЕХ мест, где оно используется.
@kvrvgv
@kvrvgv Год назад
Твой проект по защите через запрос к серверу взломать ещё легче чем через распаковку .exe файла. Нужно просто через браузер отправить запрос на сервер (допустим через консоль JS отправить Fetch запрос) и получить ответ с исходным кодом функции. Так что лучше так не "защищать"))
@zproger
@zproger Год назад
Вы получите упакованную строку, и что это даст? Стоит учитывать что это ведь демка только, если туда накинуть шифрование и все моменты которые я хочу, то распаковать будет очень трудно
@bonjur96
@bonjur96 Год назад
@@zproger могу сказать я уже реализовал сокет сервер еще год назад и делал метод шифрования и сделал куча проверок, например если клиент.py то отправляет на сервер 1,если клиент.exe, то 2. Это только одна проверкка их десятка
@zproger
@zproger Год назад
Да там можно столько проверок накинуть, что реверсер от старости умрет быстрее чем хотя бы поймет как это работает. Да и тут даже фишка в том, чтобы шанс реверса уменьшить, так как прямой код распаковать сможет 100% аудитории, а вот защищенный уже только 20% к примеру, это помогает продлить время жизни софта, в итоге пока эти 20% реверснут, уже выйдет обновление с улучшением защиты и новым функционалом)
@VaeV1ct1s
@VaeV1ct1s Год назад
@@zproger "ревёрсер не поймёт что это за список, ведь этой байтовый gzip" конечно, ведь он дурак. он же не может посмотреть клиентский экзешник, в котором ты распаковываешь gzip
@zproger
@zproger Год назад
Это уже сильно усложняет задачу, уже далеко не каждый это сделает, в этом и суть защиты. Да и gzip это ведь демка, тут не хватает много других моментов.
@user-qe5rf3wo6n
@user-qe5rf3wo6n 27 дней назад
Дружище, респект ! Дай обниму ! Сделай ролик о структуре проекта и импортах, где центральной темой будет Абсолютный путь в ПРЕДЕЛАХ ЗОНЫ ВИДИМОСТИ. То есть не смотря на то, IDE подчеркивает как ошибку такой обрубленный абсолютный путь в контейнере всё работает ! и нет ошибки ModuleNotFoundError: В этом ролике это по таймингу в самом конце ( найти не просто, но в других источниках этой инфы просто нет) 15:30. Закрепи комментарий - это важная информация !
@riventarakoss1546
@riventarakoss1546 Год назад
Хотел похожий проект написать на днях. Добавить только ещё получение хекса файла по какому-нибудь своему алгоритму, чтобы если сервер увидит что юзер запустил код, а не уже запакованный .ехе - аннулировать лицензию и закрыть дальнейшее соединени. По твоему коду с ходу увидел проблемы с ОЗУ. Сервер бесконечно спавнит потоки, но они у тебя никак не контролируются. По итогу если сервер будет долго работать/будет много клиентов - память перегрузится и программа упадет. Нужно создавать класс, передавать его кластер в функцию, и уже через эту функцию вызывать поток, добавляю handler потока в память класса, который спавнит эти потоки. В самом классе просто сделать демона, который в случае "not isAlive()" чистит поток методом del и удаляет его из списка запущенных.
@user-np3bv8bw1o
@user-np3bv8bw1o Год назад
Наконец то я понял как это делать! Спасибо большое
@user-np3bv8bw1o
@user-np3bv8bw1o Год назад
Хотел ещё добавить, у тебя очень крутые превьюшки)) видно что человек старался
@zproger
@zproger Год назад
Благодарю! Рад что видео помогло
@wordpreslabs
@wordpreslabs Год назад
Как же давно я жду видео по подтягиваю кода с сервера по токену например. Готов проспонсировать канал, добавь пожалуйста такую функцию ♥ Закинул через данэйшен
@zproger
@zproger Год назад
Это сильно помогает в развитии, спасибо за поддержку. Этот проект со временем буду улучшать и думаю релизнем его на гитхаб.
@shakapaker
@shakapaker Год назад
Можно защитить код просто скомпилив все модули в pyd с помощью cython и еще можно важные функции выполнять на серваке и через запросы получать результат выполнения
@satipoff-itsolution578
@satipoff-itsolution578 Год назад
Мне нравится 👍
@zproger
@zproger Год назад
Благодарю!
@zoreyan
@zoreyan Год назад
Я залип на игру на фоне и забыл о чем видео
@zproger
@zproger Год назад
Тоже самое
@alexandergrigorev4518
@alexandergrigorev4518 Год назад
@@zproger что это за игра?
@simon-druchinin
@simon-druchinin Год назад
А если пришёл на php проект с легаси на 2000 строк кода +- 200 файлов? Суицид?
@zproger
@zproger Год назад
O_o
@danys4740
@danys4740 Год назад
Если нет документации внутренней, то лучше бежать.
@darksniper407
@darksniper407 Год назад
Гхм, жесть
@user-wv5nj9wz1b
@user-wv5nj9wz1b Год назад
Из вашего видео я понял, что вам надо серьезно учиться писать и рассказывать!
@zproger
@zproger Год назад
Спасибо за конструктивную критику. Но лучше подумайте что Вам нужно, а не что нужно мне.
@mikenerashid1200
@mikenerashid1200 11 месяцев назад
@@zproger возьми уроки у дедушки, как писать и рассказывать)
@MrSunchezz
@MrSunchezz Год назад
Зашёл в Python на релизе 3.7. Зашёл на фокусе асинхронности, которой не хватало в предыдущем инструменте. Поскольку серверные приложения это по большей части I/O-bound, то вместо многопоточности, в 2022 году, когда уже скоро 3.11 выйдет, гораздо эффективнее, да и логичнее использовать именно asyncio, но какие бы видосы по Python не встречал, в подавляющем большинстве это поведение, как наиболее ожидаемое - не встречается. Парадокс. Можете объяснить свою точку зрения, почему не переходите на новый уровень?
@dertfin1
@dertfin1 5 месяцев назад
Я писал принт, который вызывает принт, но делал это для многострочных меню, когда можно передать в аргумент массив, который будет выведен построчно
@AliF0Uen
@AliF0Uen Год назад
Да уж, сколько было проблем когда программа писалась в одном файле. Но дело в том что как бы я в интернете не искал, я никак не смог найти какой-то шаблон по которому можно правильно писать программу в разных файлах, где использовать пакеты python и т.д. Вот я пишу сейчас программу, изучаю питон, максимум что я смог разделить по файлам так это виджеты в одном файле, а в другом файле менеджер страниц, что просто отображает виджеты.
@CaXaPHblN_HerP
@CaXaPHblN_HerP Год назад
Я использую рекомендации Microsoft для языка C#: писать каждый класс или интерфейс в отдельном файле. В Python я делаю так же (но приходится импортировать зависимости как модули)
@alexandergrigorev4518
@alexandergrigorev4518 Год назад
@@CaXaPHblN_HerP именно так и надо. Это же SOLID
@v_404_v
@v_404_v Год назад
Заебок обзор на твой проект, а как всё-таки разбить код по файлам?
@zproger
@zproger Год назад
Также как я это сделал в проекте
@Coincollect27
@Coincollect27 Год назад
1. Оформление кода 2. Сделать функцию 3. Можно согласится 4. Возможно...
@oleg_kishinskii
@oleg_kishinskii Год назад
ох напомнило мне это как на одном проекте мне досталась программа в 1000 строк в одном файле, пришлось полностью все переписать
@zproger
@zproger Год назад
Это печально =(
@sutury5388
@sutury5388 Год назад
Что за игра на видео?
@EdvardKenua
@EdvardKenua Год назад
Всё очень круто объяснено. Но хотел бы спросить, для чего используются файлы __init__.py . ?
@shelb1x
@shelb1x Год назад
Для создания директорий правило и удобнее
@mikenerashid1200
@mikenerashid1200 11 месяцев назад
Связующие файлы, обычно просто пустые, без них ничего импортироваться не будет.
@tdtftgeffe
@tdtftgeffe Год назад
годно
@zproger
@zproger Год назад
Благодарю!
@vanker_189
@vanker_189 Год назад
А как называется игра на фоне?
@sergeysergey421
@sergeysergey421 Год назад
Популярный модуль peewee для бд если не ошибаюсь в одном файле написан....удивлялся всегда, ведь явно опытный чувак делал
@mikenerashid1200
@mikenerashid1200 11 месяцев назад
Опытный Джун)))
@SteflandDrawn
@SteflandDrawn Год назад
что за игра на фоне в начале
@pyquent
@pyquent 7 месяцев назад
А мне понравилось)
@ivanc86179
@ivanc86179 Год назад
Я не знаю пайтон, но эти приколы с байтами при передаче данных по сети очень похожи на плюсовую сериализацию. Похожим образом структуры или контейнеры в UE передаются по сети. А вообще код выглядит аккуратным, опять же, я в этом ничего не смыслю, но читается хорошо. Да и рекомендации в видео реально толковые
@Deniska228_01
@Deniska228_01 Год назад
Круто топ канал
@zproger
@zproger Год назад
Благодарю
@irwe3514
@irwe3514 Год назад
Довольно трудно будет изменять ошибки со временем)
@zproger
@zproger Год назад
=)
@master8920
@master8920 10 месяцев назад
​@Shuthefkup 😂 Ты по ходу не писал больших проектов .
@master8920
@master8920 10 месяцев назад
​@Shuthefkup 😂 Ты по ходу не писал больших проектов .
@Vladimir-ol5my
@Vladimir-ol5my Год назад
Привет скажи пожалуйста,а реально ли найти бекендеру работу на удалёнке без опыта?
@ze1dris949
@ze1dris949 Год назад
Конечно, главное навыки
@nat_YouTube
@nat_YouTube Год назад
Что за игра на 0:23?
@develper2
@develper2 Год назад
Почему мне легко копаться и отлаживать код в одном файле? Все забыли про ctrl F?
@hin200
@hin200 Год назад
все проясняется как только проект начинает уже расширяться и в итоге пока ты найдешь их потребуется час или даже два.
@KazakovNik
@KazakovNik Год назад
Куча модулей с кодом под 10к строк. Все легко и просто поддерживается никаких ошибок. Но так делать конечно не стоит.
@drevnii7341
@drevnii7341 Месяц назад
У меня всего 2000 строк кода в main файле, 1500 стоок в самописной библиотеке, и еще 2 файла со всеми переменными и с иницилиализацией всех функций. (С++) единственное что спасает что у меня очень много комминтариев с описанием каждой функции
@AdamantGames
@AdamantGames Год назад
🙃
@zproger
@zproger Год назад
=)
@alexandergrigorev4518
@alexandergrigorev4518 Год назад
Как это «модуль из трёх файлов»? Может пакет?
@zproger
@zproger Год назад
да, оговорился
@EdvardKenua
@EdvardKenua Год назад
4:45 , это называется ИНКАПСУЛЯЦИЯЯЯЯЯ)
@sir_damnkrat
@sir_damnkrat Год назад
Да было дело с кодом в 1 файл, вот бы мне сказали раньше
@zproger
@zproger Год назад
зато опыт =)
@khnykaq8823
@khnykaq8823 Год назад
Читал, кто-то из советских чемпионов мира по шахматам при подготовке требовал, чтобы в помещении шумели, курили в то время, когда он концентрировался на игре. Походу, автор готовит из зрителей чемпионов мира, слабые зрители отсеются и перестанут смотреть контент, для понимания которого нужно приложить дополнительные усилия. Все б ниче, но чемпион мира-то один...
@zproger
@zproger Год назад
ахаха) Вы это про игру на фоне?
@khnykaq8823
@khnykaq8823 Год назад
@@zproger да, очень отвлекает(((( я в курсе, это-тренд такой ща, но тренд в никуда
@DzenChannel
@DzenChannel Год назад
А что это за игра на фоне?)
@unqp52
@unqp52 Год назад
А как все эти python файлы собрать в 1 exe ?
@zproger
@zproger Год назад
через pyinstaller, указывая на main.py файл, все импорты он подтянет сам
@ZA_CCCP
@ZA_CCCP Год назад
Пили ролик про библиотеку. Всем понравится.
@zproger
@zproger Год назад
Учту, спасибо
@DIMFLIX
@DIMFLIX Год назад
Но ведь всё равно код не получится защитить. Хоть кучу шифровок сделать. В любом случае мы отдаем код интерпретатору питона. Если он его понимает и выполняет на стороне клиента, соответственно так-же может сделать и человек. Просто распаковать exe, убрать всякие конструкции мешающие получить норм код и всё
@waaagh1769
@waaagh1769 6 месяцев назад
Нет, если ты скомпилируешь через nuitka
@YUY12305
@YUY12305 Год назад
пфф, написал прогу на 22 файла в каждом по 1-3к строк:)))
@constantinjiaoshi4569
@constantinjiaoshi4569 9 месяцев назад
Ну, кому как. Мне нравиться один фаил. Всё под рукой. Очень удобно. Комментарии для посказок использую. Правда, я пишу сам для себя и на ноде.
@DolceG222
@DolceG222 Год назад
А для чего скобки в имени класса class clientHendler():
@zproger
@zproger Год назад
Их там быть не должно, сам не понял как они там оказались
@ithelper-it591
@ithelper-it591 Год назад
Ты же вроде об этом говорил в другом видео..
@zproger
@zproger Год назад
Может быть, правда не так подробно, и видео было вообще не на эту тему
@user-sx1sv3km3m
@user-sx1sv3km3m Год назад
Что за прикольная игра на фоне?
@nedoff8231
@nedoff8231 Год назад
Tails of Iron
@lintervil
@lintervil 3 месяца назад
что за игра в начале видео
@forixsins
@forixsins 7 месяцев назад
Такая же тема, как и с чистым кодом - субъективщина. Но многофайловые проекты в первую очередь придумали для работы в команде
@user-rw6vm5bs5g
@user-rw6vm5bs5g Год назад
Где ж ты был год назад? Я начинал свой первый проект Беда в том, что я уже написал его, и написал через как всегда, и блин, он работает Работает глобально А переписывать… ну, время тратить
@zproger
@zproger Год назад
=)
@dtyurbeev2354
@dtyurbeev2354 Год назад
Я уже писал весь код в одном файле. Жуть несусветная , особенно когда пытаешься найти нужные блоки)
@gaben_aTan
@gaben_aTan 10 месяцев назад
Я столкнулся с такой проблемой. Код на 1500 строк. Надо разбивать. 😊
@agimgal
@agimgal Год назад
Ох, у питонистов действительно есть такая проблема?)
@zproger
@zproger Год назад
Да =)
@sir_damnkrat
@sir_damnkrat Год назад
Какие 5 страниц, ты в word пишешь код?)
@zproger
@zproger Год назад
ахаха, ну да, а где же ещё)
@mikenerashid1200
@mikenerashid1200 11 месяцев назад
@@zproger а надо в блокноте
@foxprog1379
@foxprog1379 Год назад
я когда разделяю на файлы то все перестаёт работать
@userTeams
@userTeams Год назад
0:20 что это за игра?
@userTeams
@userTeams Год назад
tails of iron
@zoreyan
@zoreyan Год назад
Можно я поставлю [IT] себе в ник? :)
@zproger
@zproger Год назад
без проблем =)
@victorvictorov699
@victorvictorov699 6 месяцев назад
Более бессмысленной подачи материала как порхание экранов по живому коду программы приличной сложности придумать трудно. Но более забавны здесь одобряющие комики в каментах, делающие вид что полностью влёт въехали.
@RenjiroSato
@RenjiroSato Год назад
А как потом эти все файлы в один exe запихать?😅
@zproger
@zproger Год назад
Легко, просто собирать main.py в который все подключается
@RenjiroSato
@RenjiroSato Год назад
@@zproger Всё слишком сложно :/
@forixsins
@forixsins 7 месяцев назад
Ну да, это называется линковка или компановка, когда файлы после компиляции приклеиваются друг другу и получается один исполняемый файл
@chypatan592
@chypatan592 Год назад
Прогер, инфа из твоих видео очень полезна и интересна. Последнее время подсел на твои видосы. НО! Можно, пожалуйста, не включать на заднем фоне вот эти вот все нарезки из игр? Они реально сильно отвлекают (и раздражают, меня по крайней мере). Такие "качели": игра - кодинг - игра - кодинг и т.д. не способствуют лучшему восприятию информации. Лучше поставь статичную картинку с кодом какой-нибудь программы, или ещё лучше, фото рабочего места с кодом на экране, чем эти нарезки геймплея.
@marcb5832
@marcb5832 Год назад
Аргумент типа "вам будет проще искать что-то в разных файлах" вообще не работает. Кому-то проще, а кому-то совсем наоборот. И при чем тут "повторное использование функций" -- это вообще никак не связано. Это базовые вещи, которые реализуемы хоть в одном файле, хоть в нескольких файлах.
@user-pg8ry1tm3t
@user-pg8ry1tm3t 5 месяцев назад
Плодить сущности по поведению - такое себе имхо… не проще сразу систему декомпозить более менее вменяемо, чтоб потом проблем меньше было?.. или это из меня Си-подобные языки вылазят🥴?..
@DeadLazy34
@DeadLazy34 Год назад
Все в одном не работает , будет работать один блок кода)
@ShadowStormlq5mwdasd
@ShadowStormlq5mwdasd 7 месяцев назад
Важный момент 14:42
@voyageurvoyageur
@voyageurvoyageur Год назад
А зачем видео геймплея на фоне?
@zproger
@zproger Год назад
Я думаю всем уже надоели эти нарезки с хакерами и т.д
@voyageurvoyageur
@voyageurvoyageur Год назад
И вместо хакеров вы предпочли этот мусор (извините)? И нарезки с хакерами тоже есть Может имеет смысл накидать презентацию со скринами по теме?
@zproger
@zproger Год назад
Пробовал делать презентацию, у людей плохое удержание и им не нравится такое, а когда ставишь игру на фон оно возрастает в 5 раз и смотреть становится интересней. Я эту информацию беру из своей статистики
@A2fr1Z
@A2fr1Z Год назад
@@zproger Хакеры это где на 1:02 внизу бар ютуба у чела вылез? он чтоль хакер?)))))
@zproger
@zproger Год назад
Да xDD
@NotNoobGG
@NotNoobGG Год назад
т
@hinomuratomisaburo4901
@hinomuratomisaburo4901 Год назад
Да лучше создать файл со всеми функциями, зачем такой гемор... У тебя будет 20 функций логик и столько же файлов, смысл 🥴 создай единый файл со всеми функциями с подразбитыми по классам и все... Плодить десятки файлов тож нет смысла, из одной крайности в другую
@hin200
@hin200 Год назад
Весь интерес в том что когда у вас большой проект то если у ваа все намазано огромным слоем всяких функций то расширять его станет довольно сложно по-крайней мере искать их
@ivanl7786
@ivanl7786 Год назад
Если у вас в обучающем видео аналогичный стиль объяснения, то он как минимум не может быть платным. Говорить и при этом показывать не схемы и примеры, а мультик…. Когда начали показывать своё решение, было ощущение, что видео записываете для себя. Туда-сюда скролом прыгаете. Кто так делает? Тема не раскрыта, досматривать невозможно. Дизлайк.
@zproger
@zproger Год назад
Я думаю вы лучше меня знаете как делать контент. Сделайте свои видео и покажите как правильно, я буду у вас учиться.
@ivanl7786
@ivanl7786 Год назад
@@zproger, если я что-то делаю для кого-то, то вкладываюсь в мельчайшие детали. Если я решу заняться обучением - обязательно пришлю пример. На текущий момент обратная связь такова: 1. Выписать на бумагу уровень знаний потребителя вашего контента. 2. Выписать на бумагу кто готов реально заплатить и за какой контент (я лично готов и плачу за качественный контент и обучение). На мой взгляд, платить готовы начинающие, мидл платят за другой контент (но Вам виднее). 3. Один слайд со схемой = 60 сек текста голосом. Если больше, то потребитель должен сам представлять то, что Вы говорите. Если я должен структурировать сам - то платить я не буду. Если автор говорит от себя минутами и ничего не показывает или показывает документацию - материал не проработан. 4. Если в 1-м пункте Вы описали не мидл спеца, то в качестве примера лучше приводить код, который не нужно скролить и желательно объяснить каждый пункт кода. Тема простая, а Вы про какие-то сервера рассказываете. На RU-vid не так просто найти проработанные материалы и не только по Python. Когда я нашел то, что мне понравилось - стал спонсором на несколько месяцев. Я даже не смотрел особо, но я хотел поддержать автора.
@PyCoder-pg5em
@PyCoder-pg5em 4 месяца назад
​@@ivanl7786, согласен.
@PyCoder-pg5em
@PyCoder-pg5em 4 месяца назад
​@@ivanl7786, мощно ты его победил)))
@gnidos
@gnidos 10 месяцев назад
"создание правильной архитектуры" и чел показывает код состоящий анти-паттернов
@zombich
@zombich 7 месяцев назад
Я один почти ничего не понимаю?
@Eseky
@Eseky 10 месяцев назад
Посмотрел видео, понял что тупой и не разобраться)
@zproger
@zproger 10 месяцев назад
Стоит посмотреть еще раз, но чуть позже
@user-ep4rn8bt3j
@user-ep4rn8bt3j Год назад
Если будете смотреть, то с 6й минуты - там вода, далее не смотрел - устал
Далее
🎙️ПЕСНИ ВЖИВУЮ от КВАШЕНОЙ💖
3:23:13
I Built a SECRET McDonald’s In My Room!
36:00
Просмотров 17 млн
Пощупал эти ваши ОС
15:48
Просмотров 7 тыс.
🎙️ПЕСНИ ВЖИВУЮ от КВАШЕНОЙ💖
3:23:13