@oop_ru

Страница 376 из 785
Maksim
06.11.2017
12:20:08
преподаватели тоже разные бывают) мы как-то собеседовали товарища, который 10+ лет реляционные базы данных преподавал... нужно ли говорить на какой процент вопросов он ответил?)

Adel
06.11.2017
12:22:29
прослушал половину. математику я уже забыл.. поэтому примеры с математикой понимал плохо. но программерские примеры - абсолютно правильные. с ним согласен я.

Adel
06.11.2017
12:25:22
не создавать неконсистетную матрицу.

Google
Mykola
06.11.2017
12:26:49
этот пример вообще меня повеселил

даже если ты не добавишь дефолтовый конструктор, тебя никто не убережет от создания неконсистентной матрицы

так что пример притянут за уши, к тому же к особенностям языка с++

Mykola
06.11.2017
12:30:27
ну никто же не мешает тебе создать пустую матрицу без дефолтного конструктора?

Adel
06.11.2017
12:30:58
конструктор должен помешать

он не должен создать неконсистентный обьект

Mykola
06.11.2017
12:32:08
ну в примере его не было же

Adel
06.11.2017
12:32:18
я уже хотел гуглить MM и MP :)

f4rt~
06.11.2017
12:32:37
я уже хотел гуглить MM и MP :)
а это инициалы дебатирующих выше в чате

:D

Google
Adel
06.11.2017
12:33:09
ну в примере его не было же
это подразумевалось. он же сказал что изменился обьект. изменились предикаты. раньше было условие size > 0

Mykola
06.11.2017
12:33:34
не было там такого условия в коде примера

а если бы было, то его пример с дефолтовым конструктором выглядел бы по другому ;)

он на этом взыграл

а студенты купились

Adel
06.11.2017
12:34:29
ну блин! это подразумевалось

Mykola
06.11.2017
12:34:50
с другой стороны почему нельзя создавать неконсистентные матрицы?

я постулирую: можно

Aleh
06.11.2017
12:35:06
программы, которые работаю и приносят деньги, как раз чаще всего написано без оглядок на всякие солиды, мвц, опп, ресты и т.д. (нужное подставить) :)
А есть еще прлграммы, которые написаны без оглядки на все это из-за чего они поломали бизнес, и че?)

Adel
06.11.2017
12:35:33
я постулирую: можно
нельзя. порождает кучу проверок в коде. делая код гораздо более грязным

Mykola
06.11.2017
12:35:35
случай неконсистентной матрицы - это особенность моей реализации, и в чем я не прав?

Adel
06.11.2017
12:36:01
не прав в том, что у тебя плохая реализация :)

Mykola
06.11.2017
12:36:18
случай с проверкой конструктора и извращением которое придется провернуть чтоб создавать массив обьектов без дефолтного конструктора - вообще может быть адом

это с++ детка

Adel
06.11.2017
12:36:32
у тебя не матрица.. а какой-то.. призрачный обьект. который одновременно может быть матрицей, и чемто еще

Mykola
06.11.2017
12:37:18
факториал от нуля

это правильно или нет?

Adel
06.11.2017
12:37:37
InvalidArgumentException

Mykola
06.11.2017
12:37:59
0! = 1

Google
Mykola
06.11.2017
12:38:06
ВНЕЗАПНО

почему у меня не может быть пустой матрицы

может!

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

Adel
06.11.2017
12:39:12
да забудь про матрицы :) если может - ок. пусть. Главная посыл - не создавать неконсистентные обьекты.

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

Mykola
06.11.2017
12:40:22
главный посыл: "неконсистентные обьекты" - понятие сложное, тоже требуещее обьяснения

и потом обьяснения, почему их не стоит создавать

аргумент "потому что может что-то сломаться" - не аргумент, я могу написать код, который будет прекрасно работать с этими обьектами, будет куча ифов и он будет читаем

в то же время код на ооп затребует создание охулиарда непонятных классов, часто синтетических, просто чтоб солид

сталкиваюсь с этим каждый день

