Maksim
06.11.2017
12:20:08
преподаватели тоже разные бывают) мы как-то собеседовали товарища, который 10+ лет реляционные базы данных преподавал... нужно ли говорить на какой процент вопросов он ответил?)
Adel
06.11.2017
12:22:29
прослушал половину. математику я уже забыл.. поэтому примеры с математикой понимал плохо. но программерские примеры - абсолютно правильные. с ним согласен я.
Mykola
06.11.2017
12:25:02
Adel
06.11.2017
12:25:22
не создавать неконсистетную матрицу.
Google
Mykola
06.11.2017
12:26:49
этот пример вообще меня повеселил
даже если ты не добавишь дефолтовый конструктор, тебя никто не убережет от создания неконсистентной матрицы
так что пример притянут за уши, к тому же к особенностям языка с++
Adel
06.11.2017
12:30:01
Mykola
06.11.2017
12:30:27
ну никто же не мешает тебе создать пустую матрицу без дефолтного конструктора?
Adel
06.11.2017
12:30:58
конструктор должен помешать
он не должен создать неконсистентный обьект
f4rt~
06.11.2017
12:32:04
простите)
Mykola
06.11.2017
12:32:08
ну в примере его не было же
Adel
06.11.2017
12:32:18
я уже хотел гуглить MM и MP :)
f4rt~
06.11.2017
12:32:37
:D
Google
Adel
06.11.2017
12:33:09
Aleh
06.11.2017
12:33:26
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
Mykola
06.11.2017
12:45:54
я же не говорю, что солид - это что-то плохое, и что код нужно ифами писать)
нужно просто меру знать ;)
Adel
06.11.2017
12:47:25
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
Про матрицу и консистентность. Реализация должна быть согласована с абстракцией, а иначе не то реализовали.
Если по определению матрица может быть пустой и называться матрицей- то ок