@prophp7

Страница 1360 из 1387
Вячеслав
20.10.2018
21:28:46
Поясни

Какой инструмент использовать ?

Или просто скопировать скрипты на все машины которые будут заняты этими задачами и на уровне dns настроить рендомное выбор сервера для выполнения задачи, без проверки нагруженности?

Bohdan
20.10.2018
21:40:32
rabbitmq или тот же redis, его должно хватать

Google
Вячеслав
20.10.2018
22:03:07
Moz
20.10.2018
22:08:25
Bohdan
20.10.2018
22:12:14
слышал и видел, как очереди задач реализуют на базе редиса как хранилища

те же ларавельщики вроде так делают

f4rt~
20.10.2018
22:14:39
кстати, я ругался уже в симфони чатике, что мне не подошел дефолтный их транспорт, я решил писать не свой попробовал envolope и либу Макса из Харькова, а потом выбрал транспорт как редис и написал к нему пару обвязок и не удивление Messanger компонент ожил именно с редиской)

это я про редиску для очередей,делей джобов и пр

f4rt~
20.10.2018
22:18:51
https://github.com/php-enqueue/messenger-adapter

Артур Евгеньевич
21.10.2018
12:18:58
Парни, правильно ли я понимаю что основное отличие стаба от мока, это то что стаб должен что то вернуть?

knopkod4v
21.10.2018
14:51:56
Парни, правильно ли я понимаю что основное отличие стаба от мока, это то что стаб должен что то вернуть?
как я понимаю: мок - это про проверку поведения (например. сколько раз вызвался с какими параметрами какой метод в какой последовательности) а стаб - это про индирект инпут. То есть просто метод зависимости закрывается заглушкой, которая возвращает заранее определённое значение

Google
Sergey
21.10.2018
14:54:48
стабы нужны для подмены зависимостей, моки нужны для проверки сайд эффектов

моков должно быть минимум (что можно перевести как сайд эффектов в коде должно быть минимум)

стабы не должны быть завязаны на такие вещи как "сначала ты вернешь 1 а на второй вызов - 2" - это как бы тоже запашек с зависимостями.

ну и если ты стаб описал но не вызывал - тесты не должны падать. Иначе это моки

knopkod4v
21.10.2018
14:56:59
моков должно быть минимум (что можно перевести как сайд эффектов в коде должно быть минимум)
если их будет максимум - офигеешь код менять. это даже на маленьком объёме кода заметно. Я как понаписал проверку всего поведения, потом решил поменять код, охренел, больше не хочется :D

Sergey
21.10.2018
14:58:13
если их будет максимум - офигеешь код менять. это даже на маленьком объёме кода заметно. Я как понаписал проверку всего поведения, потом решил поменять код, охренел, больше не хочется :D
ну солиды всякие тож про это - код должно быть проще менять. Проще код не менять вообще а только добавлять новый. О чем все эти солиды

а если код разделен хорошо и контракты не оч меняются - то и тесты редко меняются

и все счастливы

еще неплохо помогают всякие CQS, чем многие принебрегают. Ну типа тогда у тебя не будет стабо-моков

knopkod4v
21.10.2018
14:59:40
ну солиды всякие тож про это - код должно быть проще менять. Проще код не менять вообще а только добавлять новый. О чем все эти солиды
забавно, как это пересекается с ES, там тоже типа "а давайте только новое писать!" работает

Артур Евгеньевич
21.10.2018
14:59:53
Я думал про проверку это spy

Sergey
21.10.2018
15:00:37
Я думал про проверку это spy
spy насколько я помню это обычно прокся над реальной реализацией, когда как моки это вид фэйков

в js с моками плохо потому там все спаями обмазываются

knopkod4v
21.10.2018
15:01:14
Я думал про проверку это spy
я так понимаю там разница в том, что тест спай уже в тесте проверяется после запуска SUT

Sergey
21.10.2018
15:01:46
https://stackoverflow.com/questions/24413184/difference-between-mock-stub-spy-in-spock-test-framework

о, вроде норм

