Спрайты в stylus - миф или реальность

Ты амбициозный веб-разработчик. Почитываешь на досуге phptime.ru, чтобы быть в курсе всех трендов. С особым интересом наблюдаешь за блогом про frontend. Прочитал там пост про css-препроцессор stylus и решил его использовать на своих проектах. Быстро разобрался что к чему, написал парочку миксинов. Экономишь свое время, все супер. Но тут вдруг возникла необходимость использовать спрайты. «Неплохо бы генерировать их на лету», — думаешь ты. Лезешь в документацию стилуса, судорожно листаешь страницу за страницей и ничего не находишь… Да, можно воспользоваться конвертацией в data-uri, stylus это умеет, но хочется всё же теплых и ламповых спрайтов. Еще и хипстеры-рубисты набежали из соседнего отдела, хвастаются своим Sass, издеваются. Хватит это терпеть!


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

Composer: Управление версиями


Оригинал: Composer Versioning

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

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

Grunt.js: волшебная палочка для фронтенд-разработчика

На сегодняшний день почти любой сайт, если он хоть немного сложнее домашней странички любимого кота, хранит под своим капотом кучу файлов с тоннами кода на css и javascript. Недобросовестные разработчики, ссылаясь на быстрый интернет пользователей, не стесняются выкатывать на продакшн свои творения в формате «as is», совсем не думая о том, что доля мобильного траффика растет как на дрожжах, а высокой скоростью мобильный интернет нас порадует еще очень нескоро. И это лишь один из поводов всерьез задуматься о грамотной сборке и оптимизации фронтенда. Нет, серьезно, берите свои многочисленные jquery-плагины, js-модули, виджеты, библиотеки, овощи там, рожь, пшеницу, вот это все, и минифицируйте, конкатенируйте, тестируйте, компилируйте, а такая магическая штука, как grunt.js, поможет в этом с помощью всего одной команды в консоли.

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

Эффективный рефакторинг


Оригинал: Effective Refactoring Strategies

Мой брат называет предновогоднюю неделю «потерянной» — за это время почти ничего невозможно сделать, потому что большинство людей уходят в отпуск, а оставшиеся заняты предновогодними приготовлениями. В это время у начинающих разработчиков программного обеспечения появляется прекрасная возможность сделать одну вещь, на которую у них всегда вечно не хватало времени: самое время сделать код более доступным для понимания.
У большинства разработчиков есть возможность выкроить несколько часов свободного времени для рефакторинга. Они могут, наконец, поменять сделанную в спешке еще в сентябре архитектуру разделов, могут написать тесты для разделов, которые остались непроверенными с апреля. Иными словами, за «потерянную неделю» можно сделать много полезных дел.
Но прежде чем погрузиться в пучину оптимизации кода не на шутку, следует учесть некоторые соображения.

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

CSS-препроцессор Stylus: плюсы, минусы, подводные камни

Начиная разговор о Stylus, прежде всего стоит ответить на резонный вопрос «зачем вообще использовать препроцессор?». Все очень просто — это сэкономит твое время, а дополнительными бонусами будут:
  • удобная поддержка и расширение проектов
  • автоматизация рутинных задач
  • «объектно-ориентированный» css
  • возможность быстро создавать «темы» для интерфейсов

stylus
На сегодняшний день самыми популярными препроцессорами являются SASS, LESS и Stylus. О первых двух написано довольно много, а вот Stylus незаслуженно обделен вниманием, несмотря на то, что имеет ряд преимуществ
Читать дальше →

Почему некоторые люди ненавидят PHP

Хватит верить слухам! В PHP сейчас все не так плохо!Оригинал: Why some people hate PHP

Это мой ответ на пост Quora Пользователи ненавидят PHP только из-за того, что так поступает большинство.

Существует масса причин, почему люди «ненавидят» или по крайней мере косо смотрят на PHP. Некоторые из них являются обоснованными, а другие предвзятыми.

Непоследовательность haystack / needle

Часто программисты говорят о непоследовательности haystack / needle, но это происходит из-за незнания одного простого правила:
array: needle, haystack
string: haystack, needle
На самом деле это довольно простой момент, но люди часто забывают об нем и выбирают более сложный путь.

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

Шаблонизаторы

Оригинал: On Templating

В последнее время я много работал с различными шаблонизаторами. Для последнего проекта требовалось повторное использование одного и того же набора шаблонов в приложениях JS и PHP (в сочетании с History API обеспечивается бесшовное динамическое поведение, но все еще имеющее сырой вид). На самом деле, сегодня есть только одно решение для такого рода задач — шаблонизатор Mustache. Я многому научился, работая с Mustache, и он действительно изменил мою точку зрения на сложные конструкции кода.

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

Почему я перестал следовать стандартам программирования

Оригинал: Why I Have Given Up on Coding Standards

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

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

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

Поведение и события

Оригинал: Behaviors & events

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

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

Инструкции по созданию имен для CSS

Оригинал: CSS Naming Conventions

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

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

CSS-класс и имя файла

Используйте строчные буквы в названиях всех CSS-классов и файлов. Для разделения слов в имени используйте символ «-». Например, мы можем назвать классы как-то вроде widget-latest-comments, а файлы — post.css.

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