• SummaryJS: самое интересное из мира JavaScript за последнюю неделю

      Две недели назад я начал вести свой подкаст на тему JavaScript. И каждую неделю у меня накапливается большой список интересных статей, видео и новостей, которыми интересно было бы поделиться с сообществом. В связи с этим я решил попробовать выложить вот такой набор интересных материалов.

      На Хабре есть как минимум 2 еженедельных обзора мира фронтенда. Они классные, но пишут про весь фронтенд. А я пытаюсь больше уделять внимание JavaScript.

      Если понравится — пишите, буду продолжать. Если нет — тоже пишите.
      Читать дальше →
    • Исследование факторов ранжирования в Яндексе

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

        Начнем с внешних факторов. Критерии выбора внешних ссылок:



        Читать дальше →
      • 10 главных выводов, которые я сделал за Год Изучения Продуктивности

        • Translation
        Предисловие переводчика: В мире написано столько книг по личной эффективности и тайм-менеджменту, что берясь за этот перевод я безусловно задавал себе вопрос: «А есть ли здесь вообще что-то новое, ради чего эту статью стоит переводить, и главное читать»? Сначала мне казалось, что я ответил на этот вопрос «да», однако реальность оказалась несколько сложнее. 

        Сейчас я думаю, что сказать что-то новое человеку, который прочитал хотя бы 2-3 книги по тайм-менеджменту и личной эффективности практически невозможно. Однако существует огромная пропасть между тему, что люди знают, и тем, что люди делают. Поэтому если у вас уже есть какой-то багаж знаний по личной эффективности, я советую вместо вопроса «это что-то, чего я не знаю?» задавать другие вопросы:

        1. Согласен ли я с написанным?
        2. Если да, поступаю ли я так?
        3. Если нет, почему и что я могу сделать чтобы начать поступать правильно? 

        Уверен, так статья принесет вам гораздо больше пользы.

        Должен сказать, что я с огромным удовольствиям ходил по ссылкам в этой статье, особенно по тем, которые описывают эксперименты Криса (такие как переключение между 90-часовой и 20-часовой рабочими неделями). Поэтому я принял решение сохранить все эти ссылки в переведенной статье.

        Также хотел бы сделать замечание для любителей красивого русского языка. Я довольно долго думал, менять ли «продуктивность»  на более близкие родному уху «производительность» и «личную эффективность», но в итоге решил оставить всё как есть – главным образом из-за невозможности использования одного и того же слова в разных контекстах.

        В качестве последнего пожелания – это довольно длинная статья, поэтому читайте продуктивно: не переключайтесь между задачами в процессе чтения; делайте перерывы если ощущаете усталость и потерю концентрации; записывайте полезные мысли, не надеясь на память.

        Приятного чтения!
        Читать дальше →
      • Как это сделано: префиксный поиск

          Мы живем во времена, когда кажется, что все просто и все есть. Нужно сделать масштабируемый проект — используем MongoDB, нужна очередь — вот RabbitMQ, нужно поднять функционал поиска — раз плюнуть: ставим Sphinx, Solr, ElasticSearch (нужное подчеркнуть).

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

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

          Мы посмотрим, как с помощью нашего проекта http://indexisto.com сделан поиск на сайте http://maximonline.ru и сравним его с тем, что есть на других сайтах.

          Для начала несколько примеров. Возьмем запрос «Битва за Лос Анджелес» и представим, что его напишут неправильно «Лос Анжелес биттва». Как видно, пользователь не знает точно, как пишется имя города, и забыл, как звучит название фильма, а также у него дрогнула рука в конце на слове «битва».

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

          Проект Правильный запрос Неправильный запрос
          afisha.ru

          все ОК

          Не найдено
          ivi.ru

          все ОК

          Не найдено
          vk.com

          все ОК

          Не найдено
          maximonline.ru

          все ОК

          все ОК

          Читать дальше →
        • Памятка пользователям ssh

            abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

            Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

            Оглавление:
            • управление ключами
            • копирование файлов через ssh
            • Проброс потоков ввода/вывода
            • Монтирование удалённой FS через ssh
            • Удалённое исполнение кода
            • Алиасы и опции для подключений в .ssh/config
            • Опции по-умолчанию
            • Проброс X-сервера
            • ssh в качестве socks-proxy
            • Проброс портов — прямой и обратный
            • Реверс-сокс-прокси
            • туннелирование L2/L3 трафика
            • Проброс агента авторизации
            • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
            Читать дальше →
          • Инструменты командной строки для веб-разработчика

            • Translation
            Жизнь веб-разработчика омрачена сложностями. Особенно неприятно, когда источник этих сложностей неизвестен. То ли это проблема с отправкой запроса, то ли с ответом, то ли со сторонней библиотекой, то ли внешний API глючит? Существует куча различных прилад, способных упростить нам жизнь. Вот некоторые инструменты командной строки, которые лично я считаю бесценными.
            Читать дальше →
          • Проверка кармы пользователя сайта habrahabr.ru с помощью Python на Android

              Я очень люблю язык программирования Python и так же люблю Android OS. Для меня было приятным открытием, что для этой ОС существует полноценный интерпретатор Python, но я постоянно откладывал знакомство с ним. В этой статье я хочу рассказать про основные принципы программирования на этом языке под эту ОС.

              SL4A

              Читать дальше →
            • Настройка сервера для django-проектов с нуля

                Хочу поделиться опытом настройки сервера для django-проектов. Так вышло, что мне часто приходится настраивать с нуля VPS-сервера для запуска на них django-сайтов. Как-то мне в голову пришла идея записать пошагово процесс настройки. Оказалось, что “по бумажке” выполнять эти рутинные операции гораздо проще и быстрее — все нюансы записаны, трудно что-то упустить. Дальше больше — я превратил инструкцию в самостоятельный shell-скрипт — запустил и сервер готов. Я думаю, некоторым python-разработчикам, особенно начинающим, будет полезно ознакомиться с содержимым скрипта. С некоторыми доработками вы, возможно, захотите использовать его в своей практике.
                Читать дальше →
              • Вещание на волне слушателей


                  Кто из вас слушает радио? Нет, серьезно.

                  Когда вы в последний раз целенаправленно и осознанно настраивались именно на то качество FM, которое вас полностью устраивает? Припоминаете с трудом? Неудивительно.

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

                  Как насчет радиостанций в Интернете? Кажется, тут почва куда плодотворнее. Не понравилось одно — включил другое, «полюбил» третье, лайкнул четвертое… И все-таки ему все так же чего-то не хватает. Кто из моих друзей слушает эту же волну? Высказать свое пожелание DJ-ю? Мы все еще часто не можем получить то, чего мы хотим. Все потому что большинство ресурсов, предоставляющих такую возможность, а именно — слушать хорошее радио в Интернете, не использует и малой доли открытых возможностей.

                  По этой причине на свет появился Frodio – социальная платформа для интерактивного радиовещания и, несомненно, радиослушания, в сети.

                  Как мы это делаем? Все по порядку.
                  Читать дальше →
                • TOP'ай сюда

                    Обзор практически всех *top утилит под linux (atop, iotop, htop, foobartop и т.д.).

                    top

                    Все мы знаем top — самую простую и самую распространённую утилиту из этого списка. Показывает примерно то же, что утилита vmstat, плюс рейтинг процессов по потреблению памяти или процессора. Совсем ничего не знает про загрузку сети или дисков. Позволяет минимальный набор операций с процессом: renice, kill (в смысле отправки сигнала, убийство — частный случай). По имени top суффикс "-top" получили и все остальные подобные утилиты в этом обзоре.

                    atop


                    Atop имеет два режима работы — сбор статистики и наблюдение за системой в реальном времени. В режиме сбора статистики atop запускается как демон и раз в N времени (обычно 10 мин) скидывает состояние в двоичный журнал. Потом по этому журналу atop'ом же (ключ -r и имя лог-файла) можно бегать вперёд-назад кнопками T и t, наблюдая показания atop'а с усреднением за 10 минут в любой интересный момент времени.

                    В отличие от top отлично знает про существование блочных устройств и сетевых интерфейса, способен показывать их загрузку в процентах (на 10G, правда, процентов не получается, но хотя бы показывается количество мегабит).

                    Незаменимое средство для поиска источников лагов на сервере, так как сохраняет не только статистику загрузки системы, но и показатели каждого процесса — то есть «долистав» до нужного момента времени можно увидеть, кто этот счастливый момент с LA > 30 создал. И что именно было причиной — IO программ, своп (нехватка памяти), процесор или что-то ещё. Помимо большего количества информации ещё способен двумя цветами подсказывать, какие параметры выходят за разумные пределы.
                    Читать дальше →
                  • Профилирование python приложений

                      Краткая заметка с линками и примерами о профайлинге:
                      1. производительности: hotshot или python profile/cProfile + визуализатор логов kcachegrind (есть порт под windows, аналог WinCacheGrind)
                      2. использование памяти: dowser с web-интерфейсом

                      Читать дальше →
                    • Легко и непринуждённо: почта и Jabber для пользователей вашего сайта

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

                        Конечно, я не предлагаю становится очередным провайдером почты. Это глупо, когда есть такие игроки, как gmail.com и yandex.ru. Кроме того, вы естественно можете использоваться услуги вышеупомянутых Google и Yandex для подключения своего домена к их сервисам. Но тогда вы не получите никакой интеграции с вашей базой пользователей и никакого контроля над доступной функциональностью.

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

                        Подробнее...
                      • Suggest.io. Понимать с первой буквы!

                          image Представьте, что вам срочно надо найти информацию на определенном сайте и вы точно знаете, что она там есть, только не знаете где. Зайдя на сайт, вы долго жмете на разные ссылки, перескакиваете с одной вкладки на другую; понимаете, что теряете время и наконец видите заветный «поиск». «Вот он мне сейчас и поможет», — думаете вы и начинаете набирать ваш запрос. Результат оказывается как и прежде нулевым. То ли набрали с ошибкой, то ли не так надо сформулировать запрос — непонятно. Знакомо?
                          Читать дальше →
                        • Как создать вебсайт для мобильных устройств

                            Стили


                            User Agent

                            Один из способов включения стилей для мобильного устройства — это использование User Agent, которую получает сервер от клиента.
                            Этому может помочь набор скриптов: code.google.com/p/mobileesp, а также сервис от яндекса api.yandex.ru/detector
                            При работе с User Agent только одна проблема — это постоянно появляющиеся новые User Agent.
                            Читать дальше →
                          • Цветовое оформление консольного вывода

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

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

                                Ниже список встретившихся нам особенностей и способы их разрешения (как то упорядочить их мне не удалось, поэтому всё идет единым списком)
                                Читать дальше →
                                • +264
                                • 95.2k
                                • 77
                              • Метод одного дня

                                  Понедельник начинается в субботу.
                                  А. Стругацкий, Б. Стругацкий.

                                  Прошедшее забыто, грядущее сокрыто, настоящее даровано. Поэтому его и зовут настоящим!
                                  Мудрая Черепаха из «Кунг-фу Панда»

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

                                  Метод заключается в том, что основан на одной мысли: есть всего один день, сегодняшний, в котором и нужно делать все по максимуму для результата.

                                  Под катом простая схема, как этого достичь.
                                  Читать дальше →
                                • Из чего готовят Google Analytics Cookies

                                  • Tutorial
                                  печеньки
                                  Добрый день.
                                  Недавно одни из наших заказчиков выразили желание получать дополнительную информацию о посетителях своего сайта, конкретнее — о людях, заполнивших контактную форму. Это крупная европейская компания и им хотелось бы «фильтровать» своих потенциальных клиентов. Поясню на примере — допустим, решают они организовать выставку своего оборудования в Венгрии и им нужно решить, кто из венгров, оставлявших им свои контакты, скорее всего стоящий клиент, а кто «мимо проходил».
                                  Основными показателями «надежности» клиента для нас стали: число посещений сайта, время проведенное на сайте, количество просмотренных страниц. Всю эту информацию мы получили из Google Analytics Cookies.

                                  Что же из себя представляют печеньки от Google?

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