• PHP Soap Server

    stepank
    @stepank
    А встроенный soap server (www.php.net/manual/ru/class.soapserver.php ) разве не удовлетворяет всем заданным требованиям?
    Ответ написан
  • Возможно ли динамическое создание urlpatterns в django?

    stepank
    @stepank
    Похоже, что в вашем случае достаточно создать url pattern такого вида:

    urlpatterns = patterns('',
        ...
        url(r'^pages/(.*)', page_dispatcer),
    )


    У обработчика будут такие аргументы:

    def page_dispatcher(request, path):
        ...


    Далее в page_dispatcher нужно смотреть request.META['HTTP_HOST'], чтобы получить доменное имя, откуда выковырять субдомен. По субдомену найти страницы нужного пользователя и дальше по path выбрать нужную.

    Могу предположить, что набор страниц для пользователя меняется не очень часто, поэтому, конечно, не желательно на каждый запрос лезть в базу за списоком страниц. Чтобы этого избежать, результаты запроса можно кешировать. Как именно это сделать, зависит от вашего проекта.
    Ответ написан
  • Почему Django отображает все записи только после рестарта?

    stepank
    @stepank
    Исключительно в качестве догадки предположу, что вы сохраняете результат запроса в переменной уровня модуля или в переменной класса, а последующие запросы просто используют уже сформированный результат, который, конечно, формируется заново после перезагрузки, и соответственно включает новые данные.
    Ответ написан
    Комментировать
  • Почему не получается правильно отдать файл, сжатый при помощи gzencode()?

    stepank
    @stepank
    apache же сам умеет это делать - httpd.apache.org/docs/2.2/mod/mod_deflate.html. зачем какие-то дополнительные телодвижения?
    Ответ написан
  • Какой есть оффлайновый англо-русский словарь на Android?

    stepank
    @stepank
    Из платных я пробовал SlovoEd Deluxe и Abbyy Lingvo. Долгое время пользовался первым, т.к. второго просто не было. Когда Lingvo все-таки зарелизился, перешёл на него, т.к. качество статей в большинстве случаев гораздо лучше. Оба словаря умеют произносить слова, но нужно скачать файл с произношением (делается в один клик и один раз прямо из приложения).
    Ответ написан
    Комментировать
  • AQMP и чтение состояние очереди

    stepank
    @stepank
    У разных клиентов API немного отличается, но по сути лишь именами функций. Например, в amqp есть такой метод. В описании указано следующее:

    Returns a tuple containing 3 items:
    the name of the queue (essential for automatically-named queues)
    message count
    consumer count

    Второй элемент возвращаемого тупла - количество записей.

    Другой более суровый вариант - подписываться на очередь и, если по истечении некоторого времени (например, 10 сек) сообщений не пришло, скорее всего, в очереди просто ничего нет.
    Ответ написан
  • На чем написать язык программирования своей мечты?

    stepank
    @stepank
    Взгляните ещё вот на это: tratt.net/laurie/blog/entries/fast_enough_vms_in_fast_enough_time
    Ответ написан
    Комментировать
  • Как обновить библиотеку ZLIB для Python?

    stepank
    @stepank
    zlib в Питоне - это байндинги к библиотеке zlib. Можно попробовать обновить библиотеку и пересобрать питон.
    Ответ написан
    Комментировать
  • Как реализовать цепочку callback'ов в python?

    stepank
    @stepank

    в питоне в качестве анонимных функций есть только lamba, на которые есть очень жесткие ограничения, например, что их тело может содержать только одно выражение, т.е. простым языком - внутри лямбды не может быть очень много логики. поэтому для более сложных конструкций нужно создавать именованые функции, например:

    some = "hello"
    def func_1():
        print some
        one_more = "world"
        def func_2():
            print some, one_more
            def func_3():
                print "hello world"
            return func_99("bla-bla", func_3)
        return func_100("bla-bla", func_2)

    есть различные варианты, как избежать большой вложенности, но это непосредственно к теме вопроса не относится. кроме того, если вы работаете с Twisted, то, конечно, нужно изучить Deferred, т.к. без них в этом фреймворке вообще никуда. насчет Tornado не знаю, вероятно, там есть какой-то похожий механизм. если вы не используете ни один из указанных фреймворков, то саму концепцию Deferred все равно есть смысл изучить, т.к. есть реализации не привязанные к этим фреймворкам, но с помощью Deferred работа с цепочками колбеков становится гораздо удобнее

    Ответ написан
    Комментировать
  • Мультивалютные системы домашней бухгалтерии

    stepank
    @stepank
    drebedengi.ru
    Ответ написан
    Комментировать
  • Выбор архитектуры для web-приложения

    stepank
    @stepank
    Если вы пишете прототип (а это и указано в топике), то я бы рекомендовал не извращаться с технологиями, а взять то, что знаете лучше всего, и написать на этом как можно быстрее, чтобы понять узкие места приложения, в том числе с точки зрения бизнеса. Потом, когда прототип уже будет готов и будет больше понимания, что вы делаете и зачем, выкините весь или почти весь этот код, нормально продумаете архитектуру, выберете технологии и сделаете все по уму. Потому что в текущей ситуации больше похоже, что вам просто с модными технологиями поиграться хочется, это вовсе не плохо, но для прототипирования не лучший вариант.
    Ответ написан
    Комментировать
  • Аппаратный видеофон для Skype?

    stepank
    @stepank
    понимаю, что не вношу конструктива, но немного скажу про устройства, на которые клиент пишет не сам скайп. есть опыт с одним из SmartTV, первое время все было хорошо. общались с бабушкой по скайпу, проблем не знали, но однажды обновили скайп под винду и новая версия с этим SmartTV уже не дружила, пришлось возвращаться на старую версию. иными словами, сторонние производители могут не очень трепетно относиться к выпуску обновлений, что в будуем может привести к проблемам
    Ответ написан
  • Как сравнить две базы данных?

    stepank
    @stepank
    если нужно сравнить все, кроме данных (структуру, _индексы_, ключи, отношения, констрейнты), можно сделать дамп только структуры, что-то типа pg_dump -sxO database_name (s — дампить только схему, x — не дампить привилегии, O — не дампить овнера), а дальше diff
    Ответ написан
    7 комментариев
  • Тестирование сетевых приложений на Python

    stepank
    @stepank
    1. можно поднять веб-сервер в отдельном потоке или процессе, этот веб-сервер может эмулировать работу сайта. конкретных вариантов, как это сделать, очень много: threading, multiprocessing, использование библиотек типа gevent или twisted

    2. есть море программ, которые позволяют сделать «копию» сайта. самый простой вариант — наверное, wget, он можно вытянуть едва ли не весь сайт одной командой, умеет ходить по ссылкам. дальше поднимается веб-сервер (возможно одним из вариантов, упомянутых в 1) и на этом чуде можно тестироваться

    3. если говорить про виртуалки, то это вполне рабочий вариант, для тестирования питонячих приложений должно хватить по 256мб на машину, 4 машины — это гигабайт оперативки, что вполне подъемно для любой тачки с 4гб памяти. если же хочется чего-то попроще, то ничто не мешает, как уже упоминали, просто коннектиться к локалхосту, программы запускаются или в разных процессах, или даже в разных потоках. для тестирования падений сети, задержек, дисконнектов и прочего можно использовать самописные tcp прокси (мы так и делаем), проксей можно очень по-разному управлять, эмулирую самые разные «печальные» ситуации

    зы. несколько виртуалок можно легко поднять с помощью vagrant, а установить на них нужный софт можно с помощью puppet, chef, salt — по вашему вкусу
    Ответ написан
    Комментировать
  • Как вы связываете Java + PHP?

    stepank
    @stepank
    zeromq?
    Ответ написан
    Комментировать
  • Python/PyQt vs C++/Qt для миграции с .NET. Что выбрать?

    stepank
    @stepank
    мне кажется, для начала нужно определить — какие сюрпризы могут быть с PyQt на целевых машинах: насколько легко ставится, нужно ли его самому собирать из исходников, если нужно, то насколько это сложно именно в том окружении, будете ли вы это сами делать или кто-то другой. дело в том, что если у вас будет одна-две машины, к которым у вас есть прямой доступ, руками вы это вполне осилите, а если машин несколько десятков или (а вдруг?) сотен? с чистым Qt в этом отношении проблем должно быть поменьше

    если вы убедитесь, что использовать PyQt на целевых машинах не сложно, берите его, на питоне писать очень легко и комфортно, а узкие места можно выделить в c/c++ модули для питона

    еще взгляните на PySide, у него из свободных лицензий LGPL в отличие от GPL у PyQt, и говорят он вообще более pythonic, хотя я с ним не работал
    Ответ написан
    4 комментария
  • E-book для тещи - посоветуйте, пожалуйста

    stepank
    @stepank
    недавно купил pocket book touch 622, теща, как ни странно, довольна, разобралась, кажется. но лично мое мнение такого, что второй раз я эту поделку не куплю никогда в жизни: глючная (приходится часто перезагружать из-за зависаний), тормозная (особенно если вставить карточку), экран хоть и e-ink pearl весьма сероват и не контрастен (сравниваю со своим kindle touch). в общем, из плюсов только то, что собрана неплохо, в остальном — ужасна

    что касается kindle touch, то я им очень доволен, супруга тоже, но не знаю, насколько этот девайс подойдет теще. лично для меня главный его плюс — amazon store, но это ведь не каждому нужно
    Ответ написан
    Комментировать
  • Ноутбук с длительным временем работы?

    stepank
    @stepank
    asus u36sd подходит по всем параметрам. у меня у самого такой, при обычной рабочей нагрузке (веб, кодинг) держит 9-10 часов
    Ответ написан
    Комментировать
  • Python web framework

    stepank
    @stepank
    я бы рекоммендовал django, у него прекрасная документация, куча батареек, огромное сообщество, куча материалов по всему интернету. чисто для сравнения масшатбов:

    $ pip search django | wc -l
    2373
    $ pip search pyramid | wc -l
    90
    $ pip search flask | wc -l
    119
    Ответ написан
    3 комментария