@prophp7

Страница 60 из 1387
Ilya
07.11.2016
21:24:52
эх

Aleh
07.11.2016
21:34:09
))

Sergey
07.11.2016
21:38:50
пропаганда гомосексуализма?)

неужто узнали что Кук того

Google
Sergey
07.11.2016
21:40:20
ну да не суть...

@mkusher вчера пол дня писал статью про тесты и думаю ее удалить

бесполезно это все

Dmitriy
07.11.2016
21:41:10
нет. давайте сюда черновик. почитаем

Sergey
07.11.2016
21:41:13
либо на выходе получится книга либо статья ниочем

надо как-то больше фокусироваться на конкретных вопросах

и я не могу придумать что сначала описывать

Aleh
07.11.2016
21:41:43
https://twitter.com/chicoxyzzy/status/795742081784352768

Sergey
07.11.2016
21:42:24
@mkusher ну офигеть теперь)

Aleh
07.11.2016
21:42:26
@mkusher вчера пол дня писал статью про тесты и думаю ее удалить
мб для начала пересказать шутку дяди Боба про большую кнопку)

Sergey
07.11.2016
21:42:44
так эта хрень у меня на gist уже сколько висит

про кнопку

ну то есть статья "зачем нужны тесты"?)

Google
Sergey
07.11.2016
21:43:09
тут просто... такое дело

план пока такой был: - Про то, что все говорят о тестах но мало кто их пишет - Зачем нужны тесты или рефакторинг и цикл обратной связи - "Тесты это дорого" - Внимание, черный ящик - Не надо мокать все подряд - Пирамида тестирования

сейчас вот подумал - могу выкинуть из этого всего детали вроде "модульные/интеграционные тесты" и т.д.

и написать в общем

как тебе план?

Aleh
07.11.2016
21:47:21
не совсем понимаю первый пункт

Sergey
07.11.2016
21:47:35
это введение... ты его на gist у меня когда-то читал

Dmitriy
07.11.2016
21:47:41
либо на выходе получится книга либо статья ниочем
разделить статьи можно. Каждая статья про отдельные тесты

Sergey
07.11.2016
21:48:13
охохо, нашел еще один драфт такой же статьи написанной пол года назад)

надо бы почитать

> разделить статьи можно. Каждая статья про отдельные тесты перед этим должна быть общая статья, которая должны как бы показывать что "все связано". Да и принципы в целом общие

я вот все же думаю что основной целью статьи будет борьба с "тесты это дорого"

у меня к примеру даже без тестов надо для QA фикстуры писать, и это где-то по моим прикидкам 60%-70% времени от тестов

если бы кто со мной статистикой поделился... сколько времени на тесты уходит по сравнению с реализацией и все такое

Aleh
07.11.2016
21:50:12
а как ваши qa с фикстурами работают?

Sergey
07.11.2016
21:50:24
@mkusher при деплое фикстуры накатываются

так и работают

мы перед тем как таск в работу брать прописываем в описании к таску "как проверить" и для этого готовим фикстуры

Aleh
07.11.2016
21:50:49
типа в каждой ветке где-то в спец месте указывается, какой пакет фикстур накатывать?

Sergey
07.11.2016
21:50:57
все намного хуже

Google
Sergey
07.11.2016
21:51:08
пока что у меня есть один огромный пакет фикстур)

но уже потихоньку приходим к тому что это слишком уж сложно

Aleh
07.11.2016
21:51:31
а, ну просто если они конфликтовать будут

Sergey
07.11.2016
21:51:34
но зато так экономит время на дэмо клиенту

> а, ну просто если они конфликтовать будут такое может быть, в этом случае не проблема добавить в джобу для деплоя параметр какой набор фикстур юзать

Aleh
07.11.2016
21:52:05
у нас qa старательный, сам себе данные создает, а между деплоями на стейжинг/демо база не чистится

заодно и миграции тестятся

Sergey
07.11.2016
21:52:36
> а между деплоями на стейжинг/демо база не чистится ну ты ж вкурсе что у меня проектов побольше будет... и "не чистится " только через месяц-два

Aleh
07.11.2016
21:52:53
да понятное дело)

Sergey
07.11.2016
21:58:22
https://gist.github.com/fesor/53df2d69b6d44c1b26cf

ну вот введение о котором я говорил

добавил еще две главы

Sergey
07.11.2016
23:12:37
добавил еще главу...

остальное на днях допишу

там чистить текст надо долго

Dmitriy
07.11.2016
23:16:27
спс. Интересно пишите.

Julia
08.11.2016
00:00:33
Привет всем, может кто поможет с Laravel. Есть некий class ShowMethodsRequest extends FormRequest Который должен валидировать запрос от пользователя, но, как мне вывести ошибки в шаблоне, которые получились при валидации?

P.S.: у меня нету метода store в контроллере

Как должен в оригинале происходить процесс валидации? Куда сообщения передаются после этого...

Sergey
08.11.2016
00:03:35
https://laravel.com/docs/5.3/validation#working-with-error-messages

Google
Sergey
08.11.2016
00:03:43
в любой непонятной ситуации - читай доку

в частности тебе надо смотреть в сторону Named Error Bags

например

