• 36 млн запросов в час, 10000+ постоянно работающих клиентов, на одном сервере, nginx+mysql

    Сложилась ситуация, что участвую в проекте, который работает с достаточно большой нагрузкой. Как уже написал — 36 млн запросов в час. Я много чего прочитал и перепробовал за последний месяц, настраивая сервер; хотелось бы просто сжато и компактно выдать тезисно то, что работает хорошо в такой конфигурации.

    Первое, что я заметил — множество советов как все настроить под большую нагрузку. Читайте их внимательно, обычно в тексте найдете, что речь про «высокую нагрузку» в 15-20 тысяч клиентов в сутки. У нас клиентов примерно миллион, активных, ежедневных.

    У нас нет денег и мы все делаем за свой счет, поэтому экономим. Итог — весь миллион клиентов обслуживается на одном сервере, вот на таком — EX-60 на hetzner.
    Читать дальше →
  • 58 признаков хорошего интерфейса

    • Translation
    У хорошего интерфейса пользователя высокая конверсия и его просто использовать. То есть, он хорош и для бизнеса, и для использующих его людей. Вот список опробованных нами идей.

    1 Один столбец вместо нескольких


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

    image
    Читать дальше →
  • История игрушки. Поле Чудес

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

      Жизнь мальчиков с математическими способностями в атомных городах была предопределена — школа с пятерками по алгебре и геометрии, мех-мат столичного университета, возвращение в систему, квартира через год, кандидатская степень в 40 лет, ВАЗ 2103 к пятидесяти годам, звание доктора, гараж, шесть соток, четыре квадратных метра.

      Бесконечные размышления о математическом моделировании ядерных взрывов разрывали мальчикам мозг. Мозг можно было отвлечь тремя способами — алкоголем, азартными играми и спортом. Секс и музыка помогали не всегда.

      Pole Chudes для iPhone

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

      Читать дальше →
    • Шесть способов с помощью которых Google Wave изменит ваш бизнес, карьеру и жизнь

      • Translation
      Недавно Google анонсировал их наиболее амбициозный на сегодня проект под названием Google Wave. Согласно Google, Wave это то «каким бы был email если бы он был изобретен сегодня».
      Если вы еще не нашли времени чтобы посмотреть часовое видео про Wave, то я бы порекомендовал вам сделать это сегодня.

      Читать дальше →
    • Антидизайн. Часть 2. Очевидные приемы

        [Уже появилась и Часть 3]

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

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

        Не так давно, я написал статью под названием "Антидизайн". В ней я говорил о том, что при применяя законы дизайна наоборот различные организации специально путают людей, затрудняют восприятие информации и получают от этого прибыль.

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


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

        В этой статье я начну с разбора очевидных, прямых и явных способов антидизайна.

        1. Кодирование


        Самым простым путем ограничить доступ к информации является кодирование. Его неуместное применение в несколько тысяч миллионов раз замедлит усвоение и восприятие информации. Сделает невозможным ее анализ.



        Когда люди сталкиваются с отказом в визе, они видят только свой паспорт с каким-то штампом и буквами. Существует сразу несколько мнений о том что значат эти буквы: просто тип визы или зашифрованная причина отказа. Некоторые конторы даже умудряются получать деньги за трактовку кодов посольств.

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



        Дальше — под катом.

        Читать дальше →
      • qJerry: пиши меньше, делай больше. Теперь на PHP.

          Как-то незаметно на Хабре прошло появление в свет интересной, на мой взгляд, библиотеки.

          О библиотеке qJerry


          qJerry — это библиотека для работы с XML-документами, написанная на языке PHP. Основная миссия qJerry — сделать работу с XML комфортнее, чем позволяют стандартные средства PHP, такие как расширение DOM.
          Читать дальше →
        • Philosopher — новый бесплатный шрифт

            Мой знакомый делает бесплатные шрифты для дизайнеров, очень хочу показать вам последний из них:

            image

            Автор шрифта продвигает бесплатную типографику от дизайнеров для дизайнеров.

            Прочитать подробнее о шрифте и пообщаться с автором можно у него в ЖЖ

            Здесь можно бесплатно скачать сам шрифт
          • Лучший дизайн сайтов уходящего года

            • Translation
            По данным сайта DomainTools.com около 200000 доменов регистрируется каждый день. С появлением огромного числа новых доменов связано появление новых невероятных дизайнов. Так, после обыска сети и галерей CrazyLeafDesign’s CSS, я собрал вместе лучшие дизайны 2008 года.
            Очень интересно наблюдать за новыми стилями, которые только-только появились. Похоже web 2.0 сам по себе умирает, в то время как винтажный и художественный стили становятся все более мэйнстримовыми. Если ты хочешь сделать свой сайт, какой стиль выберешь Ты? Надеюсь этот список поможет тебе.
            Читать дальше →
          • Fail2ban и nginx: блокируем нежелательный трафик к определенному URL

              Доброго времени суток!

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

              Читать дальше →
            • Строим свой Gmail с куртизанками и преферансом

              Вместо предисловия


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

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

              Читать дальше →
            • gmaps.js — самый легкий способ использования Google Maps API

              Привет!

              Расскажу об одной небольшой (~30kb) JS библиотеке для удобной работы с Google Maps API под названием gmaps.js.
              Раз уж библиотека создана для ускорения процесса веб-разработки, то и я вас задерживать не буду. Как можно понять из названия, она делает не что иное, как упрощает взаимодействие с API Google Maps. Многие из вас работали с API и, вероятно, каждый раз вам приходилось попотеть, чтобы порыться в документации и реализовать, например, свое собственное описание метки на карте. Или подписаться на событие взаимодействия с картой…
              Читать дальше →
            • Часы на газоразрядных индикаторах


              В данной статье речь пойдет об изготовлении оригинальных и необычных часов. Их необыкновенность заключается в том, что индикация времени осуществляется при помощи цифровых индикаторных ламп. Таких ламп, когда-то, было выпущено огромное количество, как у нас, так и за рубежом. Использовались они во многих устройствах, начиная от часов и заканчивая измерительной техникой. Но после появления светодиодных индикаторов лампы постепенно вышли из употребления. И вот, благодаря развитию микропроцессорной техники стало возможным создание часов с относительно простой схемой на цифровых индикаторных лампах.
              Читать дальше →
            • Long Polling от А до Я своими руками

                Как реализовать long polling с помощью Nginx и Javascript в сети достаточно много материала. Но полного руководства я ещё не встречал. То возникают проблемы с компиляцией модуля под Nginx, то в браузере вертится иконка загрузки при long poll запросах. Под катом, полный материал как же все таки это сделать правильно.
                Читать дальше →
              • Создаем адаптивную страницу портфолио с фильтрами

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

                Netcribe
                ДЕМО

                Читать дальше →
              • Типичный день под присмотром Алисы

                  Недавно вышла новая версия комплекса MajorDoMo, о котором на Хабре была обзорная статья, и я решил, что было бы хорошо показать на живом примере, как оно работает. Возьмём самый обычный будний день и посмотрим, как Умный дом себя вёл в его течении.

                  Картинка для привлечения внимания

                  Читать дальше →
                • Умный дом, как я до такого докатился. Часть 1-я


                    Пару лет назад, когда стоял вопрос отделки новой квартиры, возникла тривиальная, казалось бы, задача.
                    Дано:
                    • Кухня-студия (кухня совмещенная с холлом/коридором), три точки освещения.
                    • Необходимо управлять освещением из двух точек. У входа в квартиру и на кухне.

                    Варианты решения:
                    • Покупаем, так называемые, проходные выключатели, ставим три штуки на кухню, три в коридоре — вот оно счастье. Вот только получилось, что от коридора на кухню нужно вести 9 жил кабеля, некрасиво, спрятать некуда.
                    • Покупаем готовые решения по управлению одним источником с нескольких точек.
                      Точных чисел не помню, но получалось что-то около 10000р за точку освещения + 1000р за каждый выключатель, итого 36000р. Жаба.
                    • Как это ни странно, но эту идею высказала жена, в общем-то далекая от IT: “ А помнишь, ты светофор в Яндексе делал? Может тут тоже что-то сам сообразишь?”
                      В самом деле, а почему бы и нет, подумал я?

                    Но я не электронщик, я программист, причем контроллеры никогда не программировал, только полноценные сервера. Значит мозгом должен быть сервер. А раз ставить сервер, то управлять тремя лампочками — это из пушки по воробьям (даже, ядерным зарядом по мухам). Значит можно еще функций навешать.
                    Тут Остапа понесло (с), столица перемещается в Васюки. Три лампочки с выключателями превращаются в систему управления, мониторинга, видеонаблюдения и т. д.
                    Читать дальше →
                  • CSS спрайты: основные техники и полезные инструменты

                    • Tutorial
                    Использование CSS-спрайтов на сайте позволяет повысить производительность и грамотно организовать элементы интерфейса.



                    Sprite Sheet — это одно большое изображение мелких графических элементов сайта, например иконок или кнопок. И благодаря CSS можно отображать каждый элемент отдельно.
                    Читать дальше →
                  • Создание «островка сетевой свободы» на основе VPS за 30 минут

                    В связи с вступлением в силу нашумевшего закона 149-ФЗ у многих хабравчан возник вопрос: а что будет дальше? Неужели в России появится аналог Великого Китайского Фаервола, который будет блокировать всё и вся? В данном туториале я хотел бы рассмотреть один из самых эффективных и безопасных способов обеспечения себе свободы информации — собственный VPS сервер, находящийся далеко за границей и связанного с вами с помощью зашифрованного VPN туннеля. В отличие от tor или i2p конфиденциальность передаваемой информации гарантированна, вряд ли кто-то будет пытаться расшифровать ваши данные или устраивать рейд на заграничный сервер (если конечно вы не хакер мирового масштаба).
                    Читать дальше →
                  • Подборка инструментов для эффективной frontend разработки

                      В эту прекрасную пятницу осмелюсь предложить хабрасообществую небольшую подборку приложений, предназначенных для увеличения продуктивности во время работы с фронтэндом. Если ваш любимый апп здесь не представлен — добро пожаловать в комментарии!

                      Form Builder

                      image

                      Этот прекрасный генератор форм поможет вам в создании красивейших CSS логин-боксов и прочих input вещей, при минимальных временных затратах. Помимо форм на сайте этого проекта можно создавать и другие не менее красивые CSS элементы, в том числе кнопки и ленты.
                      еще 24 ссылки
                      • +190
                      • 98.8k
                      • 46