Что не так с jetbrains? > Plugin "Ini" was not installed: We are sorry, but we are currently unable to provide our products or services to you due to export control regulations. > Plugin "Unit File Support (systemd)" was not installed: We are sorry, but we are currently unable to provide our products or services to you due to export control regulations. > Plugin "Space" was not installed: We are sorry, but we are currently unable to provide our products or services to you due to export control regulations. ...
Это не лицензия, а плагины. Лицензия слетела больше года назад и её не восстановить
Не мешайте эксперту-ракетостроителю из МТС рекламировать проектируемые американские двигатели. Я вот, пока читал, всю дорогу слышал скрип и писк совы, натягиваемой на глобус. Таков путь хабр.
Ok, давайте так. Надо различать multiprocess/multithread/async с кочки зрения ОС и с кочки зрения питон-машины. Ну и зачем нужно - разнести питон-задачи по ядрам. Давайте с кочки зрения питон-машины. - multiprocess - здесь питон-машина вообще ни при чем. Это на уровне ОС. - mutithread - здесь интересное. По существу это multiprocess в рамках питон-машины. Обращение к системным i/o помогает. А вот собственно байт-код питона во всех потоках - в одну очередь (ибо GIL). То есть тут и вытесняющая и кооперативная многозадачность в одном флаконе. С выходом 3.13 появились варианты, здесь надо тыкать палочкой. - async - теоретически... я вот фиг его знает. Такое впечатление, что multithread наоборот. Ну или костыль.
Нет, ну опосредованно код питона превращается в машинный. Или постепенно (классика, интертрепатор) или оптом (JIT, только-что завезли). Но это уже тюнинг. Расчитывать надо на "питон-машину".
В питоне придумали как вызвать обьект ядра ОС мутекс, который есть во всех POSIX-совместимых системах? Неужели? И главное - раньше то никто не знал про мутексы и семафоры!
Не. Python - это компьютер в компьютере. Как и эти ваши JavaScript, Java/Kotlin (JVM), PHP, C# и всё такое. И GIL питона - это НЕ мютекс ядра ОС.
Как старпер старперу: - таки да, прерывания DOS это была многозадачность. Для некоторых прерываний (аппаратных) - вытесняющая. Да-да, DOS, вытесняющая многозадачность. О параллельном выполнении на многих ядрах тогда речь не шла. - я больше скажу - оформить вытесняющую многозадачность можно было даже на i8080. Таймер вешается на NMI - и вуаля. - но питон с этим своим GIL - это отдельная тема. Глобальный мютекс.
Ну, я писал слишком фкрации, упуская ряд моментов: 1. да, вызов glibc отпускает GIL. НО - это не код именно питона. 2. А касабельно именно байт-кода питона, то сколько бы threads не было, в один момент времени обрабатывается одна команда именно питона (с включенным GIL). Вне зависимости от кол-ва ядер. Поэтому для именно питона multithread таки кооперативная многозадачность (параллельного выполнения не будет). Пруфов не будет, это выжимка из того, что начитался и экспериментировал. Поправьте, если ошибаюсь.
Шутки шутками, но это реально проблема. Недавно на очередном собесе вопрос: "Чем отличаются multiprocess, multithreading и async?" А я как собака - знать знаю, а сказать не могу. Рожал пару часов определения (на суд зрителей): - multiprocess (много...что?) - вытесняющая многозадачность в пределах ОС. Одна задача - один процесс. Применительно к питону - один процесс питона с кодом. - multithreading (многопоточность) - многозадачность в пределах одного процесса. Применительно к питону - один процесс питона и много потоков по одному потоку на задачу. С GIL - кооперативная многозадачность, без GIL - вытесняющая. - async - кооперативная многозадачность в пределах одного процесса и одного потока. Последнее - но это не точно. PS. кооперативная == конкурентная
Всё уже украдено до нас - Semantic web имени сэра Тима (Беренс Ли который). Но ручная разметка семантических связей - лениво. Сэр Тим на этом не заморачивался. Как сова - "я стратегически мыслю, тактика - за вами". В принципе он прав. Если бы т.н. "ИИ" добавляли связи в semaweb, а потом люди корректировали, то было бы как сэр Тим мечтал. Но отнюдь.
Зря. Если вчитаться в определение термина "интеллект" даже в той же педвикии (которое совершенно не авторитет, но тем не менее), то понятно, что "интеллект" и "мышление" - это генерация нового. Современные ИИ - это навороченные перцептроны и к интеллекту никакого отношения не имеют.
Ой, я Вас умоляю... До сих пор в "классических" книгах по интернетам: - john@hostXX.university.edu: -- john работает только на hostXX.university.edu -- hostXX.university.edu имеет статический белый IP -- university.edu находится в США (by default; не, ну а чо?) -- прямой и обратный резолв hostXX.university.edu работает как часы. Код в статье для примера IPC, а не для примера как не надо писать на C. Оно образный.
ЗЫ. но таки да, немного невнятно; чем канал не сокет, как эти каналы тусят в памяти - я лично не понял; но хабр такой хабр
Цо имеет аргументы: а) то, что он делает - работает, б) то, что предлагается - не факт, что будет работать, в) и кто это будет сопровождать? Некто из Microsoft поднял волну за Rust, потом психанул и "я устал я мухожук". Нафига этот цирк?
Что не так с jetbrains?
> Plugin "Ini" was not installed: We are sorry, but we are currently unable to provide our products or services to you due to export control regulations.
> Plugin "Unit File Support (systemd)" was not installed: We are sorry, but we are currently unable to provide our products or services to you due to export control regulations.
> Plugin "Space" was not installed: We are sorry, but we are currently unable to provide our products or services to you due to export control regulations.
...
Это не лицензия, а плагины.
Лицензия слетела больше года назад и её не восстановить
Статья неплохая, но:
>
#!venv/bin/python3
Прибивать гвоздями к venv - не очень хорошая идея
названия функций/методов таки лучше snake_case (согласно PEP)
прибивать гвоздями точные версии зависимостей тоже не очень хорошая идея; это мешает пакетированию и/или может вызвать конфликт
Не мешайте эксперту-ракетостроителю из МТС рекламировать проектируемые американские двигатели.
Я вот, пока читал, всю дорогу слышал скрип и писк совы, натягиваемой на глобус.
Таков
путьхабр.Ok, давайте так.
Надо различать multiprocess/multithread/async с кочки зрения ОС и с кочки зрения питон-машины.
Ну и зачем нужно - разнести питон-задачи по ядрам.
Давайте с кочки зрения питон-машины.
- multiprocess - здесь питон-машина вообще ни при чем. Это на уровне ОС.
- mutithread - здесь интересное. По существу это multiprocess в рамках питон-машины. Обращение к системным i/o помогает. А вот собственно байт-код питона во всех потоках - в одну очередь (ибо GIL). То есть тут и вытесняющая и кооперативная многозадачность в одном флаконе.
С выходом 3.13 появились варианты, здесь надо тыкать палочкой.
- async - теоретически... я вот фиг его знает. Такое впечатление, что multithread наоборот. Ну или костыль.
"Прокладка" в смысле интерпретатора?
Ну не сильно и уникальная.
Любой интертрепатор - это компьютер в компьютере.
Нет, ну опосредованно код питона превращается в машинный.
Или постепенно (классика, интертрепатор) или оптом (JIT, только-что завезли).
Но это уже тюнинг. Расчитывать надо на "питон-машину".
Не. Python - это компьютер в компьютере. Как и эти ваши JavaScript, Java/Kotlin (JVM), PHP, C# и всё такое.
И GIL питона - это НЕ мютекс ядра ОС.
Как старпер старперу:
- таки да, прерывания DOS это была многозадачность. Для некоторых прерываний (аппаратных) - вытесняющая. Да-да, DOS, вытесняющая многозадачность. О параллельном выполнении на многих ядрах тогда речь не шла.
- я больше скажу - оформить вытесняющую многозадачность можно было даже на i8080. Таймер вешается на NMI - и вуаля.
- но питон с этим своим GIL - это отдельная тема. Глобальный мютекс.
Ну, я писал слишком фкрации, упуская ряд моментов:
1. да, вызов glibc отпускает GIL. НО - это не код именно питона.
2. А касабельно именно байт-кода питона, то сколько бы threads не было, в один момент времени обрабатывается одна команда именно питона (с включенным GIL). Вне зависимости от кол-ва ядер. Поэтому для именно питона multithread таки кооперативная многозадачность (параллельного выполнения не будет).
Пруфов не будет, это выжимка из того, что начитался и экспериментировал.
Поправьте, если ошибаюсь.
Шутки шутками, но это реально проблема.
Недавно на очередном собесе вопрос: "Чем отличаются multiprocess, multithreading и async?"
А я как собака - знать знаю, а сказать не могу.
Рожал пару часов определения (на суд зрителей):
- multiprocess (много...что?) - вытесняющая многозадачность в пределах ОС. Одна задача - один процесс. Применительно к питону - один процесс питона с кодом.
- multithreading (многопоточность) - многозадачность в пределах одного процесса. Применительно к питону - один процесс питона и много потоков по одному потоку на задачу. С GIL - кооперативная многозадачность, без GIL - вытесняющая.
- async - кооперативная многозадачность в пределах одного процесса и одного потока. Последнее - но это не точно.
PS. кооперативная == конкурентная
Статью копипастил маркетолог. Не царское это дело - разбираться в предмете статьи.
Можно расходиться
Всё уже украдено до нас - Semantic web имени сэра Тима (Беренс Ли который).
Но ручная разметка семантических связей - лениво.
Сэр Тим на этом не заморачивался. Как сова - "я стратегически мыслю, тактика - за вами".
В принципе он прав.
Если бы т.н. "ИИ" добавляли связи в semaweb, а потом люди корректировали, то было бы как сэр Тим мечтал.
Но отнюдь.
> не зря называют "интеллектом"
Зря.
Если вчитаться в определение термина "интеллект" даже в той же педвикии (которое совершенно не авторитет, но тем не менее), то понятно, что "интеллект" и "мышление" - это генерация нового.
Современные ИИ - это навороченные перцептроны и к интеллекту никакого отношения не имеют.
Ой, я Вас умоляю...
До сих пор в "классических" книгах по интернетам:
- john@hostXX.university.edu:
-- john работает только на hostXX.university.edu
-- hostXX.university.edu имеет статический белый IP
-- university.edu находится в США (by default; не, ну а чо?)
-- прямой и обратный резолв hostXX.university.edu работает как часы.
Код в статье для примера IPC, а не для примера как не надо писать на C.
Оно образный.
ЗЫ. но таки да, немного невнятно; чем канал не сокет, как эти каналы тусят в памяти - я лично не понял; но хабр такой хабр
Неверно поняли. Понимать надо так - название статьи "Кому выгоден DPI" хоть и точнее отражает суть, но не так хайпово.
Автор же прямо написала - "Магия..."
Когда Цо выйдет на пенсию, тогда много молодых людей перепишут kernel на JS/PHP/Rust.
И всё ляжет.
См "Терминатор-1"
Вы утрируете.
Про стеклянный censored напомнить?
Цо имеет аргументы:
а) то, что он делает - работает,
б) то, что предлагается - не факт, что будет работать,
в) и кто это будет сопровождать? Некто из Microsoft поднял волну за Rust, потом психанул и "я устал я мухожук". Нафига этот цирк?
Это сейчас очевидно.
Тогда - не столь