
Вячеслав
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 компонент ожил именно с редиской)
это я про редиску для очередей,делей джобов и пр

Moz
20.10.2018
22:17:10

Bohdan
20.10.2018
22:18:27
ну у тебя там delay был нужен, да?

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

Sergey
21.10.2018
14:58:13
а если код разделен хорошо и контракты не оч меняются - то и тесты редко меняются
и все счастливы
еще неплохо помогают всякие CQS, чем многие принебрегают. Ну типа тогда у тебя не будет стабо-моков

knopkod4v
21.10.2018
14:59:40

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

Sergey
21.10.2018
15:00:37
в js с моками плохо потому там все спаями обмазываются

knopkod4v
21.10.2018
15:01:14

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 вообще не знал

knopkod4v
21.10.2018
15:23:48

Sergey
21.10.2018
15:25:28

knopkod4v
21.10.2018
15:27:02

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

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

Артур Евгеньевич
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.

Roman
21.10.2018
17:30:20

Артур Евгеньевич
21.10.2018
18:01:56

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

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

knopkod4v
21.10.2018
18:45:29

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

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

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

knopkod4v
21.10.2018
18:48:32

Артур Евгеньевич
21.10.2018
18:49:09

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

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

knopkod4v
21.10.2018
18:51:35

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/