@prophp7

Страница 206 из 1387
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
Но из представленного PHP лучше выглядит чем XML или YAML.
Можешь и PHP-конфигом конфигурить. Просто надо концептуальную суть разделения кода и конфигов (как код будет себя вести и классы взаимодействовать между собой будут) надо понимать.

Sergey
22.01.2017
14:51:33
например, как можно сравнивать XML, YAML и PHP
оч легко, декларативное vs императивное

Роман
22.01.2017
14:52:02
например, как можно сравнивать XML, YAML и PHP
Ты странчику открой и посмотри конфиги. Тогда поймёшь. ? Я надеюсь.

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

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

Dmitriy
22.01.2017
14:53:58
например, как можно сравнивать XML, YAML и PHP
это всего лишь один из способов конфигурирования в симфони

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

Я пока свой код никуда не выкладываю и один делаю разные штуки. Вот и учусь. ? А вы мне всё про фрэймворки, которые мне пока совсем не подходят, они монстры для моих задач.

Роман
22.01.2017
14:56:57
Это же для разовых действий. 1-3 гб. Ведь время дороже
Да почему? В том и дело что там JSON построчный записан и он из него HTML удобную формирует. Можно просто читать построчно и записывать кусками.

А он его вероятно весь грузит в память, строит там 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
Так git clone и в перед
Так проще на PHP написать аткой же дампер. ? Язык изучать из-за одной утилиты не хочется.

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

Timur
22.01.2017
15:01:15
http://jsonlines.org/
Крокфорд скажет, что это хрень. ?

Роман
22.01.2017
15:01:37
так ну json в jsonl тоже перегнать надо)
Так это телеграм cli его таким отдаёт.

Ладно, ушли от темы. ?

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
как чистят базу, как готовят фикстуры...
У нас тесты после себя чистят базу. И в начале теста в setUp еще раз ее дропаем. Фикструры в ручную экспортируем на несколько sql

Но я бы послушал как другие тестируют.

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
там implement FixtureInterface? Это чисто симфонивская вроде вещь. Тоже такой бандл используем
а там создается анонимный класс и передается анонимная функция... ну и там через доктрин фикстурки да

сча пробую написать тестик

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

О что нашел https://github.com/php-pm/php-pm кто нибудь тыкал ?
я пробовал юзать год назад, в порядке эксперемента

сейчас у меня пылится недоделанный проектик который я хочу использовать для эксперементов с GraphQL + php-pm

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

но там php-pm планировалось использовать только для операций чтения

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

Sergey
22.01.2017
16:42:26
для записи тот же fpm

GraphQL для чего ? он своеобразн. и подходит для аналитики имхо.
ну на мой текущий проект он ложится вообще идеально

НО... я еще не так хорошо в нем шарю

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

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