• 19 неожиданных находок в документации Node.js

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

    Мне нравится записывать полезные вещи об интерфейсах, свойствах, методах, функциях, типах данных, и обо всём прочем, что относится к веб-разработке. Так я заполняю пробелы в знаниях. Сейчас я занят документацией к Node.js, а до этого проработал материалы по HTML, DOM, по Web API, CSS, SVG и EcmaScript.

    image

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

    • Перевод


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

    Здорово было бы найти способ заставить компьютер сэкономить вам время и решить проблемы, о которых я сказал выше… И именно тут на помощь приходит процедурная генерация!
    Читать дальше →
  • Несколько полезных кейсов при работе с массивами в JavaScript

    Очень часто на тостере вижу вопросы вида «Как отсортировать массив в JavaScript по определенному правилу?», «Как сделать с массивом в JavaScript <действие>?» и т.д.

    Под катом собраны некоторые манипуляции над массивами.
    Читать дальше →
  • Должность — тимлид

      Тимлид (aka ведущий разработчик, team leader) — один из таких «специалистов», обязанности которого многие видят по-разному. Думаю, что складываются различные представления примерно так: поработал кто-то в команде под руководством тимлида, который хорошо справлялся с задачами проектирования системы, и считает теперь, что это именно то, что должен делать тимлид; в другой же команде тимлид плохо справлялся с планированием спринтов, а с другими обязанностями более или менее, и стали считать сотрудники, что планирование — не то, чем должен заниматься тимлид.

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


        Маленький рассказ о том, как наша команда решила организовать иконки в грядущем проекте. Чуть-чуть исторического экскурса, взгляды по сторонам (на PNG и векторные шрифты) и рассказ о том, как мы всё-таки обустроились в итоге.

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

        В общем, есть (и продолжают создаваться) иконки. Надо их положить на веб-страницу. Надо сделать это так, чтобы потом голова не болела про них весь остаток проекта и ещё пару лет в поддержке. Ну и есть дополнительные хотелки:
        • хочется вектора. Ну, ладно, вектор – это средство, а не цель. Цель – не беспокоиться ВООБЩЕ об изменении размеров, ретина дисплеях, сохранении изображения в разных форматах для разных целей.
        • хочется стилизации иконок. Потому что у нас из коробки как минимум два набора тем (светлая и тёмная), а то и контрастная, для людей с нестандартным зрением, а то и оранжевенькая какая-нибудь появится ближе к Новому году… В общем – одна и та же по сути иконка должна выглядеть слегка иначе в зависимости от выбранной на странице темы.
        • хочется динамической стилизации иконок. Статики – нам мало. Этого хватает для скриншотиков и рекламных буклетиков, но не для живых пользователей. А мы хотели жизни! Мы хотели ховера! Мы хотели селекшена!!! И дизаблить, дизаблить их всех!.. Извините.
        • НЕ хочется, чтобы в этом участвовал JavaScript в любой его форме и проявлении. Иконки – это внешний вид, а за него ответственный HTML + CSS. Ну, ладно, класс selected я готов навесить на элементы, но это последняя граница…

        Есть и факторы, облегчающие задачу. Иконки сейчас (2015, осень, начинает снежить) в моде плоские, строгие. Если лет пять назад иконки пестрели, то сейчас это ушло под влиянием МС, Эппла, Материал Дизайна…

        tl;dr Внимание. Следующие несколько разделов – это расплывание мыcлею по древу, причём вширь, обзор решений (в том числе – неудачных) и котик в разных ракурсах.
        Кому хочется технических подробностей того, что же вышло в итоге – пожалуйте сюда.
        А для остальных начнём по порядку...
      • Анализ учетных записей одного (не)надежного email-сервиса

        Статистика

        Начало


        У меня есть увлечение – коллекционировать слитые в интернет базы и прочий «хлам». Как-то раз решил я пошарить на RGhost в поисках «вкусненького». Часто на файлообменниках обнаруживаю инструкции по подключению к чему угодно с вложенными туда логинами и паролями. В этот раз совершенно случайно наткнулся на 700 MB текстовый файл «dump.txt», в котором красиво лежали пары логин-пароль. Сначала огорчился: «Наверное, это всем доступные, собранные вместе, совсем недавно слитые учетные записи Яндекса, Мейла, Google», — подумал я. Но нет… Немного изучив находку, я обомлел.
        Читать дальше →
      • Интересный и одновременно простой слайдер на чистом CSS3

        Я никому не открою Америку, не удивлю публику новым фокусом и не взорву мозг тем, кто в CSS3 плавает, как аквалангист. Расскажу простой способ, как создать слайдер с помощью простых функций CSS3 без необходимости использовния javascript.
        Читать дальше →
      • Избавляемся от JavaScript в социальных кнопках (Facebook, VK, Twitter и др.)

        • Tutorial
        Как мы избавились от JavaScript-библиотек социальных сетей, ускорили скорость загрузки страниц и использовали RESTful API для “шаринга” и “лайков”.


        Читать дальше →
      • Чтобы распознавать картинки, не нужно распознавать картинки

          Посмотрите на это фото.



          Это совершенно обычная фотография, найденная в Гугле по запросу «железная дорога». И сама дорога тоже ничем особенным не отличается.

          Что будет, если убрать это фото и попросить вас нарисовать железную дорогу по памяти?

          Если вы ребенок лет семи, и никогда раньше не учились рисовать, то очень может быть, что у вас получится что-то такое:
          Осторожно, тяжелые гифки
        • Разбор текстов интерфейса на Букинге — как я делал им аудит

            Когда меня развернули на 180 градусов в аэропорту перед полётом в Грецию, я начал звонить в сервисы по билетам и отелю. AWAD, фактически, положил на меня как на клиента – «посмотрите на сайте», «войдите в личный кабинет» и так далее. С другой стороны, Букинг внимательно выслушал, в прямом эфире набрал отель и чётко перенёс моё бронирование, пока я шёл к аэроэкспрессу. Хотя в правилах отеля если что не так – постоялец идёт на хрен. Так я оценил разницу в сервисе.

            Но я не про это. Дело в том, что Букинг предложил мне контракт на проверку адекватности перевода их сайта на русский. Сразу покажу, с чего началось:



            А вот чем продолжилось:



            А теперь расскажу и покажу, что и как с текстами интерфейсов.
            Читать дальше →