Разделы
Veselov CV | vvShop © 2008 – 2017
Контакты
email: igor@veselov.sumy.ua
skype: utz0r2

muuri - скрипт отзывчивых, сортируемых, фильтруемых и перетаскивемых макетов сетки


muuri - скрипт отзывчивых, сортируемых, фильтруемых и перетаскивемых макетов сетки

https://haltu.github.io/muuri/

Вопросы, на которые желательно ответить, прежде чем работа над интернет-магазином перейдет в практическую стадию


Вопросы, на которые желательно ответить, прежде чем работа над интернет-магазином перейдет в практическую стадию

1. Нельзя ли обойтись без сайта?

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

Продавайте уже сейчас, если желаете это делать. Магазин можно сделать на любой площадке за 2 часа. Инструменты для продвижения лежат в открытом доступе.


2. Готовы ли вы тратиться на рекламу?

Без рекламы ничего не получится. Если вы сделали сайт, то это – самая незначительная часть расходов. Важно продумать стратегию продвижения и оценить эффективность рекламной кампании.

По статистике магазин выходит на нужный уровень только спустя пару лет. Откажитесь от сомнительных каналов, если не готовы много тратить на рекламу.


3. Сколько продаж у ваших конкурентов?

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


4. Что у вас с каталогом и базой?

Чтобы сайт заработал, нужно написать тексты, сделать каталог товаров и т.д. Еще этого нет? Обязательно сделайте.


5. Сколько тратите на поддержку проекта?

Допустим, у вас есть маленький интернет-магазин на базе Битрикс. Учитывая введение онлайн-касс, это обойдется вам в 60 тысяч рублей в год. Будьте готовы к тому, что могут случиться еще какие-нибудь изменения.


6. Когда по плану выход в плюс?

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

vvShop - продвинутая система управления интернет-магазином

midnightcowboycoder.com - онлайн сервис преобразует sql запрос в запрос для Laravel Builder


midnightcowboycoder.com - онлайн сервис преобразует sql запрос в запрос для Laravel Builder

http://www.midnightcowboycoder.com/

Принципы правильной товарной страницы


Принципы правильной товарной страницы

1. Большие и красивые изображения
2. никаких маленьких изображений - вообще!
3. делайте максимальный обзор - видео + 360 градусов
4. Дефицит побуждает к действию
5. Отзывы клиента вызывают доверие
6. Ясная процедура доставки и возврата товара
7. Быстрый сайт
vvShop - продвинутая система управления интернет-магазином

nginx-module-vts - модуль nginx для отображения virtual host traffic


nginx-module-vts - модуль nginx для отображения virtual host traffic

https://github.com/vozlt/nginx-module-vts

simplario/quedis - очередь для redis


<?php

// Bootstrap
// =========================================

require_once(__DIR__ . '/vendor/autoload.php');

// Init
// =========================================

$redis = new \Predis\Client();
$quedis = new \Simplario\Quedis\Queue($redis, 'ExampleNameSpace');


// Put message to Quedis
// =========================================


// add new messages
$message11 = $quedis->put('transaction-queue', 'transaction-11');
$message12 = $quedis->put('transaction-queue', new \Simplario\Quedis\Message('transaction-12'));


// with delay
$message22 = $quedis->put('transaction-queue', 'transaction-21', 60 * 5);
$message22 = $quedis->put('transaction-queue', 'transaction-22', (new \DateTime())->modify('+1 day'));


// with priority
$message32 = $quedis->put('transaction-queue', 'transaction-31', 0, 'high');
$message32 = $quedis->put('transaction-queue', 'transaction-32', 0, 'low');


// Get Quedis statistic
// =========================================


// for concrete queue
$queueStat = $quedis->stats('transaction-queue');


// for all queues
$statsAll = $quedis->stats();


// Stop/start queue
// =========================================


// stop queue
$quedis->stop('transaction-queue');


// for all queues
$quedis->start('transaction-queue');


// check
$isStop = $quedis->isStop('transaction-queue');
print_r($isStop);


/**
 *
 * Take message from Quedis
 *
 *   Message flows (like in the Beanstalk: http://beanstalkc.readthedocs.io/en/latest/tutorial.html )
 *   ------------------------------------------------------------------------------------------------
 *
 *   1)   put            pop
 *       -----> [READY] --------> *poof*
 *
 *
 *   2)   put            reserve               delete
 *       -----> [READY] ---------> [RESERVED] --------> *poof*
 *
 *
 *   3)   put with delay               release with delay
 *       ----------------> [DELAYED] <------------.
 *                             |                   |
 *                             | (time passes)     |
 *                             |                   |
 *        put                  v     reserve       |       delete
 *       -----------------> [READY] ---------> [RESERVED] --------> *poof*
 *                            ^  ^                |  |
 *                            |   \  release      |  |
 *                            |    ``-------------'   |
 *                            |                      |
 *                            | kick                 |
 *                            |                      |
 *                            |       bury           |
 *                         [BURIED] <---------------'
 *                            |
 *                            |  delete
 *                             ``--------> *poof*
 *
 */


// just pop single message
$message = $quedis->pop('transaction-queue');
print_r($message);


// just pop single message with timeout (redis blpop timeout)
$message = $quedis->pop('transaction-queue', 10);
print_r($message);


// reserve flow
$message = $quedis->reserve('transaction-queue', 10);
$quedis->delete($message);


// reserve > bury > kick > reserve > delete
$message = $quedis->reserve('transaction-queue', 10);
// something goes wrong ...
$quedis->bury($message);
// ok lets retry one more time ...
$quedis->kick($message);
$messageSame = $quedis->reserve($message);
// all is ok!
$quedis->delete($messageSame);


// Iterator usage
// =========================================


// iterate reserve all messages
$iterator = $quedis->iterator('transaction-queue', 'reserve', 10);
foreach($iterator as $index => $message){
    print_r($message);

    $quedis->delete($message);
}


// or like standalone with pop logic
$queue = new \Simplario\Quedis\Queue(new \Predis\Client(), 'super-puper-quedis');
$iterator = new \Simplario\Quedis\Iterator($queue, 'transaction-queue', 'pop', 10);
foreach($iterator as $index => $message){
    print_r($message);
}
https://github.com/simplario/quedis
«»
Вверх