Первые попытки раскрутки сайта. Контент, Связь с внешним миром, Поисковики, Тюнинг

май 11 , 2016

Первые попытки раскрутки сайтаВы хорошо умеете продвигать сайты и выталкивать их на первые позиции в поисковиках? Вы точно знаете, что нужно сделать для привлечения и удержания посетителей? Выучили наизусть все хорошие сеошные теги? Каждый Ваш пост собирает тысячи восторженных читателей, и публика разбирает Ваши статьи на цитаты и копипастит их в статусы Контакта? Тогда эта статья не для Вас, ничего интересного не найдете. В этом цикле я начну делиться с моей любимой публикой первыми попытками тюнинга сайта для того, чтобы вышеозначенные примеры начали понемногу сбываться. Может, получится здорово, а может, в итоге пойму, что это занятие совсем не для моих умов, и нужно дальше по тихому пилить статьи в блог, а для раскрутки привлекать умных и шустрых людей. В общем, что выйдет из этой затеи, непонятно совершенно. К тому же я никогда не занимался подобными вещами, посему эти статьи будут своеобразными записками лузера. Будет это весело или скучно, узнаем в процессе, а пока начну первый пост, в котором соберу в кучу очень разные вещи. Велкам!

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

Развиваем тему интернет-магазина. Реализуем оформление заказа на клиенте и сервере

май 8 , 2016

Оформление заказа в интернет-магазинеВследствие большой популярности поста про корзину для интернет-магазина на javascipt и интереса публики к постройке магазинов в целом решил запилить напрашивающееся продолжение означенной статьи. Сейчас мы рассмотрим следующий этап: сбор данных о покупателе и его заказе и отправка их на сервер.
Что я подразумеваю под оформлением заказа? Как владельцу магазина мне бы хотелось предоставить на своем сайте страничку, где покупатель после накидывания товаров в корзину введет свои контактные данные, нажмет одну кнопку "Отправить заказ", и эти данные каким-то образом будут мне известны, сохранены в надежном месте, и я получу уведомление о новом заказе, дабы не пропустить это радостное событие и максимально быстро обработать этот заказ.
Чем это грозит программисту? Сперва нужно создать эту страничку, нарисовать на ней форму с нужными полями, вроде имени, телефона и адреса доставки. Затем написать немного javascript-кода, который будет, в первую очередь, собирать данные и отправлять их на сервер, а во вторую очередь, заниматься всякими прикольными штуками, например, валидацией введенных данных, обработкой ошибок от сервера, показом сообщений от этих ошибок и прочее. После этого создать в mysql несколько табличек, в которую нужно сохранить полную информацию о заказе, и написать серверный код, который и будет эту инфу обрабатывать. И последняя важная часть - это отправка писем менеджеру магазину и самому покупателю.
Все, что я перечислил, это минимальный, но вполне достаточный набор для функционирования большинства несложных интернет-магазинов.
И теперь подробнее о том, как это реализовать...

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

Зачем я создал сайт webdevkin.ru и что поменялось за год

май 3 , 2016

Зачем тебе все это?Пожалуй, каждому программисту хочется иметь свой, по настоящему свой проект. Я много запустил разных сайтов, магазинов, настольных приложений за свою недолгую карьеру, и в одиночку, и с разными командами, но ни один не могу назвать своим. "Своим" - это тем, где только я определяю, как будет ресурс создан и как он будет развиваться. Завести очередной, 100-тысячный по счету блог - не предел моих мечтаний, но это интересная площадка для экспериментов. Прошел почти год с момента запуска сайта, и я записываю, не забыть дабы, как был создан этот блог, в каком виде он задумывался изначально, что происходит сейчас и какие планы у меня насчет этого проекта.

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

Улучшаем процессы разработки в Modx Revo: работа с git, деплой с gulp, тестовые окружения

май 2 , 2016

Улучшаем разработку в Modx RevoДавно не писал статьи про мою любимую CMS Modx Revo, а зря. Яндекс.метрика убедительно говорит, что статьи на эту тему пользуются большой популярностью у посетителей блога. Сегодня сей пробел частично исправлю и хочу поговорить вот о чем. К сожалению или к счастью, одной из главных фишек Modx является тот факт, что практически все содержимое сайта, включая, ресурсы, шаблоны, сниппеты, чанки и прочее-прочее хранится в mysql-базе. Из этого вытекают и плюсы, и минусы, но мне минусов видится больше.
Основные претензии: работа с git в Modx, настройка рабочего окружения, конфиги для боевых и тестовых серверов, деплой и встроенные редакторы кода
Итак, в этой статье я покажу, как я разбирался с этими пунктами, что удалось сделать успешно и какие моменты не получилось реализовать до конца. Добро пожаловать в статью и комменты!

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

Зачем нужны 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, которые стоит знать каждому веб-разработчику.

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