@oop_ru

Страница 145 из 785
Sergey
08.03.2017
20:07:03
последние лет 5 активно только

и то если года 3 назад я верил в D то сейчас не очень

Paul
08.03.2017
20:28:29
Да давно закопать надо

Если не выстреливает, то не нужно тратить время

Google
Sergey
08.03.2017
22:26:20
на фоне rust уж точно

F01134H
08.03.2017
22:32:35
rust вроде тоже не оч живой?

Sergey
08.03.2017
22:33:00
rust вроде тоже не оч живой?
он молодой но активно развивается

Aleh
08.03.2017
22:33:08
ну servo лагает, а так развивается, у мозилы планы ж

и в фаерфоксе уже кусок есть

Sergey
08.03.2017
22:33:29
в целом сама концепция rust крутая как по мне

я очень надеюсь что на нее не забьют

F01134H
08.03.2017
22:35:38
я вот думаю, делать хайлоадное апи на пыхе - хорошая вообще идея?

Aleh
08.03.2017
22:36:08
хайлоад и апи такие растяжимые понятия, что прям ответа нет

F01134H
08.03.2017
22:36:24
до 10к rps

Sergey
08.03.2017
22:37:07
до 10к rps
это ничего не говорит на самом деле

F01134H
08.03.2017
22:37:19
а что должно?

Sergey
08.03.2017
22:37:43
если ты знаешь только php - то использовать php хорошая идея. Если не только - то тогда надо выбирать из того что знаешь.

Google
F01134H
08.03.2017
22:38:03
ну еще golang

Sergey
08.03.2017
22:38:06
а что должно?
что делает приложение, каков характер запросов, как будет использоваться приложение.

ну еще golang
то есть ты знаешь go, зачем тогда php

F01134H
08.03.2017
22:38:43
к php душа лежит)

работаю на нем

Sergey
08.03.2017
22:38:57
к php душа лежит)
ну пиши на php)

F01134H
08.03.2017
22:39:19
а есть какие-нибудь примеры хайлоада на пыхе?

Sergey
08.03.2017
22:39:24
фэйсбук

Aleh
08.03.2017
22:39:25
фейсбук)

Sergey
08.03.2017
22:39:27
сойдет?

F01134H
08.03.2017
22:39:34
там вроде питон не?

Sergey
08.03.2017
22:39:51
там вроде питон не?
и именно по этой причине они написали HHVM

F01134H
08.03.2017
22:39:59
ясно

Aleh
08.03.2017
22:40:15
вк тож, но там пых времен 3 версии

и их странный компилятор

и еще база, и очередь

F01134H
08.03.2017
22:40:48
вк это вообще другое

Sergey
08.03.2017
22:41:06
ну и у вк или фэйсбука побольше rps

потому что бы они не делали - им можно

а тебе - врядли

Google
F01134H
08.03.2017
22:41:25
у вк там с++ на выходе получается

Aleh
08.03.2017
22:41:39
это неважно

они жили очень долго и хорошо без этого

F01134H
08.03.2017
22:41:59
Ладно ладно

убедили

Sergey
08.03.2017
22:42:04
у вк там с++ на выходе получается
что бы ты не делал у тебя на выходе будет машинный код. Получаешь ты его на этапе компиляции или в рантайме - это уже детали

если что - один из проектов в моей компании держит на php 10K rps

но там мегапримитивная логика

F01134H
08.03.2017
22:42:52
да у меня тоже не слишком сложная

Sergey
08.03.2017
22:43:11
короч все упирается в архитектуру и стоимость поддержки

F01134H
08.03.2017
22:43:24
о

а на чем этот проект держится?

F01134H
08.03.2017
22:43:52
ну тех характеристики сервера

или это секрет?

Sergey
08.03.2017
22:44:07
F01134H
08.03.2017
22:44:19
понятно

Sergey
08.03.2017
22:44:44
ну то есть, php ты можешь скейлить как хочешь

база данных - read-only реплики

и можно незагоняться весьма долго

далее уже зависит от специфики проекта

Google
F01134H
09.03.2017
00:42:23
секс

da horsie
09.03.2017
01:35:30
А как вы описываете требования к интерфейсу? Вот например, есть у меня некий Application, которому требуется некий Storage с определенными характеристиками

и вот я определил, допустим, interface Storage { public foo(); public bar(); }

эти foo() и bar() должны вести себя определенным образом. А реализаций Storage может быть много

Admin
ERROR: S client not available

da horsie
09.03.2017
01:38:00
DatabaseStorage implelents Storage; FileStorage impelements Storage

для них в принципе подошел бы один и тот же тест

все, сам нашел )

Aleh
09.03.2017
06:30:24
da horsie
09.03.2017
07:33:40
The base or abstract test case performs the implementation-neutral tests While the concrete tests take care of instantiating the object to test, and perform any implementation-specific tests.

http://www.guru99.com/interface-testing.html

ответ очевидный оказался

Sergey
09.03.2017
07:35:28
ну тип предлагают жахнуть интеграционный тестик?

da horsie
09.03.2017
07:36:39
про интеграционные я вроде ничего не заметил

в моем случае решение - просто сделать тесткейсы реюзабельными

ну то есть ответ капитана очевидности как бы

Sergey
09.03.2017
07:38:56
ну то есть ответ капитана очевидности как бы
я просто не понял немного чем "тесты интерфейсов" отличаются от интеграционных из статьи что ты кинул

Evgeniy
09.03.2017
10:49:21
ничего вразумительного в пхп не нашлось для этого, phpunit не особо к этому готов(

Google
Sergey
09.03.2017
11:06:30
ничего вразумительного в пхп не нашлось для этого, phpunit не особо к этому готов(
одна реализация - один набор тестов. Если у тебя много одинаковых тестов - устрани дублирование.

Evgeniy
09.03.2017
11:06:59
так хотелось бы иметь гарантию что код реализующий интерфейс

Sergey
09.03.2017
11:07:02
как устранять дублирование - можно по разному. Можно тупо вынести в базовый класс, можно сделать отдельную тест сюиту которая проверяет контакт и прогонять каждый тест кейс на разных реализациях

Evgeniy
09.03.2017
11:07:05
одинаково себя ведет

ну например взять psr/container чтобы все кто его имплементят

Sergey
09.03.2017
11:07:28
одинаково себя ведет
это значит что у тебя есть тесты проверяющие контракт

Evgeniy
09.03.2017
11:07:43
при отсутствии контейнера NotFoundException выбрасывают

Sergey
09.03.2017
11:07:43
точнее у тебя на каждую реализацию есьт набор тестов которые проверяют что контракт соблюдается

Evgeniy
09.03.2017
11:07:46
да

именно контракт

Sergey
09.03.2017
11:07:54
ну так и в чем проблема?

Evgeniy
09.03.2017
11:07:54
не Unit тест

Sergey
09.03.2017
11:08:05
не Unit тест
почему не unit тест?)

Evgeniy
09.03.2017
11:08:05
так тут и получается дублирование

в каждом Unit тесте

дублирование тестов контракта

Страница 145 из 785