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

  Рет қаралды 28,856

ZProger [ IT ]

ZProger [ IT ]

Күн бұрын

Пікірлер: 78
@AlexRootx
@AlexRootx 2 жыл бұрын
Однозначно, хороший формат, лайк!!!
@zproger
@zproger 2 жыл бұрын
Благодарю!
@АйратБакиев-ш9и
@АйратБакиев-ш9и Жыл бұрын
Видео огонь. Спасибо, как раз искал инфо по подключению dll
@ПавелГолубев-п8о
@ПавелГолубев-п8о 2 жыл бұрын
Контент огонь! Спасибо))) Я сделал решатель судоку, но хочу сделать ещё что-то, чтобы генерировала бы мне сами судоки, которые уже решать, но там миллиарды переборов, если мне нужны сложные поля... может быть переписав на С, я бы решил свою проблему
@drunken_parrot
@drunken_parrot 2 жыл бұрын
Спасибо за видео, интересно. Было бы здорово приложить ссылку на видео про безопасность в python)
@robertobokarev439
@robertobokarev439 2 жыл бұрын
Ждём многопоточность в самом пайтоне через multiprocessing :)
@sergeymarkevich6406
@sergeymarkevich6406 2 жыл бұрын
Объяснения бы по лучше, но материал интерестный спасибо!
@nakamasama
@nakamasama 2 жыл бұрын
Годное видео, пускай и с ошибкой (возможной)... Ты сказал, что через ctypes можно подключать любую библиотеку (я в виду имел библиотеку, написанную на любом языке), но это не так! Python написан на С и поддерживает только С библиотеки. С++ он не поддерживает! Я даже после просмотра ролика пошёл проверил. У меня есть свой проект на С++, своя библиотека с алгоритмами и я не могу использовать их через ctypes. Он просто ничего не видит. Да и сам автор сказал, что можно подключать библиотеки написанные на С и С++, а показал только С. Почему?🤨 Как подключить именно С++ библиотеку через ctypes? Но если не обращать на это внимание, то про всё остальное автор хорошо объяснил. По крайней мере я всё понял.
@КириллЧе-я5ы
@КириллЧе-я5ы 8 ай бұрын
Boost.Python
@smoqeeqoms728
@smoqeeqoms728 2 жыл бұрын
привет, спасибо за контент. Хотел бы предложить снять видос по поводу работы с памятью, что такое сигнатуры, офссеты, как это всё работает технически, т.к. информации по этому реально мало в интернете!
@bspumo3830
@bspumo3830 2 жыл бұрын
Кстати хотел ещё спросить, ты учился где-нибудь на программиста?
@shakapaker
@shakapaker 2 жыл бұрын
Спасибо за контент 🔥Как называется плагин для VSCode который подсвечивает аргументы которые мы передаем в функцию?
@zproger
@zproger 2 жыл бұрын
Привет, у меня только Dracula установлен
@shakapaker
@shakapaker 2 жыл бұрын
@@zproger ​Нашел! Это встроенная функция в VSCode - Inlay Hints > Parameter names, она относительно недавно появилась
@user-bn6iu8uk1k
@user-bn6iu8uk1k Жыл бұрын
@@zprogerесли вдруг прочтешь, можешь сказать какую ос используешь?
@КириллЧе-я5ы
@КириллЧе-я5ы 8 ай бұрын
Прекрасное видео! Posix функции… ниже уровнем - только асм…🥴
@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 Это возможно? Если да, то как?
@sledleo
@sledleo 2 жыл бұрын
Всё очень интересно, но непонятно. Непонятно потому что умозрительно удержать что есть что - трудно. Нужна наглядная картинка.
@northern_man_
@northern_man_ Жыл бұрын
как с помощью ctypes получить указатель на любой объект, например на метод класса? и заменить его другим методом динамически?
@bspumo3830
@bspumo3830 2 жыл бұрын
Привет, хотел спросить. А сколько языков п. ты знаешь?
@zproger
@zproger 2 жыл бұрын
Хорошо знаю только Python, но ещё могу на Rust писать, и если надо то средние задачи и на других языках могу сделать вроде Java, C++ и т.д. Но тут главное скорее не количество языков, а просто понимание технологий, а так между языками много похожих моментов =)
@seoonlyRU
@seoonlyRU 2 жыл бұрын
ЛАЙК ОТ СЕООНЛИ!
@zproger
@zproger 2 жыл бұрын
=)
@bendron7427
@bendron7427 2 жыл бұрын
Спасибо за видео. Возможно ли аналогично взаимодействовать с модулями написанными на Rust? Интересно бы посмотреть на подобную связку.
@AntiBandera
@AntiBandera 2 жыл бұрын
Конечно возможно. И не только на Русте но и на Хрусте ...и даже на ASM.
@ownedbyptr
@ownedbyptr Жыл бұрын
ну использовать cffi в расте и пожалуйста
@Анимешница-я1у
@Анимешница-я1у 2 жыл бұрын
Какой дистрибутив линукс использует автор? Мне интерфейс очень нравится)
@gerhvabra379
@gerhvabra379 Жыл бұрын
zorin os
@AlexandrSpirit
@AlexandrSpirit Жыл бұрын
Видел где-то как компоненты на Rust и Go пишутся для пайтона.
@АлександрСкороид-у2б
@АлександрСкороид-у2б Жыл бұрын
Не знаю, мне какой-то очень быстрый формат видео. Как-то даже когда прематываю назад, то не успеваю понять что там происходит. Весь код новый, дебаггером не проверяется, ошибки не исправляются, я даже не успеваю проникнуться идеей, как все уже заканчивается.
@chazgrant49
@chazgrant49 2 жыл бұрын
Подскажите пожалуйста, что за ОС установлена?
@zproger
@zproger 2 жыл бұрын
Zorin OS
@nurimrider964
@nurimrider964 9 ай бұрын
что это все значит? можете пожалуйста обьеснить о чем этот код? на какой цель может быть использована?
@Asura_hart
@Asura_hart 3 ай бұрын
Ускорение гоана в виже пафтона
@ТимонЯблоков
@ТимонЯблоков 2 жыл бұрын
А без malloc можно? Динамически выделять память вроде не очень хорошо.
@zproger
@zproger 2 жыл бұрын
Выделять память это обычная практика, главное освобождать её
@p4m3remostone71
@p4m3remostone71 2 жыл бұрын
Динамически выделять память не очень хорошо? Ну смотри, если ты в питоне используешь то что принимает на ввод строку, то без динамического выделения памяти не обойтись. Изначально интерпретатор не знает, какой длины будет твоя строка. Поэтому там память выделяется динамически. Главное не выделять память динамически в цикле, иначе будет теряться указатель и ты не сможешь освободить эту память.
@rw_panic0_0
@rw_panic0_0 2 жыл бұрын
@@p4m3remostone71 динамическое выделение памяти как инструмент ни хорошо ни плохо, а под ввод строки технически можно в стэке аллоцировать буффер с фиксированным размером, главное чтобы был достаточно большим чтобы вместился ввод, а память в стэке аллоцируется статически, а значит быстрее. Все зависит от того, насколько сильно приходится оптимизировать программму
@КириллЧе-я5ы
@КириллЧе-я5ы 8 ай бұрын
Ну не очень хорошо, если постоянно малочить, тогда частые набеги в ядро ос будут проц тормозить. А вот если один раз в пул, а потом из него, то получим вполне неплохо. Собственно так питон и делает, потому и не сильно тормозной, всего раз в 40 относительно нативных плюсов…
@irgendwer234
@irgendwer234 2 жыл бұрын
Хоть я и против проприетарного ПО с закрытым исходным кодом, видео очень понравилось. На самом деле, модули на языке С могут значительно повысить производительность
@rexby
@rexby 2 жыл бұрын
А какая связь между С и проприетарным ПО?
@fedor_ado
@fedor_ado 2 жыл бұрын
А Баба Яга против..
@AntiBandera
@AntiBandera 2 жыл бұрын
а если писать на ASM будет еще быстрее !
@sevaharchenko702
@sevaharchenko702 Жыл бұрын
5:19 а с с# тоже работает?
@ayattelzhanov9888
@ayattelzhanov9888 2 жыл бұрын
Это крутое видео
@Александр1-ц7т
@Александр1-ц7т 2 жыл бұрын
Спасибо! Но увы я так и не уловил сути. ( Я делаю все так же но почему то не работает (. Что то видимо упускаю, и тут это не показано (. Но все равно огромное спасибо тебе за этот ролик!!!
@riventarakoss1546
@riventarakoss1546 2 жыл бұрын
Давай тогда и про cython раз начал уже
@zproger
@zproger 2 жыл бұрын
Будет =)
@ПавелВеткин-о6щ
@ПавелВеткин-о6щ 2 жыл бұрын
Красава
@astroblartvk8560
@astroblartvk8560 2 жыл бұрын
Слушай, а C++ можно? Типо длл на с++
@astroblartvk8560
@astroblartvk8560 2 жыл бұрын
@Qren | Just about Java хорошо, узнаю. Спасибо!
@n1kit1
@n1kit1 2 жыл бұрын
Обычно я так не выражаюсь, но, я первый
@zproger
@zproger 2 жыл бұрын
😎
@SerhiiVielkin
@SerhiiVielkin 2 жыл бұрын
Ребят, возможно я чего то не знаю, но обьясните дураку. Я понимаю что языки семейства си работают быстрее чем питон, но понту тогда пытатся писать что то на питоне подключать модули и так далее как на видео, если изначально можно писать код на си? Или результат полученный на видео работает быстрее чем просто си? Единственное что мне пришло в голову, это то что в си нет ООП и когда ты работаешь с классами то такая связка может сработать.
@euuhgzz2791
@euuhgzz2791 2 жыл бұрын
Питон удобен для проектирования алгоритмов и работы с апи приложения, и автоматизация
@КириллЧе-я5ы
@КириллЧе-я5ы 8 ай бұрын
Да здравствует 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ы 8 ай бұрын
@@rw_panic0_0отнюдь не безопасней
@Ramzes200986
@Ramzes200986 Жыл бұрын
стоит
@bspumo3830
@bspumo3830 2 жыл бұрын
Извини, но по сравнению с pt ты объясняешь будто на инопланетном языке 😅
@zproger
@zproger 2 жыл бұрын
Бывает =)
@georgiyveter6391
@georgiyveter6391 Жыл бұрын
Интересно, но ничего не понятно, для тех, кто не изучал C🧐
@ОлегШабанов-щ4ь
@ОлегШабанов-щ4ь 2 жыл бұрын
Я первый?
@zproger
@zproger 2 жыл бұрын
Не, я первый =)
@МихаилКоржов-о5ф
@МихаилКоржов-о5ф 5 ай бұрын
Зачем python, если вы на С++ пишите?
@Lucerbius
@Lucerbius 5 ай бұрын
Автор какой-то Мегамозг. Я половину текста вообще не понял, настолько всё замудрёно.
@zproger
@zproger 5 ай бұрын
:D
Как избавиться от циклов импорта в Python
13:09
Я сделал ИИ для Aim Lab и она его уничтожила :3
17:04
Хауди Хо™ - Просто о мире IT!
Рет қаралды 460 М.
إخفاء الطعام سرًا تحت الطاولة للتناول لاحقًا 😏🍽️
00:28
حرف إبداعية للمنزل في 5 دقائق
Рет қаралды 66 МЛН
Watermelon magic box! #shorts by Leisi Crazy
00:20
Leisi Crazy
Рет қаралды 105 МЛН
Миллионер | 1 - серия
34:31
Million Show
Рет қаралды 2,6 МЛН
My Daughter's Dumplings Are Filled With Coins #funny #cute #comedy
00:18
Funny daughter's daily life
Рет қаралды 25 МЛН
КАК УСТРОЕН TCP/IP?
31:32
Alek OS
Рет қаралды 163 М.
Брутфорс пароля на python
10:31
IT DIGITAL PROGRESS
Рет қаралды 1,2 М.
__new__ или __init__ в Python? Знаете ли вы это..
12:37
إخفاء الطعام سرًا تحت الطاولة للتناول لاحقًا 😏🍽️
00:28
حرف إبداعية للمنزل في 5 دقائق
Рет қаралды 66 МЛН