Webdevkin. Главная.

Зачем нужны unit-тесты на фронте. Изучаем jasmine.js вместе

апрель 17 , 2016

Изучаем jasmine.js вместеОднажды пришла в голову мысль о том, что пора становиться взрослым и начать писать тесты на свой код. Времена, когда javascript использовался преимущественно для анимашек и кликов на кнопки для открытия всплывающих окон, давно прошли. Логика работы с данными понемногу перетекает на клиентскую часть приложения, которая в некоторых случаях становится сложнее серверной. В условиях быстрого разрастания js-кода становится все проблематичнее добавлять новый функционал, не боясь поломать старый. Здесь нам и приходят на помощь unit-тесты. Об этой теме написано уже множество статей, подробно разобраны возможности различных библиотек, поэтому не буду рассматривать самые основы и копировать примеры из официальной документации. В статье я хочу показать, как можно быстро создать песочницу для unit-тестов, как подготовить код к модульным тестам и написать сами тесты. Чтобы не рассматривать какие-то абстрактные варианты, мы будем разбираться и писать тесты на примере модуля корзины для интернет-магазина, который мы разрабатывали пару статей назад. В качестве подопытного кролика выбрана популярная библиотека jasmine.js. Итак, подробнее...

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

Создаем первый bat-файл или вспоминаем создание и восстановление баз MySql из командной строки

январь 6 , 2016

bat-файлПонадобилось мне давеча из одного sql-ного дамп-файла создать несколько разных баз с одинаковым содержимым из оного дампа. Не спрашивайте зачем, у всех свои причуды. Так как заранее количество баз и их названия были неизвестны, то было принято политическое решение написать для этого дела маленький (или как уж получится) батник. Как всегда, взявшись за что-то новенькое, даже самое простенькое дело, находится несколько забавных особенностей, которые хочется сохранить и не забывать. Далее описываю, что из этого получилось...

Метки:
Читать дальше

Корзина для интернет-магазина на фронте или Пишем модульный javascript

сентябрь 6 , 2015

Корзина для интернет-магазина на фронтеОднажды пришла мне в голову безумная идея написать серию постов про различные подходы к организации javascript-кода. Такая мысль образовалась, когда по рабочей надобности изучал React.js и возрадовался от некоторых идей, заложенных его авторами. Захотелось потрогать его побольше, а потому как писать хеллоуворды из документации скучно, нужна была какая-то идея. Раз уж я начал вести блог на тему веб-разработки, то почему бы не создать простое, но более-менее внятное приложение с применением различных библиотек и фреймворков? И не только реакта, а любых других, до которых доберется дурной и воспаленный ум. В качестве подопытного приложения я возьму простенький интернет-магазин с каталогом и корзиной. Фишка будет в том, что код и каталога, и корзины будет написан на javascript. Корзина на фронте - не самое удачное решение для реальных проектов, но для небольших сайтов и в качестве изучения подойдет неплохо. Для изучения React понадобится сколько-то времени, поэтому для начала развлеку вас статьей, где опишу процесс создания нашего приложения без использования библиотек и фреймворков, но с использованием яваскрипт-модулей. Главная моя цель - это показать различные подходы к созданию приложений на javascript. С версткой заморачиваться сильно не буду, сверстаю на bootstrap, основной упор сделаю на javascript-код. Манипулировать DOM будем всем знакомым добрым jquery. Также подключим underscore для работы с данными и html-шаблонами. Данные для каталога загрузим из внешнего json-файла, а корзину будем хранить в localStorage. Итак, начнем...

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

Linux для веб-разработчика. Установка debian, nginx, php-fpm, mysql, nodejs, open-ssl, настройка программ и утилит

август 23 , 2015

Linux для веб-разработчикаLinux - отличная система для веб-разработки. Она хорошо настраивается, требует меньше ресурсов и многие вещи сделать проще, чем в Windows. Но что делать, если мы не хотим отказываться от привычных нам окошек, программ, утилит, которые предоставляет хорошо знакомая Windows? Можно поставить виртуальную машину с Linux на борту, установить все нужные программы, настроить окружение в Windows для работы с виртуалкой через sftp и работать, слушая при этом музыку через привычный аудиопрогрыватель. В статье показано, как можно настроить работу для тех, кто мало знаком с Linux и все еще думает, что это сложно и непонятно.

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

Базовые команды Linux для веб-разработчика

июль 12 , 2015

Базовые команды Linux для веб-разработчикаLinux - прекрасная операционная система для веб-разработки и не только. К сожалению, многие из нас начинают понимать это, только когда нет выбора и приходится уходить с привычной Windows и пытаться осваивать новую систему, зачастую не понимая сразу, для чего это вообще нужно. В статье приведены базовые команды Linux, которые стоит знать каждому веб-разработчику.

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

Профайлинг запросов MySql в PHP

июнь 8 , 2015

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

Метки:
Читать дальше

Объединение таблиц в MySql. JOIN

июнь 3 , 2015

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

Метки:
Читать дальше

MySql множественный insert и update

май 30 , 2015

mysqlКогда нам нужно обновить несколько строк в таблице MySql, можно выполнить последовательно несколько update-ов. Когда вставить строки в таблицу - несколько insert-ов. Но это очень плохо в плане производительности. Рассмотрим короткий пример добавления и обновления нескольких строк в таблице одним запросом.

Метки:
Читать дальше