@prophp7

Страница 1266 из 1387
Bohdan
21.08.2018
07:37:58
@mirniy_sergey 秋秋 боты или нет?

F01134H
21.08.2018
14:43:40
Как наикратчайшим путем в анонимный класс (объект) добавить публичные свойства извне? Конструктор запилить и передать в скобках?

а хотя можно просто подобавлять свойства и норм

динамическое объявление во

Google
Artem
21.08.2018
14:46:19
F01134H
21.08.2018
14:47:01
а это как?
$obj = new class{}; $obj->prop = 1;

F01134H
21.08.2018
14:47:15
угу, дошел до этого

Denis
21.08.2018
14:47:30
Sergey
21.08.2018
14:47:38
new stdClass
ну он анонимные хотел

а еще можно делать так

$foo = (object) ['foo' => "bar"];

F01134H
21.08.2018
14:48:11
Оооо точно

спасибо

Maksim
21.08.2018
14:48:17
$foo = (object) ['foo' => "bar"];
и получить стдкласс) ты сейчас кому-то жизнь портишь)

Denis
21.08.2018
14:49:23
Google
F01134H
21.08.2018
14:49:24
приводит к обжекту же

Denis
21.08.2018
14:49:28


F01134H
21.08.2018
14:49:51
да пох

главное что объект

Sergey
21.08.2018
14:50:01
nope
yep

Maksim
21.08.2018
14:50:42
объектно-ориентированное программирование - оно такое, да) пох, лишь бы объект)

Evgeniy
21.08.2018
14:51:17
функциональное программирование да пох лижбы функция

от создателей и так сойдет

F01134H
21.08.2018
14:52:53
различать stdclass и анонимный класс нужно только для узкого круга задач

в 99% тасков в этом нет необходимости и ты тупо работаешь с объектом

Maksim
21.08.2018
14:53:53
за анонимные классы вне тестов надо увольнять за неполное служебное)

Evgeniy
21.08.2018
14:54:13
а если работать с объектом у которого свойства объявлены

то говорят проще

чем работать как с Map<String, Object>

ну или массивом в пхп

Sergey
21.08.2018
16:45:55
Всем хай.

Есть вопросец. Кто чем меряет пыху на проде? Пинба ещё жива или не?

Dmitry
21.08.2018
16:48:07
ньюреликом меряем

Sergey
21.08.2018
16:50:22
Он же клауд? А в свою инфраструктуру?

Google
Dmitry
21.08.2018
16:54:19
Ну мы в клауд, да… зато из коробки агент меряяет всякие метрики, пинбу же вроде нужно руками по коду расставлять

это… может есть такие решения - точка входа для http запросов, можно выбрать его и запрос уходит на твой локальный сервер… ну и можно сразу правила роутинга настроить. Т.е. для тестирование сервисов внешних с калбеками и фиксированной точкой входа.

Maksim
21.08.2018
17:04:03
Была тут парочка таких, наверняка расскажут название. От себя ток спрошу: нахрена?

Dmitry
21.08.2018
17:04:30
дебажить локально

Maksim
21.08.2018
17:04:58
Сделай стаб и шли себе его до посинения. Протокол известен

Нафиг в тестах твоего приложения чужая зависимость?

Dmitry
21.08.2018
17:05:35
так нужен не стаб, нужен реальный кейс с удаленной системой, которая тоже может быть багнутой и т.п.

ну это не автотесты, это именно в процессе разработки

Maksim
21.08.2018
17:06:25
Всё равно нипанимать зачем тестить внешний сервис(

Dmitry
21.08.2018
17:08:27
не тестить, а дебажить свой код в условиях разных входных данных, которые тебе внешний сервис генерит… сейчас разработчики пишут сами вызовы эти с синтетическими данными, и, бывает, синтетика забывает что-то, что реальный сервис присылает… особо в каких-то кастомных случаях

Maksim
21.08.2018
17:09:17
У внешнего сервиса протокол есть? Или на угад херачат?

Dmitry
21.08.2018
17:10:06
ну разница между протоколом и данными в нем есть… и ничто не совершенно, должен понимать

Dmitry
21.08.2018
17:11:03
второй кейс - мобильные приложения.. иногда проще сделать пару тапов в приложении и получить вызов апи, чем эмулировать его руками… а делать тестовые сборки приложения для каждого разработчика муторно… проще зароутить их в одну точку и роутить дальше по какому-нибудь device_id …. ну что-то такое

Maksim
21.08.2018
17:11:06
Да колбеки обычно совершенны даже у клинических долбаёбов)

Anton
21.08.2018
17:11:41
Макс, правильно накидывает: то что вы забыли в стабах какой-то кейс никак не исправиться тестированием на реальном сервисе

Ибо с таким же успехом он вам сгенерит именно такой набор данных только раз на миллион

Или я что-то не понимать