knopkod4v
21.10.2018
15:02:51
@arturpanteleev вообще хорошая (ну, мне понравилась) книжка есть Джерарда Месароша xunit patterns называется

Sergey
21.10.2018
15:11:43
моя выборка не репрезентативна, но я заметил что люди когда начинают в этом разбираться упускают важный момент всего этого добра - управление зависимостями. Ну мол, тесты проще когда нету зависимостей или их минимум. Тесты сложнее когда код который ты тестишь завязан и на свой стэйт и на поведение внешних зависимостей.

Именно по этому тесты ДО имплементации чаще более эффективны нежели после. Типа... ты сначала продумываешь контраки поведение + то как клиентский код (а тесты это тоже клиентский код) будут с твоим кодом взаимодействовать.

knopkod4v
21.10.2018
15:18:42
а у меня прикольный опыт написания тестов был - я начал писать всякие методы и классы для того, чтобы сформировать данные для фикстур - в какой-то момент я понял, что пишу вторую систему, которая аналогична той, которую я проверяю :D

Google
Sergey
21.10.2018
15:20:12
есть прикольная штука - property based testing. Там основная загвоздка - как проверить систему на соответствие каким-то свойствам не дублируя реализацию. Типа.... вот у тебя есть функция сортировки массивов. На вход ты подаешь ей рандомно сгенерированные данные, как не дублируя реализацию протестить функцию?

Артур Евгеньевич
21.10.2018
15:21:02
я вообще чисто с теоретической точки зрения спросил - т.е это вопрос котоырй могут задать на собесе

https://stackoverflow.com/questions/45965699/mocks-vs-stubs-in-phpunit

я отсюда черпал инфу

про prophesize вообще не знал

Sergey
21.10.2018
15:25:28
вот хз вообще =\ типа надо сравнение элементов делать, но это уже сортировка. Если б данные были не рандомно сгенерированные - можно было бы просто захардкодить
ну тебе надо выделить свойства результата функции и их проверить) например - у отсортированного массива каждый следующий элемент больше либо равен предыдущему

knopkod4v
21.10.2018
15:27:02
ну тебе надо выделить свойства результата функции и их проверить) например - у отсортированного массива каждый следующий элемент больше либо равен предыдущему
ну хотя да, сравнение элементов будет, а сортировки уже нет. Но чёт это уже сложнее чем хардкод экспектед результатов. Хотя если реализация сортировки поменяется - код теста менять будет не надо, что есть гуд

Sergey
21.10.2018
15:27:59
ну и это не только про функции - например это единственный адекватный способ потестить какую-нибудь херню многопоточную...

про prophesize вообще не знал
это ты еще phpspec не юзал - волшебная штука...

оч удобно, и оч сильно ограничивает в том как и что ты тестишь

knopkod4v
21.10.2018
15:30:57
Sergey
21.10.2018
15:32:43
хорошо помогает с тестированием штук где оч много стэйта

и описать все пермутации классическим способом банально нереально

Артур Евгеньевич
21.10.2018
15:34:29
ну не стоит по одному вопросу судить о 5 часовом собесе)

Sergey
21.10.2018
15:36:28
ну не стоит по одному вопросу судить о 5 часовом собесе)
5 часов собесов - это либо собес на джуна в шарашку где чел 4 часа пилит тестовое либо херня какая-то. даже в фэйсбуки собесы на части дробят что бы не больше 2-х часов

Артур Евгеньевич
21.10.2018
15:36:43
да я сумарную указал

Google
Артур Евгеньевич
21.10.2018
15:37:52
не фейсбук но и не шарашки http://www.forbes.ru/tehnologii-photogallery/357559-20-samyh-dorogih-kompaniy-runeta-2018-reyting-forbes

Sergey
21.10.2018
15:42:03
прелесть больших компаний что там тоже найдется своя шарашка

Pavel
21.10.2018
17:06:40
https://github.com/pavel-grom/poker Накалякал такой вот пакет, прошу попинать за говнокод

Andrey
21.10.2018
17:17:16
Я думаю если уверенно клепаешь блоги, то можешь пытаться переходить на микросервисы

