На сегодняшний день в сети есть много разных электронных платежных систем, но самая общеизвестная и потребная из всех — WebMoney. Она позволяет совершать различные денежные операции и переводы. Производить оnline-платежи, оплачuвать счета, делать покупки в интернет-магазинах, пополнять баланс телефона, платить за интернет и мн.др. Также система WebMoney неплохой выбор для ведения Вашего бuзнеса. Читать
Архив автора: admin
Как показать самые комментируемые статьи без плагинов
В этой статье я расскажу, как показать самые комментируемые статьи и вывести список самых комментируемых постов без плагинов.
Почему мужчины вымирают?
В мире вызывает обеспокоенность тот факт, что представителей сильного пола становится все меньше, чем женщин. А в нашей стране вообще в старших возрастных категориях на семь представительниц прекрасной половины человечества приходится лишь трое мужчин. Таким большим дисбалансом в нашей стране обеспокоены даже в ООН. Досадно, ведь почти половина мужчин не доживает до пенсионного возраста.
Почему же наши мужчины вымирают? Не придется ли женщинам в недалеком будущем самим разгружать вагоны? Критической ситуации, которая приведет к такой ситуации, не будет — успокаивают специалисты. Конечно, если наши мужчины больше будут заботиться о собственной безопасности. Хотя, к сожалению, страсть к неоправданному риску у них заложена от природы. Им нравится экстрим, они любят рисковать жизнью, превышая скорость, когда мчатся на автомобилях. Опять-таки испытывая судьбу, которая часто не выдерживает такой нагрузки. К сожалению, в эти моменты сильный пол забывает о народной мудрости: береженного Бог бережет. Кроме того, немало аварий на дорогах вызваны еще и употреблением алкоголя за рулем. Вот почему смертность от несчастных случаев у мужчин впятеро выше, чем у женщин.
Существует много других причин, которые укорачивают жизнь мужскому полу. Это — драки, травмы, отравления, нездоровый образ жизни и психологическая неготовность к непредсказуемым поворотам судьбы. Особенно болезненно представители сильного пола переживают изменения своего социального статуса, потеряв престижную работу или должность, не могут смериться со своим положением. Это ударяет по нервной системе, приводит к психическим расстройствам и алкоголизму. Как следствие, ухудшается качество жизни. К тому же, мужчины меньше слабого пола приспособлены к сложным жизненным перипетиям: безответной любви, изменам, семейным проблемам, поэтому чаще прибегают к самоубийству.
А многие, чтобы прокормить семью, берут на себя непосильный груз. Им приходится работать на нескольких работах, в тяжелых, иногда на запредельных для человеческого организма нагрузках. Даже чувствуя хроническую усталость, сильный пол надеется на открытие «второго дыхания», не подозревая, что именно в это время у них может остановиться и первое. Поэтому смертность от сердечных заболеваний среди мужчин вдвое больше, чем у женщин. А еще они недооценивают влияния вредных привычек на свое здоровье и продолжительность жизни. Тогда причиной их смерти становятся злокачественные опухоли. Казалось бы, женщинам самое время запаниковать, ведь в скором будущем будет трудно найти себе пару.
Но в возрастной категории до 27 лет, когда девушки обычно выходят замуж, мужчин им хватает. Даже женщины бальзаковского возраста, при большом желании, могут устроить свою судьбу. Ведь их лишь на несколько процентов больше, чем потенциальных претендентов на их руку и сердце. Самой природой обусловлено и вроде бы застраховано, чтобы мальчиков рождалось больше. Так, на каждые 100 девочек появляется 105–106 их будущих поклонников. Вот так природа стремится помочь компенсировать последующие потери мужчин. Однако печально, что 38% их покидают этот мир в работоспособном возрасте, оставляя без родительской поддержки и заботы почти треть своих детей.
В последнее время к мужским проблемам добавилась еще одна — интимная. Четверть из них страдают половым бессилием из-за переутомления, плохой экологии, неправильного питания. Это чувство неполноценности приводит не только к моральным страданиям, но и значительно укорачивает им жизнь. Давно замечено, что долгожителями являются обычно те, кто долгие годы жил в браке полноценной половой жизнью.
Разница в продолжительности жизни мужчин и женщин в нашей стране, в интересах последних, составляет 11 лет, хотя, скажем, в Европе она значительно меньше, только последние десять лет. Больше всего из всех европейцев любят следить за собой французы. Они не злоупотребляют алкоголем, регулярно питаются, придерживаются режима труда и отдыха, занимаются спортом. По
MoinMoin2. Документация. Загрузка и установка
Загрузка
- Использование Mercurial для клонирования одного из репозиториев:
hg clone http://hg.moinmo.in/moin/2.0 moin-2.0
или
hg clone http://bitbucket.org/thomaswaldmann/moin-2.0 moin-2.0
после этого убедитесь, что ваша рабочая директория использует ветку default:
cd moin-2.0
hg up -C default - В качестве альтернативы посетите http://hg.moinmo.in/moin/2.0 и скачайте архив (обычно, для ветки default) и распакуйте его
Установка
Перед тем, как Вы запустите moin, Вы должны его установить:
Установка разработчика
Использование стандартной установки Python или каталога virtualenv
Пожалуйста, убедитесь, что у Вас установлен virtualenv, который включает в себя pip.
Использование другого Python или другого каталога virtualenv
Активирование виртуального окружения
Помогаем moin найти конфигурацию wiki
- аргумент командной строки —config /path/to/wikiconfig.py
- переменная окружения MOINCFG=/path/to/wikiconfig.py
- текущий каталог, файл wikiconfig_local.py
- текущий каталог, файл wikiconfig.py
Инициализация индекса и/или хранилища
Загружаем некоторые элемента
Строим индекс
Установка PIL
Решение проблем
PyPI не работает
Проблемы с сетью
- Найдите все нужные пакеты, перечисленные в install_requires из файла setup.py
- Загрузите все нужные пакеты из http://pypi.python.org/
- Установите все эти пакеты:
pip install package.tar - Теперь попробуйте ещё раз:
pip install -e .
Повторите эти шаги, пока не прекратится появление ошибок.
Установка PIP под Windows
Автор: Ishayahu Lastov
MoinMoin2 документация. Требования
Сервера
- встроенный сервер «moin» рекомендуется для однопользовательских wiki, тестирования, отладки, разработки и т.п.
- Apache c mod_wsgi рекомендуется для больших/популярных вики
- Другие WSGI совместимые сервера или middleware
- Для cgi, fastcgi, ajp и т.д. можно использовать middleware flup
- IIS со шлюзом ISAPI-WSGI тоже можно использовать
Зависимости
Зависимости перечислены в setup.py.
Клиенты
- приличный веб-браузер, поддерживающий W3C стандарт HTML 5, CSS 2.1 и JavaScript:
- Любая текущая версия Firefox, Chrome, Opera, Safari, IE (9/10) должны работать
- Использование более старых версий IE не рекомендуется и не поддерживается
- Для Windows 7/8 MS предоставляет IE 9/10
- Java плагин для браузера (опционально, если Вы хотите использовать TWikiDraw или AnyWikiDraw для рисования аплетов)
Автор: Ishayahu Lastov
Продвинутое руководство по логированию (Перевод)
- Logger представляет интерфейс, который использует непосредственно код приложения.
- Handler посылает запись лога (созданную logger'ом) в соответствующее расположение.
- Filter позволяет определить, какую запись лога выводить.
- Formatter определяет расположение записи лога в итоговом выводе.
logger = logging.getLogger(__name__)
severity:logger name:message) в аргументе format. Более подробно все опции форматирования описаны в Formatter Objects.
Поток форматирования
Перемещение информации лога между logger'ами и handler'ами иллюстрирован диаграммой по ссылке выше.
Logger'ы
Объекты Logger имеют тройную работу. Во-первых, они предоставляют методы коду приложения, так что приложение может в процессе выполнения логировать сообщения. Во-вторых, объекты logger определяют какие сообщения логов будут работать на этом уровне (объекте фильтра). В третих, объекты logger передают подходящие сообщения логов всем заинтересованным handler'ам.
Чаще всего используемые методы объекта logger относятся к одной из двух категорий: настройка и отправка сообщений.
Вот наиболее часто использемые методы настройки:
- Logger.setLevel() определяет минимальный уровень сообщений, которые будут обработаны; debug — минимальный встроенный уровень, а critical — максимальный. Например, если установлен уровень INFO, logger будет обрабатывать сообщения уровня INFO, WARNING, ERROR и CRITICAL и игнорировать сообщения уровня DEBUG.
- Logger.addHandler() и Logger.removeHandler() добавляют и удаляют объекты handler из объекта logger. Handler'ы более подробно обсуждены в Handlers.
- Logger.addFilter() и Logger.removeFilter() добавляют и удалют объекты filter из объекта logger. Filter'ы более подробно обсуждаются в Filter Objects.
Вам не нужно вызывать эти методы каждый раз для каждого logger, который Вы создаёте. Смотрите последние два абазца этого раздела.
Когда объект logger настроен, следующие методы создают сообщения логов:
- Logger.debug(), Logger.info(), Logger.warning(), Logger.error() и Logger.critical() создают записи логов с сообщением и уровнем, соответствующим названию метода. Сообщение — это строка формата, которая может содержать стандартный синтаксис подстановки, такой как %s, %d, %f. Остальные аргументы — список объектов, которые должны быть подставлены в поля подстановки сообщения. В соответствии с **kwargs, методы логирования учитывают только именованый аргумент exc_info и использует его для того, чтобы определить, логировать ли информацию об исключении.
- Logger.exception() создаёт запись в логе, аналогичную методу Logger.error(). Разница в том, что Logger.exception() делает дамп трасировки стека при вызове. Вызывайте этот метод только из обработчика исключений.
- Logger.log() принимает уровень логирования в качестве аргумента. В этом случае приходится больше печатать, но зато это способ залогировать события пользовательского уровня.
getLogger() возвращает ссылку на экземпляр logger'а с именем, если оно задано, или root, если нет. Имена представляют из себя иерархическую структуру с точками в качестве разделителей. Множественные вызовы getLogger() с одним и тем же имененм будут возвращать ссылку на один и тот же объект logger'а. Logger'ы, находящиеся ниже в иерархии являются дочерними для logger'ов, которые находятся выше. Например, для logger'а с имененм foo logger'ы с именами foo.bar, foo.bar.baz и foo.bam будут дочерними.
Logger'ы поддерживают концепцию эффективного уровня. Если для logger'а не задан уровень явно, то используется уровень его родителя. Если и его родитель не имеет заданного уровня — смотрится родитель родителя, и так далее. Корневой logger всегда имеет явно заданный уровень (по умолчанию это WARNING). При решении вопроса обрабатывать ли событи используется именно эффективный уровень.
Дочерние logger'ы распространяют сообщения handler'ам, связанным с родительским logger'ом. Из-за этого нет необходимости определять и настраивать handler'ы для всех logger'ов в приложении. Но важно сконфигурировать handler'ы для logger'ов верхнего уровня и уже потом создавать при необходимости дочерние logger'ы. (Однако, распространение сообщений можно отключить, задав значением атрибута propagate logger'a равным False.)
Handler'ы
Объекты Handler отвечают за отправку соответствующего сообщения (соответствующего уровня) к его месту назначения, определённого в handler'e. Объекты logger могут добавить себе ноль или более handler'ов при помощи метода addHandler(). Например, приложение может хотеть отправлять все сообщения в файл логов, сообщения уровня ошибки и выше в stdout, а все критические сообщения отправлять на почту. Этот сценарий требует три handler'a, каждый из которых отвечает за отправку сообщений определённого уровня в определённое место.
Стандартная библиотека включает в себя несколько типов handler'ов (см Useful Handlers); это руководство по большей части использует в примерах StreamHandler и FileHandler.
Есть несколько методов у handler'a для разработчиков приложений, о которых стоит позаботиться. Методы, которые нужны тем, кто будет пользоваться встроенными handler'ами (то есть, не будет использовать самописные) следующие:
- Метод Handler.setLevel() аналогичен методу объекта logger, он определяет минимальный уровень, который будет направлен в соответствующее место. Зачем нужно два метода setLevel()? Уровень, заданный в logger'e определяет уровень сообщений, который будет передан в handler'ы. Уровень, заданный в каждом handler'e определяет сообщения, которые этот handler будут посылать.
- setFormatter() определяет объект Formatter, который будет использовать этот handler.
- addFilter() и removeFilter() соответственно добавляют и удаляют объекты фильтров из handler'a.
Код приложения не должен напрямую инициализировать и использовать экземпляры Handler. Вместо этого, класс Handler является базовым классом, который определяет интерфейс, которым должны обладать все handler'ы и определяет некоторое поведение по умолчанию, которое могут использовать дочерние классы (или переопределять их).

