• // бухой, пофиксю позже

      long long ago; /* in a galaxy far far away */

       //
          //                       _oo0oo_
          //                      o8888888o
          //                      88" . "88
          //                      (| -_- |)
          //                      0\  =  /0
          //                    ___/`---'\___
          //                  .' \\|     |// '.
          //                 / \\|||  :  |||// \
          //                / _||||| -:- |||||- \
          //               |   | \\\  -  /// |   |
          //               | \_|  ''\---/''  |_/ |
          //               \  .-\__  '-'  ___/-. /
          //             ___'. .'  /--.--\  `. .'___
          //          ."" '<  `.___\_<|>_/___.' >' "".
          //         | | :  `- \`.;`\ _ /`;.`/ - ` : | |
          //         \  \ `_.   \_ __\ /__ _/   .-` /  /
          //     =====`-.____`.___ \_____/___.-`___.-'=====
          //                       `=---='
          //
          //
          //     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          //
          //               佛祖保佑         永无BUG
          //

      «Слава богу, багов нет»
      Читать дальше →
    • Список лучших инструментов для web-анимации

      image

      Список лучших инструментов для web-анимации. SVG/CSS/Canvas/DOM анимация + GUI инструменты для генерации кривых Безье и CSS анимации.

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

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

      Читать дальше →
    • Типографика и современный CSS

      • Tutorial
      Типографика и CSS

      Пока некоторые CSS свойства, отвечающие за разного рода красивости (вроде filter, mix-blend-mode или transition) привлекают внимание всех и каждого, другие совсем мало освещаются в интернете. Взять хотя бы свойства, отвечающие за типографику. Они весьма полезны и эффектны, но широко не известны. Давайте же исправим несправедливость и осветим то, что обычно остается в тени.
      Читать дальше →
    • Разработка браузерной онлайн игры без фреймворков и движков


        Привет, Хабр!

        В этом посте будет описан процесс разработки онлайн игры на чистом javascript и WebGL (без фреймворков и движков). Будут рассмотрены некоторые алгоритмы, техники рендеринга, искусственный интеллект ботов и сетевая игра. Проект является полностью опенсорсным, в конце поста будет ссылка на репозиторий.
        Много картинок и гифок
      • Типичное использование Observable объектов в Angular 4

          Представляю вашему вниманию типичные варианты использования Observable объектов в компонентах и сервисах Angular 4.



          Подписка на параметр роутера и мапинг на другой Observable


          Задача: При открытии страницы example.com/#/users/42, по userId получить данные пользователя.


          Решение: При инициализации компоненты UserDetailsComponent мы подписываемся на параметры роутера. То есть если userId будет меняться — будер срабатывать наша подписка. Используя полученный userId, мы из сервиса userService получаем Observable с данными пользователя.


          // UserDetailsComponent
          
          ngOnInit() {
            this.route.params
              .pluck('userId') // получаем userId из параметров
              .switchMap(userId => this.userService.getData(userId))
              .subscribe(user => this.user = user);
          }

          Читать дальше →
        • Как я создавал прибыльный глобальный SaaS проект, от разработки до продаж

          • Tutorial
          Некоторые люди здесь знают меня как основателя двух прибыльных SaaS проектов и автора популярных статей о них (статья про Postio, статья про Menumake). В этом тьюториале я расскажу о том как я, обыкновенный разработчик, в одиночку создавал свой первый глобальный проект и что из этого получилось (TL;DR: хеппи-энд и первые продажи). Ну и заодно пробежимся по всем проблемным вопросам, начиная о том как найти неконкурентную и гарантированно прибыльную идею (оставим создание следующего Гугла более амбициозным и умным людям), и заканчивая тем, как принимать платежи глобально, находясь при этом в России. Летс гоу.

          Ищем идею


          Я всегда был сторонником правила, что поиск хорошей идеи — это не случайность, а обычный аналитический процесс. Есть много мест и способов найти проверенную реальностью идею, но поскольку однажды я твитнул это…
          Читать дальше →
        • It's a (focus) Trap

            Люди которые пишут стандарты — очень хитро устроились. Им достаточно написать как должно все хорошо работать, а дальше уже не их проблемы.

            Примерно так и получилось с тем «как должны работать диалоги», точнее «правильные» с точки зрения a11y модальные диалоги.

            В описание к dialog role на MDN все написано очень просто:

            • The dialog must be properly labeled
            • Keyboard focus must be managed correctly

            Проблема в том, что MDN забыла еще об одном важном пункте, а все остальные забыли про один из сказанных – про то, что модал не должен выпускать фокус из своих рук. Активный элемент надо посадить под замок. Не дать ему сбежать из нашей ловушки.


            Это будет настоящий детектив!
          • Как я проходил собеседования на позицию Junior .Net Developer

              Приветствую всех. Сегодня расскажу вам как я проходил собеседования в Москве на позицию .Net Developer. Усиленно готовился к собеседованиям месяц, целыми днями сидел и смотрел вопросы и пытался отвечать на них, а также читал книжки по С#. В статье привожу интересные задачки и вопросы, которые мне задавали в разных компаниях в Москве. Заранее скажу, что я попал в ту компанию, в которой хотел. Я прошел 4 собеседования в этой компании и меня наконец то взяли! Много статей было прочитано в частности здесь и надеюсь, что эту статью тоже будут читать начинающие Net разработчики и спрашивать все в комментариях.

              Кому интересна тема прохождения собеседований, прошу под кат!
              Читать дальше →
            • Погружение в CSS: метрики шрифтов, line-height и vertical-align

              • Перевод
              image

              line-height и vertical-align — это простые свойства CSS. Настолько простые, что большинство из нас уверены, что понимают, как они работают и как их использовать. К сожалению, это не так — на самом деле они, пожалуй, являются самыми сложными свойствами, поскольку играют важную роль в создании малоизвестной особенности CSS под названием «строчный контекст форматирования» (inline formatting context).

              Например, line-height можно задать в виде длины или безразмерного значения, но его значение по умолчанию — normal (стандартное). Хорошо, но что значит «стандартное»? Зачастую пишут, что это (как правило) 1, или, может быть, 1,2. Даже в спецификации CSS нет четкого ответа на данный вопрос.

              Нам известно, что безразмерное значение line-height зависит от значения font-size, но проблема в том, что font-size: 100px выглядит по-разному для разных гарнитур. В связи с этим возникает вопрос: всегда ли line-height будет одинаковым или может различаться? Действительно ли это значение находится в промежутке от 1 до 1,2? А как vertical-align влияет на line-height?

              Давайте углубимся в не самый простой механизм CSS…
              Читать дальше →
              • +28
              • 10,8k
              • 9
            • Стоимость недвижимости на тепловых картах

              В статье рассказано о процессе создания тепловой карты цен по продаже недвижимости для Москвы и Санкт-Петербурга.


              Тепловая карта цен Москвы


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

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