PYTHON )))))
Вставка
- Опубліковано 30 тра 2024
- Привет
ya.cc/t/EdbL-nzP4DLrJ6 - Освойте основы Python-разработки на бесплатном курсе от Яндекс Практикума
Чтобы стать программистом - нужно программировать. Постоянная практика, решение проблем.
В видео мы пишем каркас музыкального приложения, покрывая это все толстым слоем ООП, паттернами проектирования и GUI.
Каждый паттерн будет реализовать какую-то одну фичу из программы, начиная от плагина, вплоть до всяких систем поиска.
Приятного !
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Я wndtn, мне 20 c чем-то лет, и я изучаю computer science и программирую ~10 лет.
Я into С++, и всякие low-level штуки.
У меня есть небольшой проект, xplatform, который вы сможете найти на github, и через него практиковаться в изучении всей базы программирования, и если вам повезет(если вы упорный), вы станете хорошим программистом %)
Если нужна помощь в программировании 1 на 1, чекайте ссылки .
всем добра
Телега - t.me/wndtn
Код - github.com/Winderton/design-p...
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Подпишись сюда:
Telega и чатик - t.me/wndtn
Boosty(менторинг для РФ) - boosty.to/wndtn
Instagram - / winderton
Github проекта(код с канала) - github.com/winderton
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Материалы:
- Гвидо про Синглтон - www.python.org/download/relea...
- Леха Кладов Python
1 - • Лекция 6. Классы I (Пр...
2 - • Лекция 10. Классы II (...
Если не найдете каких-то ссылок и материалов из видео, пишете коммент об этом, я добавлю.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Оборудование:
Камера - Sony a7ii
Объектив - SIgma F1.4 DG
Микрофон - AudioTechnica at2035
Звуковая карта - Scarlett Solo
Петличка - Rode smartlav+
Клавиатура - HyperX Alloy
Вторая клавиатура - apple magic keyboard(black edition)
Монитор DELL 25'
Монитор Asus mg248q
Iphone 11 pro(зеленый)
CAMLINK elgato - для стриминга
JBL headset
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Музыка:
puar in the rough
jeff cadony so many meanings
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
00:00 Введение
01:06 Гайд в ООП
1:46 Шаблоны проектирования
3:22 Синглтон(Окно приложения)
7:39 Абстрактная Фабрика(Выводим Плагины)
11:18 Фабричный метод (Динамика дропа плагинов)
15:26 - Адаптер (Конвертация аудио в миди)
17:50 - Декоратор (Декорируем звук плиганами)
21:20 Фасад (Система Экспорта файлов)
23:05 Итератор (Система поиска)
26:40 Обсервер( Понятие групп и изменения поведения объектов)
29:59 Стратегия (Динамическое изменение объектов)
Ну че, у кого сколько из 10ти?
Супер
Какая у тебя подсветка в visual studio я тебе писал в инст не могу больше там не дают написать, и как ещё можно выучить c++ только начал какие книги прочитать
10
@@cozart5345 блб, там у него на канале столько книг
@@cozart5345 github theme
Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?
Я предполагал
Ты по-моему перепутал
Виндертон и экстрим цоде это конечно бомбическая связка)
@@AirRomantic Ага, только второй программировать умеет, а первый инфоцыганит.
Ахаххахаха
Хорош
Вот это контент. Побольше бы таких видео на канале.
ну, поехали... опять много непонятных сочетаний букв
Со мной тоже самое, хотя для себя очень давно проги всякие пишу)
Ндэээээ
Лууучший тутор на канале считаю!! Хорош братан, давай давай вперёд, контент в кайф
Спасибо огромное за большое количество информации простым языком. Winderton one love
Спасибо большое за очень полезный материал ☺️
круто, прям даже интересно посмотреть за ходом мысли в решении не тривиальных задач
Спасибо, было реально интересно и даже не хотелось заснуть! Пусть будет больше видосов C++ Python 👍🔥
Бомбический видос! Большое спасибо!
Ты крутой. Продолжай делать то, что делаешь!
Как же ты хорош. Спасибо!
Спасибо за видео, очень понравилось
Качественный видос, лайк
Отдельная благодарность за развернутое описание под видео
Раньше писал музло в аблетоне. 30 минут кайфа невероятного. Не ожидал увидеть тут что-то про секвенсоры и синты.
Окей, абстрактная фабрика... Во-первых, кейс с эквалайзерами это не про абстрактную фабрику: плагины эквалайзеров уже созданы и эйблтон их листит, а не генерирует. Во-вторых, даже с допущением что тут причем-то была фабрика, она тут просто неправильно реализована, потому что выполняет функцию метода 'get all EQs', а не фабрики, роль которой убрать бойлерплейт-код по созданию однотипных объектов Разных классов в Рантайме, когда здесь они все захардкодены и ничем не отличаются (те же параметры, те же свойства). Пример не показывает Чем фабрика лучше просто метода 'list all', потому что в этом примере она и не лучше и в ней вообще нет необходимости.
Душнила, удаляй, пока никто не видит
@@wndtn а то что попаду в черный список у инфоцыган?)
Как этого дауна вообще кто-то смотрит
Спасибо за вклад в моё образование! Ценю бесплатную помощь.
Ку. Небольшой фикс по 25:30. Поиск работает только по предыдущему вводу. Например, при вводе "hel" искать будет по "he", при вводе "hell" по "hel" и так далее.
Дело в эвенте KeyPress. Он наступает в момент, когда кнопка только нажата. Это происходит раньше, чем значение помещается в поле виджета. Для фикса надо поменять эвент на KeyRelease.
И раз уж пишу коммент - хочу сказать спасибо за видос. Как раз недавно увлёкся паттернами проектирования. А к pet-проекту хотел начинать пилить GUI. Отличный гайд, прекрасная подача.
Как же я рад, что однажды "наткнулся" на канал автора, когда искал инфы про heap память! Какая же годнота! Это видео смотрю и преисполняюсь! Золотой контент!
Видос клёвый, смотрится отлично) И вместе с тем, ты в видосе много времни уделил на показ ableton, на показ как окна создавать, но пояснений мало для таких человеков как я) То есть приходится внимание тратить больше на синтаксис питона, содание окон, нежели, на понимание работы ableton. Должен сказать, работаю прогером уже года два, знаком с различными DAW, но блин, в итоге из видео я только названия самых популярных паттернов запомнил. Попытка хорошая, лайк, но в целом сложно.
Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще? ^_^
Синглтон - антипаттерн. У тебя есть одна точка входа в приложение - больше тебе ничего не нужно. Всё остальное должно пробрасывать через зависимости или взаимодествовать с верхним уровнем через колбэк события на крайняк.
За Python отдельный респект, спасибо за контент )
Уточнение по поводу паттерна Фабричный метод. Все-таки классическая реализация этого паттерна состоит в том, что сам по себе метод изначально является абстрактным и никаких параметров не принимает, а уже в конкретной реализации определяется, объект какого именно класса порожден этим методом. Здесь же выбор типа результата почему-то определяется значением аргумента.
OOOOO. Очень круто! Спасибо большое. Теперь это мое любимое твое видео. Наконец-то! Я дождался своего контента!
Спасибо! Ничего пока не понял, но очень интересно! мне вообще в программировании нравится больше всего computer science, как процессор работает, память, что такое данные по сути для компьютера и пр. Очень нравится твой канал и подход!
Какой город?
@@rau149миломан сел арбуз и не иметь
Объяснить темой, которую я понимаю, тему, которую я не понимаю.. такого я ещё не видел. Лайк 😂
Так совпало, что юзаю аблетон и увлекаюсь программированием, супер интересно получилось 💪
Блин, вроде бы уже все это знаю и в индустрии уже более 10 лет, но слушать все равно интересно. Хорошая зарядка для ума, спасибо.
Правда, выбор языка Python для примеров неудачный.
юху, поставил тысячный лайк, а если серьезно, спасибо за видос, достаточно просто пояснил то, что обычно поясняется чуток посложнее, добра :)
для удобства можно использовать match/case в функции result, ну и меньше вызовов функции (хотя в этом случае разницы в скорости по сути нет)
match (comp.get(), eq.get()):
case (1, 0):
wet = Compressor(self.dry)
l.config(text=wet.play())
case (0, 1):
wet = EQ(self.dry)
l.config(text=wet.play())
case (1, 1):
wet = EQ(Compressor(self.dry))
l.config(text=wet.play())
case _:
l.config(text=self.dry.play())
С матч кейсом есть одна проблема: его Гопатыч пока не знает, он позже 2021 года появился.
А если помимо эквалайзера и компрессора будет еще 10 декораторов сверху, то вы все 4096 вариантов перебирать будете?
Огнищще! Ладно досмотреть. А сделать самому это было бы круто
Респект за Леху Кладова, грамотный парень, вдохновляет :) Как и автор собственно
Обычно комментарии не пишу, но сейчас прям хочется сказать спасибо за такой качественный контент. Очень приятно смотреть, даже зная о всём что было в видео не смог оторваться)
Это же надо так уметь делать контент. Работал 10 часов без остановки. Уже начал плавиться мозг и вытекать глаза от постоянного кодинга. В итоге сел покушать и с кайфом провел полчаса)
Ну наконец-то что-то интересное
Прикольно было бы узнать как работают приложения удаленного доступа через твой стиль объяснения
Видос вдохновил пойти написать таки свой гуи для общения с кастомным контроллером на работе, все ленился
Сначала используется "{}".format(var), потом "%s" % (var) (ждал пока появится f"{var}").
Ну, знание питона автора, мое почтение...
копипаста с стаковерфлоу она такая.
Спасибо! Видео огонь!!!
Uважуха и респект 😊!!! Дерзай далее!!
Ля, новое видео, посмотрю его пока ему несколько лет, а то через несколько десятков лет может потерять актуальность 🤔
Жесть ты голова!!! Хотелось бы так же шарить!!!! Но это еще только в проекте. Мда сколько нужно всего узнать. Для меня только переменные это уже проблема😂😂😂😂 Хороший контент удачи!!!
Блин, думал ты как-то глубже раскроешь про парадигмы программирования, историю, и что не все так гладко, плюсы / минусы все дела)
Но тут похоже ты чисто практический видос решил пильнуть)
Так слишком интересно и уже слишком поздно. Завтра с чаем
Сколько времени уже работаю в FL Studio, но вот что бы понимать принцип её работы и прочее, хммммм, надо подучится и написать плагин для неё)
Даёшь мучения! Гуи в студию! 😂
в основном это полезно тем кто с этми уже знаком итак.
не хватает подхода к новичкам и в питоне и в ооп.
классное видео!
как тебе идея рассказать что нибудь про ring0 и драйвера в целом? к примеру сделать драйверный мультипоточный сервер
When will there be a java video?
Спасибо!
Хотелось бы конечно видеть Qt Designer
2:57 Вспомнил про одну либу для асинхронного использования qt5/6+ в python, вкратце интерфейс спокойно отзывался даже когда при нажатии на кнопку выполняется задача, короче я её давно не пробовал, но вещь классная)) как async-class)))
День добрый, господа! Какой фреймворк на данный момент выглядит выигрышней для джуна, если выбор стоит между Qt и JUCE? JUCE сейчас явно обсуждается активнее, но Qt рекомендуют чаще, ибо он в принципе узнаваемее
Ждем видос про Java)
делай, делай!
Интересно что Вы думаете о VB или Lazarus и Python и в целом о визуальном программировании, ведь JS не мене универсален и ближе всего стоит к визуальному программированию... Интересует системное администрирование, Базы данных... Преподавание... и чуть меньше настольная разработка. Ну и Web, но для себя блоги и т.п. Не совсем коммерческое использование... И как раз таки интересует что универсальное вроде швейцарского ножа и не сложное при этом.
А можно ли создавать такое на питоне? Вернее разве на питоне пишут программы?
winderton это паттерн такой?
мне одному кажется, что некоторые примеры конкретно всратые? адаптер, декоратор, это что вообще за реализации...
Не одному, судя по коду в гите, его уровень в энтерпрайз вообще отсутствует.
Похоже на очередного инфоцыганенка, который держится на тех, кто не выкупает вообще.
@@chipsterFDТак и есть
Какая у тебя цветовая тема в vs code?
Круто, а можно видео разместить на своем сайте и размещением в описании ссылки на youtbe канал?
кайф :3
На 15 минуте не успел ворос задать, только рот открыл, уже проехали 😂😂😂
Легенда
Я очень хочу в it, но не могу определиться куда и на каком яп писать, вроде как нравится направление embedded разработка, бэкэнд тоже, ии интересно, но не как не могу определиться, из языков думаю в сторону c++ , но не знаю будет ли он актуален через условно 10 лет. Сложности не пугают, очень хочу совета, заранее спасибо
А почему бы не использовать DearPyGui для GUI ?
Ля, обожаю твои видео, они информативны как лекции у очень интересного препода, спасибо) В общем, жду новых обучающих роликов, канал буду советовать первачам)
Ох, далеко же мне до понимания этого всего с лёту ... Но спасибо за видео
Нужно как можно подробнее останавливаться на преимуществах тех или иных шаблонов, иначе вообще непонятно, чего ты пытаешься добиться, применяя их.
На самом деле без реальной практики - это все равно будет непонятно. Именно реальной практики, когда ты начинаешь что-то относительно большое делать, и в процессе - сталкиваешься с проблемами, которые усложняют разработку, и ты пытаешься это решить.
Братан, харош, давай-давай, контент в кайф, можно ещё? Можно вот этого почаще?
Очень хорошо и доступно вс сделано, но почему итератор не реализован по-питоновски при помощи yield в методе __iter__ у непосредственно iterable?
подозреваю, потому что он описывал не готовое а делал с нуля своё
Ничего не понимаю. Смотрю, чтобы заснуть)
Допиши GUI пж
Главное из этого видео понять как можно реализовать патерны. Сам код питоновский просто ужасный, автор плюсовик, поэтому не стоит писать так как он.
Объясняй где криво, чтобы люди поняли о чем ты
@@wndtn CamelCase вместо snake_case, переопределяешь методы, которые можно не переопределять, если не добавился функционал и тд.
@@wndtn Импорты через * вообще бед практис, так делать не нужно.
использовать global тоже плохая практика.
Ну и аннотации типов, без них сейчас никуда в питоне. Есть еще проблемы, но мне лень их искать.
Сделай курс по линухе, я бы смотрел
вин привет, что посоветуешь пока я в 10 классе учить си или c++, думал выучить пока си а потом в колледже уже плюсы бы учил
Учи хоть чтонибудь
С++ и си одинаковы по факту, пока не доходишь до ооп, в си ооп нет, а в С++ есть. Вообще лучше выбирать С++, т.к на нем код поддерживать легче из-за ооп, хотя можно изучить си и написать свое ооп. Как бы решай сам, но С++ имеет больше функций
В прошлом видео он обещал сделать проект на Java просил лайки и всякое такое по итогу бе
Java на июль запланирована
Круть чё)
🎉🎉🎉
Шикарная подача,
я бы с удовольсвтием заценил видос, где допиливаеш это до простой бета-версии апликухи, с мин.набором ф-ла)
потому что много ют-снимают контент для плохих jun ;
мало таких кто это делает как ты реально, без воды, а так же применяя всю теорию в плюс минус объективном состоянии!
Это что за такой синглтон перегруженный? В инете полно примеров с переменной класса instance. Зачем столько оверхеда….
Ну ты просто батек
Начинал вкат с питона, в универе начал писать на пхп, js, с#, теперь смотрю на питон и типо простенький псевдокод начинает казаться чем-то иным, более сложным что-ли... Непривычные конструкции, хотя если вникать то всё то же самое только по-своему, эх, м-да
Я тоже начинал с php и сейчас пишу на C#. Питон для меня это "простенький язык, который я еле могу понять". Головой понимаю, что он проще, но глазам он не поддается
Го видео по Haskell
клевые примеры
Сделай с Gui, родной )😁
А на счёт создания своего языка программирования когда начнёш примерные сроки?
зачем?
@@lavron4ik855 затем
@@1CDzy я хз. один хуй виндертон код на сях то осилить не может. пиздить чужой код ума много не надо
Круто, но не допетриваю (( надо будет наверное переписать 1:1...
Бля какой же сочный контент он делает
лучше singleton через статик объяснил бы)
слушай, а посоветуй крутого контентера на джава, за которым сам следишь
Спасибо за контент, ждем видос на джаве по типу "СИСТЕМНАЯ АРХИТЕКТУРА"))_
Ого, дождался, вместо копошения по форумам сделал основу в одном видео, спасибо, экономишь время и силы.
это все есть в книге банды 4х.
проще и лучше её читнуть.
Less go
В адаптере сделан же адаптер из миди под аудио, не наоборот.
В ините мы берём миди (надо бы принимать на вход), реализуем поведение так, чтобы адаптер умел вести себя как аудио (от него наследовались).
Питон особенно похож на пвседокод, когда синглетон реализуется путем наследования а не переопределения __new__ в том же классе Window 😓У всех языков свои сложности, питон же дружелюбен и позволяет новичкам считать, что он похож на псведокод
Если я ничего не понимаю, что мне нужно делать? Что учить? Что писать?
Напиши калькулятор который может в скобки и разложение интеграллов.
Какая у тебя тема в visual studio?не могу дописаться до тебя, и что почитать новичку по плюсам я ток начал учить
github theme
по плюсам норм книга от авторов жози лажойе и барбара му. очень доходчиво все объяснено, для новичков самое то
Так просто к слову не обязательно создавать отдельную переменную для Label, чтобы его запаковать. Можно просто использовать метод Label(...).pack(), если тебе не нужно обращаться к нему позже. А так ролик супер)
все примеры выводят в консоль текст. зачем тогда было созданно так много файлов? можно было бы в едином файле императивно всё описать. + заюзить функции утилиты для синглетонов например, но тоже сомнительная выгода от этого всего.