• Обзор возможностей современного JavaScript

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

      В ушедшем году, вышел стандарт ECMAScript 2015 (неформально ES6), который сильно изменил, то к чему мы привыкли. Появилась масса новых возможностей, которые по сути представляют собой современное надмножество языка, пытающегося решить существующие проблемы. Class, let, const, стрелочные функции… разработчик, который ранее не видел код, написанный на ES6, не сразу догадается, что перед ним, по сути, старый добрый JS.

      Есть масса прекрасных статей, посвященных современному стандарту. В этом же посте я хочу показать, что нам может предложить современный JS, когда необходимо решить насущную задачу. Например, поздравить всех c Новым Годом.
      Читать дальше →
    • Как мы в django-проекте js собираем + пара хитростей в Gulp

      Всем привет!

      Это не руководство, я делюсь опытом того, как мы в большом Django проекте от безобразной помойки скриптов на jQuery постепенно пришли к сборке и минификации сложных frontend-приложений на AngularJS при помощи gulp и browserify.
      Читать дальше →
    • Искусство командной строки



        Вот уже как неделю английская версия the art of command line висит в секции trending на Github. Для себя я нашел этот материал невероятно полезным и решил помочь сообществу его переводом на русский язык. В переводе наверняка есть несколько недоработок, поэтому милости прошу слать пулл-реквесты мне сюда или автору оригинальной работы Joshua Levy вот сюда. (Если PR отправите мне, то я после того, как пересмотрю изменения отправлю их в мастер-бранч Джоша). Отдельное спасибо jtraub за помощь и исправление опечаток.

        Enjoy!
      • Favicons, Touch Icons, Tile Icons и т. д. Что выбрать?

        • Translation
        От переводчика.
        Это перевод статьи Филипа Бернарда с сайта css-tricks.com. Часть статьи, содержащую описание работы с созданным им сервисом, я позволил себе опустить. Если вы найдете ошибки, просьба сообщить о них в личном сообщении.

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


        Фавикон был представлен в 1999 году, в Internet Explorer 5 (источник) и стандартизирован W3C несколько месяцев спустя. Это была маленькая иконка, представляющая сайт.



        С тех пор большинство настольных браузеров следуют тенденции и используют фавикон тем или иным способом. Это очень просто, не так ли? Создать маленькую картинку и добавить в любой интернет-проект, чтобы сделать его «завершённым». Ничего сложного.
        Или нет?
      • Сайт с нуля на полном стеке БЭМ-технологий. Методология Яндекса

        • Tutorial
        На прошлой неделе BBC рассказала, что для новой версии главной страницы использовала методологию БЭМ, созданную в Яндексе. По такому случаю мы решили поднять материалы мастер-класса «Разрабатываем сайт с нуля на полном стеке БЭМ-технологий» и рассказать вам, как начать использовать полный стек БЭМ-технологий в своих проектах.

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



        В статье мы расскажем, в чём преимущество вёрстки независимыми блоками и что такое уровни переопределения, познакомимся с готовыми библиотеками блоков и инструментами для автоматизации сборки. Покажем, как разные инструменты — например, autoprefixer, css-препроцессор Stylus или модульная система YModules — упрощают жизнь разработчика и создают по-настоящему удобную платформу, если встроить их в процесс разработки по БЭМ.

        На живом примере мы объясним, в чём польза декларативного подхода, когда одни и те же идеи можно использовать как для CSS, так и для JavaScript. Отдельно остановимся на декларативных шаблонах BEMHTML и BEMTREE, которые позволяют преобразовывать данные в БЭМ-дерево, описанное в формате BEMJSON и, затем в HTML. Рассмотрим в деталях, как написать серверную часть приложения по БЭМ-методологии.
        Читать дальше →
      • 300 потрясающих бесплатных сервисов

        • Translation


        Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



        A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

        • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
        • Bootswatch: Бесплатные темы для Bootstrap.
        • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
        • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
        • Strikingly.com Domain: Конструктор веб-сайтов.
        • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
        • Withoomph: Мгновенное создание логотипов (англ.).
        • Hipster Logo Generator: Генератор хипстерских логотипов.
        • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
        • Invoice to me: Бесплатный генератор счета.
        • Free Invoice Generator: Альтернативный бесплатный генератор счета.
        • Slimvoice: Невероятно простой счет.

        Читать дальше →
      • FileAPI 2.0: Загрузка файлов на сервер год спустя

          FileAPI 2.0Привет Хабр! Примерно год назад я представил вашему вниманию первую версию open-source библиотеки FileAPI, предназначенную для работы с файлами на клиенте и последующей загрузки на сервер.

          За это время был пройден долгий путь. Библиотека заработала 670+ звезд и 90+ форков. С помощью github-сообщества удалось исправить множество «детских» проблем и внести ряд улучшений. Было закрыто более 100 тасков, и благодаря Илье Лебедеву сделана загрузка файлов по частям. Сегодня я с гордостью хочу представить вам FileAPI 2.0.
          Читать дальше →
        • Реализация словаря в Python 2.7

          В этой статье пойдёт речь о том, как реализован словарь в Python. Я постараюсь ответить на вопрос, почему элементы словаря не упорядочены, описать, каким образом словари хранят, добавляют и удаляют свои элементы. Надеюсь, что статья будет полезна не только людям, изучающим Python, но и всем, кто интересуется внутренним устройством и организацией структур данных.
          Читать дальше →
        • Не пельменем единым жив программист или история о том, как все успеть

          • Tutorial
          image

          По заявкам трудящихся и в связи с переносом — возвращаю пост, который многих порадовал. Надеюсь НЛО будет не против.

          На написание этого поста меня сподвиг замечательный пост «За что конкретно я ненавижу некоторых отдельно взятых маркетологов — или как айтишник по магазинам ходил». Сразу хочу извиниться за возможные опечатки — пишу с планшета, сидя в микроавтобусе и вытягивая сеть телефоном. Hacker's keyboard очень удобен для ssh-доступа, но большие тексты писать им не очень удобно.

          IT- специалисты — народ любопытный. То соберут на базе микроконтроллеров автоматическую систему полива и освещения для любимого фикуса, то пропатчат прошивку мультиварки для раздачи торрентов. Но, по непонятной и загадочной причине, когда дело доходит до еды, пресловутый принцип DIY дает сбой. И наш герой, способный часами переделывать кинескоп старого телевизора в Луч Смерти, идет на кухню утолить голод соевым текстуратом пополам с гидроцеллюлозой и «коллагеновым сырьем».

          В этом посте я хочу разрушить миф о том, что еда может быть либо быстрой и удобной, либо съедобной. Не секрет, что многим из нас приходится работать по 12 часов в сутки, что не способствует кулинарным подвигам с участием 28 приправ и перьев с зада дракона, омытых слезами единорога. Вы получите замечательную возможность посмотреть в глаза своей половинки на 8 марта после того, как она получит не контроллер для дистанционного управления шторой, а свежевыпеченный хлеб ручной работы рано утром. Если вам надоело есть синтетику — добро пожаловать под hubracut.
          Читать дальше →
        • Возможны ли путешествия во времени?

          Столпы творения На этой фотографии космоса (да, это не рисунок), сделанной в 1995, видны «Столпы творения» из туманности Орел. Их и сейчас можно увидеть, если у вас на чердаке завалялся Хаббл и парочка шаттлов.

          Только вот беда — этих «Столпов» не существует. Точнее они перестали существовать 6 000 лет назад. Именно тогда их случайно смело взрывом сверхновой. Почему мы их видим и будем видеть еще 1 000 лет? Все просто — они находятся в 7 000 световых лет от нас. Их «текущее изображение» до нас еще не долетело. А прямо сейчас мы с вами видим прошлое. Хотите узнать подробный рецепт путешествий во времени?
          Добро пожаловать под кат
        • Мультиварка — умная кастрюля или «не доведенный до ума» гаджет


            Этот пост будет полезен всем, кто хотя бы иногда что-то готовит сам, а также помогает или мешает это делать другим.
            Из него можно узнать, что это за гаджет — мультиварка, какие у нее технические возможности и невозможности, внутренность, наружность, достоинства (много) и недостатки (тоже много). Расскажу кое-что и о маленьких мультиварочных хитростях, а также позволю себе общее лирическое отступление о программировании на кухне.
            Цель поста — рассказать про мультиварки, как класс объектов, не выделяя особо его представителей, но, чтобы не вести разговор о сферической мультиварке в вакууме, сделаю основным примером разбора мою модель — Panasonic SR-TMJ181.
            Те, у кого нет мультиварки узнают, нужна ли она им, но и те, у кого она есть, надеюсь, без новых знаний не останутся.
            Читать дальше →
          • Алгоритм обращения программы к API VKontakte

            Часто бывает мы хотим автоматизировать то или иное действие. Порой спешка или просто лень не дает нам возможности ознакомиться со всей документацией(по API VK).
            Разработать программу для работы с API ВКонтакте проще чем кажется. Подойдет любой язык, умеющий отправлять http get запросы (соответственно получать ответ). Например: Delphi, shell, C, Perl, PHP, Python и т. п.
            image
            Читать дальше →
          • Ускорение загрузки Windows for fun and profit

              image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

              Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
              Под катом много однообразных картинок и немножко унылого текста
            • Замыкания в Javascript [Часть 2]

              • Translation
              Предыдущая часть.

              • Замыкания
                • Автоматическая сборка мусора
                • Создание замыканий

              • Что можно сделать с помощью замыканий?
                • Пример 1: setTimeout c ссылкой на функцию
                • Пример 2: Ассоциирование функций с методами экземпляра объекта
                • Пример 3: Инкапсуляция взаимосвязанной функциональности
                • Другие примеры

              • Случайные замыкания
              • Проблема утечки памяти в Internet Explorer

              Читать дальше →
            • Манипулирование учетными записями пользователя — шаблоны реализации

                image Тема этой публикации вряд ли заинтересует опытного разработчика веб-приложений.

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

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

                Все манипуляции с учетными записями пользователя сводятся к следующим:

                1. регистрация с подтверждением по электронной почте;
                2. смена некритичных настроек;
                3. смена критичных настроек — с подтверждением паролем;
                4. смена адреса электронной почты — с подтверждением по электронной почте;
                5. восстановление забытого пароля.

                Читать дальше →
              • Готовое решение доступного видеоплеера на HTML5

                  Видеоконтент уже прочно вошёл в мир Интернета и без него уже трудно представить глобальную сеть. Тем не менее, технологии встраивания видео в гипертекстовые документы за прошедшее время прошли определённую эволюцию: от RealPlayer к QuickTime и Flash, а в настоящий момент до встроенной поддержки видео в HTML5. Тем не менее, всё это время различные реализации видеоплееров страдали как от проблем кроссплатформенности и кроссбраузерности, так и от низкого или вообще нулевого уровня accessibility. И если способы борьбы с первой группой проблем в целом понятны и существуют в форме готовых решений, то вот проблемы доступности для подавляющего большинства web-разработчиков и без того, как правило, сложны для понимания, а в отношении видео совсем оставались загадкой. Однако, к счастью, появилось готовое решение и второй проблемы, так что все желающие смогут обеспечить своим пользователям полностью доступный видеоплеер и без глубоких компетенций в web accessibility.
                  Читать дальше →
                • Rust на примерах. Часть 1

                  • Translation
                  • Tutorial
                  Этот цикл статей является вольным переводом книги «Rust by Example», которую пишет Хорхе Апарисио на Github.

                  На момент написания этого топика автор книги создал 49 глав, в первой части будет перевод первых пяти. Убедитесь, что Rust установлен и под рукой имеется документация.

                  Давайте начинать!
                  Читать дальше →
                  • +39
                  • 23.7k
                  • 8