• Собираем, парсим и отдаём логи с помощью Logstash

    • Tutorial
    Приветствую.

    Так уж сложилось, что по долгу работы мне приходится много времени уделять логам. Это и участие в выработке правил и политик сбора/хранения/использования логов, это и разбор разных инцидентов и обнаружение аномалий. За сутки наши программы, сервисы и серверы генерируют ОЧЕНЬ большое количество логов. И потребность копания в логах растёт постоянно.
    Мне довелось поработать с коммерческими лог-менеджмент продуктами типа ArcSight, RSA Envision, Q1 Labs. У этих продуктов есть как плюсы, так и минусы. Но в статье речь пойдёт не о них.
    Речь будет о Logstash.

    Что же такое Logstash? Зачем он нужен? Что он умеет?
    Читать дальше →
  • Применение принципа DRY в RSpec



      DRY(Don’t Repeat Yourself) — один из краеугольных принципов современной разработки, а особенно в среде ruby-программистов. Но если при написании обычного кода повторяющиеся фрагменты обычно легко можно сгруппировать в методы или отдельные модули, то при написании тестов, где повторяющегося кода порой еще больше, это сделать не всегда просто. В данной статье содержится небольшой обзор средств решения подобных проблем при использовании BDD-фреймворка RSpec.
      Читать дальше →
    • Хочешь быть iOS разработчиком? Будь им!

      На хабре в прошлом месяце была опубликована статья Конкурс ВК: Мессенджер для Android. Как это было!, в которой автор поделился своими мыслями о конкурсе и опубликовал список ресурсов и статей, которые помогли ему в создании приложения. Так как в последнее время я начал изучать разработку под iOS, то у меня скопилось некоторое количество ссылок, которые могут быть полезны для начинающих. Поэтому я последую его примеру и сделаю то же самое, только для своей платформы. Надеюсь, кому-нибудь они окажутся полезны и сэкономят немного времени.

      Читать дальше →
    • Удачная модель ветвления для Git

      • Перевод
      Перевод статьи Vincent Driessen: A successful Git branching model

      В этой статье я представляю модель разработки, которую использую для всех моих проектов (как рабочих, так и частных) уже в течение года, и которая показала себя с хорошей стороны. Я давно собирался написать о ней, но до сих пор не находил свободного времени. Не буду рассказывать обо всех деталях проекта, коснусь лишь стратегии ветвления и управления релизами.



      В качестве инструмента управления версиями всего исходного кода она использует Git.

      Читать дальше →
    • CoffeeScript: Методы для работы с объектами

      • Tutorial
      CoffeeScript Object methods

      В 5-й редакции ECMAScript для работы с объектами появилось много новых методов, однако их подробное описание и внутреннюю реализацию на русском языке (зачастую и на английском) найти не так просто. Именно по этой причине в этой статье будут подробно рассмотрены и описаны все методы объекта Object согласно 3-й и 5-й редакции спецификации ECMAScript.

      Содержание

      1. Object.create(proto [, properties ])
      2. Object.defineProperty(object, property, descriptor)
      3. Object.defineProperties(object, properties)
      4. Object.getOwnPropertyDescriptor(object, properties)
      5. Object.keys(object)
      6. Object.getOwnPropertyNames(object)
      7. Data descriptor
      8. Accessor descriptor
      9. Object.getPrototypeOf(object)
      10. Object.preventExtensions(object)
      11. Object.isExtensible(object)
      12. Object.seal(object)
      13. Object.isSealed(object)
      14. Object.freeze(object)
      15. Object.deepFreeze(object) (non-standard)
      16. Object.prototype.hasOwnProperty(property)
      17. Object.prototype.isPrototypeOf(object)
      18. Object.prototype.propertyIsEnumerable(object)
      19. Заключение
      Читать дальше →
    • CoffeeScript: Классы

      • Tutorial
      CoffeeScript: Classes

      В ECMAScript пока отсутствует понятие «класс», в классическом понимании этого термина, однако, в CoffeeScript такое понятие есть, поэтому сегодня мы рассмотрим этот вопрос очень подробно.


      Содержание:

      1. Основные понятия
      2. Члены класса
         2.1. Метод constructor
         2.2. Открытые члены класса
         2.3. Закрытые члены класса
         2.4. Защищенные члены класса
         2.5. Статические члены класса
         2.6. Оператор => (fat arrow)
      3. Наследование
      4. Дополнительная литература

      Читать дальше →
    • Шрифты из склепа

      image Мне от моноширинных шрифтов многого не надо. Адекватная поддержка кириллицы. Для программирования — отсутствие замыливания. Возможность различать 0 (который ноль) и О. Возможность различать I (которое i), l (которое L) и | (которое or). Для работы в консольном двухпанельнике — поддержка псевдографики. Однако в современном мире подобных шрифтов не так, чтобы много. Откуда же их взять?

      Осторожно! Под катом — сплошные анахронизмы.

      Читать дальше →
    • Скрипт сборки и публикации приложений для TestFlightApp

        image

        На этой неделе проскочило пару материалов (один, второй) про сервис тестирования iOS-приложений TestFlight (http://testflightapp.com). У ресурса есть много функций, но лично для меня он решил две задачи:
        • рассылка приложения (или оповещения) по имейлам
        • Over The Air загрузка на устройства тестировщиков и начальства без подключения к iTunes

        Т.к. эти задачи делали некоторое количество головной боли и требовали рутинных операций, решил их автоматизировать. И как только собрался собирать на коленке веб-приложение, как под руку подвернулся TestFlight.
        Читать дальше →
      • Новые бесплатные онлайн курсы от Stanford

          В начале текущего учебного года Stanford организовал 3 бесплатных онлайн курса (основаные на трёх стационарных курсах Стэнфорда): Machine learning, Artificial intelligence и Introduction to Database. Все курсы идут с видео лекциями и домашними заданиями. Для курсов Artificial intelligence и Introduction to Database предусмотрены ещё и экзамены. После успешного окончания любого из курсов будет выслан сертификат (digital-signed pdf) от преподавателя.

          И вот, были анонсированы ещё несколько онлайн курсов, которые будут стартовать в январе/феврале 2012 года.

          У нас есть замечательный шанс послушать некоторые знаменитые Стэнфордские курсы, записывайтесь!

          Update Спасибо recky, который заметил, что добавились ещё несколько курсов. Один из CS секции — по криптографии, и два из Entrepreneurship секции:

          UUpdate продолжают радовать, новый доступный курс:

          Читать дальше →
        • Tactoom.com изнутри — социальная блог-платформа на NodeJS/NoSQL

            Tactoom.com - under the hoodИтак, пришло время раскрыть некоторые карты и рассказать о том, как устроен Tactoom изнутри.

            В этой статье я расскажу о разработке и выведении в production веб-сервиса с использованием:
            NodeJS (fibers), MongoDB, Redis, ElasticSearch, Capistrano, Rackspace.
            Читать дальше →