Архивы: python

Облачный хостинг от ep.io. Настройка

Давно, знаете ли, хотел попробовать что-то облачное в боевом режиме. http://ep.io — радует больше всех. У них есть специальная консольная утилита, которая позволяет в несколько команд развернуть весь мой django, flask или даже просто python-проект через mod_wsgi. Читать далее »

Алгоритм Катхилла-Макки. Реализация на Python

Нижеприведённый код работает для не очень больших матриц. Почему он плохо обрабатывает большие матрицы (порядка больше 300)? Дело в том, что существуют разные способы выбора первоначального узла графа (нулевая итерация). Самый просто и самый неэффективный — выбирать первый попавшийся узел наименьшего порядка. Это, собственно, и делается в программе. По этому когда размер матрицы оказывается сильно больше, необходимо использовать другой способ.

Набор матриц разной размерности для проверки программы + программа.

Для того, чтобы скрипт заработал, необходимо положить директорию matrix с файлами txt в ту же директорию, где и сам скрипт. Как формируется txt можно легко узнать, открыв любой текстовый файл из архива.

Читать далее »

Python полезности

Те, кто столкнулись с python достаточно давно, скажут, что это банальные вещи, которые знают ВСЕ. Простите, но это не так. Для многих, даже работающих над боевыми задачами, некоторые инструменты становятся целым открытием! По этому делюсь (сумбурно) полезностями, которые упрощают жизнь:

  • PyPI, он же python package's index — собрание огромного количества разнообразных, готовых пакетов на python, чтобы не изобретать свой велосипед, когда кто-то его уже создал. Сам взял от туда vkontakte — своего рода простой, красивый и удобный интерфейс для взаимодействия с vkontakte API.
  • Pip (или аналог — easy_install) — зачем качать пакеты с pypi.python.org руками и устанавливать их? За нас это сделает утилита pip. Например pip isntall ipython.
  • IPython — а вы нажимали проблем четыри раза в интерактивном интерпретаторе, когда писали в нем класс или функцию? И я нажимал. А дела «copy-paste» для вставки предыдущей строки, в которой не верно написали всего 1 символ? И я тоже делал. Оказывается, от всего этого можно избавиться и доверить этот процесс самому интерпретатору ipython. Must need.
  • Не для всех очевидно, что mod_python и mod_wsgi равнозначны для нас, как разработчиков и, не строго говоря, выполняют одну и ту же функцию — связать django-проект с web-сервером apache. Только небольшие отличия в настройках.
  • SQLObject (противники ORM заплюют) — инструмент, позволяющий забыть про наличие база данных в небольших проектах, в которых БД все же использовать надо. Короткий, лаконичный пример:
    from sqlobject import *
    
    sqlhub.processConnection = connectionForURI('mysql://root:root@localhost/mydb')
    
    class Storage(SQLObject):
        user_id = IntCol()
        friend_id = IntCol()
    Storage.clearTable()

Пишу на python

Доброе время суток!

Python Language Logo

Раскрою вам небольшой секрет — я пишу на python (это такой язык программирования). И кроме того использую целый ряд разных прикладных библиотек из не совсем стандартного комплекта. Постараюсь описать методы их использования для вас здесь, в этом разделе «Программирование». Может быть это окажется для кого-то, помимо меня, полезным.

Решение задачи #0. Проверка работоспособности сайтов

Вот и решение данной задачи. Небольшой скрипт, который читает из файла site_list.txt (фаил должен находиться в том же каталоге, что и скрипт) список сайтов, и проверяет доступны ли они. Так же функция, которая осуществляет непосредственную проверку соединения обрамлена декоратором, который считает время ее выполнения. Чаще всего большое время отклика сайта дает понять, что, хоть сайт и доступен, но с ним что-то не так, если ответ приходит слишком долго:

Результат работы скрипта

Читать далее »