@luchasqnd · Post #6371 · 13.04.2026 г., 20:14
#推特#Angie【Angie】 女神反差婊:户外露出诱惑,露奶口交,女女互舔,单人,3P啪啪啪 👉点击免费加入👈
TGINSIGHT SIMILAR POSTS
Изворен канал @pythonotes · Post #197 · 4 јан.
Подразумеваемые неймспейсы или неявные пакеты. Этот функционал добавлен в Python 3.3 Что он означает? Ранее, до 3.3 пакетами считались лишь директории, в которых есть файл __init__.py. Этот файл одновременно являлся свидетельством того, что директория это Python-пакет, и служил "телом" этого пакета. То есть местом, где можно написать код, как это делается внутри модуля. Этот код исполняется в момент импорта пакета, так что его принято называть "код инициализации пакета". Начиная с версии 3.3 Любая директория считается пакетом и Python будет пытаться использовать любую директорию для импорта. Конечно, не любую в файловой системе, а только те что находятся в sys.path. Это значит, что теперь __init__.py нужно делать только если: 🔸 вам требуется создать код инициализации пакета 🔸 нужна совместимость со старыми версиями Python На мой взгляд это немного упрощает разработку, делает её чище, но с другой стороны убивает некоторую однозначность происходящего. Например, я создал репозиторий со своей библиотекой и рядом положил код примеров или тестов. repo_name/ my_library/ __init__.py main.py examples/ exam1.py exam2.py В этом репозитории пакетом является только my_library, остальные директории это не пакеты, это просто дополнительный код в файлах. Директория examples не добавлена в sys.path, в ней нет рабочих модулей. Но если она лежит рядом с my_library, то Python вполне сможет импортнуть из неё модули, так как посчитает что examples это валидный пакет. Конечно, пример несколько надуманный. Никто не будет добавлять корень репозитория в sys.path. Но, я думаю, суть ясна. Иногда директория это просто директория а не пакет! #basic#pep
Пребарај: #angie
@luchasqnd · Post #6371 · 13.04.2026 г., 20:14
#推特#Angie【Angie】 女神反差婊:户外露出诱惑,露奶口交,女女互舔,单人,3P啪啪啪 👉点击免费加入👈
@dofh_ru · Post #3300 · 27.03.2024 г., 06:14
На днях разработчики Angie анонсировали свой готовый Dashboard для мониторинга веб сервера через Prometheus и Grafana. Решил сразу его попробовать. Забегая вперёд скажу, что всё это существенно упрощает настройку мониторинга, который и так уже был на хорошем уровне в Angie. Стало просто отлично. Напомню, что у Angie есть встроенный prometheus exporter. Включаем его так. Добавляем куда-нибудь location. Я обычно на ip адрес его вешаю в default сервер и ограничиваю доступ: location =/p8s { prometheus all; allow 127.0.0.1; allow 1.2.3.4; allow 4.3.2.1; deny all; } И добавляем в секцию http: include prometheus_all.conf; Далее добавляем в prometheus: scrape_configs: - job_name: "angie" scrape_interval: 15s metrics_path: "/p8s" static_configs: - targets: ["1.2.3.4:80"] Только убедитесь, что ваш веб сервер отдаёт метрики по http://1.2.3.4/p8s. Либо какой-то другой url используйте, который настроили. Вот и всё. Теперь идём в свою Grafana и добавляем готовый дашборд. Вот он: ⇨ https://grafana.com/grafana/dashboards/20719-angie-dashboard Дашборд полностью автоматизирован. Сам подхватывает все настройки из Angie. Покажу, как это работает. Допустим, вы хотите получать метрики по какому-то конкретному виртуальному хосту. Идём в него и добавляем в секцию server: server { server_name serveradmin.ru; status_zone serveradmin.ru; ................ } Перезапускаем Angie и переходим в Dashboard. В разделе HTTP Server Zones появится отдельная статистика по этому виртуальному хосту. То же самое можно сделать с отдельными location. Добавим отдельную зону в основной location и с php бэкендом: location / { status_zone main; ............... } или location ~ \.php$ { status_zone php; ................... } Идём в раздел HTTP Location Zones и смотрим там статистику по указанным location. Статистика по бэкендам, зонам с лимитами тоже подхватывается автоматически, если они у вас настроены, и сразу видна в дашборде. Сделано всё очень удобно. Мониторинг веб сервера настраивается максимально быстро и при этом очень функционально. Отдельно напомню, что у Angie вся эта же статистика видна в веб интерфейсе Console Light. И так же доступна через модуль API. Я через него сделал шаблон для Zabbix с основными метриками. Шаблон по ссылке стоит рассматривать только как пример создания. Он был сделан на скорую руку. Я его у себя немного доделал, но новую версию не выкладывал. Уже не помню, какие там отличия. С выходом этого дашборда для графаны мне шаблоном для Zabbix заниматься не хочется. Довольно хлопотно всё это реализовывать в нём и не особо имеет смысл, раз уже всё сделано за нас. Графаной я и так постоянно пользуюсь в связке с Zabbix, и Prometheus тоже использую. 📌 Ссылки по теме: ⇨ Настройка панели Prometheus ⇨ Модуль API ⇨ Директива status_zone ⇨ Web Console Demo Как по мне, возможностей бесплатного веб сервера Angie на текущий момент существенно больше, чем у бесплатного Nginx. И речь не только о мониторинге. Там есть много других удобств. Разница в функциональности тянет уже на отдельную заметку. #angie#мониторинг#grafana
Hashtags