• Поиск, сортировка и фильтры для списков в HTML

      Простой мини-скрипт List.js размером 7 КБ добавляет интерактивности маркированным спискам в HTML. С помощью скрипта можно сделать удобный поиск, сортировку, редактирование списка с добавлением или удалением новых элементов (например, адресная книга на странице) и т.д. Чем-то напоминает Chosen, только там модифицировались выпадающие списки.

      List.js — обычный JavaScript, который не требует jQuery, работает без проблем во всех браузерах. Пару примеров см. здесь и здесь.

      List.js опубликован под открытой лицензией MIT.
      Читать дальше →
      • +23
      • 15,9k
      • 3
    • Стратегия оптимизации веб-проекта с использованием MySQL

        Введение


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

        Интересно, что, как правило, даже тяжелые фреймворки (вроде Symfony или RoR) на «медленных» языках, в production-окружении работают достаточно сносно по скорости, а основные «тормоза» вызываются SQL-запросами и неграмотным кешированием (к примеру, инициализация достаточно сложной и большой конфигурации проекта на Symfony занимает около 80 мс, а времена исполнения страницы, при этом, иногда достигают секунды и более).

        Если вы смогли определить, что это — ваш случай, и ваш проект на MySQL, то эта статья может вам помочь принять конкретные меры и исправлению ситуации с закреплением результата и предотвращением возникновения откровенных проблем с СУБД впоследствии.
        Читать дальше →
      • Кластер, который всегда с собой

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

          Речь пойдет про использование контейнеров LXC, причем внутри другой виртуальной машины.

          WTF! На кой это нужно?
        • Подборка видео с различных конференций

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

            Известные
            Читать дальше →
          • Дамп вопросов CCNA на русском

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

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

              Так же прилагаю набор симуляций. Все симуляции сделаны в Packet Tracer'е.

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

              Итак:

              Doc-файл, или отсюда

              Архив скриншотов с ответами, или отсюда

              Архив симуляций, или отсюда или отсюда

              Список ошибок, или отсюда

              А вот здесь лежит торрент со всеми 4 файлами и дополнительными материалами.

              А теперь к новостям погрустней:
              Читать дальше →
            • Ограничиваем входящий и исходящий трафик в Linux

              В данной статье хочу рассказать, как я строил систему ограничения входящего и исходящего трафика в Linux.
              Как и учет трафика, ограничение полосы пропускания в сети является очень важной задачей, хотя первое с каждым годом всё быстрее отходит на второй план, шейпинг трафика остается необходимой задачей каждого системного/сетевого администратора.
              Читать дальше →
            • Руководство АНБ по безопасной конфигурации Linux-сервера

                Агентство по национальной безопасности США опубликовало новую версию 200-страничного руководства (PDF) по безопасной конфигурации Red Hat Enterprise Linux 5. Это весьма подробный мануал, который объясняет принципы защищённой системы и на практике указывает все необходимые настройки и перечень сервисов, которые обязательно нужно отключить (это один из базовых принципов: минимизировать количество софта).

                Есть и что-то вроде шпаргалки на листе A4, тоже очень удобно.
                Читать дальше →
              • Команда dd и все, что с ней связано


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

                    Все привыкли редактировать текст в текстовых редакторах, блокнотах, веб-формах и т.д. В процессе набора текста мы пользуемся привычными стрелками, кнопками «End» и «Home», более опытные зажимают «Ctrl» и стрелками шагают по словам (что, кстати, не всегда работает). И при переходе на консоль мы ориентируемся на те же самые правила, даже не зная, что bash предлагает очень удобные средства и комбинации клавиш, которые очень упрощают работу и минимизируют количество операций для выполнения задачи. К тому же, в bash есть удобные средства работы с историей, масса различных подстановок и других интересных функций. Самые часто используемые мной и любым опытным администратором я и опишу в этой статье.
                    Читать дальше →
                  • Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

                      Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

                      Введение


                      С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
                      Статья большая, так что будет поделена на логические блоки:

                      0. Зачем вообще что-то оптимизировать?
                        
                      1. Оптимизация ОС (FreeBSD)
                        1.1 Переход на 7.х 
                        1.2 Переход на 7.2
                        1.3 Переход на amd64
                        1.4 Разгрузка сетевой подсистемы
                        1.5 FreeBSD и большое кол-во файлов
                        1.6 Softupdates, gjournal и mount options
                        
                      2. Оптимизация фронтенда (nginx)
                        2.1 Accept Filters
                        2.2 Кеширование
                        2.3 AIO
                        
                      3. Оптимизация бэкенда
                        3.1 APC
                        3.1.1 APC locking
                        3.1.2 APC hints
                        3.1.3 APC fragmentation
                        3.2 PHP 5.3
                        
                      4. Оптимизация базы данных
                        4.1 MySQL 
                        4.1.1 Переход на 5.1
                        4.1.2 Переход на InnoDB
                        4.1.3 Встроеный кеш MySQL - Query Cache
                        4.1.4 Индексы
                        
                      4.2 PostgreSQL
                        4.2.1 Индексы
                        4.2.2 pgBouncer и другие.
                        4.2.3 pgFouine
                        
                      4.3 Разгрузка базы данных
                        4.3.1 SphinxQL
                        4.3.2 Не-RDBMS хранилище
                        4.4 Кодировки
                        4.5 Асинхронность
                        
                      Приложение. Мелочи.
                        1. SSHGuard или альтернатива.
                        2. xtrabackup
                        3. Перенос почты на другой хост
                        4. Интеграция со сторонним ПО
                        5. Мониторинг
                        
                       6. Минусы оптимизации

                      Кому что-нибудь из этого списка интересно, жмём сюда...