Начните с уточнения раздела, потому что дисциплина огромная и "в целом", как вы выразились, ни в одну голову не влезет:
-радиоприем и передача сигналов - (современные - там больше математики чем электроники). Потому что практически все современное радио - это SDR.
-аудио - отдельный огромный топик про конструирование усилителей и аналоговых трактов
-цифровая схемотехника - тоже отдельный топик
-силовая электроника - туда же.
Обычно, те кто занимаются электроникой, знают один раздел отлично, второй на троечку с плюсом, остальные знают на уровне слухов.
Например, редко сочетаются 2+3, зато 1+3 и 3+4 - очень часто. Я 3+4 как раз.
Совершенно отдельной темой является ремонт, из которого можно выделить ремонт компьютеров (требует наличия дорогого оборудования и материалов для пайки), бытовой техники, автоэлектроника.
Можно придумать огромное количество вариантов, в зависимости от того, какое железо у вас есть в наличии или что вы можете себе позволить купить.
Начать можно с простого VoIP-клиента на смартфоне и второго клиента на ПК, который стоит возле усилителя. Настраиваете автоподъем трубки при звонке - и болтайте сколько угодно.
DDwrt100, обратите внимание, что в исходной задаче нет ни 10k пользователей, ни аналитики. Это уже ваши конструкции, нужные только для поддержания спора со мной.
В реальности есть:
- уже готовый сервис, написанный под одного пользователя (скорее всего, организацию)
- необходимость сделать его многопользовательским.
При этом, такая переделка уже готового сервиса вполне может означать "все снести и написать заново".
DDwrt100, как я выше уже сказал, для дата-сайентиста (хотя более корректно было бы сказать "статистика") делается агрегирование, в котором можно и индексы построить (которые, кстати, не будут влиять на работу отдельных юзеров).
DDwrt100, А этих данных в задаче не было. Вы доуточняете авторский вопрос таким образом, чтобы мой ответ максимально перестал к нему подходить.
Тут получается сложный баланс между затратами на безопасный код и проверки доступа и изначально дубовым решением. А вопрос аналитики можно решить, выгружая данные из пользовательских баз в аналитическую.
Тогда под пользовательские базы можно выделить минимальные конфигурации серверов подешовке.
DDwrt100, Ну вот смотрите, финансовый сервис. Если в скриптах, которые обслуживают аккаунт будет дырень, владелец аккаунта сможет получить доступ к данным других пользователей - база-то одна.
Сейчас не модно на каждого юзера БД создавать свою учетку в БД и нарезать права (да и вообще делать в базе что-то умнее простой свалки данных - некоторые даже забивают на Foreign Key) - следовательно, все юзеры будут сидеть на одном аккаунте БД.
Далее ( учитывая потенциально косые руки разрабов), юзер находит инъекцию и получает доступ к данным других юзеров. Или просто подменяет в запросе свой ID на чужой (потому что по причине, опять же, незнания основ инфобеза разрабами, маловероятно, что они дотумкают не ставить SERIAL на ключи и будут использовать рандомизацию/хэши)
Так что принципы реализации информационной безопасности как на корабле или подлодке - чем крепче изоляция между несвязанными величинами, тем лучше.
У трансформатора сердечник короткозамкнут - специально, чтобы магнитное поле как можно меньше выходило наружу и портило КПД
Соленоиду нужно противоположное свойство - поле не должно замыкаться внутри.
Вы можете попытаться разобрать трансформатор, сняв с него катушку - вот это уже будет соленоид.
FoxOne, если не обучать новичков аккуратному обращению с исходниками, этим придется заниматься тимлиду, или выгребать последствия головотяпства
-зачем хидер, все свалю в один файл
-зачем форматирование, мне и так все понятно
-зачем типы, auto все простит
-зачем корректные имена переменных, в алфавите целых 26 букв
FoxOne, программы на C++ не пишутся "в стол", они растут, рефакторятся и развиваются. Если не следовать минимальным стандартам, к сложности предметной области задачи и C++ добавятся еще и креативы кодерков.
Так что насчет единообразия и стандартизации кода я буду категоричен.