dypa
21.10.2018
17:25:42
никогда не понимал смысл комментариев вида /** * Created by PhpStorm.

Артур Евгеньевич
21.10.2018
18:01:56
никогда не понимал смысл комментариев вида /** * Created by PhpStorm.
Ага ещё и автора кода указывают и свой емэйл

Pavel
21.10.2018
18:12:10
Типы что бы все знали кто написал этот супер код) Как нибудь уберу их, когда будет не влом

RUvik
21.10.2018
18:34:53
Всем добрый вечер

Хотел совета :) Читаю сейчас «чистый код» Робер мартин. Перед этим читал про рефакторинг мартин фаулер Вопрос: что бы вы ещё посоветовали почитать ? Скилл : джун перехожу на Стронг джуна :)

RUvik
21.10.2018
18:46:34
Спасибо, а тематика всё та же? Красивый код без запахов ?)

knopkod4v
21.10.2018
18:47:01
кто-нибудь наверняка бы посоветовал какого-нибудь грэди буча или кента бека или ещё кого

Спасибо, а тематика всё та же? Красивый код без запахов ?)
DDD - это про предметную область xunit patterns - про тестирование

RUvik
21.10.2018
18:48:15
Про тестирование, там начинается с основ ? Потому что в юнит тестах я полный ноль :(

RUvik
21.10.2018
18:49:10
Спасибо )) пойду скачаю всё на телефон. А то дорога на работу долгая... )))

knopkod4v
21.10.2018
18:49:14
Про тестирование, там начинается с основ ? Потому что в юнит тестах я полный ноль :(
там именно разжёвано, во всяком случае мне так показалось

RUvik
21.10.2018
18:49:46
Серьезно?)) джуну ддд?
Ну к НГ планирую закидывать заявочку на мидл- ?

Google
Артур Евгеньевич
21.10.2018
18:49:47
еще можно sicp посоветовать чтобы он вообще убежал из профессии))

RUvik
21.10.2018
18:50:18
еще можно sicp посоветовать чтобы он вообще убежал из профессии))
Ну я 2.5 года варюсь в офисах )) просто мало уделял развитию

knopkod4v
21.10.2018
18:50:20
Серьезно?)) джуну ддд?
ну дык а чего ждать? Я вот тоже жунивар и ничего, читаю. Даже что-то понятно (маловато правда) :D

Bohdan
21.10.2018
18:51:07
Ну к НГ планирую закидывать заявочку на мидл- ?
путь от стронг джуна до мидла за три месяца немного сомнителен имхо

RUvik
21.10.2018
18:51:11
@arturpanteleev а что бы вы посоветовали?)

Артур Евгеньевич
21.10.2018
18:51:31
ну хз я по своим ощущениям мидл причем не топовый далеко, но на вакансиимосковские последний год какие ходил это все были сеньорские, с зп выше рынка...так я этого эванса больше 10 страниц не могу читать без перерыва

Bohdan
21.10.2018
18:51:33
2.5 года конечно имеют вес, но все же...

Артур Евгеньевич
21.10.2018
18:51:34
Bohdan
21.10.2018
18:51:45
Артур Евгеньевич
21.10.2018
18:52:22
https://habr.com/company/piter/blog/352202/

https://www.ozon.ru/context/detail/id/139296295/

вот сайтец можно изучить https://refactoring.guru/ru

knopkod4v
21.10.2018
18:53:50
тоже тру
и потом - он не уточнял к какому НГ :D

Артур Евгеньевич
21.10.2018
18:53:54
ну а там дальше какая тем интересна тебе...вообще большинство можно въезжать по статьям или лекциям если видео больше нравится

а потом уже для закрепления и структурирования знаний в своей голове уже читать что то более фундаментальное

knopkod4v
21.10.2018
18:54:51
а потом уже для закрепления и структурирования знаний в своей голове уже читать что то более фундаментальное
а мне кажется наоброт как-то с фундаментального стоит начинать, а то потом нихера непонятно =\

Артур Евгеньевич
21.10.2018
18:55:06
вот еще забыл мастхев https://ruhighload.com/

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