Dmitry
21.08.2018
17:14:48
Т.е. вы пишете по документации удаленного АПИ заглушки, которые принимают данные, потом делают калбеки, если нужно, с заглушками… а потом меняете заглушку на адрес реального сервиса и в продакшн сразу, да?

Maksim
21.08.2018
17:15:28
Потом е2е тесты. Они к разработке отношения не имеют

Google
Dmitry
21.08.2018
17:16:03
Ну и тесты показывают проблему… что дальше?

Непонятную проблему… что-то стучит где-то и не едет

Maksim
21.08.2018
17:17:18
Да всё понятно. И где стучит, и почему не едет

Admin
ERROR: S client not available

Dmitry
21.08.2018
17:18:20
А, оки. Тогда все же тот же вопрос, но в адрес компаний без телепатов ?

Maksim
21.08.2018
17:19:14
Я этих сервисов с колбеками итегрировал сотни. Нахер не нужно быть телепатом.

Просто код нужно не на распорки ставить локальными тестами

В любом случае ты отталкиваешься от какой-то писульки, какого-то контркта. Любой протокол имеет свойство менятся. Если сервис чет задеплоит, у тебя сломается. И нормальные обработчики, написанные по согласованным контрактам, укажут где что трещит и почему никто не едет. А локальный брутфорс вариантов добавляет лишь ложной уверенности в верности интеграции (просранным временем можно принебречь)

Dmitry
21.08.2018
17:27:05
речь не о брутфорсе, а о возможности быстро получить входые данные и оддебажить свой код в этих изменившихся условиях

хотя, может ты и не знаешь такого слова - дебагер, типа TDD и все дела… дебагер не нужен, все покрыто тестами

Maksim
21.08.2018
17:28:54
Не знаю конечно) куда мне

Раз уж типа тдд, то действительно мал ещё в такие темы лезть

Sergey
21.08.2018
17:41:15
Непонятную проблему… что-то стучит где-то и не едет
если ты говоришь про юнит тесты, и они не помогают тебе определить где болит - значит у тебя хуевые тесты

в e2e можно еще так говорить (что много причин для того что бы тесты стали красными) но как сказал Макс, e2e оно немного о другом

Как говорила Сэнди Мэтс - юниты нужны что бы убедиться что каждая клетка организма работает корректно (тогда просто определять что сломалось) но только e2e позволят тебе определить что "зверь вообще живой или нет"

Dmitry
21.08.2018
17:42:59
Причем тут вообще юнит тесты я не понял, но ок ?

Sergey
21.08.2018
17:43:23
Причем тут вообще юнит тесты я не понял, но ок ?
ну если говорилось о том что сторонние зависимости закрываются заглушками - в моем понимании это юниты

Maksim
21.08.2018
17:43:34
Назови их интеграционными, суть не меняется. Если код не говорит в чем причина факапа, код говно. Определить можно всё и всегда. Но тут речь за простые запросы на эндпоинт и проксировпние ответов к себе. Типа ручками затестить

Dmitry
21.08.2018
17:43:38
могут быть и приемочные, не суть важно

Sergey
21.08.2018
17:43:47
приемочные с заглушками - спорное решение

Google
Sergey
21.08.2018
17:44:08
интеграционные с заглушками - тоже спорное решение

юниты с заглушками, изоированные такие - это норм

Dmitry
21.08.2018
17:45:26
причемочные без заглушек - это как? особо если течение теста зависит от колбека внешнего сервиса

Maksim
21.08.2018
17:45:54
интеграционные с заглушками - тоже спорное решение
Из практики, самое лучшее. Ты всё равно не сможешь норм покрыть варианты иначе. Тебе важны лишь концептуальные аспекты, хорошо описанные и записанные

Sergey
21.08.2018
17:46:19
Maksim
21.08.2018
17:47:30
в другой раз но не согласен. Хотя опять же можем просто по терминологии расходиться) надо работать
Я сделал заглушку на успешное оповещение от пейпала о совершенном платеже. Все счастливы и довольны: я не дергаю внешних сервисов и знаю, что в рамках версии всё корректно

Dmitry
21.08.2018
17:48:41
ngrok?
полагаю, если несколько разработчиков запустят это с одним входным адресом/портом, то будет конфликт… мне скорее нужен сервис логирования http запросов с возможностью реплея выбранных на разные бекенды

Sergey
21.08.2018
18:24:58
Жива)
А работает? ? Не могу понять. Запускаю контейнер с пинбой, с него пробрасываются порты на mysql и собственно udp для пинбы. Mysql коннект есть, с php уходят таймера на пинбу норм, но в таблицах пусто. В Mysql есть активный pinba extension ошибок вроде не сыпется. Кудой копать ещё можно?

Grushin
21.08.2018
18:29:48
Я просто сижу читаю

F01134H
22.08.2018
09:22:45
Как можно посчитать длину int?

типо 10000 = 5

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