Тимофей если бы все преподаватели были такие как вы или подобны вам(с таким же подходом и энтузиазмом), интерес к данным дисциплинам вырос в разы !Очень нравится ! продолжайте в том же духе !
У нас был препод сопромата... Грамотей ещё тот... Он говорил: *«Господь Бог знает предмет на отлично. Я - на хорошо. Остальные - либо ничего не знают, либо что-то слышали о предмете».* Намучились мы с ним... Но если нам ещё «везло», то 99% девчонок не фартило. Только две из них - одна прыщавая, а вторая - в очках, сдавали с первого раза.
Тайм-коды: ООП, SOLID-принципы 0:00 Объектно-Ориентированное Программирование - это парадигма программирования, в которой основными концепциями являются понятия объектов и классов 5:52 поглощение 7:28 в Питоне всё - объект 7:41 SOLID -принципы. 5 принципов ООП. А раньше ООП включало 3 кита: инкапсуляция, полиморфизм и наследование 8:40 S (single responsibility) Принцип единственной ответственности 9:57 O (open-closed) Принцип открытости/закрытости 13:41 L (Liskov substitution) Принцип подстановки Лисков 15:33 не стоит ударяться в наследование 17:00 I (interface segregation) Принцип разделения интерфейса 19:36 D (dependency inversion) Принцип инверсии зависимостей 23:21 ООП не придаёт никаких новых алгоритмов 24:31 понятие Объекта и Класса. Класс - тип, описывающий устройство объектов. Объект - экземпляр класса 24:40 как создать класс и как вызвать (создать экземпляр) класс 25:15 статический атрибут. Конструктор класса (инициализирующий метод), динамические (экземплярные) атрибуты 25:53 в Питоне перегрузки функций нет (нет возможности сделать несколько конструкторов с разным набором параметров) 27:13 "Магические" методы классов. Спец метод. 29:13 __del__ - спец. метод, предназначенный для закрытия объекта. Деструктор объекта 30:13 __new__ - метод, который создаёт объект 30:30 Статические и классовые (экземплярные) методы 33:43 Абстрактные классы. Библиотека abc from abc import ABC, abstractmethod 36:47 Декомпозиция программы на модули. Менеджер контеста. Пространство имён 39:25 конфликт имён. Если в 2 заимпортированных модулях одинаковые имена 44:50 стандартные модули: docs.python.org/3/library/index.html Стандартная библиотека Python 47:13 модуль sys 49:41 модуль os 52:07 r-строки. Тип строки. Строки, в которых экранирование запрещено. f - строки 54:00 import os.path модуль-пакет 57:29 os.path.join объединение в один путь 58:49 модуль tempfile 58:54 модуль csv. Для работы с табличными данными. Таблицы эксель можно перевести в csv 1:00:38 Обработка исключений. Обработка ошибок. try escape else finally Посмотреть перечень всех конспектов: www.patreon.com/iritaka
Тот самый случай, когда смотришь материал, который уже знаешь, но все равно не можешь оторваться)) Обожаю ваши видео уроки, Тимофей, 1.5 года назад с них начинала свой путь, - сейчас, уже будучи разработчиком, все равно возвращаюсь к этим видео периодически, и всегда получаю удовольствие от такого качественного объяснения
Тимофей, благодарю Вас за ваш титанический труд! Очень доходчиво и интересно. Каждый Ваш урок заходит на ура и его всегда мало. Большое человеческое СПАСИБО!
@@Евгений_Юрьевич Рекомендую к прочтению статью на Хабре (Нейросети и глубокое обучение, глава 1). Даётся краткое и в то же время ёмкое определение для каждого из вынесенных в заголовок статьи терминов, ознакомившись с которыми можно сделать вывод об их сходствах и отличиях.
Я извиняюсь за неожиданный вопрос, но всё же очень интересно, вы не тот человек, что играет в Squad, и в дискорде точно такая же иконка? Просто если так, то очень неожиданно получается :D
3:15 Объектно-Ориентированное Программирование - это парадигма программирования, в которой основными концепциями являются понятия объектов и классов 5:52 поглощение 7:28 в Питоне всё - объект 7:41 SOLID -принципы. 5 принципов ООП. А раньше ООП включало 3 кита: инкапсуляция, полиморфизм и наследование 8:40 S (single responsibility) Принцип единственной ответственности 9:57 O (open-closed) Принцип открытости/закрытости 13:41 L (Liskov substitution) Принцип подстановки Лисков 15:33 не стоит ударяться в наследование 17:00 I (interface segregation) Принцип разделения интерфейса 19:36 D (dependency inversion) Принцип инверсии зависимостей 23:21 ООП не придаёт никаких новых алгоритмов 24:31 понятие Объекта и Класса. Класс - тип, описывающий устройство объектов. Объект - экземпляр класса 24:40 как создать класс и как вызвать (создать экземпляр) класс 25:15 статический атрибут. Конструктор класса (инициализирующий метод), динамические ("экземплярные") атрибуты 25:53 в Питоне перегрузки функций нет (нет возможности сделать несколько конструкторов с разным набором параметров) 27:13 "Магические" методы классов. Спец метод. 29:13 _del_ - спец. метод, предназначенный для закрытия объекта. Деструктор объекта 30:13 _new_ - метод, который создаёт объект 30:30 Статические и классовые (экземплярные) методы 33:43 Абстрактные классы. Библиотека abc from abc import ABC, abstractmethod 36:47 Декомпозиция программы на модули. Менеджер контеста. Пространство имён 39:25 конфликт имён. Если в 2 заимпортированных модулях одинаковые имена 44:50 стандартные модули: docs.python.org/3/library/ind... Стандартная библиотека Python 47:13 модуль sys 49:41 модуль os 52:07 r-строки. Тип строки. Строки, в которых экранирование запрещено. f - строки 54:00 import os.path модуль-пакет 57:29 os.path.join объединение в один путь 58:49 модуль tempfile 58:54 модуль csv. Для работы с табличными данными. Таблицы эксель можно перевести в csv 1:00:38 Обработка исключений. Обработка ошибок. try escape else finally
Спасибо Вам огромное за Ваши лекции, окончил университет в 2008, но с удовольствием и пользой для себя смотрю ваши лекции. У вас хороший академический, структурированый стиль, кооторого так не хватает большинству онлайн учителями.
Так приятно снова почувствовать себя студентом, когда очень интересно, но мало что понятно, а препод это бог, который спустился с неба и пытается мне что-то рассказать.
Извините, только сейчас добрался до этого видео. Про сына электрика это гениально! Лучшее объяснение Liskov substitution principle, которое я слышал. 👍
Спасибо вам огромное за ваш неоценимый труд и вклад в развитие всего русскоговорящего IT сообщества. Мне кажется, было бы здорово, если бы некоторый доступ к семинарам имели ваши патроны. Это было бы и подспорьем вам, и возможностью дополнительно поблагодарить вас, вместе с тем еще больше приобщившись к курсу.
@@YepSpirit Я поставил дизлайк по двум причинам, во-первых за сам недоязык программирования питон, который пора уже перестать хайпить и понять что он лишь отвлекает человеческие ресурсы на бесполезную трату сил и времени, а во-вторых за очень устаревший (точнее - неверный) подход к объяснению ООП и всего, что с ним связано.
Отдельное спасибо за "правильное наследование". Часто слышно "наследование в ООП - это плохо и точка" и все кинулись писать код без наследования не понимая, что без наследования ООП просто не существует.
Честно, с трудом заставил себя начать это смотреть, и думал, как я осилю 70 минут лекции, которые я ненавижу всем своим естеством. На 60-й минуте, когда меня окликнули от компа, пришло осознание, что уже пролетел час, у меня есть небольшой конспект и я не хочу, чтобы это останавливалось. Как же мало на самом деле таких лекторов с таким материалом. Спасибо вам большое
Больше про SOLID принципы (особенно на принцип SRP). Хотелось бы на практике узнать поближе эти принципы, так как думаю что это один из необходимых для понимания принципоп ООП.
Тимофей, спасибо вам большое за ваши труды! Обожаю ваши ролики - в такой лёгкой понятной форме объясняете такие комплексные вещи! Побольше бы таких людей в мире!
Всё таки переопределять магические методы в python можно, тот же самый метакласс type, у него есть два инициализатора, один принимает только объект и возвращает его тип данных, второй создает новый класс на основе переданных параметров.
Спасибо вам за лекции и вдохновение осваивать новые области! =) Уточнение насчёт исключений в Google. Вот непосредственная цитата из стайлгайда: Exceptions are allowed but must be used carefully. Отказались они от обработки исключений в C++, да и то из-за большого количетсва легаси-кода, который не готов был их обрабатывать. Так исторически сложилось, как говорится)
классные лекции , заточенные для физиков !!! то что нужно, а то кругом ИТ !!! приятно освежить в памяти знания. лектор, Вы классный !!!! хоть снова за студентческую скамью !
Курс будет слушать 20 человек группы ЛФИ! Через 3 дня 20 000 просмотров))) Преподаватель - золотой души человек! Храни Вас Господь!
Сегодня уже 42 тыс)
Да, сейчас физики бога запрограммируют
@@alexanderskusnov5119 который создаст ещё одно человечество, которое запрограммирует Бога, который...
70 тыс.
123 тыс.
"не достаточной компетенции"... Да что вы такое говорите!?!?
У Вас самые лучшие лекции по программированию на ютубе!
DS это не совсем программирование, это больше статистика.
Обьяснения доходчивы но мало материала, приходится гуглить)
Скромняшка
Тимофей если бы все преподаватели были такие как вы или подобны вам(с таким же подходом и энтузиазмом), интерес к данным дисциплинам вырос в разы !Очень нравится ! продолжайте в том же духе !
У нас был препод сопромата... Грамотей ещё тот... Он говорил: *«Господь Бог знает предмет на отлично. Я - на хорошо. Остальные - либо ничего не знают, либо что-то слышали о предмете».* Намучились мы с ним... Но если нам ещё «везло», то 99% девчонок не фартило. Только две из них - одна прыщавая, а вторая - в очках, сдавали с первого раза.
Тайм-коды: ООП, SOLID-принципы
0:00 Объектно-Ориентированное Программирование - это парадигма программирования, в которой основными концепциями являются понятия объектов и классов
5:52 поглощение
7:28 в Питоне всё - объект
7:41 SOLID -принципы. 5 принципов ООП. А раньше ООП включало 3 кита: инкапсуляция, полиморфизм и наследование
8:40 S (single responsibility) Принцип единственной ответственности
9:57 O (open-closed) Принцип открытости/закрытости
13:41 L (Liskov substitution) Принцип подстановки Лисков
15:33 не стоит ударяться в наследование
17:00 I (interface segregation) Принцип разделения интерфейса
19:36 D (dependency inversion) Принцип инверсии зависимостей
23:21 ООП не придаёт никаких новых алгоритмов
24:31 понятие Объекта и Класса. Класс - тип, описывающий устройство объектов. Объект - экземпляр класса
24:40 как создать класс и как вызвать (создать экземпляр) класс
25:15 статический атрибут. Конструктор класса (инициализирующий метод), динамические (экземплярные) атрибуты
25:53 в Питоне перегрузки функций нет (нет возможности сделать несколько конструкторов с разным набором параметров)
27:13 "Магические" методы классов. Спец метод.
29:13 __del__ - спец. метод, предназначенный для закрытия объекта. Деструктор объекта
30:13 __new__ - метод, который создаёт объект
30:30 Статические и классовые (экземплярные) методы
33:43 Абстрактные классы. Библиотека abc from abc import ABC, abstractmethod
36:47 Декомпозиция программы на модули. Менеджер контеста. Пространство имён
39:25 конфликт имён. Если в 2 заимпортированных модулях одинаковые имена
44:50 стандартные модули: docs.python.org/3/library/index.html Стандартная библиотека Python
47:13 модуль sys
49:41 модуль os
52:07 r-строки. Тип строки. Строки, в которых экранирование запрещено. f - строки
54:00 import os.path модуль-пакет
57:29 os.path.join объединение в один путь
58:49 модуль tempfile
58:54 модуль csv. Для работы с табличными данными. Таблицы эксель можно перевести в csv
1:00:38 Обработка исключений. Обработка ошибок. try escape else finally
Посмотреть перечень всех конспектов: www.patreon.com/iritaka
Спасибо. Ссылки на задачи будут?
@@grifin6426 У Тимофея Фёдоровича на гитхабе пока нет этого курса
В закреп такое надо)
уже.
@@grifin6426 Ссылки уже в описании.
Тот самый случай, когда смотришь материал, который уже знаешь, но все равно не можешь оторваться)) Обожаю ваши видео уроки, Тимофей, 1.5 года назад с них начинала свой путь, - сейчас, уже будучи разработчиком, все равно возвращаюсь к этим видео периодически, и всегда получаю удовольствие от такого качественного объяснения
расскажите о своем пути, если не сложно)
Тимофей, благодарю Вас за ваш титанический труд! Очень доходчиво и интересно. Каждый Ваш урок заходит на ура и его всегда мало. Большое человеческое СПАСИБО!
ТФ, удивляете в самом хорошем смысле!
теперь будем ждать курсы про машинное обучение и нейронные сети)
+ глубокое обучение для полного комплекта.
@@sergeyv1534 так это и есть нейросети.
@@Евгений_Юрьевич Рекомендую к прочтению статью на Хабре (Нейросети и глубокое обучение, глава 1). Даётся краткое и в то же время ёмкое определение для каждого из вынесенных в заголовок статьи терминов, ознакомившись с которыми можно сделать вывод об их сходствах и отличиях.
@@sergeyv1534 спасибо.
Я извиняюсь за неожиданный вопрос, но всё же очень интересно, вы не тот человек, что играет в Squad, и в дискорде точно такая же иконка? Просто если так, то очень неожиданно получается :D
Вы очень талантливый преподаватель, пусть хранит Вас Бог. Удачи и счастья вам во всем и здоровья. Спасибо за лекции
3:15 Объектно-Ориентированное Программирование - это парадигма программирования, в которой основными концепциями являются понятия объектов и классов
5:52 поглощение
7:28 в Питоне всё - объект
7:41 SOLID -принципы. 5 принципов ООП. А раньше ООП включало 3 кита: инкапсуляция, полиморфизм и наследование
8:40 S (single responsibility) Принцип единственной ответственности
9:57 O (open-closed) Принцип открытости/закрытости
13:41 L (Liskov substitution) Принцип подстановки Лисков
15:33 не стоит ударяться в наследование
17:00 I (interface segregation) Принцип разделения интерфейса
19:36 D (dependency inversion) Принцип инверсии зависимостей
23:21 ООП не придаёт никаких новых алгоритмов
24:31 понятие Объекта и Класса. Класс - тип, описывающий устройство объектов. Объект - экземпляр класса
24:40 как создать класс и как вызвать (создать экземпляр) класс
25:15 статический атрибут. Конструктор класса (инициализирующий метод), динамические ("экземплярные") атрибуты
25:53 в Питоне перегрузки функций нет (нет возможности сделать несколько конструкторов с разным набором параметров)
27:13 "Магические" методы классов. Спец метод.
29:13 _del_ - спец. метод, предназначенный для закрытия объекта. Деструктор объекта
30:13 _new_ - метод, который создаёт объект
30:30 Статические и классовые (экземплярные) методы
33:43 Абстрактные классы. Библиотека abc from abc import ABC, abstractmethod
36:47 Декомпозиция программы на модули. Менеджер контеста. Пространство имён
39:25 конфликт имён. Если в 2 заимпортированных модулях одинаковые имена
44:50 стандартные модули: docs.python.org/3/library/ind... Стандартная библиотека Python
47:13 модуль sys
49:41 модуль os
52:07 r-строки. Тип строки. Строки, в которых экранирование запрещено. f - строки
54:00 import os.path модуль-пакет
57:29 os.path.join объединение в один путь
58:49 модуль tempfile
58:54 модуль csv. Для работы с табличными данными. Таблицы эксель можно перевести в csv
1:00:38 Обработка исключений. Обработка ошибок. try escape else finally
Самый офигенный препод в ютубе, большое Вам спасибо за Ваши труды
Огромное спасибо за ваш труд! То, что вы выкладываете, это замечательно! После вашего объяснения ООП я ещё больше анализом данных заинтересовался!!!
Ура , новый курс. :)
Я ещё старые не досмотрел :(
Спасибо Вам большое! Такие интересные лекции у вас! Вы просто супер преподаватель!
однозначно лучшие лекции на русском по потиону, спасибо!
Круто! Давно хотел анализ данных , Спасибо Тимофею Федоровичу !
Спасибо Вам огромное за Ваши лекции, окончил университет в 2008, но с удовольствием и пользой для себя смотрю ваши лекции. У вас хороший академический, структурированый стиль, кооторого так не хватает большинству онлайн учителями.
Так приятно снова почувствовать себя студентом, когда очень интересно, но мало что понятно, а препод это бог, который спустился с неба и пытается мне что-то рассказать.
обалдеть, только начал смотреть ваши лекции еще 2017, а тут высветилась НОВАЯ лекция :) спасиб!
Потому что это не человек, это генератор концентрированных знаний
Как совет: не смотрите старые лекции, смотрите лекции этого года. Последующие повторения более структурированы и расширены, учтены и устранены ошибки.
Ну и как? За 5 лет просмотра лекций устроился на работу хотя бы джуном?
@@ybrbnf333 нет, забросил на второй лекции🤣👍
Пожалуйста, не останавливайте этот курс)
Вижу Тимофея Фёдоровича - ставлю лайк ).
"Посмотрите, что он печатает. !!! Фигню он печатает..." ))))
Тимофей, вы - лучший!
Извините, только сейчас добрался до этого видео. Про сына электрика это гениально! Лучшее объяснение Liskov substitution principle, которое я слышал. 👍
Спасибо большое за старания!
Хочу выразить вам огромную благодарность, за ваш труд!
Тимофей, здравствуйте.
Как же интересно вас слушать! Спасибо
Спасибо большое! Ваши лекции самые лучшие. Буду с нетерпением ждать следующих!)
Вы просто талант, спасибо за предоставленную информацию.
один из самых харизматичных рассказчиков, очень интересно слушать
Спасибо вам огромное за ваш неоценимый труд и вклад в развитие всего русскоговорящего IT сообщества.
Мне кажется, было бы здорово, если бы некоторый доступ к семинарам имели ваши патроны. Это было бы и подспорьем вам, и возможностью дополнительно поблагодарить вас, вместе с тем еще больше приобщившись к курсу.
Круто, отличный курс! У меня курс по VBA слабовато преподают, сам взял книжку и читаю. А у Вас всё живо и бодро, как должно быть.
@@9816081 да, в учебных заведениях и я думаю во многих. Паскаль уже пронесло) учителя постарше и не такое могут)
дизлайки поставили представители яндекс-практикума))
Дизлайки в районе 1%-3% от лайков это люди, которые хотели поставить лайк но промахнулись. Об этом рассказывал Савватеев на лекции по теориии игр.
Яндекс-практикум в списке источников для изучения python рекомендует лекции Тимофея Федоровича)
Дизы тоже продвигают видео, как это ни странно.
@@YepSpirit чушь, диз элементарно отменяется повторным нажатием
@@YepSpirit Я поставил дизлайк по двум причинам, во-первых за сам недоязык программирования питон, который пора уже перестать хайпить и понять что он лишь отвлекает человеческие ресурсы на бесполезную трату сил и времени, а во-вторых за очень устаревший (точнее - неверный) подход к объяснению ООП и всего, что с ним связано.
Неожиданно! Очень интересно, ждем продолжения!
Курс на 20 человек? :) Уже 200 тысяч просмотрели лекцию! Спасибо вам!
Ура! Новый курс!
Тимофей, большое спасибо за ваш труд! Очень интересно про ООП на python, надеюсь, на введении не остановитесь)
Спасибо за новый курс!!!
Спасибо Вам, очень актуально и полезно!
Каждой может выучит алфабет и писать , не всех дадено писат стихи. г-н Хирыянов вы поет. Очен рад смотреть здесь все ваши лекции.
самый лучший преподаватель!
Я пришёл к Вам из Foxford. Искал пару дней и вот, мне попалось данное видео! УРА!
Отдельное спасибо за "правильное наследование". Часто слышно "наследование в ООП - это плохо и точка" и все кинулись писать код без наследования не понимая, что без наследования ООП просто не существует.
Спасибо за то что делаете! Развитие и совершенствование студентов и общества важно и нужно!
Ладно, хорошо, теперь этот курс будет в моей подборке медитативных видосов на случай приступа тревоги.
А где можно посмотреть вашу подборку сотоварища-тревожника? 😅 засыпаю спокойной под эти лекции)
@@ПроактивнаяВарежка у меня есть такое)
Очень здорово что проводятся паралели с С++
Опачки) настроение поднялось)
Огромное Вам Спасибо, и Храни Вас Господь !
Я как раз задумал изучать Python и Data Science, спасибо!
Тимофей Федорович, это огонь!
Лучшая информация по SOLID. Огонь.
Честно, с трудом заставил себя начать это смотреть, и думал, как я осилю 70 минут лекции, которые я ненавижу всем своим естеством. На 60-й минуте, когда меня окликнули от компа, пришло осознание, что уже пролетел час, у меня есть небольшой конспект и я не хочу, чтобы это останавливалось. Как же мало на самом деле таких лекторов с таким материалом. Спасибо вам большое
Больше про SOLID принципы (особенно на принцип SRP). Хотелось бы на практике узнать поближе эти принципы, так как думаю что это один из необходимых для понимания принципоп ООП.
Тимофей Фёдорович, огромное Вам спасибо!!!!!!!
Тимофей Фёдорович, классная лекция, спасибо! Будет здорово, если будете смотреть в камеруу иногда для вольнослушателей:)
Тимофей, клёво! Если ещё сделаете разметку видео по сегментам для ютуба - будет вообще кайф, будет легче искать нужную часть
Круто!!! Тимофей, продолжай в том же духе.
дай вам бог здоровья!
Невероятный преподаватель!!!😀 Спасибо Огромное Вам!!!
Тоже считаю, что лекции по Python лучшие в сети!!!!
огромное спасибо за курсы! хорошо бы задания ещё 🙇
Тимофей, спасибо вам большое за ваши труды! Обожаю ваши ролики - в такой лёгкой понятной форме объясняете такие комплексные вещи! Побольше бы таких людей в мире!
Становитесь одним из них. :-)
Примеры конечно огонь!))) Про строителя с тачкой понравилось)
Такая грамотная подача материала что мое почтение
Тимофей, благодарю! 🤝👍 💯
Всё таки переопределять магические методы в python можно, тот же самый метакласс type, у него есть два инициализатора, один принимает только объект и возвращает его тип данных, второй создает новый класс на основе переданных параметров.
Мне хоть и 15 лет, слушать ваши лекции одно удовольствие.
250к человек просмотрели курс. В 12500 раз больше, чем вы ожидали. Красавчик!
Спасибо вам за лекции и вдохновение осваивать новые области! =)
Уточнение насчёт исключений в Google. Вот непосредственная цитата из стайлгайда:
Exceptions are allowed but must be used carefully.
Отказались они от обработки исключений в C++, да и то из-за большого количетсва легаси-кода, который не готов был их обрабатывать. Так исторически сложилось, как говорится)
Great video, thank you, Master
За что люблю лекции Тимофея, так это за то, что он их не читает! Он их творит! Каждый раз! IRL!
Лайк не глядя!
Как всегда, супер подача материала.
Вы прекрасный лектор!
обожаю как выпреподаёте
Мне в свои 41+ очень даже отлично зашло. Жаль не было таких преподавателей в МГИУ в мое время
Хирьянов лучший
Спасибо Тимофей Федорович!))))
Спасибо большое! Буду изучать.
Вы супер! Спасибо вам огромное!
привет, рад как никогда продолжению курса по питону. когда 2 лекция?
Спасибо за материал, очень полезно и интересно смотреть, есть небольшя просьба сделать плейлист по питону по тем видео, которые у вас имеются
Круто! Обновлю свои знания ООП :)
Ох уж эта функция,которая рядом валялась :))
Спасибо за лекцию!
Buen video hermano, saludos desde Chile.
жалко, что раньше таких лекторов на youtube не было
спасибо, Вы очень хороший Человек!
Спасибо! Очень понятно!
Дякую!
Спасибо огромное за знания !
Какое же золото я нашел в UA-cam!
классные лекции , заточенные для физиков !!! то что нужно, а то кругом ИТ !!!
приятно освежить в памяти знания. лектор, Вы классный !!!! хоть снова за студентческую скамью !
Ура! Спасибо большое!
Очень хотелось бы увидеть и записи семинаров!
Спасибо за лекции
Ждём!!! След. Урока)
Ёлки-палки, так это еще и свежие лекции и лектор очень прекрасный! Очень круто
Спасибо за потраченное на нас время и силы
Тимофей, спасибо!!!
спасибо за лекцию, было интересно
Круто, ждём новых лекций в этой теме!
Практику выложите?
Вы лучший!