Ctypes Python - Огромная скорость и БЕЗОПАСНОСТЬ компонентов

  Рет қаралды 29,704

ZProger [ IT ]

ZProger [ IT ]

Күн бұрын

Пікірлер: 78
@AlexRootx
@AlexRootx 2 жыл бұрын
Однозначно, хороший формат, лайк!!!
@zproger
@zproger 2 жыл бұрын
Благодарю!
@АйратБакиев-ш9и
@АйратБакиев-ш9и Жыл бұрын
Видео огонь. Спасибо, как раз искал инфо по подключению dll
@nakamasama
@nakamasama 2 жыл бұрын
Годное видео, пускай и с ошибкой (возможной)... Ты сказал, что через ctypes можно подключать любую библиотеку (я в виду имел библиотеку, написанную на любом языке), но это не так! Python написан на С и поддерживает только С библиотеки. С++ он не поддерживает! Я даже после просмотра ролика пошёл проверил. У меня есть свой проект на С++, своя библиотека с алгоритмами и я не могу использовать их через ctypes. Он просто ничего не видит. Да и сам автор сказал, что можно подключать библиотеки написанные на С и С++, а показал только С. Почему?🤨 Как подключить именно С++ библиотеку через ctypes? Но если не обращать на это внимание, то про всё остальное автор хорошо объяснил. По крайней мере я всё понял.
@КириллЧе-я5ы
@КириллЧе-я5ы Жыл бұрын
Boost.Python
@ПавелГолубев-п8о
@ПавелГолубев-п8о 2 жыл бұрын
Контент огонь! Спасибо))) Я сделал решатель судоку, но хочу сделать ещё что-то, чтобы генерировала бы мне сами судоки, которые уже решать, но там миллиарды переборов, если мне нужны сложные поля... может быть переписав на С, я бы решил свою проблему
@sergeymarkevich6406
@sergeymarkevich6406 2 жыл бұрын
Объяснения бы по лучше, но материал интерестный спасибо!
@shakapaker
@shakapaker 2 жыл бұрын
Спасибо за контент 🔥Как называется плагин для VSCode который подсвечивает аргументы которые мы передаем в функцию?
@zproger
@zproger 2 жыл бұрын
Привет, у меня только Dracula установлен
@shakapaker
@shakapaker 2 жыл бұрын
@@zproger ​Нашел! Это встроенная функция в VSCode - Inlay Hints > Parameter names, она относительно недавно появилась
@user-bn6iu8uk1k
@user-bn6iu8uk1k 2 жыл бұрын
@@zprogerесли вдруг прочтешь, можешь сказать какую ос используешь?
@drunken_parrot
@drunken_parrot 2 жыл бұрын
Спасибо за видео, интересно. Было бы здорово приложить ссылку на видео про безопасность в python)
@YourCloseCoop
@YourCloseCoop 2 жыл бұрын
Ждём многопоточность в самом пайтоне через multiprocessing :)
@dmitry-lz1ny
@dmitry-lz1ny 2 жыл бұрын
А можно ли Go так же использовать? *То есть писать быстрые модули на Go и добавлять в питон проект
@ithelper9
@ithelper9 Жыл бұрын
Хорошо, понятно. Но можно ли превратить .py в .dll т.е. написать .dll(Windows) или .so(Linux) на Python а не на C/C++??? Без использования Cython(через .pyx файл). То есть на прямую.
@zproger
@zproger Жыл бұрын
Python не компилируемый язык, даже если и можно создать подобные файлы, то только с помощью инструментов, ибо придется паковать интерпретатор в том числе, и такие dll будут весить как и полноценный исполняемый файл.
@ithelper9
@ithelper9 Жыл бұрын
@@zproger Это возможно? Если да, то как?
@smoqeeqoms728
@smoqeeqoms728 2 жыл бұрын
привет, спасибо за контент. Хотел бы предложить снять видос по поводу работы с памятью, что такое сигнатуры, офссеты, как это всё работает технически, т.к. информации по этому реально мало в интернете!
@northern_man_
@northern_man_ Жыл бұрын
как с помощью ctypes получить указатель на любой объект, например на метод класса? и заменить его другим методом динамически?
@chazgrant49
@chazgrant49 2 жыл бұрын
Подскажите пожалуйста, что за ОС установлена?
@zproger
@zproger 2 жыл бұрын
Zorin OS
@КириллЧе-я5ы
@КириллЧе-я5ы Жыл бұрын
Прекрасное видео! Posix функции… ниже уровнем - только асм…🥴
@bspumo3830
@bspumo3830 2 жыл бұрын
Привет, хотел спросить. А сколько языков п. ты знаешь?
@zproger
@zproger 2 жыл бұрын
Хорошо знаю только Python, но ещё могу на Rust писать, и если надо то средние задачи и на других языках могу сделать вроде Java, C++ и т.д. Но тут главное скорее не количество языков, а просто понимание технологий, а так между языками много похожих моментов =)
@bspumo3830
@bspumo3830 2 жыл бұрын
Кстати хотел ещё спросить, ты учился где-нибудь на программиста?
@sevaharchenko702
@sevaharchenko702 2 жыл бұрын
5:19 а с с# тоже работает?
@seoonlyRU
@seoonlyRU 2 жыл бұрын
ЛАЙК ОТ СЕООНЛИ!
@zproger
@zproger 2 жыл бұрын
=)
@ТимонЯблоков
@ТимонЯблоков 2 жыл бұрын
А без malloc можно? Динамически выделять память вроде не очень хорошо.
@zproger
@zproger 2 жыл бұрын
Выделять память это обычная практика, главное освобождать её
@p4m3remostone71
@p4m3remostone71 2 жыл бұрын
Динамически выделять память не очень хорошо? Ну смотри, если ты в питоне используешь то что принимает на ввод строку, то без динамического выделения памяти не обойтись. Изначально интерпретатор не знает, какой длины будет твоя строка. Поэтому там память выделяется динамически. Главное не выделять память динамически в цикле, иначе будет теряться указатель и ты не сможешь освободить эту память.
@rw_panic0_0
@rw_panic0_0 2 жыл бұрын
@@p4m3remostone71 динамическое выделение памяти как инструмент ни хорошо ни плохо, а под ввод строки технически можно в стэке аллоцировать буффер с фиксированным размером, главное чтобы был достаточно большим чтобы вместился ввод, а память в стэке аллоцируется статически, а значит быстрее. Все зависит от того, насколько сильно приходится оптимизировать программму
@КириллЧе-я5ы
@КириллЧе-я5ы Жыл бұрын
Ну не очень хорошо, если постоянно малочить, тогда частые набеги в ядро ос будут проц тормозить. А вот если один раз в пул, а потом из него, то получим вполне неплохо. Собственно так питон и делает, потому и не сильно тормозной, всего раз в 40 относительно нативных плюсов…
@Анимешница-я1у
@Анимешница-я1у 2 жыл бұрын
Какой дистрибутив линукс использует автор? Мне интерфейс очень нравится)
@gerhvabra379
@gerhvabra379 2 жыл бұрын
zorin os
@nurimrider964
@nurimrider964 Жыл бұрын
что это все значит? можете пожалуйста обьеснить о чем этот код? на какой цель может быть использована?
@Asura_hart
@Asura_hart 7 ай бұрын
Ускорение гоана в виже пафтона
@bendron7427
@bendron7427 2 жыл бұрын
Спасибо за видео. Возможно ли аналогично взаимодействовать с модулями написанными на Rust? Интересно бы посмотреть на подобную связку.
@AntiBandera
@AntiBandera 2 жыл бұрын
Конечно возможно. И не только на Русте но и на Хрусте ...и даже на ASM.
@ownedbyptr
@ownedbyptr Жыл бұрын
ну использовать cffi в расте и пожалуйста
@ПавелВеткин-о6щ
@ПавелВеткин-о6щ 2 жыл бұрын
Красава
@ayattelzhanov9888
@ayattelzhanov9888 2 жыл бұрын
Это крутое видео
@AlexandrSpirit
@AlexandrSpirit 2 жыл бұрын
Видел где-то как компоненты на Rust и Go пишутся для пайтона.
@sledleo
@sledleo 2 жыл бұрын
Всё очень интересно, но непонятно. Непонятно потому что умозрительно удержать что есть что - трудно. Нужна наглядная картинка.
@irgendwer234
@irgendwer234 2 жыл бұрын
Хоть я и против проприетарного ПО с закрытым исходным кодом, видео очень понравилось. На самом деле, модули на языке С могут значительно повысить производительность
@rexby
@rexby 2 жыл бұрын
А какая связь между С и проприетарным ПО?
@fedor_ado
@fedor_ado 2 жыл бұрын
А Баба Яга против..
@AntiBandera
@AntiBandera 2 жыл бұрын
а если писать на ASM будет еще быстрее !
@SerhiiVielkin
@SerhiiVielkin 2 жыл бұрын
Ребят, возможно я чего то не знаю, но обьясните дураку. Я понимаю что языки семейства си работают быстрее чем питон, но понту тогда пытатся писать что то на питоне подключать модули и так далее как на видео, если изначально можно писать код на си? Или результат полученный на видео работает быстрее чем просто си? Единственное что мне пришло в голову, это то что в си нет ООП и когда ты работаешь с классами то такая связка может сработать.
@euuhgzz2791
@euuhgzz2791 2 жыл бұрын
Питон удобен для проектирования алгоритмов и работы с апи приложения, и автоматизация
@n1kit1
@n1kit1 2 жыл бұрын
Обычно я так не выражаюсь, но, я первый
@zproger
@zproger 2 жыл бұрын
😎
@astroblartvk8560
@astroblartvk8560 2 жыл бұрын
Слушай, а C++ можно? Типо длл на с++
@astroblartvk8560
@astroblartvk8560 2 жыл бұрын
@Qren | Just about Java хорошо, узнаю. Спасибо!
@Александр1-ц7т
@Александр1-ц7т 2 жыл бұрын
Спасибо! Но увы я так и не уловил сути. ( Я делаю все так же но почему то не работает (. Что то видимо упускаю, и тут это не показано (. Но все равно огромное спасибо тебе за этот ролик!!!
@АлександрСкороид-у2б
@АлександрСкороид-у2б 2 жыл бұрын
Не знаю, мне какой-то очень быстрый формат видео. Как-то даже когда прематываю назад, то не успеваю понять что там происходит. Весь код новый, дебаггером не проверяется, ошибки не исправляются, я даже не успеваю проникнуться идеей, как все уже заканчивается.
@riventarakoss1546
@riventarakoss1546 2 жыл бұрын
Давай тогда и про cython раз начал уже
@zproger
@zproger 2 жыл бұрын
Будет =)
@КириллЧе-я5ы
@КириллЧе-я5ы Жыл бұрын
Да здравствует com незабвенный! И с ним dll повседневный…
@takiekakmi7532
@takiekakmi7532 2 жыл бұрын
Python медленный... Если приложение работает медленно - дело явно не в языке....
@zproger
@zproger 2 жыл бұрын
=)
@m0Ray79
@m0Ray79 2 жыл бұрын
Гораздо проще писать код на Cython.
@zproger
@zproger 2 жыл бұрын
Насколько я знаю он работает не со всеми технологиями, а на с/c++ можно написать что угодно
@m0Ray79
@m0Ray79 2 жыл бұрын
@@zproger Он прекрасно стыкуется и с C/C++. Cython сначала транслируется в C или C++ по выбору, и перед компиляцией в бинарный код можно подтянуть свои же наработки на C/C++. При этом Cython гораздо органичнее встраивается в CPython API.
@riuji6681
@riuji6681 2 жыл бұрын
Смысл делать что-то на Python, если знаешь гараздо функциональнее язык С
@rw_panic0_0
@rw_panic0_0 2 жыл бұрын
пайтон безопаснее чем С + на нем быстрее кодить
@serobrine
@serobrine Жыл бұрын
C достаточно примитивный. Много надо писать с нуля, а это медленно
@КириллЧе-я5ы
@КириллЧе-я5ы Жыл бұрын
@@rw_panic0_0отнюдь не безопасней
@georgiyveter6391
@georgiyveter6391 2 жыл бұрын
Интересно, но ничего не понятно, для тех, кто не изучал C🧐
@Ramzes200986
@Ramzes200986 Жыл бұрын
стоит
@ОлегШабанов-щ4ь
@ОлегШабанов-щ4ь 2 жыл бұрын
Я первый?
@zproger
@zproger 2 жыл бұрын
Не, я первый =)
@bspumo3830
@bspumo3830 2 жыл бұрын
Извини, но по сравнению с pt ты объясняешь будто на инопланетном языке 😅
@zproger
@zproger 2 жыл бұрын
Бывает =)
@Lucerbius
@Lucerbius 9 ай бұрын
Автор какой-то Мегамозг. Я половину текста вообще не понял, настолько всё замудрёно.
@zproger
@zproger 9 ай бұрын
:D
@МихаилКоржов-о5ф
@МихаилКоржов-о5ф 9 ай бұрын
Зачем python, если вы на С++ пишите?
18 Фишек Python о которых мало кто говорит
14:13
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 45 МЛН
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 67 МЛН
Python VS С# | Согласен / Не согласен
14:27
Технологии в Контуре
Рет қаралды 69 М.
Всё об указателях в C++ за 20 минут
20:00
КАК УСТРОЕН TCP/IP?
31:32
Alek OS
Рет қаралды 282 М.
Оператор "is" Python сложнее, чем вы думаете
11:02
Speed Up Your Code With Cython
16:37
NeuralNine
Рет қаралды 123 М.
Python Быстрее чем Си?! Ускоряем Python До Максимума!
15:22
Псевдо Программист
Рет қаралды 22 М.
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 45 МЛН