• Восстанавливаем поврежденные таблицы Innodb

    • Tutorial
    Предположим, вы работаете с MySQL таблицами Innodb, и в один прекрасный не самый хороший момент подводит глючное железо, драйвер, бажит ядро, отключается электричество или случается одна из редких ошибок в среде MySQL. На выходе получаем повреждение некоторых страниц в табличной области Innodb.

    В одной из предыдущих статей, в комментариях, нас спрашивали, что можно сделать в такой ситуации. Мы постараемся ответить максимально лаконично и по делу.
    Читать дальше →
    • +14
    • 25.1k
    • 5
  • Вспоминая прошлое

      Решил вспомнить то, как и что было раньше в мире информационных технологий. Да и с Хабром поделиться захотелось. Пост предназначен для старшего поколения, из серии «Школоте не понять». А у Вас так же было?
      • Это мы работали с мышками без колеса, и нормально себя чувствовали.
      • Это мы будили ночью родителей диал-апом, когда заходили в интернет. Но как же он пел ;)
      • Только мы знаем, что такое мультикарта.
      • Это мы радовались тому, что любимая mp3-песня наконец-то звучит на компьютере без подтормаживания

      Читать дальше →
    • Нестандартные способы увеличения продаж в интернет магазине

        imageКак всегда у меня нестандартный подход к решению подобных ситуаций, поэтому я пошел издалека и вчера начал читать достаточно интересную книгу по практической психологии, автором которой является Чалдини Р. Книга называется «Психология влияния».

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

        Уже на первых страницах мое внимание привлекла статья, в которой приводятся примеры успешного и эффективного управления клиентами и их покупательским поведением, пусть немного нестандартным способом. Книга затягивает, поэтому пока не забыл, рассказываю подробнее. Чтобы была понятна суть поста, сначала предлагаю прочитать два небольших рассказа от автора.
        Читать дальше →
      • Обновление временных зон на Android

        Прочитав статью «Переезд временной зоны MSD в MSK — новый Y2K локального масштаба» — был, мягко говоря, озадачен. Неужели никто до сих пор не сделал какого-либо патча для Android? Вдумчивое гугление привело к подтверждению информации: да, патчей нет. Обновлений тоже нет. Что хотите — то и делайте.
        Ну вот, собственно — и начал делать…
        Читать дальше →
      • Канцерогенные излучения. Скандалы, интриги, расследования!

          На днях пришлось мне разослать по всей компании письмо. Думаю, что у каждого админа были, есть и будут на обслуживании идиоты, расставляющие кактусы вокруг монитора и одевающие «антикомпьютерные очки».
          Для таких индивидуумов и было написано письмо. Остальные просто посмеялись.

          Текст письма под катом.
          Читать дальше →
        • Как придумать доменное имя для сайта – креативный подход

          Вместо предисловия. Приведенный здесь метод не претендует на открытие и может показаться довольно спорным. Поэтому я принимаю любую критику и свежие конструктивные мысли в комментариях.

          Меня, как и любого вебмастера, у которого больше одного сайта, всегда волновала проблема выбора звучного и интересного доменного имени. Как придумать хорошее имя для сайта, чтобы оно было максимально коротким, отражало направленность сайта, легко запоминалось? Вот с какими трудностями сталкивается любой вебмастер. Свой первый домен я придумал быстро – просто взял свой собственный ник в зоне .RU и доме готов, а вот со вторым сразу начались проблемы. Те домены, на которые у меня хватало фантазии, были либо уже заняты под сайты, либо продавались по баснословным ценам. Оставался один выход: придумать нестандартный подход к генерации доменного имени, о котором я и расскажу вам в этой статье.
          Читать дальше →
        • Домашний не только медиа-центр на Zotac IONITX-A-E

            Пост размещен по просьбе Хабраюзера silvergh0st. Он осознал свою
            ошибку и стремится исправиться, но не хватает кармы для поста даже в
            личный блог. Так чтож все плюсики и минусики направляйте ему.


            Доброго времени суток, почтенные Хабравчане.

            Старт мой выдался не очень удачным, о чем я очень сожалею. Прошу меня простить за это, буду исправляться.

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

            Захотелось мне недавно собрать домой такой себе многофункциональный «медиа-центр», да такой, чтоб не только на нем смотреть фильмы да музыку слушать, но и в инете посидеть, поадминить сервера, но и по цене, чтоб он вышел не очень уж дорого.

            В общем, довольно маленький, но при этом весьма не плохой компьютер.

            Читать дальше →
          • Пишем свой плагин для XBMC. Пока без блекджека и всех остальных


            Всем привет. Речь в топике пойдёт о создании плагина (программного дополнения, аддона) к замечательной программе XBMC. Уровень сложности: для начинающих. Понадобятся знания HTML и общее представление о работе сайтов; не помешает знать как выглядит Python. Не ждите под катом уникальных алгоритмов и магического кода, это скорее отправная точка и общее объяснение механики работы плагинов. Код будет, надеюсь, наглядным.

            Некоторые из вас могут спросить: «Ведь есть репозиторий seppius, который решает почти все проблемы с воспроизведением онлайн-контента в рунете (в контексте XBMC). Зачем велосипеды?». Я приведу свои доводы в небольшом предисловии.

            Читать дальше →
            • +34
            • 41.2k
            • 9
          • Ruby на вашем сервере может работать в 2 раза медленее из-за RVM


              Просматривая сегодня «Ruby Inside», наткнулся на статью Justin Kulesza Is Your Application Running with Ruby – Slow?. Статья от 6 ноября, но на Хабре об этой ситуации ни слова. А суть статьи вот в чем: ребята переносили свое приложение с сервера на Solaris на сервер с Ubuntu и использовали RVM для компиляции Ruby. Однако после переноса они заметили, что приложение стало как-будто бы тормознутее. Сначала погрешили на железо, но быстро выяснили, что дело в RVM, а именно в том, что RVM совершенно не использует оптимизацию при компиляции.
              Читать дальше →
            • Геотаргетинг nginx, частный случай

              Возникла задача сделать геотаргетинг для регионов России на новостном сайте, т.е. при заходе на главную страницу, должно происходить перенаправление на региональную страницу сайта с адресами вида: region/[номер региона], причем перенаправление клиента должно осуществляться на nginx-е без передачи данных на апач, в противном случае это лишняя ненужная нагрузка на сервер.
              Читать дальше →
            • Отдача мелкой графики

                Холивары про то, где хранить картинки – в базе или в файловой системе – штука не редкая даже для Хабра. Однозначного подхода тут в общем нет и быть не может, но если посмотреть на ситуацию с позиции оптимизации выдачи контента, то разумный компромисс становится чуть более очевиден, на мой взгляд.
                Читать дальше →
              • Укрощаем трёхглавого дракона или как работает аутентификация в Bacula

                  Приветствую, Хабравчане.

                  Bacula — кроссплатформенное клиент-серверное программное обеспечение, позволяющее управлять резервным копированием, восстановлением, и проверкой данных по сети для компьютеров и операционных систем различных типов. (Wikipedia)

                  Вообще с бакулой я связался совершенно случайно. Я всегда предпочитал самописные скрипты для бэкапов и мониторинг их выполнения nagios-ом, т.к. все специализированные средства (Bacula, Amanda, и т.п.) казались мне архитектурно слишком сложными, которые сами, в силу своей сложности, требуют того, чтобы их бэкапили. Но однажды, политикой сверху, нас посадили на ARCserve. Поигравшись немного с этим монстром я вернулся к Bacula и понял, что Bacula — это верх изящества и простоты.
                  Читать дальше →
                • mysqlnd

                    mysqlnd — расширение PHP, которое является драйвером для работы с MySQL по умолчанию в PHP 5.4. Оно работает напрямую с MySQL сервером, а значит, MySQL клиент, а также оверхед на работу с ним, больше не требуется!

                    image

                    Читать дальше →
                  • Бесшовная миграция MySQL 5.0 -> Percona Server 5.5 с переразбивкой хранилища

                      Здравствуйте.

                      Хочу поделиться опытом миграции боевой базы данных с MySQL 5.0 на Percona Server 5.5 под нагрузкой почти без отрыва от производства.

                      Опишу вкратце эволюцию нашей базы до текущего состояния


                      База у нас древняя, пережила несколько апгрейдов MySQL. Начинали с MySQL 3.x. С ростом нагрузки, уже на MySQL 5.0, настроили репликацию и подключили еще один сервер для чтения. Тогда мы это делали стандартными средствами MySQL, без привлечения xtrabackup — полностью блокировали сервер на время создания мастер-дампа и вывешивали на сайтах заглушки.

                      Затем встала следующая проблема — на томе с данными стало заканчиваться место. Плюс InnoDB-хранилище исторически располагалось в одном файле. Было рассмотрено много вариантов решения. Начиная от размещения базы на iSCSI-томе и заканчивая перетыканием в рейд более емких дисков, расширением на них volume group / logical volume с последующим расширением файловой системы.

                      В качестве временного варианта решили подключить iSCSI-том из виртуалки под VMWare vCloud (не реклама, честно!). vCloud стоит у нас под боком.
                      Читать дальше →
                      • +30
                      • 17.9k
                      • 9
                    • Про установку пакетов с помощью Chef

                        При управлении конфигурацией при помощи Chef, особенно в самом начале использования, возникает необходимость на свеже-введённой в работу системе установить необходимые наборы пакетов. Например, если привычка диктует что на системе должен быть htop и mc. Добавим сложности, нам надо что бы пакеты были из конкретного репозитария. Как можно решить такую задачу средствами Chef?
                        Читать дальше →
                      • OpenDKIM + Postfix = просто



                          В конце 2011 года разработчики проекта dkim-milter прекратили его поддержку и разработку. К счастью, на замену проекта dkim-milter пришел OpenDKIM, с помощью которого добавить DKIM-подпись в письма так же просто.

                          tl;dr: в наше время без DKIM-подписей ну никак нельзя
                          DKIM-подпись — это цифровая подпись, которая добавляется к заголовкам письма сервером отправителя, по которой сервер получателя может удостовериться, что отправитель письма соответствует полю From в заголовках письма. Если сервер получателя проверяет эту подпись, то по результатам проверки сервер может принять решение о том, как поступать с письмом: принять, отправлять в папку «Спам», отправить на дополнительную проверку или вовсе отказаться от приёма. Подписи DKIM проверяют и используют сами все ведущие почтовые службы, включая Яндекс и Mail.ru. Последняя открыто требует чтобы письма были подписаны с помощью DKIM.


                          Инструкция по настройке связки Postfix и OpenDKIM
                        • Bash: запускаем демон с дочерними процессами

                          Доброго всем настроения!
                          Прочитал я вот эту статью, и решил немного сам взять в руки шашки, и попробовать сделать что-нибудь приятное для себя и для других.
                          Мой скрипт не делает никаких полезных вещей, но думаю для более менее начинающих писателей на bash он чему-нибудь научит, да и если будут комментарии, то и я научусь от тех людей которые укажут на мои ошибки.

                          Вводная

                          Скрипт будет запускаться в фоне демоном. Сразу думаю надо договориться что сам процесс который будет висеть в памяти постоянно я буду называть «Родителем». Родитель будет в определенном каталоге искать определенный файл, и если он существует, то файл будет удален и запущен процесс, который я буду называть «Потомок», целью которого будет просто спать какое-то время, и после чего завершиться. Но Родитель не должен будет запускать более одного Потомка в единицу времени. В принципе, если Вы прочитали вышеуказанную статью, то смысл я думаю понятен.
                          Читать дальше →
                        • Простой смс-бот на shell

                            i am bot
                            Здравствуйте, уважаемые хабровчане!
                            На днях я написал простого бота для смс-переписки. Он может принимать входящие сообщения, обрабатывать их и (если слова из сообщения есть в его «памяти») отправлять назад логичные ответы.

                            Все, что мне понадобилось:

                            — Ubuntu 12.04 на домашнем компьютере
                            — Установленный gnokii (посмотреть как его установить можно тут)
                            — shell скрипт
                            — cron, регулярно запускающий этот скрипт
                            — телефон с деньгами на счету (подойдет почти любая старая Nokia с блютузом, а также SonyEricsson k серии)
                            — Bluetooth адаптер
                            — пара часов свободного времени.
                            + Плюсом стало отсутствие необходимости в Интернет-подключении.

                            Если заинтересовались — прошу под кат.

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