Детектим ботов на javascript в браузере
Понадобилось мне на работе ловить ботов и другие автоматизированные системы для общения с сайтом, после изучения вопроса, выяснилось, что особого лекарства нет, есть несколько подходов к проверке и я решил их собрать в одном месте. В основе лежат следующие подходы: Читать далее… »
Разрабатываем переиспользуемые Vue.js компоненты
В этой статье мы рассмотрим основные подходы при создании переиспользуемого компонента на примере кнопки. Читать далее… »
Сборка фронта на nodejs
На работе появилась задачка, собрать build систему фронта для одного проекта. На самом проекте уже использовался gulp с несколькими плагинами для облегчения повседневной жизни. Как таковой фронт дев версия от прод версии ничем не отличалась, все console.log и комментарии в коде с FIXME и TODO оставались на месте) про минификацию, обфускацию и т.п. речи небыло. Сам проект написан на symfony в качестве билд системы используется capifony, система Assets самой symfony не используется в силу наличия gulp’a, а также у проекта две веб морды, мобильная и настольная + необходимо поддерживать stage и production режимы. Читать далее… »
Про Marionette.js
В сети сейчас можно найти много статей про модные ныне javascript фреймворки. Такие как Angular, React, Ember , Polymer воплощающие в себе достаточно интересные идеи и подходы + использующие относительно новые подходы при работе с веб страницей (прим. shadow-dom) и позволяющие делать восхитительные вещи, не без костылей конечно, но это уже другой разговор. Но есть еще один достаточно крупный фреймворк и это Marionette.js некоторые «продвинутые» фанаты мейнстримного фронтенда для себя похоронили этот фреймворк вместе с backbone. Но проект успешно продолжает развиваться и представляет из себя очень хороший фундамент для создания ваших веб приложений. И так будет еще очень долго, пока HTML5 и новые версии фундаментально не придумают что-то иное как работа с DOM. Так что за жизнь marionette можно не переживать. Читать далее… »
Плагин календарь jQuery date picker
Хочу поделиться одним небольшим плагином для jQuery.
Кому не хочется читать, вот репа на github и вот демо пример, чтобы потыкать.
Небольшая предыстория) впервые плагином я поделился в песочнице хабра, после прочтения этого поста, но особого эффекта (13 уников перешедших на github) это не возымело. Но вдруг о плагине рассказали на jqueryscript.net и даже китайцы умудрились презентовать на htmleaf.com.
Пишем пингпонг на JavaScript
Эта статья будет полезна в первую очередь новичкам, изучающим JavaScript. Просматривая уроки по JavaScript’у я понял, что нормального материала достаточно мало, много англоязычного и частично некоторая информация устарела и так, как показывают в некоторых уроках, я бы категорически не рекомендовал писать и учиться этому. Поэтому в этой статье я предлагаю написать вместе со мной простейший пингпонг и немного поговорить о JavaScript’e мы не будем сильно заморачиваться с кроссбраузерностью и откажемся сейчас от всяких там старых ие и индивидуальных багов разных версий браузеров. Писать мы будем в стиле ES5 хотя и для сегодняшнего дня 18 декабря 2015 года, уже могу рекомендовать начинать пользоваться ES6, но до широкого продакшена я пока в 2015 году у ES2015 я не вижу перспектив. Читать далее… »
Особенности javaScript в IE8
Возможно в 2015 году поддержка IE8 не так актуальна, но когда вы работаете с большим объемом трафика, широким ГЕО посетителей и стараетесь захватить максимальную аудиторию, требования к поддержке браузеров становятся куда жоще. Сегодня я хотел бы поделиться парой особенностей работы javascript’a в IE8 и разобрать некоторые кейсы. Если вы адепт jQuery, можно перестать читать на этом моменте. Читать далее… »
Динамическое добавление элементов в chosen
Столкнулся с задачей динамического добавления новых опций в jquery плагин chosen. Поискав по интернету, наткнулся на пару патчей в пару десятков строк и ужаснулся. А решение на самом деле оказалось на поверхности
Откуда-то берем и добавляем новые опции в наш селект
$('#select').append('<option value="1"> новая опция </option>');
Теперь просто обновим chosen
$('#select').trigger('chosen:updated');
Вот и весь профит, спасибо, за внимание.
Признаки плохого веб-дизайна
Сегодня я хочу рассказать о некоторых замечаниях, подводных камнях и показать пару примеров плохого тона в веб-дизайне. На примере посмотрим, какие ограничения и особенности есть при проектировании веб-дизайна, его художественном исполнении. Данный пост будет полезен для дизайнеров и менеджеров работающих с дизайнерами и ведущими проекты в сфере веба и мобильных приложений. Читать далее… »
Компонент управления и поиском депозитов для Joomla 3+
Предисловие. Так сложилась ситуация в жизни, что понятия о выполненной работе у нас разошлись и это привело к конфликту и я получил свой первый отрицательный на фрилансе. За 6 лет и 10 месяцев, впервые не удалось урегулировать конфликт адекватным путем устраивающим обе стороны. Так и сложилось, что теперь эта работа мне не нужна ) и я могу поделиться частью работы с общественностью. Читать далее… »