• Как запустить сервис, который постоянно опрашивает по апи другие сервисы?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Можно опрашивать руками, можно поручить это протоколу webdav и консольному клиенту (google с ним еще работает), можно попробовать придумать что-то с push-уведомлениями...

    А на счет многозадачности - не надо опрашивать календарь из web-приложения. Просто сделай собственного демона (или скрипт в кроне?), который возьмет на себя обработку календаря и запись изменений в бд.
    Ответ написан
    Комментировать
  • Django + fastcgi + nginx как заставить работать?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Я вот смотрю официальную доку и вижу, что нет PATH_INFO
    Ответ написан
    Комментировать
  • Как реализовать декоратор класса в python?

    vvpoloskin
    @vvpoloskin Автор вопроса
    Инженер связи
    В общем разобрался и получилось. Если кому-то будет интересно ниже чистый код без всяких наследований и пример его применения.
    def viewdecorator(decorator):
        def wrap(cls):
            getattribute = cls.__getattribute__
    
            def newgetattr(cls, name):
                attr = getattribute(cls, name)
                if name == 'dispatch':
                    return decorator(method_decorator(attr))
                return attr 
    
            cls.__getattribute__ = newgetattr
            return cls
        return wrap
    
    @viewdecorator(login_required)
    @viewdecorator(csrf_exempt)
    class EntriesMyList(EntriesList):
        template_name = 'index.html'
    Ответ написан
    5 комментариев
  • Какой выбрать математический аппарат для приложения?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    любой
    Ответ написан
    Комментировать
  • Python какими средствами проанализировать массив строк и выделить наиболее употребляемую маску?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Библиотеки специфичной навряд ли найдете, но алгоритм предельно прост:

    # Критерии
    def isdigits(str):
       for i in str:
          if not i.isdigit()
             return False
       return True
    
    def istext(str):
    # какая-то логика
    
    token = ("type_of_token", "value_of_token", len("value_of_token"))
    
    def process_link(link):
       tokenlist = []
       for i in link.split('/'):
          if isdigit(i):
             tokenlist.append(("digit", i, len(i))
          if istext():
             tokenlist.append(("text", i, len(i))
       return tokenlist


    Остается только получить список токенов для каждой ссылки и посчитать похожие варианты)
    Ответ написан
    Комментировать
  • С чего начать, javascript или jquery?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Со временем приходишь к тому, что самому быстрее написать что-то на чистом js, нежели используя тяжелые объекты в jquery. Так что javascript)
    Ответ написан
    Комментировать
  • Как в VIM редактировать удаленные файлы ?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Ты можешь примонтировать удаленный ресурс куда-нибудь на свою систему и обращаться с файлами там как с локальными. Инструкция ищется за 5 минут.
    Ответ написан
    Комментировать
  • Какие есть методы глобальной автоматизации?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Дело не в языке, а в инструменте, который предоставляет операционка. А здесь универсальности точно не получится. В windows не знаю, а в линухе для этого служит libnotify.
    А если хочется универсальности, заморочьтесь и напишите кросплатформенную либу, работать она будет через сокеты)
    Ответ написан
  • Как применить django-registration для django 1.6?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    По-моему django-registration сейчас уже никто не пользуется. Там кода чуть-чуть, проще свою написать, чем адаптировать каждый раз эту.
    Ответ написан
    2 комментария
  • Что за файловый менеджер на изображении?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Так поройся в исходниках страницы. Если он не самопальный, наверняка есть js-файл, в котором есть его описание или хотя бы какой-то код, который можно затем найти в google.
    Ответ написан
    Комментировать
  • Когда в debian stable из коробки будет php 5.5?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Важные приложения на все системы уже давно ставят из сторонних репов или из исходников. Учитывая, что php ставится много куда, уже давно проще сделать git clone и собрать самому. Хотя кому то нравятся сторонние репозитории.
    Ответ написан
    Комментировать
  • Какая разница между CentOS и Debian?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Исторически в debian-овских репозиториях больше софта.

    Но на сервер все равно часто собираешь пакеты сам - нужны какие-нибудь особые флаги сборки, свежие заплатки. Так что разницы особо не заметишь. Умеешь работать с rpm - ставь centos, умеешь с deb - debian.
    Ответ написан
    Комментировать
  • Как настроить SFTP к сайту /var/www/mydomain.ru?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Все настроили, кроме самого сервера ftp)
    Ответ написан
  • Как отфильтровать входящие анонсы на quagga от neighbor?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Естественно juniper будет присылать все, что есть от других. Что вам нужно видеть на freebsd? Как они участвуют в ospf - в одной area или разных?
    Если в одной, то настройте prefix-listы на freebsd на прием, а на juniper на отдачу маршрутов. Но обычно в одной area маршруты на всех все присутствуют.
    Если в разных, ограничьте также prefix-листами.
    На фряхе не знаю, как это делается, но на джуне вот есть примеры.
    Ответ написан
    Комментировать
  • Как заблокировать сайт штатными средствами ubuntu?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    1) поменять правила ACCEPT и DROP местами
    2) используй ipset, адреса в который можно добавлять резолвингом по крону или узнаешь с какого-нибудь bgp-резолвера.

    А виджеты на сайтах висят скорее всего из-за не всех фильтруемых IP-шников. Узнай все его адреса и отфильтруй их.
    Но все же прокси для этого подходит лучше.
    Ответ написан
    Комментировать
  • Какая должна быть конфигурация сервера для небольшого хостинга сайтов?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Самый обычный нераскрученный сайт-визитка с каким-нибудь wordpress-ом в среднем имеет до 500 (да что уж говорить, если не раскручивали вообще, то до 100), равномерно распределенных в течении рабочего дня (12 часов), посетителей в сутки. Этот же сайт имеет 10 страниц. Пускай каждая страница генерит еще до 30 запросов к статике.
    За статику не переживаем вообще, за скрипты получаем максимум 500 посетителей * 10 страниц (они у вас все вычитали) / (12 часов * 60 минут * 60 сек) = 0.12 запроса в секунду. Это с одного сайта. Грубо говоря, с 4-х будет 0.5. С такой нагрузкой справится даже мой старый настольный компьютер 2010 года) А здесь еще и SSD)
    Ну а так, в общем виде, тестить надо конечно.
    Ответ написан
    Комментировать
  • Как создать интернет-провайдер?

    vvpoloskin
    @vvpoloskin Куратор тега Компьютерные сети
    Инженер связи
    Что делать - что делать. Определиться, сам строить будешь или покупать другого провайдера.
    Если строишь сам, то дальше смотришь стоимость кабеля, радиорелейного оборудования, стационарных железок, рабочих, аренды, внешнего интернет-канала. Прикидываешь, сколько денег надо. Читаешь закон о связи. Рисуешь проект. Подбиваешь ДУКи/ТСЖ на то, чтоб тебя в дома впустили, столбы и канализации в аренду дали, дыры в домах продолбить разрешили. Открываешь ООО или ИП и работаешь. Это в общих чертах. А как построить собственного провайдера в деталях - не формат данного ресурса.
    Если покупаешь, то готовишь мульон мульонов денег, идешь к руководству мелкого провайдера, предлагаешь ему мульон плюс еще один, нанимаешь адвоката, проверяешь документы и покупаешь.
    Ответ написан
    1 комментарий
  • Как вызвать функцию Python/Django как "триггер"?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Нужен хук на изменение файлов, при котором будет запускаться внешний скрипт. Вот варианты в порядке увеличения сложности и геморности:
    1) crontab на проверку изменения файла и запуск скрипта
    2) использовать ftp-шник с нужным функционалом запуска внешнего скрипта (pureftpd умеет).
    3) libnotify и отслеживание изменений файловой системы
    4) самопальный отдельный ftp-сервер на том же python-е, который будет обрабатывать только нужные вам соединения. Не так уж и трудно с учетом всяких pyftpdlib, twistd.
    5) обычный ftp-шник с перенаправлением логирования на именованный канал. А этот канал вы будете проверять на наличие строки типа "file xls uploaded" и запускать обработчик.

    Я могу еще придумать кучу решений этой задачи с использование SNMP, различных файловых систем, email-нотификаций (pureftp вроде умеет) но если у вас есть запущенный сайт, то я бы убедил клиента использовать http вместо ftp, а в серверной части вы бы обработали как надо. Ну или после отправки файла на клиентской стороне инициировать http-запрос к вашему сервису после загрузки файла, по которому запускается скрипт.
    Ответ написан
    1 комментарий
  • Как быстро развернуть landing page на django?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    А есть ли где описание, как изменить шаблон html/css, не переписывая при этом 70% шаблона?
    Ответ написан
  • Возможен ли LAMP без root?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Ну да, из технических ограничений будет только невозможность повесить nginx на 80 порт. А так сами соберете пакеты с нужными префиксами и будете запускать бинари или скрипт самопальный сделаете для запуска.
    Невозможность запуска на 80-м порту обходится либо через замену портов (proxy?) на другой машине, либо патчем в ядро.

    Но вообще проверенным способом для таких действий является виртуализация - втыкаешь openvz какой-нибудь, на одной виртуалке будет сайт, на другой твои секретные данные.
    Ответ написан