Andrii
Опять же, ты хочешь переплюнуть все алгоритмы?
Bogdan
Andrii
экономия памяти
Ну... буфера могут быть попроизводительнее, но опять же, зачем в это внимать?
Bogdan
у меня ещё такой вопрос есть где лучше всего хранить старую версию файла ведь допустим если файл изменили то он нигде не бэкапится кроме памяти
Bogdan
можно ли как-то его сжать
Bogdan
что бы он много памяти не занимал
Andrii
Bogdan
у меня дифф не 2 файлов, а файла до и файла после
Andrii
Если у тебя есть версионность, да разверни ты git, он сделает всё за тебя
Bogdan
у меня ивенты
Bogdan
вот тут и будет алгоритм дифа
Bogdan
он будет сравнивать файл к которому привязан трекинг с его старой версией
Сергей
@mustitz ты чего не спишь?
Andrii
Не знаю, я бы просто запустил diff и сохранил бы патч
Bogdan
Сергей
Bogdan
Bogdan
никаких гитов использовать нельзя
EXTRA
Bogdan
m700
Bogdan
то-есть дифф чисто за 1 файлом следит
EXTRA
Bogdan
Bogdan
что бы не хранить в памяти
EXTRA
Andrii
ну то-есть в любом случае придётся физически хранить старую версию
Ну а как ты получишь старую версию? Её надо где-то хранить. Опять же я не уверен, что задача вообще имеет приемлемое решение. Потому что если ты получил уведомление об изменении файла, то возникают проблемы. Если ті откроешь файл эксклюзивно, то если приложение захочет снова дописать что-то в файл, то оно потерпит крах. А если неэксклюзивно, то пока ты его читаешь, в него могут писать
Andrii
Меня это больше смущает.
Bogdan
Bogdan
то-есть как раз по сохранению файла
Andrii
Ну там есть хуки в винде. Проблема не в том, чтобы определить, что файл поменялся. В а том, что делать дальше.
Bogdan
проблема ещё в том в какой момент копировать файл
Bogdan
откуда взять историю если оно реагирует на сохранение
Andrii
https://docs.microsoft.com/en-us/windows/win32/fileio/obtaining-directory-change-notifications
Bogdan
ну filesystemwatcher это и есть обертка над винапи
Bogdan
и откуда тогда старую версию брать если ты не можешь её достать
Andrii
При старте можно сделать копию. Если будут права. Просто проблема в том, что делать когда ты определил, что файл изменился. Если залочить запись всем, то другие приложения могут заглючить. Если не залочить, то файл могут перезаписать в процессе чтения
Bogdan
Ну я думаю обёртка потокобезопасная
Bogdan
Andrii
Причём тут потокобезопаность? Файл то другие процессы меняют, которые ты не контролишь
Andrii
Bogdan
Ну смотри сервер то нонстопом работает следовательно он должен и мониторить нонстопом
Andrii
Andrii
Или пользователь остановил
Andrii
Сохраняем diff и обновляем копию. И молимся, чтобы в это время не произошла нвая записись, пока мы читаем и сравниваем
Andrii
Вообще, это тебя ломом плац заставляют подметать или есть реальное применение?
Bogdan
Bogdan
Rainard
Можно на момент чтения хэш посчитать. После вычисления diff тоже
Rainard
По приколу убедиться в целостности файла
Andrii
Это тестовое задание
Ну... много вопросов к такой постановке, ИМХО... НА практике я бы смотреть на
https://docs.microsoft.com/en-us/windows/win32/projfs/projected-file-system
ибо там полный контроль, и никакие дифы не надо
denz1l
ioannes
Npc
ioannes
Дефолтный тип
ioannes
О помею твою аву ты тут давно сидишь
EXTRA
Потому что чел начал изучать Java, потому что перепутал её с java script
Андрей
EXTRA
Блин, как же я обожаю эффект, название которого я не знаю. У тебя человек что-то спрашивает - ты отвечаешь что-то очевидное или какой-то правдоподобный бред и спросивший уже сам додумывается до шедевра реализации
Алексей
Ребята, которую неделю пытаюсь настроить qt creator.
Пишу на с++, настроил desktop, gbc, gcc, a qt не могу, хотя установка начиналась с него а не с креатора
Алексей
Да, забыл, ставлю на дебиан 11
m700
m700
Алексей
Кто такое чудо ставил и настраивал на линукс подскажите
Andrii
https://maps.org/news-letters/v18n1/v18n1-MAPS_24.pdf
Alex
Алексей
Так а в чем проблема?
В разделе qt профили пусто и не могу найти куда послать систему, чтобы подцепить
EXTRA
Смысл вопроса?
EXTRA
Ты не уважаешь время собравшихся тут людей.
m700
даже так не проще
m700
херачиш как синьор а платят все равно по зп джуна...не просто же