к сожалению такая штука не подойдет, так как нужно организовать дугу именно у div блока. Изображение не обязательно может там присутствовать, например просто заливка цвета.
gulp.task('styles-prod:build', ['styles-dev:build'], function () {
return function() {
for (var p in params.build.prod.joinCss) {
for (var _p in params.build.prod.joinCss[p]) {
gulp.src(p)
.pipe(minifyCSS())
.pipe(concat(params.build.prod.joinCss[p][_p]))
.pipe(gulp.dest(_p));
}
}
}();
});
gulp.task('styles-prod:build', ['styles-dev:build'], function () {
return function() {
for (var p in params.build.prod.joinCss) {
for (var _p in params.build.prod.joinCss[p]) {
gulp.src(p)
.pipe(minifyCSS())
.pipe(concat(params.build.prod.joinCss[p][_p]))
.pipe(gulp.dest(_p));
}
}
Demetriy: я смог повторить дейстия, которые создают повторы. В общем делается это примерно так:
- я взял двух юзеров на локальной копии проекта. Одному дал 100 денег, другому 0.
- открыл 2 браузера, залогинился в обоих браузерах от лица того, у кого есть 100 денег.
- вбил в форму данные в двух окнах и зажал ф5. (для удобства я отлючил редиректы, чтобы всегда оставаться на одной странице)
- в общем картина была следующая, у пользоватяля уходит 100 денег, а второму приходит 140 - 160 денег. Тоесть 40 - 60 денег появляются с воздуха.
Попробовал сделать, как вы сказали. Тоесть поместил экшин в транзакцию. Честно говоря коэфициент упал со 150 в среднем до 110, но всеравно деньги из воздуха можно выкачать.
1) да, так как всю валидацию данных на себя берет модель формы. И метод create() вызывается именно тогда, когда валидация прошла.
2) валидация вызывается в контроллере за долго до того как мы попадаем в метод create(), тоесть если мы в него попали, предполагается, что вся необходимая валидация прошла. Если что-то не будет сохранено, то будет прошено исключение.
3) я скажу больше, там стоит проверка даже на время последней транзакции. Тоесть вы не можете переводить средства чаще, чем раз в 30 секунд. Но такое ощущение, что транзакции распараллеливаются и не все то синхронно, что я думаю.
Антон Натаров: нет, вероятность идет в 0. Просматривая логи нгинкса, там тоже самое. Тоеть 2 пост запроса в одно и тоже время до секунды. Ну и игрались начиная с 1$. Чувак пополнил счет на 1 бакс. Чото пошаманил, походу не получилось. Пополнил счет еще на 1 бакс, создал другой ак и начал гонять туда сюда, в базу куча записей с одинаковым временем. А он дошел до 100$.
Сам скрипт переводам 100500 раз проверен, протестирован и отлично работает не учитывая приколов с одновременными запросами. Я не как не могу повторить то, что он делал. Меня ловит валидация.
Сергей Протько: Вас понял. Я уже понял, что Yii2 дает не совсем точные представления о подходах. Структура и подходы Yii2, совсем не тоже самое что симфони. Чем больше углубляешься и развиваешься, тем больше появляется дискомфорт в Yii2.
codepen.io/anon/pen/ZQvWjO