Формально, на заре появления модов, исходники буквально реверсили и декомпиоировали, скорее всего даже для создания мода 12.хх и меньше версии (до покупки майкрософтом) это так.
советую создать вопрос именно на эту тему, потому что причина похоже именно в этом ненормальном способе, опиши с какими ключами запускаешь браузер, куда он установлен и т.п.
<сарказм>а как тогда прятать от парсеров ботов? ведь тогда не получится скрывать тех кто якобы регался 100500 лет назад а комментить о политике начал только сейчас?</сарказм>
Все тут верно говорят, получение рута это квест, сильно зависящий от железа и версии ОС.
Но я точно помню, что для старых железок существовали jailbreak, приложения, которые, работая из под обычного пользователя как обычные приложения, устанавливали рут и даже снимали блокировку загрузчика (у меня был старый xiaomi смартфон не помню версии, как раз когда появилось что для разблокировки нужно было общаться с китайским саппортом)... это было до того как разделы начали шифровать... вполне допускаю что такие уязвимости могут найти и для некоторых относительно новых смартфонов.
efi не обязан уметь загружаться с не removable дисков, т.е. гарантия есть только для флешек и cdrom (кажется usb sata контроллеры тоже срабатывают)
@c0ngr3ssman
но если у тебя загрузка через grub сработала и дошла до кнопки - 'установить windows', то ДОСТАТОЧНО перед этим скопировать содержимое iso образа на диск в любой раздел (или второй диск, не важно) отличный от раздела, на который будет установка, то установщик его найдет и будет использовать.
т.е. создаешь разделы из linux, форматируешь первый как ntfs (не важно, потом можно еще раз форматировать) и второй fat32 чтобы на него положить файлы из iso windows (распаковать любым архиватором) а затем загружаешься с iso с помощью grub (т.е. у тебя где то и iso должен лежать)
в функции InsertNewMessage выведи текст своего сообщения на экран, чтобы удостовериться что этот текст в верной кодировке, либо сохрани его в файл, будет сразу ясно что происходит
можешь провести эксперимент и создать тестовую таблицу с тестовым текстовым полем и поместить туда тестовую строку "тест" буквально запросом из консольного клиента mysql? как минимум это исключит проблемы с базой а не твоим приложением.
Для исправления багов работать у работодателя может быть не обязательно.
Но подобные гарантии дают компании а не физические лица, так как это слишком высокая ответственность, не оставляющая дешевой возможности для ошибки.
Подписывая подобный договор вы должны быть готовы что вы будете способны оказывать поддержку в течении года.
Если приложение простое, такая поддержка не создает проблем, но если это ERP на 100500 функциональных элементов и документацией толщиной с книгу война и мир, то закладывать всего себя на гарантию поддержки (включающей исправление багов, что могут быть не по твоей вине, а к примеру в среде разработчиков, компилятора и даже ОС, но последнее можно подробно расписать в договоре).
p.s. мыслить нужно в т.ч. с позиции, какое наказание ты получишь, если не будешь в силах исполнить свои обязательства, и кстати это должно быть указано в договоре
Zettabyte, удалять старые записи из файла это его перезапись, ведь ненужные записи в начале.
Оформи хранение в нескольких файлах, по дате (например за сутки) и удаляй целыми файлами, это максимально быстро и просто, а главное не надо ничего блокировать.
Если у тебя одновременно запись из нескольких потоков, могу предложить писать сразу в несколько файлов (имя файла должно включать идентификатор источника), учитывая это при чтении, так как запись файла не атомарная операция (хотя неофициально, в пределах кластера фс - атомарная, но это неудобно).
Но, если есть многопоточных доступ, лучше воспользоваться готовыми реализациями бд, той же sqlite.