Adel
06.11.2017
12:43:21
ой блин... вот текущий проект. вначале у него было такое, что в базе МОГУТ быть неконсистентные сущности(там все в разных транзакциях создавалось). была куча проверок везде... я очень хотел и недавно сделал, что сущность создается в одной и она всегда консистетна. И это сделало систему в разы более стабильной и позволило выпилить кучу иф.

Maksim
06.11.2017
12:43:58
сталкиваюсь с этим каждый день
вчера уже скидывал: http://www.nietzsche.ru/works/verse/verse_101.html почти о программировании)

Mykola
06.11.2017
12:45:54
я же не говорю, что солид - это что-то плохое, и что код нужно ифами писать)

нужно просто меру знать ;)

Mykola
06.11.2017
12:48:12
в чате по ооп в первую очередь нужно обсуждать ооп, а не пропагандой оного заниматься)

по этому я явно по адресу)

кстати, про хорошее в докладе: - он упомянул, что солид и математика вокруг оного не про ооп, а про всё программирование - он упомянул, что императивный и функциональный подход сводятся друг к другу - он упомянул хоара, за это отдельная ему благодарочка)

ребят, нужен умный мысль: как лучше всего покрыть тестами микросервисы?

Google
Mykola
06.11.2017
13:33:44
ану набегите на меня со своим опытом

Adel
06.11.2017
13:35:55
молча? :)

:-P

Mykola
06.11.2017
13:36:33
а потом кто-то молча обновит свой микросервис, и всё упадёт

молча мне не подходит

Admin


Adel
06.11.2017
13:36:59
тесты упадут и он получит гневный email

и поймет всю глубину своей ошибки

Mykola
06.11.2017
13:37:19
чтоб они упали - их нужно написать

Adel
06.11.2017
13:37:49
ну так напиши. в чем дело то? есть юнит-тесты.. но ты наверно имеешь ввиду всетаки функциональные тесты

на весь сервис

что конкретно ты спрашиваешь?

Mykola
06.11.2017
13:38:13
вот меня склоняют к такой ерунде: https://docs.pact.io/

я сопротивляюсь

Aleh
06.11.2017
13:39:24
ребят, нужен умный мысль: как лучше всего покрыть тестами микросервисы?
ты про какие тесты и чего ты хочешь добиться покрытием?

f4rt~
06.11.2017
13:40:07
Mykola
06.11.2017
13:41:55
ну нам предлагают pact запользовать, чтоб предотвратить... но я сомневаюсь в эффективности этого подхода, ищу какие-то альтернативы

методологии тестирования инфраструктуры из микросервисов

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

@mkusher ^

Google
Aleh
06.11.2017
13:46:28
про pact не знаю(

Mykola
06.11.2017
13:48:36
эх... а на это была вся последняя надежда

Aleh
06.11.2017
13:49:25
ну вообще развлекаясь с всякими разными типами я больше смотрю на всякие генерации типов из спеки и проверки их на билде

Mykola
06.11.2017
13:49:59
мне тоже такое нравится

что порекомендуешь?

Aleh
06.11.2017
13:51:07
я фронтендер, хы. Вообще сами еще ничего не юзаем

Mykola
06.11.2017
13:51:39
особенно интересно: автоматическая генерация тесткейсов по спеке и проверка совместимости версий

Maksim
06.11.2017
13:51:47
protobuf?

Mykola
06.11.2017
13:52:49
protobuf?
ну там нету этого искаропки, там надо grpc и завязаться на протобуферы.... а у нас трифт и рест-апи)

Aleh
06.11.2017
13:53:20
так thirft ж норм генерирует, не?

Maksim
06.11.2017
13:53:38
сваггер)

Aleh
06.11.2017
13:54:01
ну свагер, рамл да

Mykola
06.11.2017
13:55:04
ну вот для рамла есть кое-какие тулзы чтоб автогенерить тесты, но с обратной совместимостью там непонятно

да и сами тулзовины какие-то слишком нежные, на рубях в основном)

Pavel
06.11.2017
14:19:51
Про матрицу и консистентность. Реализация должна быть согласована с абстракцией, а иначе не то реализовали.

Если по определению матрица может быть пустой и называться матрицей- то ок

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