Большинство книг, которые выпущены вчера, базируются на знаниях, которые кто-то получал в 2004, поэтому даже в старых книгах всегда полно полезной информации.
Что же касается изменений в проекте - так если вы умеете программировать - вы должны знать что менять. Если не умеете - не меняйте.
influxDB больше подходит для хранения числовых метрик, чем строк, и уж тем более, чем комментариев. В этом она одна из лучших. И выборки по таблицам, там нет, даже собственно таблиц с колонками нет, есть метрики, которые хранятся скорее в виде объектов. Вот хранить данные по нагрузке,трафику, другие числа и иногда строки - это да.
Но если вам нужны выборки по таблицам, оставайтесь в пределах SQL баз.
RAW это не какая-то файловая система, это диск без файловой системы, точнее штатные средства не находят на диске файловую систему.
Либо диск не читается, либо запоролись системные области разметки.
Если данные важны - обращайтесь в сервис по восстановлению информацию. Если не нужны - можете поковыряться на свой страх и риск различными программами, типа DMDE, но никакой гарантии что удастся даже вытащить данные, не то, что восстановить диск - нет.
В принципе работать будет - важна не скорость шпинделя, а скорость самого диска. Диск с меньшей скоростью вращения, но бОльшей плотностью записи может даже иметь линейную скорость чтения выше.
Просто если производительность работы дисков в рейде сильно отличается, производительность рейда будет не оптимальна, но работаьт будет.
Низкоуровневое программирование это просто программирование.
Просто программирование не требует матана, достаточно стандартной арифметики.
Много математики нужно там, где будет стоять задача запрограммировать какой-то математический алгоритм.
Например, чтобы нарисовать круг на ассемблере, нужно будет разобраться не только с тем, как работать с видеопамятью, но и с тем как собственно вычислить координаты точек на окружности круга, то есть геометрия, Пи, формулы.
Но если у вас плохо со школьным образованием, это очень явный признак того, что вы учиться в принципе не любите и не умеете, а в ИТ сфере без этого вообще никак.
headless browser, например chromium, запускается из командной строки, прописываются различные варианты что он должен делать и какой результат должен получиться.
Скриптуется и запускается автоматом.
Можно использовать что-то посложнее, типа Selenium.
Ну и вообще, QA automation engineer, есть такое.
Фриланс это не работа на дому. Фриланс это в первую очередь самоорганизация и самостоятельность в поиске клиента, в договоренностях, в решении проблем оплаты. А вы даже направление самостоятельно выбрать не можете.
Вам скорее всего нужен не фриланс, а удаленка по контракту. Смотрите какие есть вакансии, учите то, что указано в требованиях. Какое бы направление вы не выбрали, там всегда будет что-то, что вам не понравится.
За год что-то осваивают те, у кого со школы уже огромный бэкграунд и какие-то навыки и понимание что к чему. Никто не скажет что у вас получится за год, люди обучаются очень по разному, разброс между год и 15 лет слишком велик, чтобы уточнять что-то для рандомного человека в инете.
Очень плохая идея шифра.
Если вашим шифром зашифровать один и тот же текст, получится один и тот же результат.
Таким образом, вы пользуетесь усложненным способом для шифрования, при этом в результате получается обычная подстановка символов, которую можно делать и по таблице. Тот, кто будет дешифровывать даже не будет пользоваться вашим двойным преобразованием. При наличии достаточного количества текста (даже абзац), можно проверить частотность использования символов. А на современном компе можно вообще попробовать перебрать все варианты подстановок с автоматической проверкой по словарю.
Хотите крипкостойкости - начните с шифра Вижинера, чтобы понять как работают криптостойкие алгоритмы.
хранение игр с большой скоростью чтения (ну тут и так ясно raid1
Если просто хранение игр, то чем raid-5 не подходт? Просто реализовать его на хардварном решении. Скорость чтения у raid-5 высокая. Скорость записи - зависит от контроллера, но для игр - достаточная, они же почти ничего не пишут, больше читают.
Опять так, 3 тб игр, в которые вы постоянно каждый день играете? Почему бы не взять маленький SSD M2, на который ставить то, во что играете прямо сейчас?
Saboteur
@saboteur_kiev Куратор тега Разработка игр
software engineer
Конечно человеком.
Это обычная ритм-игра, которая наряду с Pump-It-Up и Dance-Dance-Revolution вполне может занять свою нишу среди профессиональных ритм-игр.
Стрелки или блоки, положенные на музыку, называются чартом (или степчартом в случае памп/ддр).
В некоторых ситуациях в игру может быть даже встроен редактор для создания кастомных чартов. А в случае опен-сорс ритм-игр, можно и свои треки добавлять.
P.S. Это не исключает того, что можно конечно написать программу, которая расставит блоки сама. Но качество подобных чартов не включает в себя творческого момента, создание комбинаций, подчеркивающих ритм-композицию, вдобавок есть еще понятие физиологического комфорта, когда подразумевается как этот чарт "отмахивать" - оно должно быть совместимо с человеческими движениями. На простом уровне это не так критично, но на сложных уровнях это необходимо.
50 тысяч строк это вообще не проблема.
Если состояние каждого уровня хранить как байт, то это всего 50 кбайт.
Даже если хранить как строки, с учетом накладных расходов mysql, займет ну пару мегабайт.
На данном этапе можно вообще не париться.
Инвентарь - тоже, каждый предмет в отдельной строке с указанием владельца и места, и всех параметров предмета.
Базы данных были для того и созданы, что подобного уровня объемы это мелочи.
Нельзя так сделать.
Можно урезать конкретный файл через truncate, но так чтобы из одного сделать несколько - не выйдет.
fallocate делает не это, он создает файл нужного размера, но не наполняет его данными, просто сообщая файловой системе, сколько места ему нужно. Но fallocate не управляет конкретными областями диска, и нарезать уже существующие данные не может в принципе.
Единственный вариант - считать файл в память, удалить его на диске и записать несколько уже из памяти. Но понятно что размер файла при этом ограничен возможностями. Можно написать. И в любом случае будут операции чтения/записи.
Т.е. я представляю такой способ - основной диск C разбивается на 2, а затем на второй созданный диск с помощью windows server backup создавать резервные копии по расписанию.
Смотря какую проблему вы хотите решить таким бэкапом.
Если выйдет из строя диск, то навернутся обе копии.
Если пользователь затрет рабочую информацию, можно будет восстановить из такого бэкапа.
Лучше, если бэкапный диск - это отдельное физическое устройство. А если это вообще другой сервер, то это еще лучше.