My1Name,
1. Конкретный вариант зависит от того, что именно в "что-то делаем". Если там больше нет вложенности, то можно и внутрь if код поместить. Если есть, то чем меньше вложенность, тем проще читать программу.
2. Заменить нельзя, это принципиально разные команды.
Gelyano, И? Это же смешные объёмы для базы данных. Если база в нормальной форме, то замены сделаны отдельной таблицей с внешними ключами. Достаточно перевести эти ключи в каскадный режим, нормализовать артикулы в основной таблице и в таблице замен они нормализуются автоматически.
Два вопроса.
1. Может ли одна запись в таблице Product или Offer быть связана с несколькими записями в File?
2. Может ли одна запись в таблице File быть связана с несколькими записями в Product или Offer?
Hardelele, Чуть-чуть дополню ответ. В первую очередь это нужно, чтобы гарантированно не сломать область видимости переменных, объявленных через let или const. Блок, ограниченный фигурными скобками, имеет собственную область видимости.
Gizaster G, Ну, например, на HomeAssistant я бы сделал binary sensor на интеграции Ping и автоматизацию по его статусу. Правда, на WiFi возможна потеря пакетов, так что пришлось бы делать задержку, скажем, на три подряд неудачных пинга.
hello_world42,
Интервал d+1 означает, что для перевода корректного слова в другое корректное слово необходимо изменить минимум d+1 символ. Если мы меняем только d символов или меньше, то нового корректного слова мы гарантированно не получим, слово будет ошибочным - будет обнаружена ошибка.
По исправлению ситуацию можно представить графически. Есть две точки на расстоянии 2d+1, соответствующие ближайшим корректным словам и ошибочное слово, лежащее между этими точками. Мы можем отнести ошибочное слово к одному из корректных, если расстояние до него меньше, чем до другого корректного слова. Такое выполняется только если это расстояние меньше или равно d, то есть исправляется не более d ошибок.
Пример:
(000, 111).
Интервал Хэмминга равен 3.
2d+1 <= 3, d = 1.
Если мы изменяем только один бит слова (d = 1), то можем гарантированно определить, какое корректное слово было искажено. 001, 010, 100 дадут 000. 110, 101, 011 дадут 111.
Если мы изменяем до двух бит (d = 2), то уже не можем восстановить слово. 001 может соответствовать 000 с одной ошибкой или 111 с двумя ошибками. Однако мы по прежнему обнаруживаем сам факт ошибки.
Если же мы изменяем до трёх бит (d = 3), то даже не можем гарантировать обнаружение ошибки. 000 это либо корректное слово, либо 111 с тремя ошибками.
Чтобы загрузить data_base надо импортировать в него bot.
А чтобы импортировать bot надо импортировать в него data_base.
А чтобы импортировать data_base надо импортировать в него bot.
А чтобы...
Стоп, это уже сказка про белого бычка получается.