@seeandbelief · Post #3742 · 23.03.2025 г., 15:37
#1920е#1960е#1970е#1980е Что почитать в расслабленную субботу. История некоторых амбициозных, но нереализованных архитектурных проектов в СССР. https://vatnikstan.ru/culture/arh-utopii/
TGINSIGHT SIMILAR POSTS
Изворен канал @pythonotes · Post #303 · 27 дек.
Наверняка вы замечали, что в 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
Hashtags
Пребарај: #1920е
@seeandbelief · Post #3742 · 23.03.2025 г., 15:37
#1920е#1960е#1970е#1980е Что почитать в расслабленную субботу. История некоторых амбициозных, но нереализованных архитектурных проектов в СССР. https://vatnikstan.ru/culture/arh-utopii/
@lgbtitd · Post #3922 · 02.05.2025 г., 16:15
В Инстаграме есть такой аккаунт, LGBT History, созданный двумя энтузиастами Мэтью Римером и Лейтоном Брауном. Когда-то это была коллекция фотографий с прайдов и квир-активизма, а теперь – большой проект. За годы его ведения авторы исследовали историю американского движения за права квиров вдоль и поперёк, общались со многими знаковыми личностями – в общем, в какой-то момент стало очевидно, что пора писать книгу. “Мы везде: Протест, сила и гордость в истории квир-освобождения” (2019) начинается как очередной фотоальбом с фотографиями с прайдов и протестов, но на самом деле это объёмная и обширная летопись квир-активизма, от 1920х до конца 1990х годов, с опорой на архивные материалы и личные интервью. Такой взгляд хорошо показывает, что Стоунволл хоть и был значимым событием, не стал отправной точкой, как многие считают – и авторы это хорошо показывают. Что ещё они хорошо показывают, так это неоднородность квир-движения и все вызванные этим противоречия: геи против лесбиянки, лесбиянки против транс-людей, транс-люди против и тех, и других, и все вместе – против бисексуалов. Не все активисты, разумеется: Ример и Браун показывают множество прекрасных людей, которые делали всё возможное, чтобы примирить и объединить сообщество. Некоторые лица, впрочем, либо не упомянуты вовсе, либо упомянуты вскользь, как Сторме ДеЛарвери. Иногда авторы слишком уж скачут по событиям, не уделяя должного внимания последствиям (или их отсутствию), но это, наверное, неизбежно, учитывая масштабы. Зато всё изложено легко, но не поверхностно. Главное – запомнить множество имён. Мне кажется, это хороший, даже вдохновляющий вариант для тех, кто хочет поглубже познакомиться с квир-активизмом США и, возможно, понять кое-какие вещи, происходящие сейчас. Книга очень тяжёлая (под 400 мб), поэтому делюсь ссылкой на скачивание Подписаться | #книги#рекомендации#США#1920е#1950е#1960е#1970е#1980е#1990е