• Плотный код и его тестирование

      Данная статья написана по следам статьи Steve Yegge. A portrait of a n00b (с подачи хабраперевода). Для меня основной посыл статьи прозвучал так — меньше комментариев, меньше классов, меньше методов, больше кода. Делайте код плотнее, не усердствуйте в моделировании. Мне сложно судить это видение мира, да и вообще вопрос комментариев как таковых больше умозрительный. Но вот что засело во мне стальной иглой, так это проблема тестирования такого плотного кода.

      Читать дальше →
    • Замена для FIND и GREP

        Мне кажется, давно зреет тема сравнения возможностей PowerShell и оболочек мира UNIX. Сравнения не в холиварном смысле этого слова, а в позитивно-конструктивном. Линуксовым скриптописателям (не фанатикам), думаю, будет интересно узнать, как делаются те или иные штуки, которые они привыкли делать на bash или zsh, на PowerShell. Пожалуй, я и начну такую тему — и очень надеюсь, что кто-то из моих коллег-повершелловцев (Guderian, ApeCoder) также поддержит эту тему.

        В UNIX для поиска текста в дереве файлов существует довольно популярная связка утилит find и grep. Например, с помощью этих утилит мы можем найти все упоминания ключевого слова class в нашем дереве исходников:

        $ find -name \*.cpp -o -name \*.hpp -exec grep -Hb class {} \;

        Давайте посмотрим, что предлагает нам PowerShell для этих целей.
        Читать дальше →
      • Функциональное программирование для землян — функции



          В статье про Python пользователь Xronos попросил рассказать о функциональном программировании (ФП). Поскольку я одно время довольно плотно занимался с Lisp, я хотел бы немножко рассказать об этом. Сразу хочу сказать, что о чистом ФП речь не идет. Я расскажу о более простых и более применимых приемах на примере языка Python.

          Читать дальше →
        • SPAM на GMail? Впервые вижу.

            Никогда не видел спама во входящих Gmail, а тут прям как прорвало:

            gmail-spam2.png - Picamatic - upload your images

            Что бы это значило? Или просто звезды совпали?
          • Глюки в библиотеках Python или нет?

              Писал я тут на днях web-спайдера на Python, задача, в общем-то, несложная, но нагрузки у нее серьезные, поэтому приходится запускать фактически пять спайдеров (в пяти потоках), кроме того, присутствуют несколько начальных условий, осложняющих дело… В общем, решение было интересным, выдалась возможность хорошенько полазить в потрохах стандартных питоньих либ socket, httplib и urllib2 (если интересно, могу и этот опыт описать).

              Дальше о найденных багах...