Как работает функция 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
📦 Не храните всю графику в приложении
Одна из лучших практик — храните в приложении только простые иконки в векторном формате, а всю растровую графику держите в облаке. Особенно это важно для приложений, которые не могут работать офлайн 🌐
Почему это стоит делать:
🚀 Меньше вес приложения → быстрее установка и обновления
📉 Не тянете лишние ресурсы, которые пользователь никогда не увидит (например, фичи под подпиской или в определённом регионе)
🌍 Можно адаптировать загрузку под регион, тариф или подписку
💰 Гибкость — обновляйте, отключайте или заменяйте контент без релиза
Как хранить изображения правильно:
- Векторные иконки → храним в ресурсах приложения
- Баннеры, иллюстрации, фото → CDN или облако (Firebase Storage, CloudFront, S3 и др.) Для загрузки используйте image loader: Coil, Glide, Picasso и т.д.
Чтобы грузить локальные ресурсы в Android через URL можно использовать адреса (примеры для приложения с именем пакета com.example.myapp):
- По имени ресурса android.resource://com.example.myapp/drawable/my_image
- По числовому ID android.resource://com.example.myapp/2130837504
⚙️ Для Compose Multiplatform пока нет прямой поддержки таких ссылок, но можно расширить любой image loader и добавить обработку собственных URL или типов данных
#android#оптимизация#compose#coil
🚢COIL-подход трансформирует морское образование через международную кооперацию.
Современное морское образование все больше интегрирует цифровые и международные форматы обучения.
В рамках проекта COIL (Collaborative Online International Learning) студенты SUNY Maritime College (США) и Lyceum-Northwestern University (Филиппины) совместно работали над задачами, связанными с планированием рейсов и соблюдением экологических норм.
Проект был ориентирован на применение требований MARPOL (Annex V и VI) и Конвенции по управлению балластными водами, а также принципов устойчивого развития (SDG 14).
Участники анализировали вопросы управления отходами, контроля выбросов и экологической ответственности в реальных операционных сценариях.
Программа сочетала синхронное и асинхронное обучение, моделируя реальные условия работы экипажей в международной среде. Использование цифровых инструментов коммуникации позволило отработать навыки взаимодействия в распределенных командах.
Новая инициатива отражает эволюцию требований к морским специалистам. Помимо технических знаний, ключевыми становятся компетенции в области цифровых технологий, межкультурной коммуникации и устойчивого развития.
Результаты проекта показали рост уверенности студентов в международной работе и понимании регуляторных требований, что подтверждает эффективность подобных образовательных моделей.
Таким образом, COIL-подход становится инструментом подготовки кадров для глобальной морской индустрии.
📌SUNY Maritime College - основан в 1874 г, государственное учебное заведение США, входит в систему State University of New York, принадлежит штату Нью-Йорк.
#maritime#education#COIL#shipping#training
Долго смаковал в ожидании нужного момента и вот посмотрел. Кайф! Вроде и знал всё об истории этой культовой в своё время тусовки, но некоторые факты открылись впервые. И конечно яркий документ эпохи, когда лейблы формировали музыкальную сцену, стимулируя к творчеству и воспитывая вкус у слушателя. Рекомендую всем неравнодушным ⚡
#ministry#revoltingcocks#kmfdm#meatbeatmanifesto#theklf#younggods#cubanate#coil#front242#etc