Pull to refresh
4
0
Василий @vSLY

Señor Backend

Send message

Наконец можно будет перестать отправлять бесконечные скриншоты кода в телеге

То, чего вы хотите добиться, обычно делается при помощи class invariant. На практике это выражается в ассертах в конструкторе, которые не дают сконструировать класс в невалидном состоянии. Также этот класс должен быть неизменяемым(immutable). И всё – вы можете засовывать туда любые проверки, какие считаете нужным для данного типа данных.

И если хранимое таким образом значение не является сущностью(не имеет id), то этот класс называется value object(объект-значение – объект, являющийся значением). Затем из таких инвариантов можно собрать целую сущность и ей тоже можно добавить инвариантов, если нужно.

Если заинтересовал такой подход, почитайте и другие тактические паттерны DDD (Domain Driven Design)

Более известное название – перфекционизм.

И если следовать вашей аналогии, то этот метод здесь не подходит – в разработке ПО нет такой идеально четкой и неизменной инструкции по сборке. А требования по ходу строительства или после завершения очередной стадии меняются – теперь надо сделать стены красными или дверные проемы пошире. И эти задачи будут продолжать поступать в большинстве проектов.

Похоже вам повезло не сталкиваться с "эффективным" менеджментом.

А оно вполне совместимо. Не всем же быть максималистами и рисковать своим местом и отношениями (networking), разводя конфликты с вышестоящими управленцами. Им нужны "циферки" в отчетах, а вам семью кормить. Так технический долг и копится.

Здесь в Китае производителей не особо беспокоят все эти проблемы с безопасностью их устройств. Да и конечные пользователи не особо бунтуют или отказываются покупать дешевые IoT девайсы из Китая от дешевых брендов.
Так что с точки зрения ИБ их стоит рассматривать как скомпроментированные — выносить в отдельную сеть или закрывать все возможные порты вовне, а лучше вообще не использовать, по возможности.

Если не секрет, почему именно


ESP32 — это мусор.

Или именно для этой задачи?
Использовал его пару раз, да и в IoT его любят ставить.

А как, например, реализовать OVP через компаратор, если у меня выходное напряжение задается на МК? Да, я могу подавать желаемый уровень напряжения (+5%) с МК на инвертирующий выход (естественно с учётом делителя напряжения), но мы же защищаемся как раз от отказа последнего.
А какой минимальный STM32 можно использовать под эти цели? А то F334 это как-то дороговато, если только для этой цели. F1 какой-то может подойдёт, куда смотреть в datasheet?
Кстати про мультиядерность — сразу вспоминается ESP32, но пинов негусто.

А так очень бы хотелось конечно реализовать эту логику самому — и экономия и интересно и больше возможностей управления. Но вот не уверен, стоит ли начинать.

Ну если МК будет не только конвертером заниматься, а, скажем, по wifi/usb что-то делать, выводить информацию на экран, что-то на sd карточку писать итд. то вариантов где-то в коде подлагать будет достаточно. Плюс помехи или вдруг напряжение питания просядет сильно.

Спасибо за статью! А насколько это надёжно в принципе — управлять конвертером с МК? Что если он подвиснет в момент открытого выходного канала (в случае с buck входное напряжение пойдёт на выход) и пока watchdog среагирует и перезапустит МК может пройти пару мс и что-нибудь спалить на выходе? Или таймер на прерывании с мониторингом обратной связи выхода (через делитель) достаточно отказоустойчивый инструмент? Я думаю использовать в своём проекте специальный IC конвертера в первую очередь из-за надёжности, кучи защит и минимизации возможности допустить ошибку в коде. А управлять им уже через МК. Не хотелось бы спалить чей-нибудь смартфон или что подороже.

Ну так они и смотрят на готовые решения и не делают велосипедов:
cd ~
ls -a
Безусловно, приятней и проще быть «первым парнем на селе», однако еще это называется «зоной комфорта».

Развитие же происходит более эффективно (за счет многих факторов) в среде, где вас окружают более развитые индивиды. Сначала вам будет дискомфортно. Все вокруг, кажется, во всём вас превосходят. Но потом вы заметите, что эти люди, несмотря на своё превосходство, не относятся к вам как к низшему существу, или как вы там о себе уже начали думать. А ещё они такие же, как и вы, просто в их среде рамки, которым они стремятся соответствовать, выше. Вам же остаётся только аналогичным образом подтянуть себя к этим рамкам.

Многие люди будут готовы поддержать вас, поделиться знанием и просто провести с вами время, будто бы вы один из них. Отчасти это связано с тем, что на вашем фоне их психика получает приятные сигналы собственной значимости, так как они в среде сильной конкуренции и для них это тоже стресс. Да, это способ «поднять свою самооценку за счет других», но не стоит к этому относиться, словно это плохо. Это естественно. Вопрос в том, что некоторые делают это более грубыми методами – высмеивание, прямые указания на разницу, ограничения и гонения (сравните с ситуацией полового или этнического неравенства – развитое общество США/Европы учится бороться с этой проблемой и успехи есть).
Ваша же ситуация, скорее всего, будет чем-то похожа на ту, как когда попадаешь в ВУЗ (сколь-либо престижный) и сопутствующие проблемы нивелируются примерно за тот же срок. Главное уметь активно работать, обучаться и общаться. И если вы это уже умеете, то это всё, что вам нужно!

В статье же речь о неустранимых различиях, о ненормально богатых людях. Тут остаётся только добавить, что маргиналы всегда были занозой для общества.
Стоило задуматься о том, чтобы начать делать прототипы/зарисовки в специализированной среде, а не в фотошопе/салфетках соотвественно, как сразу на хабре попадаются статьи о замечательном Sketch и теперь вот Axure. А какие еще инструменты стоит рассмотреть? А то я чуть Sketch не купил (99$).
Спасибо за статью!
А подскажите пожалуйста, если я захочу затем портировать это приложение на мобильные устройства (желательно в виде исполняемого файла со страницей в google play/app store) какими инструментами можно воспользоваться, чтобы не менять код сильно?
Стоит задача кросс-платформенной разработки из одного исходника, пока что смотрю в сторону Delphi 10.1 Berlin, но рассматриваю и другие варианты.

Information

Rating
Does not participate
Location
Buenos Aires, Аргентина
Date of birth
Registered
Activity