Не запустился у меня ваш код, выдает вот такую ошибку:
Traceback (most recent call last):
File «main.py», line 23, in fbi(121212)
File «main.py», line 10, in fbi
for then in digits:
TypeError: 'int' object is not iterable
Статья действительно больше о тестирование, чем о высконадежности… сам авто подитожил это -
после того, как проект успешно проходит стресс-тесты, можем ли мы говорить о том, что наша система работает именно так, как ожидается? Можно ли считать её высоконадёжной? К сожалению — нет.
Но вот Gomega прикольный BDD пакет, надо попробовать.
Я думал это вынести отдельно в init, чтобы избежать повторного создания map.
Насчет префиксного дерева не знаю, надо копнуть. Скорее всего используется ассоциативный массив.
1. Запускаем 7 и 4 одновременно, когда закончиться 7, в 4 минутах останется 1 минута.
2. Запускаем 1 минуту и потом два раза по 4 минуты — получим 9 минут.
2-я задача:
1. Запускаем 7 и 4 одновременно, когда закончиться 7, в 4 минутах останется 1 минута.
2. Запускаем оставщуюся 1 минута в 4 и 7 одновременно. После окончания 1 минуты, в 7 останется 6 минут.
3. Запускаем сразу 4 и после окончания 6 минут в 7, в 4 останется 2 минуты
4. Запускаем 7 и потом запускаем оставшиеся 2 минуты из 4 — в сумме получаем 9 минут.
В спецификации так и написано, если вы удаляете или комментируете поле, используете reserved fields, чтобы избежать колизий.
Reserved Fields
If you update a message type by entirely removing a field, or commenting it out, future users can reuse the tag number when making their own updates to the type. This can cause severe issues if they later load old versions of the same .proto, including data corruption, privacy bugs, and so on. One way to make sure this doesn't happen is to specify that the field tags (and/or names, which can also cause issues for JSON serialization) of your deleted fields are reserved. The protocol buffer compiler will complain if any future users try to use these field identifiers.
Да, gRPC использует Protobuf как язык описание интерфейсов, но такая форма не совсем понятная, поэтому для просто я использовал как «реализация протокола Protobuf».
У меня лично опыт негативного нет gRPC. Но у меня все инфраструктура новая на одной версии. Я пытался с ними связаться, чтобы получиться какие-то точные пояснения ошибок, но пока безуспешно. Насчет добавления удаления полей есть Reserved Fields которые вам позволяют избежать ошибок, но как я сказал — пока нет информации были ли причины именно в этом.
Покажите мне компании, которые аусорсят R&D особенно в фармацептике? Давай-те отбросим софтверный аутсорс типа — переведите мой бухгалтерское приложение в облако. Покажите, где Google аутсорсит скажем разработку языков программирования или Apple разработку новой модели iPhone. Компании будут либо строить свои R&D там, где будут дешевые ресурсы, научная база, стабильная политическая обстановка — а всякие call-center так и будут переводить в Индию, или что более вероятнее заменять в AI, ботами итд.
Да, я использую net.ParseCIDR, но если мне в качестве параметров передается скажем 216.58.192.12 — 216.58.192.34, то мне его нужно сначала перевести в набор подсетей {216.58.192.12/30, 216.58.192.16/28, 216.58.192.32/31, 216.58.192.34/32}, потому уже работать с ними с помощью метода net.ParseCIDR.
Traceback (most recent call last):
File «main.py», line 23, in fbi(121212)
File «main.py», line 10, in fbi
for then in digits:
TypeError: 'int' object is not iterable
И мне не совсем понятна логика.
Но вот Gomega прикольный BDD пакет, надо попробовать.
Насчет префиксного дерева не знаю, надо копнуть. Скорее всего используется ассоциативный массив.
И тесты. Все проходит
2. Запускаем 1 минуту и потом два раза по 4 минуты — получим 9 минут.
или
Вход: dictionary[] = {«HIZ», «RND»};
и по нему нужно определиться, есть ли такое слово.
1. Запускаем 7 и 4 одновременно, когда закончиться 7, в 4 минутах останется 1 минута.
2. Запускаем оставщуюся 1 минута в 4 и 7 одновременно. После окончания 1 минуты, в 7 останется 6 минут.
3. Запускаем сразу 4 и после окончания 6 минут в 7, в 4 останется 2 минуты
4. Запускаем 7 и потом запускаем оставшиеся 2 минуты из 4 — в сумме получаем 9 минут.