Как работает функция reload()?
Эта функция нужна для того, чтобы перезагрузить изменившийся код из py-файла без рестарта интерпретатора.
Дело в том, что любой импортированный модуль при повторном импорте не будет перечитывать файл. Функция импорта вернёт уже загруженный в память объект модуля. Чтобы обновить код, нужно либо перезапустить всю программу, либо использовать функцию reload()
from importlib import reload
reload(my_module)
🔸 Функция reload() принимает в качестве аргумента только объект модуля или пакета. Она не может перезагрузить класс или функцию. Только весь файл целиком!
🔸 Перезагрузка пакета перезагрузит только его файл __init__.py, если он есть. Но не вложенные модули.
🔸Она не может перезагрузить ранее не импортированный модуль.
🔸При вызове функция reload() перечитывает и перекомпилирует код в файле, создавая новые объекты. После создания новых объектов перезаписывается ранее созданный неймспейс этого модуля.
Это значит, что если где-то этот модуль импортирован через import и обращение к атрибутам происходит через неймспейс (имя) модуля, то такие атрибуты обновятся.
Если какие-либо объекты из этого модуля импортированы через from то они будут ссылаться на старые объекты.
Напишем простой модуль
# mymodule.py
x = 1
Теперь импортируем модуль и отдельно переменную х из модуля
>>> import mymodule
>>> from mymodule import x
>>> print(mymodule.x)
1
>>> print(x)
1
Не перезапуская интерпретатор вносим изменения в модуль
# mymodule.py
x = 2
Делаем перезагрузку модуля и проверяем х ещё раз
>>> reload(mymodule)
>>> print(mymodule.x)
2
>>> print(x)
1
То же самое будет если присвоить любой объект переменной (даже словарь или список)
Повторный импорт обновляет значение
>>> from mymodule import x
>>> print(x)
2
🔸Созданные инстансы классов не обновятся после перезагрузки модуля. Их придётся пересоздать.
#tricks#basic
Вчера общался в наиприятнейшем коллективе государевых, и не только, людей. Надо было решить некоторые оргвопросы, поэтому в чат была закинута ссылка на гугл-таблицы, чтобы каждый мог отметить себя и работать дальше.
На мое старческое брюзжание, что инициативно на гугле собирать персональные данные русских людей негоже, получил что хотел. Иронию.
Но если серьезно, то сразу же в голове вспыхнуло: мы ведь не осознаем масштаб профайлинга нас самих. Профайлинг — это анализ поведения человека, на основе которого предсказываются его действия. В этот анализ идёт все: вербалика, невербалика, социальные паттерны в конкретных ситуациях и многое другое.
Естественно, ИИ-инструменты насыщают профайлинг каждого из нас тончайшими деталями. Такой цифровой след делает нашу личность уникальной и совокупный массив данных о нас позволяет идентифицировать человека даже без сотового телефона или аккаунта в соцсети. Потому что если на цифровом продукте нет плашки "Ai" или "Нейро", то, будьте уверены, под капотом у него нейросеть, которая анализирует и собирает воедино разрозненные данные.
В краткосрочной перспективе на нас таким нехитрым образом наживается рекламодатель, подсовывая именно то, что вы минуту назад запрашивали у умной колонки или поисковика. В долгосрочной...тут много вариантов, способных испортить аппетит утром.
Кадровый, маркетинговый, бизнес-профайлинг позволяют качественно решать задачи оценки рисков и принятия стратегии. Это если вы используете профайлинг. А если это делается в отношении вас? Да, сегодня мы привычно заливаем обобщенные данные в таблицу, а завтра по привычке взяли и закинули туда конфиденциальные сведения. И это тоже можно просчитать про каждого.
Оценить какие для вас ссылки самые кликбейтные тоже можно. И в нужный момент подсунуть именно такую, чтобы при нажатии вы словили логгер, — не так сложно. Для госслужащих рекомендую все же прочитать мой старый пост про Google и PRISM.
Табличку в итоге перенесли на Яндекс, хоть я и не настаивал. А вот следующая лекция в рамках общества "Знание" будет про профайлинг. Слишком уж там заманчивый компот из социологии, криминалистики, психологии и айти, куда ж без этого.
#google#prism#профайлинг#osint#внк
Вопросик на контроле
Фильм на вечер
Большой брат следит за нами. Тезис от капитана очевидность. Сегодня— да. До появления в московском аэропорту Эдварда Сноудена в массовом сознании было совсем иначе. Обыватель свято верил в тайну переписки, в неприкосновенность личной жизни и всё прочее благостное, шедшее по умолчанию с демократией из Белого Дома.
Привезший кучу материала про систему глобальной компьютерной разведки "PRISM" Сноуден раскрыл секрет Полишинеля. Оказывается, самые популярные сервисы, которые пользователь беззаботно кликает каждый день, работают в интересах Агентства национальной безопасности США.
Пойти против такой системы — это смертный приговор себе. Не взять такую систему себе на вооружение, когда к тебе приехал сотрудник АНБ, — фатальное упущение.
Потом уже выяснится, что "PRISM" — вершина айсберга и является составной частью системы глобальной разведки американцев. Имя ей — "Эшелон". Но это уже совсем другая история.
#prism#nsa#анб#инфобез#osint#кино
Вопросик на контроле