ECMAScript 2015 нам поможет

Будущее уже наступило, дорогой друг! Хватить уже оправдывать свою лень тем, что браузеры что-то там не поддерживают. Пора решать старые задачи по-новому! Пора уже взять и выучить все новые возможности JavaScript из «новой» спецификации ECMAScript 2015 (также известна как ES6). Решил я написать обзорную статью с примерами нововведений. Зачем? Во-первых, хочется вас ещё раз подтолкнуть…

Read more ECMAScript 2015 нам поможет






Makefile спешит на помощь

Сегодня мы поговорим о старых-добрых Makefile‘ах и о том, как они могут облегчить современным web-разработчикам жизнь. Начну, пожалуй, с вопросов. Бывало ли у вас при переключениях между разными проектами состояние, когда вы не знаете или не помните, какой командой нужно установить или обновить зависимости, собрать приложение или же запустить его? Вы всегда помните менеджер пакетов,…

Read more Makefile спешит на помощь






Знакомство с Webpack

Наверно, уже каждый разработчик хотя бы мало-мальски интересующийся новостями в своей профессиональной сфере слышал про webpack. Что это за зверь, и для чего он нужен, мы с вами разберём сегодня? Начнём с определения. Webpack — это невероятно мощный, гибкий и популярный сборщик модулей JavaScript. Он уже успел не раз удивить JS-сообщество своими возможностями, завоевав сердца…

Read more Знакомство с Webpack






Unit-тестирование AngularJS-приложений

Как легко догадаться из названия, Unit-тестирование — это тестирование отдельных единиц (англ. unit) кода. Под единицей подразумевается небольшая изолированная часть кода, выполняющая конкретную функцию. В сегодняшней статье мы посмотрим о том, как тестировать при помощи Jasmine различные сущности фрэймворка AngularJS. Каждая из них имеет свою специфику, поэтому нужно знать определённые шаблоны, правила и рекомендации, чтобы…

Read more Unit-тестирование AngularJS-приложений






HTML5 Canvas. Рисуй и анимируй!

HTML5 уже давно на дворе, а мы в этом блоге ещё ни разу ничего на холсте (canvas) не нарисовали И чтобы исправить эту несправедливость, я сегодня на достаточно простом примере расскажу и покажу, как рисовать и анимировать с помощью этого интересного элемента web-страницы. Эти знания пригодятся вам, например, при разработке HTML5-игр. Сразу скажу, что сегодня…

Read more HTML5 Canvas. Рисуй и анимируй!






Unit-тесты с асинхронностью в Jasmine

Продолжая тему тестирования, давайте разберёмся, как в Jasmine работать с асинхронностью. При разработке клиентской части — это, на мой взгляд, достаточно редкий случай тестов, но знать всё равно будет полезно! Вообще, в unit-тестах при помощи mock-ов желательно избавляться от асинхронности, чтоб гарантировать один из критериев unit-тестирования — изолированность модуля от другой части приложения и высокая…

Read more Unit-тесты с асинхронностью в Jasmine






Заглушки для HTTP-сервера в AngularJS-приложении

Сегодня мы поговорим про заглушки в AngularJS-приложениях. Именно в приложениях, а не в тестах! Очень часто при разработке клиентской части приложения приходится реализовывать новую функциональность, не имея при этом рабочей функциональности на серверной стороне. А ещё иногда возникает потребность показать заказчику прототип приложения, не реализовывая при этом API для экономии времени. Когда-то я делал для…

Read more Заглушки для HTTP-сервера в AngularJS-приложении






when и expect в сервисе $httpBackend

Сегодня поговорим о unit-тестировании AngularJS-сервисов, которые предоставляют интерфейс для обмена данными с сервером, а если быть точнее, то мы рассмотрим один нюанс — отличие expect’ов от when’ов при работе с $httpBackend‘ом из модуля ngMock. Но давайте будем последовательны и начнём с начала. Встроенный AngularJS-сервис $http делегирует всю работу по обеспечению кроссбраузерности в работе с XMLHttpRequest…

Read more when и expect в сервисе $httpBackend






Проблема с npm

Сегодня я поведую историю одной проблемы с пакетным менеджером npm. В один прекрасный день столкнулся с такой проблемой: часть UI в нашем проекте перестала собираться. Валилось всё на стадии загрузки npm-зависимостей. Ошибка была для меня непонятной, т.к. никогда на такое я ещё не нарывался. Но тем оно и интереснее! Заключалась ошибка в том, что npm…

Read more Проблема с npm






Разработка лэндингов

Недавно сделал своей супруге лэндинг-страницу по теме логопед во Всеволожске. Поскольку мой блог — технический, я опишу то, как и чем я это делал. В процессе разработки помимо само собой подразумевающегося (HTML, CSS, JS) я выбрал следующий арсенал: Less, AngularJS, Grunt, RequireJS. Многие спросят: «Зачем для лэндинга AngularJS»? Ответ тут простой. Во-первых, конкретно для этого…

Read more Разработка лэндингов