• Работа с PostgreSQL: настройка и масштабирование

      image

      Добрый день, хаброжители. Прошло много времени с выпуска 2 версии книги по PostgreSQL — успела выйти версия 9.1 и 9.2 этой замечательной базы данных. Материалов по практическому использованию этой БД также накопилось немало, поэтому я решил выпустить обновление по книге. Итак, встречайте:«Работа с PostgreSQL: настройка и масштабирование», 3-е издание.

      Как и раньше, в книге исследуются вопросы по настройке производительности PostgreSQL, репликации и кластеризации. Список изменений можно глянуть на странице книги. Любые пожелания или замечания можно высылать по почте (в моем блоге указано) или писать в github issues (или даже делать pull request на исправления). Приятного прочтения!

      Страница книги: postgresql.leopard.in.ua
      Исходники: github.com/le0pard/postgresql_book
    • Графический стек Linux

        (оригинал — Jasper St. Pierre, разработчик GNOME Shell, взято отсюда)

        Это обзорная статья о составных частях графического стека Linux и том, как они уживаются вместе. Изначально я написал её для себя после разговоров об этом стеке с Оуэном Тейлором, Рэем Строудом и Эдэмом Джексоном (Owen Taylor — мэйнтейнер Gnome Shell; Ray Strode — мэйнтейнер большого количества десктопных пакетов сообщества RedHat; Adam Jackson — разработчик графического стека Gnome Shell и интеграции с XOrg; прим. переводчика)

        Я постоянно дёргал их, снова и снова расспрашивал о всяких мелочах, а потом эти мелочи благополучно забывал. В конце концов, я задал им вопрос — а нет ли какого-нибудь обзорного документа, уткнувшись в который я бы избавил ребят от своего назойливого внимания? Не получив утвердительного ответа я решил написать эту статью, которая по завершению была вычитана Эдэмом Джексоном и Дэвидом Эйрли. Они оба работают над этим стеком.
        Читать дальше →
      • Повышение производительности netfilter, использование ipset

          iptables — интерфейс к файрволу Linux (netfilter). При большом количестве правил iptables нагрузка может быть достаточно высокой и создавать проблемы. В этой заметке я постараюсь описать, что влияет на производительность iptables и как ее повысить.
          Читать дальше →
        • AWS US-EAST-1 обесточился из-за грозы, пострадавшим нужно запустить chkdsk

            В очередном падении AWS не было бы ничего необычного, если бы не причина сбоя. Энергоснабжение дата-центра в регионе US-EAST-1 (Северная Виргиния) нарушено из-за грозы. Ушли в офлайн Netflix, Instagram, Pinterest и многие другие сайты.

            Согласно статус-репортам, потеря энергоснабжения начались около 20:21 PDT (сегодня в 07:21 МСК). Через 28 минут подача электричества в дата-центр было восстановлено, и компания Amazon приступила к восстановлению пострадавших томов и инстансов. Эта работа продолжается до сих пор. По состоянию на 10:19 МСК было восстановлено примерно 50% пострадавших инстансов и 33% пострадавших томов.

            Amazon сообщает, что из-за потери питания в некоторых восстановленных томах EBS могут быть потерянные кластеры: если ваш оказался среди них, то в консоли AWS в колонке “Status Checks” вы увидите статус “Impaired”. В этом случае для верификации данных рекомендуется запустить утилиту fsck или chkdsk.
            Читать дальше →
          • Amazon Route53 DNS доставит клиента прямо к вашему серверу

              Мы рады представить вам Latency Based Routing (LBR) для Amazon Route 53, высоконадежный и рентабельный сервис. LBR одна из самых запрашиваемых функций, которая поможет вам улучшить производительность ваших приложений в глобальном масштабе. LBR направляет ваших пользователей прямо в конечную точку AWS, будь то EC2 инстанс, Elastic IP или ELB балансер.
              Так говорится в официальном анонсе новой функции от Amazon для Route53 DNS.
              Читать дальше →
            • QoS в Linux: издеваемся над трафиком

                В предыдущей статье я рассказывал про фильтр U32. В этой статье речь пойдёт о так называемых tc actions — действиях, которые можно производить над трафиком. Например, можно построить файерволл без использования iptables/netfilter, или изменять отдельные байты в пакетах, перенаправлять/зеркалировать трафик на другие интерфейсы. Осваивать это будем на примерах. Продолжение под катом.
                Читать дальше →
              • BIND: храним зоны в mysql (Dynamically Loadable Zones — BIND DLZ)

                  Возможность Berkeley Internet Name Daemon (BIND) хранить зоны DNS в базе mysql не шибко известна и крайне плохо документирована. Документация заморожена на моменте включения отдельного патча DLZ в основную ветку BIND, а это BIND 9.4.* и 2005-2006 годы. Я постараюсь хотя бы частично восполнить этот пробел, выложив под хабракатом рабочие на данный момент инструкции с примерами. Мое описание совершенно не претендует на полноту, но простейшую зону прописать позволит.
                  Отдельно хочу заметить, что DLZ поддерживает не только mysql, список поддерживаемых хранилищ также под хабракатом.
                  Читать дальше →
                • Простой способ узнать, кто добавил твой пост в избранное

                    Микропост о сабже

                    Автору поста иногда интересно узнать, кто же добавил его пост в избранное или кому он смог помочь в той или иной проблеме. Согласитесь, интересно же, раз не дают узнать кто ставил +1 или -1. Когда я задавал об этом вопросе google в лоб, он не смог ответить внятными сервисами или постами по теме. Пришлось задать вопросы иначе. Самое удивительное, он смог ответить и даже вполне внятно, хоть иногда и не точно.

                    Итак, задаем вопрос google

                    А тут, задаем вопрос yandex

                    ЗЫ: Яндекс лучше или я не умею задавать вопросы?

                    Спасибо за внимание.
                    Некоторые улучшения под катом.
                    Читать дальше →
                  • Топ-5 самых впечатляющих книг, которые должен прочесть каждый разработчик ПО

                      Не так давно промелькнула ссылка на достаточно свежее (осень 2011) англоязычное голосование со скромным названием "самая впечатляющая книга, которую должен прочесть каждый разработчик программного обеспечения" и описанием:

                      Если бы вы могли вернуться в прошлое, к самому началу своей карьеры разработчика и сказать самому себе: «прочитай именно эту книгу», в самой начале своей карьеры разработчика, какую бы книгу вы рекомендовали?

                      Тема перевода зарубежной профессиональной IT-литературы стоит достаточно остро, многие любят читать книги в оригинале по различным причинам, таким так время выхода русского перевода с запозданием на годы, недостаточный профессионализм переводчика и соответствующая потеря тонкостей и авторского стиля и т.д.

                      Однако в данном небольшом посте я возьму на себя смелость перечислить ТОП-5 тех самых книг, победивших в голосовании, переведенных на русский язык. И дать небольшие комментарии, ведь книги действительно этого достойны. Да, лично я бы поменял некоторые места, однако положимся на «мнение зала» ресурса Stack Overflow.
                      Читать дальше →
                    • Эффективное использование Vim

                      Введение


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

                      Эта статья — не набор “волшебных команд” и рецептов (cookbook, как называют такие наборы по-английски), хотя они тут тоже присутствуют, а, скорее, попытка описать, как общие принципы построения эргономичных интерфейсов можно применить в практике использования Vim, чтобы сделать из него удобную и эффективную среду работы с текстами.

                      Эта статья также не является tutorial’ом для начинающих пользователей Vim, хотя и им (а также пользователям Emacs) может быть интересна, поскольку некоторые упоминаемые принципы являются достаточно общими и действуют не только в системах редактирования текстов, а вообще везде, где идет речь об использовании компьютера для редактирования чего-либо. Тем не менее, я предполагаю, что читатель знаком с основными концепциями, применяемыми в Vim (режимы, регистры, буфера, команды) и не останавливаюсь на их подробном описании.

                      По умолчанию Vim настроен очень старомодно, и эта настройка подразумевает, что пользователь при работе с текстом будет мыслить метафорами пятидесятилетней давности, как будто бы сейчас заря эпохи UNIX. Однако дизайн Vim позволяет сделать несколько настроек, после которых система станет выглядеть вполне прилично и станет работать весьма эффективно, сочетая в себе полезные черты и древних юниксовых инструментов работы с текстом, и современных WYSIWIG-процессоров, при этом обходя, насколько это возможно, присущие им недостатки. Вот об этих настройках и приемах их использования и пойдет речь.
                      Читать дальше →