• Классические алгоритмы и структуры данных на JavaScript

      Привет Всем! Я недавно запустил на GitHub проект JavaScript Algorithms and Data Structures, который содержит примеры классических алгоритмов и структур данных написанных на JavaScript с объяснениями, примерами и ссылками для дальнейшего изучения (в частности на соответствующие YouTube видео).

      Основная задача проекта — помочь программистам в изучении и применении алгоритмов и сделать это на JavaScript-е.
      Читать дальше →
    • Недокументированные приемы CSS

      • Tutorial
      Всем привет! Зовут меня Дмитрий Григоров. Работаю фронтедером в Райффайзенбанке в команде RBO PRO. Я расскажу и покажу вам, как можно творчески применять данные возможности CSS. В статье мы рассмотрим следующие темы:

      • Фоны и рамки;
      • Фигуры;
      • Визуальные эффекты.

      Читать дальше →
    • Делаем адаптивный HTML, добавляя одну строку в CSS

      • Перевод
      image

      В этой статье я расскажу вам, как использовать CSS Grid для создания супер классной сетки изображений, которая варьирует количество столбцов в зависимости от ширины экрана.

      И самое классное: адаптивность будет добавлена с помощью одной строки CSS.
      Это означает, что нам не нужно загромождать HTML лишними классами (Col-sm-4, col-md-8) или создавать медиа-запросы для каждого размера экрана.

      Рассмотрим все подробнее.
      Читать дальше →
    • Объясняем современный JavaScript динозавру

      • Перевод


      Если вы не изучали JavaScript с самого начала, то осваивать его современную версию сложно. Экосистема быстро растёт и меняется, так что трудно разобраться с проблемами, для решения которых придуманы разные инструменты. Я начал программировать в 1998-м, но начал понимать JavaScript только в 2014-м. Помню, как просматривал Browserify и смотрел на его слоган:


      Browserify позволяет делать require («модули») в браузере, объединяя все ваши зависимости


      Я не понял ни слова из предложения и стал разбираться, как это может помочь мне как разработчику.


      Цель статьи — рассказать о контексте, в котором инструменты в JavaScript развивались вплоть до 2017-го. Начнём с самого начала и будем делать сайт, как это делали бы динозавры — безо всяких инструментов, на чистом HTML и JavaScript. Постепенно станем вводить разные инструменты, поочерёдно рассматривая решаемые ими проблемы. Благодаря историческому контексту вы сможете адаптироваться к постоянно меняющемуся ландшафту JavaScript и понять его.

      Читать дальше →
    • Как работает JS: цикл событий, асинхронность и пять способов улучшения кода с помощью async / await

      • Перевод
      Часть 1: Как работает JS: обзор движка, механизмов времени выполнения, стека вызовов
      Часть 2: Как работает JS: о внутреннем устройстве V8 и оптимизации кода
      Часть 3: Как работает JS: управление памятью, четыре вида утечек памяти и борьба с ними

      Перед вами четвёртая часть серии материалов, посвящённых внутренним особенностям работы JavaScript. Эти материалы, с одной стороны, направлены на изучение базовых элементов языка и экосистемы JS, с другой, содержат рекомендации, основанные на практике разработки ПО в компании SessionStack. Конкурентоспособное JS-приложение должно быть быстрым и надёжным. Создание таких приложений — та цель, к которой, в конечном счёте, стремится любой, интересующийся механизмами JavaScript.

      image
      Читать дальше →
    • Как РЕН ТВ про Землю плоскую вещал, а Прокопенко «ТЭФИ» получал

      25 сентября 2017 года в эфире федерального телеканала РЕН ТВ вышла передача посвященная теории плоской Земли, а уже 3 Октября Игорь Прокопенко получил премию «ТЭФИ» за программу «Военная тайна» в категории «Просветительская программа». Рассматриваемая же передача относится к циклу программ Игоря Прокопенко «Самые шокирующие гипотезы».

      Выпуск программы на YouTube



      Написанное здесь, конечно же, не станет сюрпризом для большинства читателей, т.к. само название канала уже давно стало мемом, но всё же я решил детально разобрать этот выпуск, учитывая, что в данный момент появилось слишком много людей поддавшихся в 21 веке влиянию такого сектоподобного явления как теория плоской Земли в силу различных причин.
      И особо следует заметить, что обострение началось ещё задолго до мемов со школьником.
      Также, вопреки расхожему мнению, большинство адептов теории плоской Земли не являются троллями, всё намного печальнее.
      Читать дальше →
    • Весь веб на 60+ FPS: как новый рендерер в Firefox избавился от рывков и подтормаживаний

      • Перевод
      До релиза Firefox Quantum остаётся всё меньше времени. Он принесёт множество улучшений в производительности, в том числе сверхбыстрый движок CSS, который мы позаимствовали у Servo.

      Но есть ещё одна большая часть технологии Servo, которая пока не вошла в состав Firefox Quantum, но скоро войдёт. Это WebRender, часть проекта Quantum Render.



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

      При разработке WebRender мы поставили задачу, чтобы все приложения работали на 60 кадрах в секунду (FPS) или лучше, независимо от размера дисплея или от размера анимации. И это сработало. Страницы, которые пыхтят на 15 FPS в Chrome или нынешнем Firefox, летают на 60 FPS при запуске WebRender.

      Как WebRender делает это? Он фундаментальным образом меняет принцип работы движка рендеринга, делая его более похожим на движок 3D-игры.
      Читать дальше →
    • Иллюзия движения

      • Перевод
      История о чувстве зрения, восприятии кадров и частоты обновления, размытости движущегося объекта и телевизионных экранах.
      (также см. перевод статьи того же автора «Иллюзия скорости» — прим. пер.)

      Введение


      Вы могли слышать термин кадры в секунду (FPS), и что 60 FPS — действительно хороший ориентир для любой анимации. Но большинство консольных игр идут на 30 FPS, а кинофильмы обычно записывают на 24 FPS, так зачем же нам стремиться к 60 FPS?

      Кадры… в секунду?


      Ранние времена кинопроизводства



      Съёмки голливудского фильма 1950 года «Юлий Цезарь» с Чарлтоном Хестоном

      Когда первые кинематографисты начали снимать кино, многие открытия делались не научным методом, а путём проб и ошибок. Первые камеры и проекторы управлялись вручную, а плёнка была очень дорогой — настолько дорогой, что при съёмке старались использовать наименьшую возможную частоту кадров, лишь бы сэкономить плёнку. Этот порог обычно находился между 16 и 24 FPS.
      Читать дальше →
    • «Галоп пикселя — часть четвертая» — Анимация света и тени

      • Tutorial


      «Галоп пикселя» — часть 1 (линк)
      «Галоп пикселя» — часть 2 (линк)
      «Галоп пикселя» — часть 3 (линк)
      «Галоп пикселя» — часть 4 (линк)

      Доброго времени суток Хабру и ценителям пиксель-арта, поклонникам квадратных точек, адептам лимитированных разрешений и цветов. Рад представить на ваш суд очередную статью из цикла «Галоп Пикселя». Не буду тратить время на оправдания моего долгого отсутствия и в виду явного присутствия перейду к сути дела. Сегодня мы продолжим изучать анимацию. На этот раз это будет анимация света и тени. Большей частью на статических объектах. Всё помнят – сначала база. Сначала фундамент. Сначала простое. Ну а сложное ввалится в ваши двери само, вслед за детишками.

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

      Цель этой статьи показать насколько силён дуэт брата и сестры, Света и Тени в движении. Мы уже видели, как они преображают сцены в статике. Но динамика нам ещё не знакома. Давайте исправим это упущение.

      Лопаты в руки.


      Лопатить пиксели