Aleh
08.11.2016
05:59:26
@fes0r норм ты настрочил за ночь)

Алексей
08.11.2016
07:10:12
Aleh?

Существенное увеличение max_input_vars как-то влияет на безопасность? или что-то еще

Roman
08.11.2016
07:45:21
if($errors->any()) foreach($errors->all() as $error) {{ $error }} endforeach endif

Существенное увеличение max_input_vars как-то влияет на безопасность? или что-то еще
Мне кажется, увеличение лимитов для любой штуки доступной для пользователя, всегда несет непредсказуемые последствия для безопасности

Алексей
08.11.2016
07:54:26
Но оно ведь вприницпе доступно для админа

Admin
ERROR: S client not available

Roman
08.11.2016
07:57:46
Если в чем-то сомневаешься, что оно несет ущерб для безопасности, просто пробуешь для начала гуглить "<название фичи> exploits", и смотришь, насколько много есть лазеек

Sergey
08.11.2016
08:00:50
@fes0r >А говорить мы будем о том, как сделать тесты более живучими. Как сделать так, что бы они не падали на каждый чих. Как сократить издержки на их поддержку.

Sergey
08.11.2016
08:34:56
http://php-and-symfony.matthiasnoback.nl/2015/07/refactoring-the-cat-api-client-part-1/ людям лучше доходит больше такой подход к обьяснению

больше примеров, больше кода, меньше воды о которой и так все знают)

Sergey
08.11.2016
08:40:50
много воды?

там код дальше будет

при разговорах о черных ящиках

Julia
08.11.2016
08:49:41
Если ты юзаешь форм реквест, то у тебя во вьюхе потом будет доступна переменная $errors
Только меня в случае не прохода валидации откидывает назад и получается зацикливание редиректа.

Google
Roman
08.11.2016
08:53:18
Где, и как ты вызываешь FormRequest?

Anton
08.11.2016
08:56:45
@fes0r приведи адекватный пример проперти-бэйсед тестирования) ну и использование элисбандла в качестве генерации фикстур

Aleh
08.11.2016
09:07:51
В пхп это как-то не юзается особо

Ну, не знаю случаев, когда надо верифицировать пхп апп

Roman
08.11.2016
09:11:46
@ekifox Я понял кажется. Ты вызываешь сохранение в том же методе, где и валидацию?

Julia
08.11.2016
09:14:03
@ekifox Я понял кажется. Ты вызываешь сохранение в том же методе, где и валидацию?
У меня в FormRequest есть функция rules, на основе этих правил идёт валидация. Если приходящие данные не проходят, то меня кидает на страницу назад. Если страница назад была тоже не правильная, то происходит зацикливание.

Когда кидает назад, $errors пустой

Скорее всего я делаю все не правильно

вот контроллер

вот FormRequest

function response добавил для теста

Sergey
08.11.2016
09:19:58
кстати о тестировании. вопрос адептам функциональщины и черного ящика, как бы вы тестировали кейсы: - веб сервис с пулингом, по типу skyscanner, когда ты запрашиваешь поиск, тебе дают токен и ты с этим токеном ходишь постоянно на урл пока тебе не отдадут все данные по запчастям. весь процесс выгрузки полных данных может занимать несколько минут, а данными сервис полностью не владеет и ему их нужно запрашивать у других провайдеров - веб сервис, с зависимостью от другого сервиса, который возвращает свои данные + данные соседа и зависит от этих данных - демон, который делает форк себя и управляет субпроцессами - демон консьюмер, висит на сокете и кушает очередь - излюбленные сценарии типа "я нажал на кнопку и вижу" если у тебя SPA приложение, которое активно юзает запросы к серверу

Roman
08.11.2016
09:27:38
Правильно. У тебя эта же страница попадает в бесконечный цикл, потому что FormRequest по умолчанию редиректит на страницу, с которой пришел. Пути решения что вижу я: - Сделать так, как тебе навязывает ларавель. Разделить логику отображения твоей формы, и сохранения её, в разные методы. Вынеси $paymentModel->createNew(...) в отдельный метод, вроде storePayment, и принимай там реквест. - Не юзать форм реквест, а просто создавать в твоем методе showMethods валидатор вручную, и передавать во вьюху возвращенные валидатором ошибки.

Julia
08.11.2016
09:29:08
вариант 2 интереснее :D пробовал, тогда валидатор надо запихнуть в showMethods, будет ли это красиво?

Roman
08.11.2016
09:29:13
Либо можешь заняться извращениями, и создавать вручную обьект форм реквеста, и засетить ему потом через setRedirector куда надо

вариант 2 интереснее :D пробовал, тогда валидатор надо запихнуть в showMethods, будет ли это красиво?
А красиво ли, что ты смешиваешь логику сохранения и вывода вьюхи в одном методе? Как говорил один философ, лебедь красивый как лебедь, а обезьяна красивая как обезьяна. Но если сделать обезьяне длинную шею как у лебедя, то это будет уродство. В данном случае, по философии ларавель, у тебя получилась обезьяна с длинной шеей

Julia
08.11.2016
09:34:42
Не знаю как поступить в таком случае, у меня там нет никаких форм, пользователя перекидывает с другого сайта ко мне

этакий аналог платежного хаба

Страница 60 из 1387