• Подборка подкастов и видеокастов по контент-маркетингу, дизайну интерфейсов и юзабилити

      На прошлой неделе мы рассказывали о книгах, которые могут пригодиться дизайнерам и контент-маркетологам. Сегодня мы решили посмотреть дополнительные источники по теме в аудио- и видеоформате.


      Фото francois schnell CC / Flickr
      Читать дальше →
    • Чек-лист вёрстки. Что можно отдавать клиенту, а что надо переделывать

        Идеальная вёрсткаВы PM. Как узнать – готова ли вёрстка к реальному использованию?
        Вы заказчик. Как убедиться, что работа выполнена качественно?
        Как оценить качество вёрстки?

        Когда я стал тим-лидом, а позже PM, передо мной стала задача проверять вёрстку наших проектов. Нужно было выработать формальные, легкопроверяемые критерии, соответствие кода которым, должно было давать некую гарантию, что не будет факапов и ни клиент, ни программеры не сказажут потом “WTF?”.

        Клиенту неважно насколько красив ваш код, но ему важен результат. Качественный код нужен фирме, т.к. он надёжней и в будущем его будет легче поддерживать.

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

        Итак что же это за список?

        Краткая версия теперь доступна на html5checklist.com (github), где можно вносить pull-request'ы.

        История обновлений:
        • 2015/08/11: Актуализировал рекомендации по оптимизации скорости загрузки. Добавил требование поддержки Retina. Дополнил «19. Мелочи» требованием что изображения должны масштабироваться в зависимости от размера окна.
        • 2015/08/10: актуализирован список исключений для CSSLint
        • 2015/07/29: актуализирован пункт №13 «плохо»/«хорошо»
        • 2015/04/08: добавлено требование использования препроцессоров и рекомендация использования систем сборки
        • 2013/04/25: добавлены анализаторами качества кода: CSSLint и JSHint, указан сайт подбора css font stack (спасибо @fliptheweb), мелкие уточнения (работу интерактивных элементов страницы, что не пропадает фон на высоких разрешениях, не должно быть пустых презентационных блоков, при проверках контента — пробовать удалять заголовки, менять местами блоки)
        • 2013/04/24: добавил пункт об минимизации каскада (БЭМ-техники, MCSS, SMACSS), необходимости вписывания в экран моб. устройства, заменил ссылку на проверочный текст отображения стандартного html на код с normalize.css, поправил пример где в рекомендации встречался длинный каскад, упомянул про Opera на Presto и новый уровень семантики — в именах классов BEM.
        • 2012/04/12: отсортировал пункты проверки в порядке важности, выделил главные, дополнил статью подробностями
        • 2011/12/07: дополнил согласно доклада на WSD Минск'2011.
        • 2011/07/19: добавлено про повышение надёжности вёрстки благодаря html5-тэгам, про необходимость favicon/apple-touch-icon, отсутствие багов при ресайзе textarea
        • 2011/06/15: добавил пояснения какие ошибки валидации допустимы, рассказал про отсутствие официальной кнопки «HTML5 Valid» и про официальное лого HTML5 на сайте.


        Далее с примерами - как проверить html, даже если вы ничего не понимаете в вёрстке.
      • Масштабирование текста в блоке с помощью Jquery

        Недавно получил заказ, где между всего прочего нужно было сделать блок, в котором текст должен масштабироваться внутри блока. Т.е не зависит, сколько текста в блоке – весь текст должен быть видимым! Сначала думал считать символы, строки… Сверстал блок в котором должен находиться контент и при вводе текста заметил, что блок растягивается в зависимости от наполнения. Родилась идея сделать функцию, которая будет подбирать размер шрифта, сравнивая исходную высоту блока и настоящую. Так родилась вот эта функция:

        image

        Читать дальше →
      • Бесплатная подборка из 40 эффектов CSS

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

          1. Часы CSS3 с jQuery


          Эти часы созданы с использованием одного из основных инструментов CSS3 – rotate и с подключением библиотеки JQuery.



          Читать дальше →
        • Низкий FPS при прокрутке страницы. Решение проблемы background-attachment: fixed

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

            body{
            	background: url("../images/bg.jpg") no-repeat center center / cover fixed;
            }
            


            и довольный нажал F5. Красота, да и только!

            Начал скроллить страничку вниз и чувствую, что-то не то…


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

            Я начал свое расследование…
            Читать дальше →
          • Что почитать, чтобы повысить свой уровень JavaScript

            • Translation
            От переводчика: Я думаю многие читали статью Rey Bango — What to Read to Get Up to Speed in JavaScript, но до хабра обсуждение так и не докатилось. Предлагаю закрыть этот пробел и поговорить о хороших книгах, блогах, тренингах и конференциях, посвященных в первую очередь клиентскому JavaScript и клиентской веб-разработке. Чтобы не копипастить оформляю статью в виде перевода.

            Сейчас в рассылке JSMentors JavaScript идет обсуждение книг, который стоит прочитать, чтобы улучшить свои знания. Там было много позитивных отзывов и предложений. Я хочу показать вам те книги и интернет-ресурсы, который я считаю важными и которые помогут вам в обучении. На этой странице я перечислил большое количество источников, разделенных по уровням.

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

            Не заставляю вас читать все книги, которые предложены ниже. Эти книги я читал на протяжении многих лет и почерпнул в каждой много полезного. Я их распределяю по категориям, чтобы вам было проще работать с ними. Выберите книги, которые подходят вам.
            Читать дальше →
            • +157
            • 93.4k
            • 31
          • Руководство по HTML/CSS/JavaScript

              Frontend Guidelines

              Правила и руководства оформления, форматирования HTML, СSS и JavaScript кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.

              От переводчика

              Приветствую всех снова, меня зовут Максим Иванов, и сегодня я подготовил перевод, который, возможно, окажется для вас полезным. Бенджамин Де Кук (Benjamin De Cock), разработчик из Бельгии, собрал некоторые указания по оформлению кода, которые позиционируют себя как лучшие практики по написанию HTML, CSS, JS. Конечно, существует множество рекомендаций, например, есть хороший гайдлайн от Google, наверное, есть еще что-то, однако, если следовать хотя бы некоторым из них, то можно надеяться, что ваш код станет лучше. В отдельных случаях следование этим гайдлайнам не полезно, а совсем наоборот. В общем и целом, все зависит от вашего опыта и виденья дела, если вы новичок, то скорее вам будет полезно оценить то, что пишут другие и в обществе считается верным, если вы гуру, то наверное вам и не нужны гайдлайны, которые написаны непонятно кем на ваш взгляд. Итак, приступим.
              Читать дальше →
            • Функциональные выражения в JavaScript

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

                Есть множество различных способов объявить функцию:

                function A() {};             // декларация функции
                var B = function () {};       // функциональное выражение
                var C = (function () {});     // функциональное выражение с оператором группировки
                var D = function foo () {};   // именованное функциональное выражение
                var E = (function () {})();   // самовызывающееся функциональное выражение
                var F = new Function();     // конструктор функции
                var G = new function() {};   // вырожденный случай: конструктор объекта
                

                В таком обилии сложно не запутаться, не так ли? Как правило, в повседневной жизни мы используем не более трех различных типов объявления функций, и это отлично работает. Однако если копнуть поглубже, то может оказаться, что большинство из нас даже не подозревает какой объём таинств и подводных камней хранит в себе операция объявления функции.
                Читать дальше →
              • Три особенности JavaScript, о которых полезно знать каждому Java/C-разработчику

                • Translation


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

                Пожалуй, вокруг JavaScript разгоралось больше всего споров в истории программирования. Помимо его недостатков (отчасти рассмотренных в новых спецификациях ECMAScript), большинство программистов недовольны следующими моментами:

                • DOM, который многие ошибочно считают эквивалентом самого языка JavaScript, обладает очень неудачным API.
                • Когда переходишь на JavaScript с языков С и Java, то попадаешь в ловушку синтаксиса, который устроен не так, как в императивных языках. Это очень часто приводит к багам и сильно раздражает.

                В результате JavaScript обрёл довольно плохую репутацию, которой он, в общем-то, не заслуживает. И чаще всего это связано с тем, что многие разработчики переносят на JavaScript свой опыт работы на Java или С/С++. Здесь разобраны три наиболее трудных случая, демонстрирующих разницу в подходах между Java и JavaScript.
                Читать дальше →
              • Завершён перевод книги «Pro Git»

                  Что может быть лучшим подарком на день знаний для программиста? Конечно, полезная книга ;) Поэтому команда переводчиков «Pro Git» поднапряглась и доделала перевод книги на русский язык.

                  «Pro Git» — это довольно обширная обучающая книга о Git от Скотта Шакона — активного участника разработки проектов Git и GitHub. Автор рассматривает в тексте всевозможные аспекты работы с Git'ом, начиная с установки программы и базовых принципов работы децентрализованных систем контроля версий, и заканчивая рассмотрением внутреннего устройства Git'а и созданием валидных объектов в базе Git'а собственными руками. Несмотря на довольно обширный материал и затрагивание довольно специфических тем, книга написана довольно простым языком, содержит массу примеров и иллюстраций, и поэтому должна быть понятна и новичкам, только начинающим знакомиться с системами контроля версий.

                  Последняя версия перевода книги доступна в форматах pdf, epub, mobi.
                  Также доступна онлайн-версия перевода, но она, к сожалению, не обновлялась с мая.
                  Читать дальше →
                • Список YouTube-каналов для обучения веб-разработке

                    image


                    Привет, хабражители!

                    Представляю вам список YouTube-каналов для обучения веб-разработке. Список доступен на гитхабе, там он будет пополняться и редактироваться. В планах — создание отдельной странички для фильтрации каналов по тегам и рубрикам.

                    Также хочу попросить вас о небольшой услуге: если вы знаете канал, не вошедший в список — опубликуйте ссылку на него в комментариях или отправьте pull request. Сообщество будет благодарно вам.

                    Под катом — текущая версия списка.
                    Читать дальше →
                  • 15 советов и хитростей инструментов разработчика Chrome, которые вы обязаны знать

                    • Translation
                    Сегодня Google Chrome является самым популярным браузером среди веб разработчиков. С быстрым, шести недельным, циклом релизов и мощным набором постоянно расширяющихся инструментов разработчика, превратившим браузер в инструмент, который вы обязаны иметь. Большинство из вас, вероятно, знакомы со многими его функциями, такими как «живое» редактирование CSS, используя консоль и отладчик. В этой статье мы с вами рассмотрим 15 захватывающих советов и хитростей, которые позволят улучшить вашу производительность еще больше.
                    Читать дальше →
                  • Photoshop в Ubuntu

                      Резюме


                      Мы будем использовать VirtualBox с установленными windows и photoshop, затем интегрируем виртуальную машину в ubuntu. В итоге, мы, практически, не будем ощущать, что используется эмулятор.



                      Читать дальше
                    • 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: Невероятно простой счет.

                      Читать дальше →
                    • Большая подборка ссылок о галереях и всем, что с ними связанно

                      • Translation
                      Дадли Стори, автор «Pro CSS3 Animation», представил подборку своих статей с сайта demosthenes.info о галереях на сайтах и всем, что с ними связано. Решения используют HTML, CSS и PHP в различных комбинациях, текст статей на английском языке. В начале каждой статьи представлена демонстрация эффекта, о котором говорит автор.
                      Читать дальше →
                    • Экспорт Избранного на Хабре в PDF. Версия 2.0

                        Доброго времени суток, хабражители!



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

                        Представляю вам новую версию программы закачки статей с Хабра, Гиктаймс и Мегамозг в формате PDF.

                        Новый проект называется HabraParse.

                        Проект состоит из библиотечки, которая парсит сайты, и скрипта, использующего лишь часть возможностей этой библиотеки. Скрипт написан на python3, для его работы потребуются модули docopt, requests и weasyprint (все их легко можно установить командой pip install name).

                        На текущий момент в скрипте имеются следующие возможности:
                        • скачать статью по её ID;
                        • скачать список URL избранного для заданного пользователя;
                        • скачать статьи из избранного в папку в формате PDF или HTML (пока реализация HTML не на высоте, поэтому по умолчанию используется формат PDF, но он работает значительно дольше).


                        Использование опций --gt/--mm позволяет сохранять статьи с GeekTimes.ru и Megamozg.ru.

                        Краткое описание параметров скрипта
                        Usage:
                          ./habraparse.py save_favs_list [--gt|--mm] <username> <out_file>
                          ./habraparse.py save_favs [--gt|--mm] [-cn --save-html --limit=N] <username> <out_dir>
                          ./habraparse.py save_post [--gt|--mm] [-c --save-html] <topic_id> <out_file>
                        

                        По умолчанию все команды работают с проектом HabraHabr.ru.
                        При задании опций --gt/--mm скрипт будет работать с GeekTimes.ru/Megamozg.ru.

                        Команды:
                          save_favs_list - сохранение в файл <out_file> списка URL избранного для пользователя <username>
                          save_favs - сохранение в папку <out_dir> статей из избранного для пользователя <username>
                          save_post - сохранение в файл <out_file> статьи с заданным ID
                        



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

                        Читать дальше →
                      • Интересный и одновременно простой слайдер на чистом CSS3

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

                        • Translation
                        Сайтов с адаптивной разметкой с каждым месяцем становится все больше, заказчики кроме кроссбраузерности все чаще требуют адаптивность, но многие разработчики не спешат обучаться новым техникам. Но адаптивный дизайн — это просто! В этой статье представлено 5 примеров адаптивной разметки различных элементов веб-страниц.


                        Читать дальше →
                      • Руководство по оформлению HTML/CSS кода от Google

                        • Translation

                        От переводчика


                        С удовольствием ознакомился с этими рекомендациями и теперь предлагаю вам перевод.

                        Введение


                        Это руководство описывает правила для оформления и форматирования HTML и CSS кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.

                        Это относится к рабочим версиям файлов использующих HTML, CSS и GSS

                        Разрешается использовать любые инструменты для минификации компиляции или обфускации кода, при условии, что общее качество кода будет сохранено.
                        Читать дальше →