Павел
Пропускай через профайлер ищи узкие места
mr.
Так ссылку глянь, это итак профайлер)
Павел
Уел 😁
mr.
ЧООООРТ
mr.
Сидел над SQL пыхтел) Нашел узкое место)
Ivan
Перешел с апача на nginx все работает, только почему-то код ошибки в браузере отображает в xml, а на апаче выдавал нормальную html страничку. Попробовал добавить компонент errorHandler не помогло
Ivan
По тому что content neognation так сработало.
Разве браузер не запрашивает html?
mr.
Разве браузер не запрашивает html?
Мой запрашивает, твой - не знаю. Смотри конфиги и отлаживай, я только лишь идею подкинул.
Ivan
Мой запрашивает, твой - не знаю. Смотри конфиги и отлаживай, я только лишь идею подкинул.
Ты прав ContentNegotiator знает только xml и json. В запросе посылался "Accept:text/html,application/xhtml+xml" , оно увидело xml и вернуло xml, всё вроде логично, но тогда почему апач мне возвращал html.
Alexander
http://rmcreative.ru/blog/post/yiiconf-2017--slaydy--foto-i-podkast
Павел
Вот респект и уважуха!
Павел
mr.
Оптимизировал запрос, +1 поинт в знанеие SQL
Павел
Давай профайлер в студию
mr.
Давай профайлер в студию
https://explain.depesz.com/s/exxe
mr.
Проект в проде, данные набираются. ХЗ как в будущем поведет себя запрос.
Alexander
http://yiiframework.ru/news/166/auth-client-213-http-client-204-mongodb-214
mr.
Коллеги, мне нужна ваша помощь. У меня есть проект который с железяками работает(да, на РНР, да сам в шоке почему другой ЯП не выбрал :) ), так вот он не покрыт тестами. Заказчик отправил доработки, но на прод что-то выкатывать не покрыв тестами не хочу, да и понятно, чем это закончится вероятно... Так вот проблема в том, что некоторые операции выполняются через консольные методы по крону, на которых завязано много логики. НО! Всё общее состояние системы хранится в БД, чтобы даже после рестарта сервера продолжить адекватно работать. ВОПРОС НА МУЛЬЁН Как это дерьмо покрыть тестами, конкретно сейчас надо API покрыть. Проблемы.... Ну у меня PHP крутится в докере, там же и крон дёргается. Надо как-то тестовое окружение что ли подготовить, где не будет крона, чтобы я смог сэмулировать некоторое состояние системы, а "демоны" не обломали меня. МБ сделать в консольных командах проверки на ENV_TEST. ХЗ чёт, СЛОЖНААА
mr.
Roman
хох 😊 успехов тебе, приятель 😊
Alexander
отрефакторить слой для работы с API
Alexander
чтобы пофиг было, откуда его запускать
Alexander
и его уже тестить
mr.
отрефакторить слой для работы с API
Там эти консольные команды состояние некоторых сущностей меняют, с которыми АПИ работает. Апи приложение и фронтенд у меня взаимодействуют с сервисом. Вероятно, надо все 3 части эти тестировать.
Dmitriy
для начало api и разделять это все на слои. Судя по тексту там все в коммандах
mr.
Нет, не всё, команды с сервисом опять же взаимодействуют
mr.
Команды эти от железок информацию собирают и если выполняются какие-либо условия, то просят сервис сделать что-то
mr.
Итак, я нубас в тестах, поэтому буду вслух произносить, что делаю)) Для начала, логично, нужно настроить окружение тестовое. Как по уму "состояние" воспроизвести, фикстуры?
mr.
Вся БД лежит в миграциях, так что поднять структуру на тестовой бд - изи.
mr.
Ну вдруг есть в край дурные методы_))
mr.
А где писать, yii migrate up?
mr.
я вот создал контейнер db-test, описал db компонент в common/config/test.php
mr.
Ау, есть кто?
Dmitriy
А где писать, yii migrate up?
зачем ? что тестировать нужно то ? может лучше мокать ?
mr.
зачем ? что тестировать нужно то ? может лучше мокать ?
Не, не лучше, наверное. Нужно апи протестировать и некоторые хитрые взаимодействия с ним.
Dmitriy
Api свое ?
Dmitriy
Есть Yii::$app->runAction
Dmitriy
для запуска миграций . если нужно
Dmitriy
у нас все CI делает, но тестирование сложней и не на yii2
mr.
Я миграции в php контейнере накатил вызвав ./yii_test migrate
mr.
Блин, тестирование слабо задокументированно чет.
mr.
Какой тип теста методы апи дёргает и смотрит состояние моделей, функциональный?
mr.
Стыдно(
mr.
Блин и как на зло все cms/cmf еле покрыты тестами, ппц
Sergey
есть пользователи codeception 2.3 на php5?
Sergey
у вас функциональные тесты на yii1 нормально работают?
Maxim
присоединюсь к вопросу о тестах. есть unit тесты, которые тестят кусочки по отдельности. а теперь мне надо весь бизнес-процесс протестировать например прием заказа, отправка нотификации, создание поставки, её отсылка, выставление счета. куда копать? спасибо заранее :)
Maxim
приложение НЕ web, т.е. взаимодействие с ним без браузера вообще.
Sergey
функциональные тесты
Maxim
а примерчик есть где-нибудь какой-нибудь? с чего начать то? :_
Sergey
http://codeception.com/docs/04-FunctionalTests
Maxim
`<?php $I = new FunctionalTester($scenario);` ругается Notice: Undefined variable: scenario in, что я забыл и где?
Юрий
Переменную указать, разумеется
Maxim
ну а что это за сценарий то? кто его указывает и где?
Maxim
я сам называю?
Maxim
киньте плиз простейшим примером функционального теста в codeception
Dmitriy
https://github.com/yiisoft/yii2-app-basic/blob/master/tests/functional/ContactFormCest.php
Evgeny
Народ, всем доброго пятничного вечера
Borys
aloha
Evgeny
если кто дружит с js/jq подскажите в какую сторону копать - вопрос про ajax. К примеру посылаю 3 запроса ajax/pjax. При каждом запросе показываю лаодер вместо кнопки (чтоб народ видел что че то происходит) Сервак че то там начинает отвечать. Как по ответам понять к какому именно запросу этот ответ? что бы выключить лаодер именно для кнопки в которую пришел ответ.
Evgeny
нужно найти где нить идентификатор запроса, а потом его увидеть в ответе
Evgeny
костыль стайл - в заголовке запроса передавать этот идентификатор, а потом чтоб контроллер его выкидывал обратно при ответе
Sergey
сохраняй кнопку на которую нажали и убирай анимацию только у неё
Evgeny
Evgeny
есть некий глобальный листенер который собирает все все все кнопки, автоматические скрипты и прочие штуки
Evgeny
и далеко не сразу во всех существующих кнопках появится вызов коллбека
☕️
есть некий глобальный листенер который собирает все все все кнопки, автоматические скрипты и прочие штуки
В нем и обрабатывать теперь, это цена все эти унифицированные листенеры и прочие самосборщики
Evgeny
1 форма - 1 запрос, другая - другой
Sergey
нет, ты говоришь что callback нету, смысл тогда ajax слать если ты результат не обрабатываешь
Sergey
короче привиди минимальный код который у тебя обрабатываешь нажатие, показывает анимацию и вызывает ajax
@Evgeniia
@Evgeniia
Добрый вечер. Я достаточно долго ищу фулстэк,многие не проходят тест . такое ощущение ,что он слишком сложный