Если докер является частью вашего облака AWS/Azure - то надо читать их документацию. Обычно постащик облака всегда продает какой-то сейф (vault) для хранения секретов. И есть API через который можно читать содержимое этого сейфа.
Был в десятке разных компаний. У всех - по разному.
Бэкап это по большей части организационный вопрос. Главное что в этом топике вам никто правильно не ответит.
Нужно спрашивать ваш бизнес о требованиях к базе. Например:
1) Как долго бизнес согласен ждать восстановления? Это влияет например на стратегию делания инкрементальных кумулятивных и полных бэкапов для БД. Разумеется все БД - в режиме arhivelog/wal.
2) От чего мы страхуемся? От физических повреждений. Или еще нужно предохранится от неверно поставленного обновления на базу. Тут - надо прикупить дополнительных дисков или магнитных накопителей.
Самое главное что у вас должны быть учебные тревоги. Тоесть вы должны реально откатать бэкап+восстановление хотя-бы несколько раз. Иначе то что вы делаете будет фейком. Часто видел такое. Бэкап делает какой-то сисадмин средствами Акрониса например. Но этот сисадмин и понятия не имеет как работает Oracle и что вообще нужно предварительно подготовить чтоб бэкапные файлы не стали ненужным балластом.
Основное энергопотребление для игр занимает рендеринг графики. Поэтому для игры будет по большему счету безразлично вызываете вы графичесекий API из С++ или из C#. Исключение пожалуй составят игры со сложным AI где именно важен основной CPU. Но в играх типа Марио нету никакого сложного AI поэтому можете игнорить это исключение.
C# более прозрачный для понимания язык свободный от UB и поэтому если вы планируете в будущем развивать и доделывать софт - то лучше всего этот софт делать на современном и однозначном языке. Для бизнеса это полезно. Всегда найдете другого разработчика который легко разберется в вашем коде и пофиксит все что надо.
Для разработчика ты можешь поднять Postgres, Redis, Mongo в Docker. Это делается (почти) в 1 строку.
Или если тебе нужен ансамбль из нескольких сервисов тогда - kubernetes.
Облачные провайдеры дают бесплатный аккаунт только на 1-2 месяца а потом все равно надо платить. Кстати при глубоком изучении тех-же AWS/Azure/GCP я все таки советую оплатить акк. Я замечал что есть некоторая часть проблем которая принципиально не устраняется в бесплатных учетках.
В этой задаче всё нормально и никаких видимых проблем нету. Обычно индекс работает синхронно с обновлением основной таблицы (кроме редких типов индексов основанных на текстовом поиске).
Единственное что здесь избыточно так это сам ключ. '328382164-audi-a4-2012-blue-WВA2UAF48H38K007347'
его копия будет лежать и в таблице и в индексе. Я-бы поискал какие-то закономерности.
Если вся таблица созавалась под audi - то стоит-ли держать еще признак рядом?
Если бы база была класса Oracle и ключ - композитный то я-бы разбил его на два-три подключа
и использовал-бы compressed index. Тогда марки машин можно было сжать и уменьшить объем индекса.
Практически эта задача звучит так. Создать копию файла с изменённой строкой. Такой подход к изменению текстовых файлов во всех языках и системах программирования.
Топик тегирован "Базами Данных". Какими - чорт его знает.
Поэтому есть следующие коробочные решения. Cassandra, Redis, Amazon DynamoDb. Все они поддерживают дополнительное поле TTL и удаляют записи автоматически без участия разработчика.
По поводу подводных камней о которых пишет автор. Это всё очень плохо и почти не работает в боевых условиях. Пока бэкап данных делается в обычном плановом режиме - никто не знает о существовании всяких там левых файлов на сервере приложений. Грубо говоря все думают что состояние системы (state) лежит в базе и только в базе. Поэтому попытка размазать состояние системы по нескольким нодам вычислительной сети приводит к сложным и трудноуловимым последствиям.
Какой бизнес-смысл этих ограничений? Если поле массива должно хранить возраст человека (условно от 0 до 120 лет) то тогда надо создать свой тип (класс) и создавать типизированный массив.
А я вообще не понял почему автор "ударил лицом" в грязь. Разве речь шла о хакатонах или олимпиадах.
Вообще в ентерпрайзе например нет таких оценок времени. Задача которая делается за 10 минут - скорее всего никому не нужна. Задача должна быть обдумана. Покрыта тестами. Покрыта code-review.
Мой шеф говорил - "задача должна настояться". Я-бы голосовал 1 StoryPoint. Или один день разработки. А то что "подруга" решала за 5 минут - было похоже на троллинг молодого кавалера или развод на слабо. Зачем вообще вестись на такое?
Непонятно какого рода acceptance criteria здесь можно применить. Если ИИ нашел что картинка состоит из синего фона то является ли это решением? Хотя по факту вы фоткали морской горизонт. И если в море был виден парусник - то как ИИ должен был его описать?
ИИ с синим фоном и я могу сделать. Нехитрое дело... Усредненный цвет.
Если у вас d не равно 1 тогда возникает flow который приводит к matrix которая не аллоцирована.
Кстати вы используете не матрицу а так называемый Jagged Array (зубастый массив). В этом нет смысла т.к. у вас матрица всегда прямоугольная и рациональнее выделить один большой массив и распределять его ячейки как элементы прямоугольной матрицы (i,j) формула смещения - очень простая. Ширину умножить на один индекс плюс второй.
Я-бы делал так
float* matrix = new float[n * m]
ну и формулы доступа дальше подправить надо соотвественоо.
Я думаю что скорость современных адаптеров Wifi (5G/900Mb) будет лучше чем 10 мегабит по коаксиалу.
По поводу дома. Вы говорите что внутри - видимость плохая. Попробуйте повесить пару адаптеров снаружи дома так чтобы из них можно было собрать схему "bridge". Или один адаптер в доме а другой снаружи. Вобщем разные варианты. При этом к интернету будет подключен только один а другой в роли репитера.
Да. Корректно. Но если вы не пользуетесь билдером то вам придется вручную отслеживать открывающие и закрывающие скобки в тек местах где есть приоритет и вручную форматировать отступы и переносы если есть такое требование. Тоесть в какой-то момент времени сложность кодогенерации перейдет с билдера в ваш рукотворный код и вам эту сложность также придется поддерживать и объяснять ее происхождение коллегам.
Кстати на каком языке вы разрабатываете? Для Java есть готовые билдеры в QueryDSL, JooQ.
Понимать сложность алгоритмов - сложно. В общем случае глядя на исходних достаточно трудно сказать какое там o(n). Особенно если есть рекурсии и предикаты которые срабатывают с вероятностью которую мы не знаем.
Вообще, нарабатывая опыт. Например обход элементов квадратной матрицы имеет квадратичную стоимость а обход куба - кубическую. Это из простого. Шаблоны дихотомического поиска почти всегда содержат в основе своей формулы логарифм по основанию 2. И комбинаторные алгоритмы (сочетания и перестановки) - практически всегда содержат в своей основе n под факториалом.
Кстати если формула содержит суперпозицию факториала и полинома - то полином можно выкинуть. Т.к. в сравнении пределов факториал улетает в бесконечность быстрее и соотв. решение зависит только от факториала.
Я не очень понимаю зачем для собеседования знать оценку неизвестных алгоримов. Я прошел не один десяток интервью и меня никогда никто не просил оценить сложность неизвестного алгоритма.
По поводу Дональда Кнута. Ничего он не поймет. Кнут писал 40 лет назад. Писал про железо которого уже не существует (ленточные накопители) и продавливал свои идеи алгоритмизации на ограниченном числе ресурсов. Кнут просто издевается над современным читателем имеющим ноутбук и смартфон тем фактом что заставляет изучать несуществующий компьютер MMIX (это такая себе машинка-калькулятор вроде Феликса или Энигмы, такие вот у меня ассоциации) и под него-же писать и читать код. Ну кому это надо!
Сегодня я снимаю шляпу перед тем трудом который он сотворил. Но если студент хочет ПРОСТО освоить тему оценок сложностей алгоритмов то можно взять что-то более быстрое и эффективное. Вирт. Седжвик. Даже Кормен.
Для жлобских ноутбуков можно попробовать поставить Linux с десктопом XFCE (Xubuntu). Там 8 для ОС надо.
По поводу чистки - полностью согласен. Часто бывает что лежит хлам который годами не нужен. Апдейты. Софт который не был корректно удалён. Я сам этим грешил. Вобщем надо просто критически посмотреть что вообще за файлы там лежат. Может рука дрогнула и телесериал был залит случайно в \windows.