Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
в метаедиторе было открыто много файлов, но пропал только один, который редактировал. Видимо, метаедитор открыл файл для записи, комп внезапно вырубился, ну вот и всё. Ничего не сохранилось, т.к. файл штатно закрыт не был. Подозреваю, что это больше к винде вопрос, а не к МЕ.
о чем, собственно, и речь. Ожидаешь штатную работу редактора, а тут такое. Воспроизвести, думаю, очень легко. На компе без всяких ИБС вырубить питание и всё.
Даже решение с репозиторием не особо-то решение. Это надо прям хорошую такую привычку коммитить каждый час, например, а лучше N минут, поскольку работать с файлом можно долго.
Обычно же коммитят после закрытия программы и окончания работы. Вот сели вы работать и, скажем, 4 часа работаете. Заканчиваете и коммитите, как принято. А если на третьем часу отрубило питание, то коммита и не было.
Ну короче, либо массив избыточных дисков, либо вручную(а ну или невручную) запись на разные накопители, либо снимки файловой системы. По моему всё. Лично я не парюсь. Сбои редко бывают. А важные файлы записываю на разные накопители. У меня 5 копий на разных физических дисках, одна из них на компе. Это может показаться избыточным, но у меня была такая история что, я пишу файлики и проверяю(открываю), записал и пошел спать. Проснулся и два диска записанных оказались с пустыми файлами. Хотя я проверил их, и на них всё было. Не знаю как одновременно могло на двух пропасть.
о чем, собственно, и речь. Ожидаешь штатную работу редактора, а тут такое. Воспроизвести, думаю, очень легко. На компе без всяких ИБП вырубить питание и всё.
Даже решение с репозиторием не особо-то решение. Это надо прям хорошую такую привычку коммитить каждый час, например, а лучше N минут, поскольку работать с файлом можно долго.
Обычно же коммитят после закрытия программы и окончания работы. Вот сели вы работать и, скажем, 4 часа работаете. Заканчиваете и коммитите, как принято. А если на третьем часу отрубило питание, то коммита и не было.
В 90 привычка быстро усваивалась писать не на 2, а на 3 дискеты. После пары раз не чтения пары дискет и пару тройку метров листа кода заново завести))))) Делаю копии с разными версиями, не каждый час конечно, после достаточных изменений.
Обычно же коммитят после закрытия программы и окончания работы.
нет, есть на гитхабе автокоммитеры которые могут заливать периодически, могут по событию сохранения файла.
Я настроил авто бэкап в облако, и больше ничего не теряю. Версия файла сохраняется после каждого сохранения, а я привык часто нажимать ctrl-s. Любую версию за последние N дней можно восстановить.
Бекапы с версионированием это тоже хорошее решение. Даже на случай полной поломки диска.
Интересно как технически (отчего) такое произошло
Сбой питания, винда думает что есть немного батарейки и начинает штатно закрываться, MT успевает открыть файл и тут электричества нет совсем - и записываются нули.
Или metaeditor просто всегда держит файл открытым (в такую глупость я правда не верю).
Программно можно (посоветовать разработчикам) открывать файл с флагами NO_BUFFERING и WRITE_THROUGH то есть не использовать буферизацию при записи вообще никакую
наверное так.
ещё стоит залезть в настройки винды и там где-то указывается, что батареи нет, не было и не предвидится.
Интересно как технически (отчего) такое произошло
ставлю на какой-нибудь хитрый сбой при работе с memory-mapped файлами, другого способа адекватно объяснить обнуление всего файла не вижу
У ноута села батарейка, он внезапно выключился. Включил, открыл метаедитор - файл, над которым работал 3 дня, пустой. В Notepad++ выглядит так: одни NULL NULL NULL.
Работа потеряна. Восстановить не получается. Если кто знает как, поделитесь.
Может быть, пора уже сделать какое-то резервирование, как это происходит в MS Office, например?
У меня (крайне редко) были похожие сбои без выключения питания (возможно, при переходе от питания из сети на питание от бесперебойника, там есть задержка порядка миллисекунды). Идущие подряд нули дописывались в файл одним куском, размер таких кусков до нескольких Кб, то есть, конечно же, содержимое должно было поместиться в буфер ОС. При этом размер дописываемого файла изменялся корректно. Я отношу эти сбои к тому, что сведения о размере передаются на диск первыми, и лишь затем идет передача самих данных, она то и сбоит. Это на разных деcктопных компьютерах, под разными Windows. Диск нагружен, операции сброса буферов на диск образуют очередь, почему бы там и не возникнуть сбою. Безразлично, какой вид работы при этом выполняется, просто правка файла или его резерное копирование.