
Sergey
22.01.2017
14:44:57
и ты можешь менять настройки не трогая код

Timur
22.01.2017
14:48:11
Так это само собой. А у монолога не так разве?
$log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING));
Там есть нюанс. Стоит наверное указать.
У Monolog есть куча bridge (не знаю как это будет правильно называться в терминологии ООП и паттернов, но тем не менее), которые позволяют прикрутить его к разным фреймворкам.
MonologBundle у Symfony позволяет конфигурировать Monolog декларативными конфиг-файлами, а не PHP-кодом. Можно конфигурить YML файлом, можно XML-ником (потом даже проверить конфиг-файл DTD).
В общем это просто удобно, легко и читается очень быстро и без напряжений в голове. ?
Это просто пример с pushHandler.
В итоге ты весь логгинг свой контролируешь простым обычным YML файлом.

Google

Timur
22.01.2017
14:49:17
А не дополнительным PHP кодом.

Роман
22.01.2017
14:50:03
Да, я уже смотрю как раз это. http://symfony.com/doc/current/logging.html
Но из представленного PHP лучше выглядит чем XML или YAML.

F01134H
22.01.2017
14:50:57
Иногда в этой группе проскакивают вещи, которые я не в силах понять
например, как можно сравнивать XML, YAML и PHP

Timur
22.01.2017
14:51:32

Sergey
22.01.2017
14:51:33

Роман
22.01.2017
14:52:02

Sergey
22.01.2017
14:52:09
ты можешь декларативно и на php делать но.... речь идет именно об императивном способе

Timur
22.01.2017
14:53:11
А вообще классная конференция. Троллей по минимуму, никто не срётся, не матерится и не огрызается. В Go-конференции творится ад и погибель (с завалингом стикерами и всяким оффтопом).

Dmitriy
22.01.2017
14:53:58

F01134H
22.01.2017
14:54:33
я туда даже не смотрю

Google

Роман
22.01.2017
14:55:11
Недавно обсуждали тут дамп сообщений из Телеграма, скачал скрипт на ruby, всё отлично отрабатывает, но при перегонке JSON в HTML (форматтинг) он жрёт оперативу (у меня до 2,5 Гб доходило)... и выкладывают же люди такое на гитхаб.
Я пока свой код никуда не выкладываю и один делаю разные штуки. Вот и учусь. ? А вы мне всё про фрэймворки, которые мне пока совсем не подходят, они монстры для моих задач.

Sergey
22.01.2017
14:56:04

Dmitriy
22.01.2017
14:56:15

Роман
22.01.2017
14:56:57
А он его вероятно весь грузит в память, строит там HTML и потом сохраняет.
Но я ruby не знаю. Не разобрался что он делает.

Dmitriy
22.01.2017
14:57:55
Просто он не оптимизирован. Работает ну и ладно.

Aleh
22.01.2017
14:59:17
ну построчно json читать тож так себе развлекуха

Роман
22.01.2017
14:59:29
Это просто бездумное решение задачи. Дело не в оптимизациях.
"History will always be stored in JSON Lines compliant files. However, additional output formats can be produced by uncommenting a few lines in the configuration file."

Aleh
22.01.2017
14:59:47
нормальное решение, буквально в 10 строк

Роман
22.01.2017
14:59:49
http://jsonlines.org/
Там всё отлично с JSON.

Dmitriy
22.01.2017
15:00:28
Так git clone и в перед

Роман
22.01.2017
15:01:09

Aleh
22.01.2017
15:01:09
так ну json в jsonl тоже перегнать надо)

Timur
22.01.2017
15:01:15

Роман
22.01.2017
15:01:37
Ладно, ушли от темы. ?

Google

Sergey
22.01.2017
15:04:03
никто не хочет про интеграционные тесты поговорить?
мне тут надо на проектике внедрить тесты репозиториев, выборок и т.д.

F01134H
22.01.2017
15:04:14
Сергей Протко хочет

Dmitriy
22.01.2017
15:04:14
Развивай тему

F01134H
22.01.2017
15:04:15
я угадал?

