И Массачусетский Университет бесплатно выкладывает свои лекции. Жаль, что не все мы понимаем, на сколько это ценные материалы, люди ведь за них тысячи долларов платят, а тут всё бесплатно, бери да учись
Побольше бы таких преподователей, рассказывающих столь увлекательно и с любовью к своему ремеслу. Тогда жизнь многих студентов пошла бы в нужное русло. Спасибо Тимофей огромное вам за столь интересные лекции. Даже обладая навыками программирования слушать вас все равно интересно.
Насколько же вы интересно преподаете... Я смотрю 4 лекциб подряд и это огромное удовольствие, спасибо за ваше желание обучать. Смотрю на скорости х2, потому что засыпаю на х1)) но это чисто моя потребность
Тайм-коды: Событийно-Ориентированное Программирование 0:42 рефакторинг. Внутренняя организация кода 5:55 time-line вычислительного процесса. Процессорное время 9:53 схема жизни программы (от инициализации до terminate/завершения, и даже дальше) 26:39 Обработка Событий, что нужно внутри кода 27:25 PyGTK, PyQt, WxPython, Pygame и др. Наборы Python-привязок для библиотек 27:46 1) инициализация (подгрузка всех необходимых ресурсов) 30:19 2) внутренняя Диспетчеризация событий (в ифах прописываем условия соблюдения смысловых границ) 42:07 scratch.mit.edu # сайты для детей, но там наглядно виден процесс, например обработки событий 45:14 code.org 50:00 widget. Оконная штуковина, элемент оконного интерфейса, window gadget 51:06 электронные справочники к библ. tkinter: (1) help("tkinter") 52:12 параллельное программирование - одновременное вычисление и обработка событий. Отдельная нить. 53:35 (2) effbot.org / Introduction to tkinter 54:21 from tkinter import * # все пространство библиотеки открывается прямо тут 55:38 терминальный обработчик событий 56:17 главный цикл 57:16 Диспетчер/ dispatcher 58:09 handler / обработчик 59:50 обработчик внутри библиотеки 1:00:09 widget 1:00:32 3 базовые компоненты в обработке событий: 1) Событие (с его типом), 2) Оконная Штуковина, на которую попадает это событие, 3) Обработчик 1:01:20 само окно - экран монитора - надвиджет. Он базовый ресурс, базовый потребитель событий. Корневой виджет (root). Далее в мастер-виджет (окно программы) запакован виджет (в примере-> строка "Hello world") 1:01:55 событие терминации (terminate) привязывается к главному окну 1:02:09 интерпретатор Tcl/Tk 1:02:33 привязывание событий к виджетам 1:04:18 help('tkinter.Label') # если в кавычках, то импортировать не обязательно 1:06:30 bind/забайндить/привязать обработчик/handler # реализация диспетчеризации в библиотеке 1:07:30 список виджетов/Widget Class Reference на effbot 1:08:13 (3) younglinux.info # сайт Лаборатория линуксоида 1:09:20 привязка обработчиков к паре (событие, виджет). Диспетчер в готовой библиотеке обучаем 1:09:55 когда управление отдано в главный цикл root.mainLoop(), мы уже не совсем управляем прогой. Он сам делает While true, вызов диспетчера, который обучаемый при помощи метода bind 1:11:00 виджет.bind(событие/event, обработчик/handler/function) 1:12:04 список событий/Events and Binding на effbot 1:13:49 запускаем. exit() 1:15:10 прикрутим фишки. Можно, например, получить свойства полей евента
@@RusFarFaz нет такого понятия круче или хуже-это всё инструменты.Просто в Rails все намного логичнее реализовано,и если в Django задачу можно решить только одним верным способом,то в Rails их всегда несколько.Если вы возьмете один проект и напишете его на этих технологиях,то вы увидите что на Rails времени у вас ушло в 2 раза меньше,а время это деньги заказчика,из-за этого критерия он выберет Rails.Моё личное наблюдение,команда которая разрабатывает на Rails,делает это получая удовольствие,в такой команде очень приятно работать.
Кстати, упрощение алгоритмов в программировании может подвести к решению ещё одной задачи о равенстве/неравенстве P и PN задач. Кому интересно - Google в помощь
Заинтересовала ситуация с exit(), решил разобраться. Оказывается, обходится без операционной системы. exit() в Питоне не терминирует процесс, а генерирует исключение SystemExit. Соответственно, если оно никем не поймано - процесс завершается (причем молча, ничего не написав, в отличие от других исключений). Ну а в случае tkinter внутри mainloop оно, по всей видимости, ловится и обрабатывается.
Таймкоды ко всем лекциям в одном месте brva.ru/py3 Поднимите лайком, пожалуйста. Возможно, это будет полезно кому-то ещё, изучающему Python. (таймкоды, собраны из комментариев Iritaka 160)
Все очень здорово. Единственная просьба к лектору правильно произносить общепринятые английские термины. Студенты это запомнят а потом трудно переучиться. Сейчас это все легко ведь с интернетом. То у вас width правильно а height как Хэйт (ненависть... кого? почему? зачем?), тут tkinter - Ткинтер.... Он Ти-Кей везде зовётся.
Я написал бота на phyton 3. Пока он работает в терминале. Решил сделать его цивильно: окно, кнопки "Старт", "Стоп", "Настройки" и т.п. И сразу столкнулся с проблемой: бот работает в бесконечном цикле. Получается, по нажатию на кнопку "Старт" он входит в бесконечный цикл и на кнопку "Стоп" не реагирует, конечно. Получается, нужна некая параллельность процессов. По нажатию кнопки "Старт" запускать новый поток threading.Thread и уже в нём бесконечный цикл ?
"Получается, нужна некая параллельность процессов." - скорее нужно условие для завершения цикла. У моего бота это просто текстовая команда в чате дискорда.
@@fanat_tortov у меня бот работает без графики, так как она просто не требуется, но все его функции вызываются асинхронно. Использую asyncio, очень удобная штука.
А что, так сложно писать событийно-ориентированные программы?) Преподавателю важно тебе дать направление в нужную сторону, объяснить ради чего это нужно, а код это самое лёгкое.
@@Mohammed-ky1ql " Не могли бы изъясняться понятнее?" ну вот Вы на свой вопрос и ответили. В данном случае верно старое высказывание- кто не может работать- учит :-)
очень и очень много лишней информации! зачем так подробно рассказывать про кнопочки окон, обработку нажатий-положений... кто не знает - не поймет нифига, а кто знает будет скучать. где тут практика программирования??? больше бы толку было от подачи материала в виде: библиотека такая-то, функция такая-то обрабатывает такие-то события... и фиолетово для программиста как она отслеживает то нажатие - по координатам или по лунному календарю. и по выполнению программ не совсем верный график: по нему я не могу одновременно смотреть кино в окне, архивировать большой файл и кодить видео. а я все это делать могу (визуально) одновременно! все три задачи будут выполняться и ни одна из них спать не будет и ждать событий... тема совсем не раскрыта. да и вообще это касается никак не программирования на каком-либо языке, а работа ОС.
Когда лекция заканчивается аплодисментами - это многое говорит о лекторе)
Спасибо!
В одном из видео он говорил,что не является специалистом по какой то теме,но все равно читал курс) , коротко о том,почему я не хожу на такие курсы))
Как же нереально меняется жизнь! Кто бы мог подумать, что теперь любой паренёк самой удаленной деревни России может слушать лекции МФТИ!
я тот паренек
И Массачусетский Университет бесплатно выкладывает свои лекции. Жаль, что не все мы понимаем, на сколько это ценные материалы, люди ведь за них тысячи долларов платят, а тут всё бесплатно, бери да учись
@@vladisloveswift5810 не просто взять вот так и учиться. Хорошо, когда есть тысячи долларов и учебный процесс тебе обеспечивают
@@vladisloveswift5810 нужно где-то работать и как бы в холодильнике еда не материализуется
С ноября отключат интернет в России
Побольше бы таких преподователей, рассказывающих столь увлекательно и с любовью к своему ремеслу. Тогда жизнь многих студентов пошла бы в нужное русло. Спасибо Тимофей огромное вам за столь интересные лекции. Даже обладая навыками программирования слушать вас все равно интересно.
Я обожаю эмоциональных преподавателей, через эмоции ярче понимаешь и быстрее, как же это круто
Сел смотреть.. а лекция уже закончилась. Как же офигенно подаётся материал.
надеюсь, в начале лекции все-таки встали, чтобы уважить господина Хирьянова )
Самые классные лекции по программированию, которые я видел!
Низкий поклон таким учителям и преподавателям, за такие шикарные лекции)
Насколько же вы интересно преподаете... Я смотрю 4 лекциб подряд и это огромное удовольствие, спасибо за ваше желание обучать. Смотрю на скорости х2, потому что засыпаю на х1)) но это чисто моя потребность
Тоже смотрю на 2х.
Я думаю многие так лекции смотрят)
Слушал Вас с 10 класса, а сейчас на 3-ем курсе и всё ещё не могу оторваться :) Спасибо за лекции!
Если ты за 5 лет не освоил пайтон мне тебя жаль
@@truevena7805 ты его всю жизнь должен учить , держу в курсе
Тайм-коды: Событийно-Ориентированное Программирование
0:42 рефакторинг. Внутренняя организация кода
5:55 time-line вычислительного процесса. Процессорное время
9:53 схема жизни программы (от инициализации до terminate/завершения, и даже дальше)
26:39 Обработка Событий, что нужно внутри кода
27:25 PyGTK, PyQt, WxPython, Pygame и др. Наборы Python-привязок для библиотек
27:46 1) инициализация (подгрузка всех необходимых ресурсов)
30:19 2) внутренняя Диспетчеризация событий (в ифах прописываем условия соблюдения смысловых границ)
42:07 scratch.mit.edu # сайты для детей, но там наглядно виден процесс, например обработки событий
45:14 code.org
50:00 widget. Оконная штуковина, элемент оконного интерфейса, window gadget
51:06 электронные справочники к библ. tkinter: (1) help("tkinter")
52:12 параллельное программирование - одновременное вычисление и обработка событий. Отдельная нить.
53:35 (2) effbot.org / Introduction to tkinter
54:21 from tkinter import * # все пространство библиотеки открывается прямо тут
55:38 терминальный обработчик событий
56:17 главный цикл
57:16 Диспетчер/ dispatcher
58:09 handler / обработчик
59:50 обработчик внутри библиотеки
1:00:09 widget
1:00:32 3 базовые компоненты в обработке событий:
1) Событие (с его типом), 2) Оконная Штуковина, на которую попадает это событие, 3) Обработчик
1:01:20 само окно - экран монитора - надвиджет. Он базовый ресурс, базовый потребитель событий. Корневой виджет (root). Далее в мастер-виджет (окно программы) запакован виджет (в примере-> строка "Hello world")
1:01:55 событие терминации (terminate) привязывается к главному окну
1:02:09 интерпретатор Tcl/Tk
1:02:33 привязывание событий к виджетам
1:04:18 help('tkinter.Label') # если в кавычках, то импортировать не обязательно
1:06:30 bind/забайндить/привязать обработчик/handler # реализация диспетчеризации в библиотеке
1:07:30 список виджетов/Widget Class Reference на effbot
1:08:13 (3) younglinux.info # сайт Лаборатория линуксоида
1:09:20 привязка обработчиков к паре (событие, виджет). Диспетчер в готовой библиотеке обучаем
1:09:55 когда управление отдано в главный цикл root.mainLoop(), мы уже не совсем управляем прогой. Он сам делает While true, вызов диспетчера, который обучаемый при помощи метода bind
1:11:00 виджет.bind(событие/event, обработчик/handler/function)
1:12:04 список событий/Events and Binding на effbot
1:13:49 запускаем. exit()
1:15:10 прикрутим фишки. Можно, например, получить свойства полей евента
Я пришел 5 часов утра а на работу в 7 часов вставать даже не смог уснуть после таких лекций бессонно можно ходить!Спасибо вам огромное что вы есть
Тимофей, спасибо, очень круто! У вас талант преподавать, слушал раскрыв рот
Спасибо за интесное освещение теории и наглядную демонстрацию практики!
1:06:00
Ненавижу программирование
Ненавижу программирование
Оно работает!
Обожаю программирование!
Спасибо огромное за ваши лекции, это невероятный и бесценный труд, всё буквально на пальцах
Вы делаете великое дело! Огромное вам спасибо за то что несете свет в массы
Воу воу, как из рога изобилия пошли лекции, уже голова кипит!
Какой-же хороший преподаватель! Если бы везде такие были =)
Господи, поймал себя на мысли, что смотрю вашу лекцию как фильм на ночь))
Тимофей ваши лекции посмотрел первый раз. Инфа супер подаёться)))Браво вам за это плюсик +++
Класс. Спасибо за то что выкладываете такие уроки!
с первых же минут интересно и по делу, спасибо!
Smirennomudrye Lekcii!
Сколько сталкиваюсь с Питоном все больше понимаю,что когда пишу проект на Ruby on Rails,то поистине испытываю удовольствие.
то есть Ruby on rails круче? или что вы хотели этим сказать?
@@RusFarFaz нет такого понятия круче или хуже-это всё инструменты.Просто в Rails все намного логичнее реализовано,и если в Django задачу можно решить только одним верным способом,то в Rails их всегда несколько.Если вы возьмете один проект и напишете его на этих технологиях,то вы увидите что на Rails времени у вас ушло в 2 раза меньше,а время это деньги заказчика,из-за этого критерия он выберет Rails.Моё личное наблюдение,команда которая разрабатывает на Rails,делает это получая удовольствие,в такой команде очень приятно работать.
Привет друг. Урок хорошо идет. Не останавливайтесь ПОЖА́ЛУЙСТА...
ты лучший! просто идеальная подача.
Божественно, спасибо Вам!
Дуже класні лекції !!
Лекции - огонь!
Здравствуйте, Тимофей! Большое Спасибо.
Были бы такие у нас преподаватели. С 2000-2006 год. Я слушал с удовольствием, хоть и не программист.
За упоминание Перельмана лайк, он доказал гипотезу Пуанкаре ( одна из задач тысячелетия)
Кстати, упрощение алгоритмов в программировании может подвести к решению ещё одной задачи о равенстве/неравенстве P и PN задач. Кому интересно - Google в помощь
6465 просмотров 375 лайков не скупитесь ! спасибо Мастеру !
Тим, лучший.
у вас шикарные волосы! :)
Круто, спасибо большое, подскажите а где взять лабораторные что бы полностью проходить курс по задумке автора??
Спасибо, Тимофей Фёдорович
Большое спасибо!😁
очередное спасибо
спасибо за науку , а можно давать хотя бы в описании что давалось на лабораторных, может чего нибудь нагуглю)
Смотрите ссылку на сайт курса в описании.
Где лекции Лебовски? Ваши лекции, мозг компилирует без ошибок.
Заинтересовала ситуация с exit(), решил разобраться. Оказывается, обходится без операционной системы. exit() в Питоне не терминирует процесс, а генерирует исключение SystemExit. Соответственно, если оно никем не поймано - процесс завершается (причем молча, ничего не написав, в отличие от других исключений). Ну а в случае tkinter внутри mainloop оно, по всей видимости, ловится и обрабатывается.
Очень жду когда будет выложена следующая лекция
ПРЕКРАСНО!
Спасибо, супер урок.
Таймкоды ко всем лекциям в одном месте brva.ru/py3
Поднимите лайком, пожалуйста. Возможно, это будет полезно кому-то ещё, изучающему Python.
(таймкоды, собраны из комментариев Iritaka 160)
Замечательные лекции! Но у Вас у сожалению не видна нижняя часть Вашего экрана во время master class(
Огромное спасибо
Когда следующая лекция?
А можно еще? =)
Тимофей, а сколько всего лекций планируется? Очень доволен вашим преподаванием!
Как подключить библиотеку graph?Не могу разобраться,подскажите пожалуйста.
Очень интересно, нужна новая доза
С 1:10:10 становятся не видны нижние строки в окне. Не видно, что печатаете. И последующих лекциях также было...
Для детей програмировние
Круто. На работе дам пусть программируют серьезные системы
Преподаёт прям, как у нас в технаре советские преподы, а они делали на совесть.
Спасибо.
окно с текстом программы не полностью видно на видео
Есть урок по анимации?
Здравствуйте. Где можно достать сами лабораторные работы? Заранее спасибо.
Браво, Тимофей! А будут ли ещё лекции по Python?
на скорости 1.25 прям очень захватывающе )
Тимофей, включите монетизацию на роликах , пусть это приносит вам деньги!
за его просмотры по монетизации ему дадут максимум 2 бакса, держу в курсе
@@jus1xd193 плюс тематика подойдёт огромному количеству рекламодателей
смотрю курс Практика программирования на Python 3 2019 г.! А тут обнаружил что есть еще 2020 года! Я правильно мыслю, что курс 2020 года актуальнее?
практика программирования начинаеться на 42:07
А что конкретно запрограммировали?
Добрый день, Тимофей Хирьянов я бы хотел с вами связаться, как это можно сделать?)
Послать сигнал 15 (вежливо просим закрытся) иначе 9 прибить.
Обожаю питон
Все очень здорово. Единственная просьба к лектору правильно произносить общепринятые английские термины. Студенты это запомнят а потом трудно переучиться. Сейчас это все легко ведь с интернетом. То у вас width правильно а height как Хэйт (ненависть... кого? почему? зачем?), тут tkinter - Ткинтер.... Он Ти-Кей везде зовётся.
Я написал бота на phyton 3. Пока он работает в терминале. Решил сделать его цивильно: окно, кнопки "Старт", "Стоп", "Настройки" и т.п. И сразу столкнулся с проблемой: бот работает в бесконечном цикле. Получается, по нажатию на кнопку "Старт" он входит в бесконечный цикл и на кнопку "Стоп" не реагирует, конечно. Получается, нужна некая параллельность процессов. По нажатию кнопки "Старт" запускать новый поток threading.Thread и уже в нём бесконечный цикл ?
"Получается, нужна некая параллельность процессов." - скорее нужно условие для завершения цикла. У моего бота это просто текстовая команда в чате дискорда.
при работе с графикой в питоне её практически всегда надо реализовывать через потоки или async
@@fanat_tortov у меня бот работает без графики, так как она просто не требуется, но все его функции вызываются асинхронно. Использую asyncio, очень удобная штука.
💝
Хорошо бы и лабы опубликовать
Tkinter еще то УГ лучше использовать PyQt5
27:30 про выбор
Скоро ООП )
event driven progrmming lazarus delphi
Это окружение cinnamon?
похоже на то. точно - минт
@@igors1131 а как ты это установил?
Жаль, что экран урезан(
Как можно столько знать?)
Регулярность и усердие и через 10 лет не меньше будешь знать
достаточно это понимать
6:46
Почему вы так любите питон?
TheChris Grace почему джава популярный яп?)
Он простой и красивый. Очень универсальный, как говорят - второй лучший язык для всего (узкоспециальные языки свою нишу лучше сделают, но только свою)
Сергей Пресняков а какой первый?
Как программировать - 3k просмотров. Как сделать слайм из говна - 8000k, тренд Ютуба. Мы обречены!
S K тебе же лучше, меньше конкуренции
Я-то думал лекция про питон, а тут про GUI c примесью очереди событий Iczelion (WASM) =(
А что, так сложно писать событийно-ориентированные программы?) Преподавателю важно тебе дать направление в нужную сторону, объяснить ради чего это нужно, а код это самое лёгкое.
Как я понял лекции не про питон, а про практику программирования как таковую, для наглядного объяснения используется питон.
ебать, верните мне мой 2000 год, 2О лет спустя разбираются техники лагов
Так и хочется пожалеть дядю учителя, смотрел лекции 2х летней давности, там он еще в пиджачке, а сейчас выглядит замученным.
Все программисты - маньяки
не то слово, сам себя боюсь...
По другому в этой профессии не выжить, нужно слегка повернуться головой на этой теме.
@@СергейПресняков-о4р понимаю, я продуктовый дизайнер
+
Волосы отвлекают :)
Что не так с его волосами ?
чиста скретч програмирование
И ни одна скотина не указала на прическу учителя.
Erwin Ilyasov да норм прическа, чего вы
Да и не дело это, лектора отвлекать.
А что должно быть указано.
по моему классическая=)
он не топ модель для вечернего заебися, прическа код не улучшает и не комментирует)
++++
Тимофей как Орфей!
Режет ухо произношение [ПЭС] английского pass и [ХЭЙТ] слова height.
Да образование в минусе,я то думал что они должны с архитектоники процессов начинать.
Гитхаб для малолетних)
эт чо правда так преподают? ужас то какой...
Почему ужас? Не могли бы изъясняться понятнее?
@@Mohammed-ky1ql " Не могли бы изъясняться понятнее?" ну вот Вы на свой вопрос и ответили. В данном случае верно старое высказывание- кто не может работать- учит :-)
очень и очень много лишней информации! зачем так подробно рассказывать про кнопочки окон, обработку нажатий-положений... кто не знает - не поймет нифига, а кто знает будет скучать. где тут практика программирования??? больше бы толку было от подачи материала в виде: библиотека такая-то, функция такая-то обрабатывает такие-то события... и фиолетово для программиста как она отслеживает то нажатие - по координатам или по лунному календарю.
и по выполнению программ не совсем верный график: по нему я не могу одновременно смотреть кино в окне, архивировать большой файл и кодить видео. а я все это делать могу (визуально) одновременно! все три задачи будут выполняться и ни одна из них спать не будет и ждать событий... тема совсем не раскрыта. да и вообще это касается никак не программирования на каком-либо языке, а работа ОС.
Спасибо