• Питон в коробке – venv в python 3.3

    • Tutorial
    Наверняка, большинство из тех, кто разрабатывает или деплоит Python приложения, использует виртуальные окружения. В частности через virtualenv, написанный Ian Bicking.

    Идея оказалась так хороша и распространена, что нечто похожее теперь присутствует в Python 3.3 из коробки в виде модуля venv. Он почти такой же, как virtualenv, только немного лучше.
    Читать дальше →
  • Traits в php 5.4. Разбираем детали реализации

    • Tutorial
    Совсем недавно вышла первая beta php 5.4, а пока я писал топик подоспела и вторая. Одно из нововведений в 5.4 – это traits (типажи). Предлагаю разобраться во всех деталях в том, что же типажи из себя представляют в php.

    Простой пример типажа, чтобы не заглядывать в Википедею:
    //определение типажа
    trait Pprint 
    {
        public function whoAmI()
        {
            return get_class($this) . ': ' . (string) $this;
        }
    }
    
    class Human 
    {
        use Pprint; //подключаем типаж, ключевое слово use
    
        protected $_name = 'unknown';
        
        public function __construct($name)
        {
            $this->_name = $name;
        }
    
        public function __toString()
        {
            return (string) $this->_name;
        }   
    }
    
    $a = new Human('Nikita');
    echo $a->whoAmI(), PHP_EOL; //=> Human: Nikita
    

    Как видно, к классу Human было добавлено поведение из типажа Pprint.

    Но во всём есть свои детали.
    О них далее
  • Google App Engine – масштабируемые приложения

      Google App Engine позволяет легко создавать приложения, надежно работающие даже при большой нагрузке и с большими объемами данных. Но ещё проще создать программного монстра, который будет работать очень медленно или вовсе не работать, постоянно возвращая ошибку HTTP 500.

      Как писать быстрые и хорошо масштабируемые приложения – об этом пойдет речь в этой статье.

      Все ниже изложенное прежде всего касается приложений, написанных на Java, но большей частью должно быть справедливо и для приложений написанных на языке Python.
      Читать дальше →
    • HabraImprover

        После того, как у меня недавно похудела карма, захотелось кое-что «доточить» на Хабре. Учитывая мой текущий отпуск и наличие времени, я попробовал добавить улучшения через GreaseMonkey-скрипт.

        Начав, я уже не смог остановиться и добавил ещё пару дополнений.

        Upd: теперь и для Opera
        Upd от 3 марта 2009: в новой версии перестал работать, да и некоторые функции работают не верно, ждите обновлений… позже
        Upd от 6 марта 2009: исправил критические ошибки, по которым перестало работать.

        что же у меня получилось?
      • Ваш заказ -555 тазиков на сумму -55500 руб.

          Речь идёт о распространённой ошибке в интернет-магазинах. В offline-магазине для выбора 555-и синих пластиковых тазика вам придётся: положить в корзину все 14 штук с витрины, залезть на верхнюю полку стеллажа и достать ещё 43, а за остальными идти с продавцом на склад и найти там ещё лишь 143 штуки.

          Читать дальше →