Search
Write a publication
Pull to refresh
6
0

цифровой археолог

Send message

В любых. Даже очевидный (not nulled_expression) is null в результате дает true. Так же как и true_expression and null и false_experssion or null в результате дают null aka boolean unknown. И строки выборки исключаются после вычисления условий их отбора, а не до - заглядывать в будущее даже оптимизаторы SQL пока не умеют.

Как минимум два тривиальных решения: 1) Чистить очередь событий клавиатуры перед показом диалога 2) Отмену операции и закрытие диалога повесить на разные клавиши

Есть же sysnative, который (при наличии syswow64) и есть тот самый 64-битный system32.

Выглядит как реклама производителя ПОС - проблема усов решена полностью :-)

С пасквилянтами же. А еще были asmатики...

  1. разные скрипты одного пользователя должны получать разные имплементации Не совсем так. Скрипт пользователя вообще не должен знать, с какой реализацией работает - он, допустим, читает текст, исправляет опечатки и записывает результат, ему должно быть абсолютно неважно, что в данный момент ядро понимает под "читать" и "записать". Фактически скрипт работает со знаниями интерфейсов, а не реализаций.
    что-то типа паттерна стратегия наоборот да, ядро поставляет реализации интерфейса в зависимости от ситуации.

  2. Вы их видите, так как вы их исполняете . Неточно выразился - ядро видит, разработчики ядра - нет, т.к. ядро может быть локальным приложением на машине пользователя или сервисом в изолированной сети, например.

  1. модули уже предлагают готовый естественный способ модули все-таки ориентированы не на интерфейсы, а на реализацию. Для работы с альтернативным reader-ом без изменений скрипта придется влезать руками в пространство имен модуля, что по-моему сильно сложнее инъекции в скрипт.

  1. Не новую, а другую. Если рассмотреть этот пример, то reader может читать с консоли, из файла, из сети, из БД, из хрустального шара. Cоответвственно, нужно менять пользовательский скрипт, либо иметь набор скриптов для каждой реализации reader.

  2. Мы не видим пользовательские скрипты. Пользователи используют их в своих процессах, а мы им поставляем только некий сервис/приложение по обработке скриптов. Плюс пользователи не будут лезть в исходники ядра и читать release notes тоже вряд-ли станут. Если у вас сотни объектов в ядре, то показанный подход, как и from core import *, вам скорее всего не подходит.

  3. Именно для этого и нужно документирование. Причем не только в виде базы знаний, wiki-сайта или pdf-файла, но и в виде мета-информации в самих используемых объектах.

  4. В показанном подходе функции ядра и функции скрипта никак не фиксируются по иерархии и именам. Например, вместо reader и writer скрипту можно показать IO с методами read и write, причем собирать этот IO перед запуском скрипта из чего угодно с подходящими сигнатурами

ИИ же. Ему нужно как-то выживать и развиваться.

Information

Rating
Does not participate
Location
Краснодарский край, Россия
Registered
Activity

Specialization

Fullstack Developer, Database Developer
Senior
From 555,555 ₽
Python
Git
English
SQL
Database
OOP
REST