Ипатьев, это само собой. Я бы уже даже при N>5 переписал с вложенных циклов. Ну или если количество, действительно, неизвестно (но в таком случае это обычно какое-то дерево в БД и там тогда проще и читабельнее рекурсивно собирать путь начиная с хвоста).
Ипатьев, сомневаюсь, честно говоря... Автор писал, что он два дня над задачей бьётся - за это время можно было бы самые разные варианты попробовать (точнее - попробовать самый очевидный "количество циклов равно количеству массивов" и закончить). Я подумал, что он как раз пытается родить нечитаемые хтонические штуки из ответов и не может. Поэтому и сказал: если это просто задача для разминки мозгов, то ок, можно заморачиваться (но почему тогда автор пришёл без примеров своего кода?), а в реальном проекте я бы все эти рекурсии в прод тащить не стал.
Не смотрел ни формат файла, ни код детально, но первая гипотеза, которая кажется мне вполне жизнеспособной, такая: скорее всего, у строк с объединёнными ячейками отличается количество элементов - их там на один меньше. Следовательно, можно будет просто дублировать содержимое ячейки N (данные первой группы) в ячейку N+1 (данные второй группы) через splice, например. Ну или, может, количество элментов такое же, но в N+1 пустая строка или null - можно тогда по этому признаку определять.
Вроде, логично — можно либо закэшировать данные и не ходить лишний раз в БД, либо на каждый хит получать актуальную информацию, но медленнее. Если для вас критично, чтобы деактивация происходила точно в указанное время, нужно отключить кэширование. Если есть допустимый «зазор», то можно кэшировать на эти несколько минут.
Не знаю про Go, но в Laravel ведётся таблица миграций, в которой есть инкрементируемое поле batch. Соответственно, rollback (без дополнительных аргументов) откатывает всё, у чего максимальный batch.
vlados096zver, сформулируйте точно и детально, в чём вы видите проблему. Если вам не нравится, например, что при анимации центральной точки двигаются крайние, то это одна проблема с одним решением. Если же, скажем, вам не нравится как именно анимируется сжатие, а всё остальное устраивает - другая и решение у неё другое.
Мне не очень интересно, чего вы хотите, а чего нет, что вам нравится, а что не очень — я вам дал название методики. Как вы её встроите в свой процесс разработки — ваше дело.
Что по этой ссылке противоречит написанному мной? В русской версии даже прямо сказано:
Требования
Чтобы сделать сайт доступным для установки, ему необходимы следующие вещи:
...
- Зарегистрированный service worker, чтобы приложение работало в off-line режиме (на данный момент требуется только для Chrome на Android)
Ок, если открыть оригинал на английском, то там такого уже нет, но нет и ни слова про то, что после установки что-то магически заработает оффлайново.
Зато на соседней странице этого туториала как раз детально всё расписано.
Я не просто так же взял в кавычки слова про ярлык - да, это теперь не ярлык, а нечто чуть большее, но всё равно к созданию ярлыка на рабочем столе эта кнопка намного ближе, чем к "автоматическому созданию PWA", которое само по себе после установки начнёт работать оффлайново.