Итак, тема для очередного срача)) Свет против тьмы, огонь против льда, компиляторы против интерпретаторов.
На самом деле сражаться незачем, оба инструмента полезные и нужные, я просто хотел немного рассказать о их работе, и о том, почему мы говорим "во время компиляции", "во время интерпретации" и что мы имеем в виду. Это видео - реакция на комментарий зрителя, так что реагируйте, не стесняйтесь, а я обязательно со всем ознакомлюсь и отвечу, возможно даже ещё одним видео.
P.S. сабнейл моя личная гордость, потому что в нём удалось сфокусировать очень много смыслов для именно этой темы))
https://www.youtube.com/watch?v=lwRuJ7fTaLc
На самом деле сражаться незачем, оба инструмента полезные и нужные, я просто хотел немного рассказать о их работе, и о том, почему мы говорим "во время компиляции", "во время интерпретации" и что мы имеем в виду. Это видео - реакция на комментарий зрителя, так что реагируйте, не стесняйтесь, а я обязательно со всем ознакомлюсь и отвечу, возможно даже ещё одним видео.
P.S. сабнейл моя личная гордость, потому что в нём удалось сфокусировать очень много смыслов для именно этой темы))
https://www.youtube.com/watch?v=lwRuJ7fTaLc
YouTube
Компиляторы, интерпретаторы и когда всё-таки интернируются строки
Я честно хотел сделать короткое видео, но всё равно незаметно для себя надушнил на 20 минут)) Немного рассказываю о компиляторах и интерпретаторах, и о том, почему, например, я говорю "во время интерпретации", а подразумеваю "до выполнения".
Группа в тг…
Группа в тг…
👍6
Открываем новую большую тему - параллельное программирование. Расскажу вам о процессах, потоках и всем, что помогает/мешает с ними работать.
Вообще по классике начинают обычно с потоков, якобы более лёгкая тема. Но вы меня знаете, я проведу вас по самым сложным дебрям так, что никто не потеряется) Поэтому я начинаю с фундамента параллельности - процессов. Пока что просто базовая информация о том, что это и как с этим работать в Python натурально в ручном режиме, дальше будем разбираться с автоматизацией этого добра.
https://www.youtube.com/watch?v=uySEPEzpomk
Вообще по классике начинают обычно с потоков, якобы более лёгкая тема. Но вы меня знаете, я проведу вас по самым сложным дебрям так, что никто не потеряется) Поэтому я начинаю с фундамента параллельности - процессов. Пока что просто базовая информация о том, что это и как с этим работать в Python натурально в ручном режиме, дальше будем разбираться с автоматизацией этого добра.
https://www.youtube.com/watch?v=uySEPEzpomk
YouTube
Основы работы с процессами в Python
Основы и есть - рассказываю о том, что вообще такое процессы, как и в каких ситуациях их можно использовать буквально в "ручном" режиме. Этим видео я открываю новую серию о конкурентном программировании, подписывайтесь, чтобы ничего не пропустить.
Группа…
Группа…
👍9
Вообще кому-то дескрипторы могут показаться и перебором, но точно не мне)))
И всё-таки, лучше их использовать в комплекте с наследованием, чем без него. Так можно будет строить целую метавселенную - из типов данных, которые нужны только для того, чтобы описывать логику инкапсуляции. Но в целом можно и без него, хоть и сильно на любителя. В ролике я объясняю в основном технические нюансы использования, рано или поздно дойдём и до наследования тоже
https://www.youtube.com/watch?v=tVx2UIwl_50
И всё-таки, лучше их использовать в комплекте с наследованием, чем без него. Так можно будет строить целую метавселенную - из типов данных, которые нужны только для того, чтобы описывать логику инкапсуляции. Но в целом можно и без него, хоть и сильно на любителя. В ролике я объясняю в основном технические нюансы использования, рано или поздно дойдём и до наследования тоже
https://www.youtube.com/watch?v=tVx2UIwl_50
YouTube
Дескрипторы в Python - максимальная инкапсуляция
Дескрипторы это полезный инструмент инкапсуляции, который дополняет проперти. Я использую оба инструмента в зависимости от ситуации, дескрипторы для набора какой-то базы "фундаментальных" объектов, проперти для тех частей логики, которые уж точно должны оставаться…
👍7❤1
https://www.youtube.com/watch?v=1ke2pUpwOYc
Помимо пула процессов есть конечно же и другие способы автоматизации работы с процессами, но пул на мой взгляд самый удобный и универсальный, как говорится no more guesswork, только многопроцессность, только хардкор.
К слову о хардкоре. На этой неделе так же выйдет видео о модуле dis, и это просто бомба, я наверное даже не удержусь и запаблишу его немного раньше обычного, stay tuned чтобы не пропустить!
Помимо пула процессов есть конечно же и другие способы автоматизации работы с процессами, но пул на мой взгляд самый удобный и универсальный, как говорится no more guesswork, только многопроцессность, только хардкор.
К слову о хардкоре. На этой неделе так же выйдет видео о модуле dis, и это просто бомба, я наверное даже не удержусь и запаблишу его немного раньше обычного, stay tuned чтобы не пропустить!
YouTube
Pool процессов в Python - параллельность и асинхронность
Pool процессов позволяет запускать ограниченное количество процессов в автоматическом режиме, это решение скорее для обработки данных в стиле "включил и забыл", что может не всегда давать какое-то НеВеРоЯтНоЕ преимущество в скорости, но как минимум выполнить…
👍9
вот и оно - видео о модуле dis и собственно дизассемблинге кода на пайтон
ковыряться в байткоде капец как интересно, я всем советую хоть немного с этим повозиться, это как в микроскоп заглянуть и увидеть молекулярную структуру объекта - одновременно появляется куча контекста, о том как вообще язык работает, и понимание того, насколько это на самом деле большой мир со сложными правилами, в котором можно очень долго копаться и изучать его
при этом пайтон достаточно простой язык даже с этой точки зрения, и станет отличной отправной точкой для понимания работы стэка выполнения и программирования в целом
P.S. это видео - одно из самых длинных и сложных в плане реализации и исполнения за всё время, я буду благодарен, если вы поделитесь им, ютуб-каналу осталось совсем немного до 1к подписчиков
https://www.youtube.com/watch?v=7WawuzR0rMs
ковыряться в байткоде капец как интересно, я всем советую хоть немного с этим повозиться, это как в микроскоп заглянуть и увидеть молекулярную структуру объекта - одновременно появляется куча контекста, о том как вообще язык работает, и понимание того, насколько это на самом деле большой мир со сложными правилами, в котором можно очень долго копаться и изучать его
при этом пайтон достаточно простой язык даже с этой точки зрения, и станет отличной отправной точкой для понимания работы стэка выполнения и программирования в целом
P.S. это видео - одно из самых длинных и сложных в плане реализации и исполнения за всё время, я буду благодарен, если вы поделитесь им, ютуб-каналу осталось совсем немного до 1к подписчиков
https://www.youtube.com/watch?v=7WawuzR0rMs
YouTube
Разбор байткода Python с помощью модуля dis
Если вас очень интересует, что происходит под капотом при каждой операции в Python, то я покажу вам, и заодно научу разбираться с байткодом. Встроенный модуль dis позволит разобрать на операции любой объект или кусок кода, но чтение и понимание этих операций…
❤12👍5
Процессы по определению работают в независимых областях памяти, в этом весь смысл. Но иногда данные между ними всё же нужно разделить, и их буквально нужно заставить пропихнуть данные через дополнительные инструменты. Вообще самый простой способ добиться этого - обратиться к долговременной памяти, то есть тупо сохранить что-то в файл. Но у этого подхода есть куча недостатков, мы упираемся в файловую систему, формат файла и неизбежную борьбу за ресурсы. Впрочем, о борьбе за ресурсы мы поговорим на следующей неделе, а сегодня я покажу, с помощью каких объектов можно делить данные непосредственно в памяти. Но помните, что это искусственный процесс, который сопряжён с копирование данных, что не добавляет оптимальности вашим алгоритмам.
(а ещё я немного изменил способ записи и монтажа видео, надеюсь, что для вас это пройдёт незаметно, но если вдруг вы заметите какие-то артефакты или что-то некрасивое - смело пишите мне любым удобным вам способом)
https://www.youtube.com/watch?v=F82h8somY_0
(а ещё я немного изменил способ записи и монтажа видео, надеюсь, что для вас это пройдёт незаметно, но если вдруг вы заметите какие-то артефакты или что-то некрасивое - смело пишите мне любым удобным вам способом)
https://www.youtube.com/watch?v=F82h8somY_0
YouTube
Коммуникация между процессами в Python
Процессы по определению работают с независимыми областями памяти, но есть несколько способов организовать коммуникацию между ними с помощью последовательных передач копий объектов.
Группа в тг, где я делюсь своими мыслями и даю контекст к видео - https:…
Группа в тг, где я делюсь своими мыслями и даю контекст к видео - https:…
👍9❤2
Сегодня у нас немного непривычный формат, я рассказываю о методологии. Такие вещи важно знать, чтобы с одной стороны не оказаться слишком интересной личностью в коллективе, которая использует совершенно не тот набор инструментов, который принят на проекте или в компании, а с другой стороны чтобы иметь хоть какие-то альтернативы при выборе решения. Как я и говорю в видео, я пользуюсь в равной мере обоими подходами, но мозг у меня больше думает в стиле EAFP))
https://www.youtube.com/watch?v=HJN2vUonkNA
https://www.youtube.com/watch?v=HJN2vUonkNA
YouTube
Подходы eafp и lbyl на примере Python
Python настолько гибкий, что в нём можно пробовать вообще любые подходы, но рекомендуемым является всё же eafp. В этом видео я коротко разберу разницу между eafp и lbyl, и расскажу где и как они используются.
Группа в тг, где я двю контекст к моим видео…
Группа в тг, где я двю контекст к моим видео…
❤6👍2
Борьба за ресурсы это когда в третьих героях лесопилка каждый день переходит в новые руки
https://www.youtube.com/watch?v=gBLwDREDo6A
https://www.youtube.com/watch?v=gBLwDREDo6A
YouTube
Борьба за ресурсы между процессами Python
Достичь состояния гонки или борьбы за ресурсы не просто, а супер-просто, поэтому стоит знать о механизмах, которые помогатью избежать этого состояния, ну или управлять им. Рассказываю о таких механизмах в Python, как lock и semaphore, которые помогут добавить…
👍12
немного рассказываю о наследовании, но пока на линейных примерах, а на след неделе будет выпуск про множественное наследование и алгоритм мро
https://youtu.be/5AuHA1rjxUs
https://youtu.be/5AuHA1rjxUs
YouTube
Механизм наследования в Python
Как и всегда нас будет интересовать то, что происходит при наследовании под капотом - как работает типизация, как происходит "перенос" атрибутов и методов, как мы можем расширять поведение дочерних классов. Даже в простейшем случае линейного наследования…
👍13
На ютуб-канале уже больше 1к подписчиков, всем спасибо за поддержку и доверие так сказать брэнду)
пока ещё не праздничное, но всё равно интересное видео о потоках, на след неделе будет чуть более подробный рассказа про GIL:
https://www.youtube.com/watch?v=8voAVlnIaoM
пока ещё не праздничное, но всё равно интересное видео о потоках, на след неделе будет чуть более подробный рассказа про GIL:
https://www.youtube.com/watch?v=8voAVlnIaoM
YouTube
Потоки в Python
Смотрим на интерфейс работы с потоками и сравниваем его с аналогичными инструментами для процессов. Заодно проверили и производительность тоже. Основной вывод - потоки (в Python и по жизни) стоит использовать для распараллеливания простейших задач, либо вещей…
🔥24👏2❤1👍1
Самый страшный и непонятный алгоритм в python - мро))
На самом деле не такой и страшный, он спроектирован и реализован с большим запасом гибкости для совершенно разных ситуаций, но в конечном итоге так, чтобы ни одному классу не пришлось одиноко плыть на льдине в поисках мамы, в крайнем случае он найдёт object)
https://www.youtube.com/watch?v=Cam5-mEOtf0
На самом деле не такой и страшный, он спроектирован и реализован с большим запасом гибкости для совершенно разных ситуаций, но в конечном итоге так, чтобы ни одному классу не пришлось одиноко плыть на льдине в поисках мамы, в крайнем случае он найдёт object)
https://www.youtube.com/watch?v=Cam5-mEOtf0
YouTube
Множественное наследование и алгоритм MRO в Python
Пришло время поговорить о множественном наследовании в Python. Проблема множественного наследования на концептуальном уровне это конфликты. В пайтон они разрешаются с помощью алгоритма MRO, который стоит понимать, с тем чтобы правильно строить иерархии наследования…
🔥13
привет, начиная с этой недели из-за очень большой загруженности я буду выпускать по одному видео в неделю, скорее всего я смогу опять снимать по два видоса только через месяц
но зато это будут редкие, но меткие видосы)) начнём с разбора того, почему потоки в пайтон нас всех обманывают:
https://www.youtube.com/watch?v=NU8_By9CQxc
но зато это будут редкие, но меткие видосы)) начнём с разбора того, почему потоки в пайтон нас всех обманывают:
https://www.youtube.com/watch?v=NU8_By9CQxc
YouTube
Потоки ненастоящие? GIL в Python
В этом видео мы разоблачим иллюзию относительно быстроты работы потоков в Python. GIL превращает все объекты в потокобезопасные, но платим за это мы производительностью, и на самом деле потоки очень редко работают по-настоящему параллельно. Разбираемся, в…
🔥21❤3👍3🙏2
Наконец-таки рассказываю об асинхронности. Честно вам тут расскажу, что я специально построил сюжет видео так, чтобы всем было понятно, что с асинхронностью много возни, и что иногда все эти усилия не стоят результата. Надеюсь, будет интересно, как минимум снимать это было весело)
https://youtu.be/k3NjLeAdNe0
https://youtu.be/k3NjLeAdNe0
YouTube
Асинхронность в python
Рассказываю о том, что вообще такое асинхронность, и как она реализована в python. Видео получилось очень поучительным, сразу понятно, что асинхронность это не серебряная пуля, а скорее осиновый кол, который нужно долго и методично строгать перед использованием.…
👍14🔥9
Методы класса и статические методы - полезная функциональность или просто красивая безделушка? Ответ в новом видео - https://www.youtube.com/watch?v=fS3mz8W-xZ0
YouTube
Методы классов в Python
Объясняю в чём разница между classmethod и staticmethod в python, и немного рассказываю о том, где эти декораторы применяются, а где можно обойтись и без них. Вообще пайтон настолько гибкий, что в целом без них моджнобыло бы обойтись везде, но они дают нам…
🔥13👍8❤2
А вот кому бесплатную лекцию о сложности алгоритмов? Как всегда длинно, детально и понятно)
Недавно добрались до 2-х тыщ подписантов на канале, спасибо вам) Пожалуйста, делитесь нашими видео и дальше, чем больше зрителей - тем больше мотивации)
https://www.youtube.com/watch?v=Pb9DiNAOtx4
Недавно добрались до 2-х тыщ подписантов на канале, спасибо вам) Пожалуйста, делитесь нашими видео и дальше, чем больше зрителей - тем больше мотивации)
https://www.youtube.com/watch?v=Pb9DiNAOtx4
YouTube
Большое О - ассимптотическая оценка сложности алгоритмов
При проектировании решений мы стремимся к максимальной эффективности. Понимание сложности алгоритмов и умение их сравнивать критически важно для подбора наиболее эффективного решения, поэтому понимать принципы ассимптотической оценки - очень важно. Даже если…
❤25👍10🔥5