Sergey
22.01.2017
15:04:33
меня больше интересует вопрос кто как делает
делает по сету данных на тест кейс, или на несколько тест кейсов
как чистят базу, как готовят фикстуры...
как борятся с дублированием
кто-нибудь вообще пишет интеграционные тесты на выборки?

Dmitriy
22.01.2017
15:07:49
да, мы пишем

Sergey
22.01.2017
15:09:16

Dmitriy
22.01.2017
15:09:38
У нас тесты долго проходят. к сожалению pgsql не умеет держать бд в памяти

Sergey
22.01.2017
15:10:40
долго это сколько?
ну то есть у меня за секунду где-то 5-6 тест кейсов проходят сейчас. Для меня это приемлимая скорость. Если тесты в общем будут бегать больше 10-ти минут потом распаралелю. Сейчас малова-то тестов

Dmitriy
22.01.2017
15:11:55
От часа и до 3х . Фикстур у нас много.

Sergey
22.01.2017
15:12:44
а тесткейсов сколько интересно?

Dmitriy
22.01.2017
15:12:44
Как с этим бороться, пока не придумали

Sergey
22.01.2017
15:13:02
и на что больше всего времени уходит

Google

Dmitriy
22.01.2017
15:16:05
В целом трудно сказать.
В модуле аналитике 10-15.
На Фикстуры. А так бы за 10-30 минут управились.

Sergey
22.01.2017
15:16:43
очень много данных выходит загружаете?
аналитика ж

Dmitriy
22.01.2017
15:17:52
да, в целом перед тестом надо 30-60 гб закачать . Что бы 1 день прогнать.

Sergey
22.01.2017
15:18:23
ясно) у меня попроще

Aleh
22.01.2017
15:21:06
ого, норм кейсы конечно)
а почему 30-60? Ну, почему не грузить данные за 1 секунду например
зачем целый день брать

Admin
ERROR: S client not available

Dmitriy
22.01.2017
15:21:42
Проблема как раз в этих данных. Не понятно как версионность поддерживать. Завтра кто-то поменяет колонку в бд. И придется в ручную экспортировать данные для тестов
Тестов нет только у нейронки. Я даже не знаю как нейроную сеть тестировать.

Роман
22.01.2017
15:26:47

Dmitriy
22.01.2017
15:31:54
Но я бы послушал как другие тестируют.

Sergey
22.01.2017
15:36:58
я сейчас в setUpBeforeClass транкейтом чищу базу и потом накатываю фикстуры для тест кейсов
ограничение тут правда есть - тест кейсы должны быть небольшие
очень сфокусированные

Dmitriy
22.01.2017
15:39:24
Что будет при больших тестах?

Google

Sergey
22.01.2017
15:39:38
очень большой набор фикстур
и продумывать его так что бы покрывать все кейсы весьма и весьма сложно
а так - один тест кейс - 2-3 ну может 5 сущностей
чаще меньше

Dmitriy
22.01.2017
15:41:21
У нас тоже самое. Правда данные накатываются 1 раз. И всегда они откатываются. Я правда не уверен правильно ли бы делаем.

Sergey
22.01.2017
16:10:00
protected function setUp()
{
$this->loadFixtures(function(ObjectManager $manager) {
});
}
сделал себе маленькой хелпер

Dmitriy
22.01.2017
16:14:35
там implement FixtureInterface? Это чисто симфонивская вроде вещь. Тоже такой бандл используем
О что нашел https://github.com/php-pm/php-pm кто нибудь тыкал ?

Sergey
22.01.2017
16:36:12
сча пробую написать тестик
если понравится - буду дальше фигарить так
сейчас у меня пылится недоделанный проектик который я хочу использовать для эксперементов с GraphQL + php-pm
что бы глянуть что есть "современные апишки"
но там php-pm планировалось использовать только для операций чтения

Dmitriy
22.01.2017
16:42:25
GraphQL для чего ? он своеобразн. и подходит для аналитики имхо.

Sergey
22.01.2017
16:42:26
для записи тот же fpm
НО... я еще не так хорошо в нем шарю

Dmitriy
22.01.2017
16:43:38
Ну нас GraphQL тоже используется вместе с рестом.