Наверняка вы замечали, что в Python есть удобная функция для получения переменной окружения
os.getenv(NAME)
И её "сестра" для создания или изменения переменных окружения
os.putenv(NAME, VALUE)
Но почему-то putenv() не работает как должно. Энвайромент не обновляется!
os.putenv('MYVAR', '1')
print(os.getenv('MYVAR'))
... и ничего 😴
Почему так?
На самом деле энвайромент обновляется, но это значение не добавляется в словарь os.environ.
Откройте исходник функции os.getenv(). Это просто шорткат для os.environ.get()
В то время как putenv() это built-in С-функция.
Словарь os.environ (или точней класс из MutableMapping) создаётся из энвайромента в момент инициализации. Функция putenv() самостоятельно его не изменяет.
В тоже время, когда вы создаёте или изменяете ключ в os.environ, автоматически вызывается putenv() в методе __setitem__().
То есть, технически putenv() всё делает верно, но в os.environ это не отражается. Можно проверить так:
>>> os.putenv('MYVAR', '123')
>>> os.system('python -c "import os;print(os.getenv(\'MYVAR\'))"')
123
Я объявил переменную в текущем процессе и вызвал дочерний процесс, который её унаследовал и получил в составе os.environ.
Аналогично при удалении переменной вызывается еще одна built-in функция unsetenv(), удаляющая переменную из системы.
Итого
▫️ Удобней всего явно обновлять переменные через os.environ
▫️ Есть способ неявно создать/удалить переменную через putenv/unsetenv, что не повлияет на os.environ но изменит энвайромент и передаст изменения сабпроцессам. Но так лучше не делать!
▫️os.environ это просто обертка для built-in функций putenv() и unsetenv().
#basic
📌 Создаем интересные градиенты за 20 секунд
Автор: ginyboi
🔹 Зайдите в свой софт и нарисуйте любую случайную форму.
🔹 Выберите цвет, который вам нравится.
🔹Продублируйте форму и сделайте копию чуть светлее. Потом скопируйте ещё раз — и сделайте её намного светлее. Расположите их от светлого к тёмному.
🔹А затем добавьте ооочень много размытия ко всем формам — и вот он, ваш идеальный премиальный градиент.
Если хочется больше стиля, добавьте ключевые кадры к формам и сделайте градиенты анимированными.
#motiondesign
☀️Про важность изучения анимации
Автор: ginyboi
Когда начинаешь изучать моушн-дизайн, часто говорят: «Моушн — это 80% дизайна и 20% движения». В школе мне говорили то же самое. И сейчас я уверен: это полнейшая чушь. Даже если кадр идеально выстроен, но движение жёсткое, рваное или неестественное — зритель уйдёт мгновенно. Это скучно. Это выглядит непрофессионально. Поэтому изучайте анимацию так же серьёзно, как и графический дизайн. Вот несколько советов, которые действительно работают:
1️⃣Никогда не оставляйте кадр статичным
Элементы должны постоянно слегка двигаться — без явных пауз.
2️⃣Добавляйте акценты
Внезапные «прыжки» движения оживляют текст и добавляют энергии ролику.
3️⃣Добавляйте blur во время переходов
Размытие — лучший способ перейти к следующей сцене плавно и приятно для глаза.
#motiondesign
🖥️Какой у ИИ аналог той самой «улыбающейся» иконки первого Macintosh?
Для Gemini ответ — в мягкости. Когда технология новая и по-настоящему меняет правила игры, дизайн должен вызывать доверие и быть понятным с первого взгляда.
Градиенты, округлые формы и продуманное движение помогают создать тёплое, объёмное ощущение — именно таким Google видят визуальный язык AI-ассистента.
Читайте статью и смотрите, как дизайнеры из Google развивают свою визуальную систему.
🔗https://design.google/library/gemini-ai-visual-design
#полезное#motiondesign
🍏Как делать рекламу в стиле Apple
Подсказки от ginyboi
Apple — мастера минимализма и ритма. Вот ключевые принципы, которые делают их ролики такими цепляющими:
1️⃣ Сильный хук с первых секунд
Хороший хук мгновенно захватывает внимание и заставляет досмотреть ролик до конца. Если начало не цепляет — зритель уходит. Всё просто.
2️⃣ Анимация текста в ритм музыке
Apple почти всегда режет монтаж и переходы точно в бит. Текст, движение и музыка работают как единое целое — за счёт этого каждый месседж выглядит мощно и стильно.
3️⃣ Максимальная простота
Один главный объект + жирный, читаемый текст — этого достаточно. Не перегружайте сцену свечениями, модными эффектами и «прыгающей» анимацией — они отвлекают от главного: сообщения.
Важно помнить: Apple-style motion — демонстрирует ясность, ритм и продукт, а не то, насколько вы круто владеете эффектами.
#полезное#motiondesign
Как выстроить пайплайн в моушн дизайне и CG так, чтобы сэкономить время, деньги и нервы?
Ролик полезен и новичкам, и опытным дизайнерам, которые хотят оптимизировать процесс и избегать хаоса.
😉YouTube
😄VK
🥰RuTube
Приятного просмотра! 😉
#уроки#motiondesign
Как выстроить пайплайн в моушн дизайне и CG так, чтобы сэкономить время, деньги и нервы?
Ролик полезен и новичкам, и опытным дизайнерам, которые хотят оптимизировать процесс и избегать хаоса.
😉YouTube
😄VK
🥰RuTube
Приятного просмотра! 😉
#уроки#motiondesign
Как выстроить пайплайн в моушн дизайне и CG так, чтобы сэкономить время, деньги и нервы?
Ролик полезен и новичкам, и опытным дизайнерам, которые хотят оптимизировать процесс и избегать хаоса.
😉YouTube
😄VK
🥰RuTube
Приятного просмотра! 😉
#уроки#motiondesign
Как выстроить пайплайн в моушн дизайне и CG так, чтобы сэкономить время, деньги и нервы?
Ролик полезен и новичкам, и опытным дизайнерам, которые хотят оптимизировать процесс и избегать хаоса.
😉YouTube
😄VK
🥰RuTube
Приятного просмотра! 😉
#уроки#motiondesign