TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #1029 · 17.10

TW: нудный гик-стафф про бытовую технику. Кофемашина в какой-то момент не включила индикатор переполненности контейнера для жмыха. Это странно, поэтому я стал разбираться. Вообще, техника редко глючит непонятным образом и ведет себя хаотично. Всегда есть какая-то причина. При отладке программы это тоже надо всегда помнить. Как машина узнаёт, что контейнер полон? Никак. У контейнера есть герконовый датчик, показывающий факт его установки в корпус. Когда ты его вытаскиваешь, машина думает, что ты его очистил. А дальше программа просто знает, что одинарный кофе наполняет контейнер на X, двойной на 2X, а вместимость nX. Что произошло: я открыл контейнер посмотреть, заполнен ли он целиком. А потом закрыл обратно, не очистив. В оценке уровня жмыха появилась аддитивная погрешность. Если позволить человеку ввести систему в неправильное состояние, он рано или поздно это сделает. Кстати, по той же причине мне нравится DDD как архитектура для энтерпрайз разработки: если всё правильно спроектировать, то программист слоя приложения, который является "пользователем" домена, не сможет сломать состояние сущностей и агрегатов. В общем, в машине не хватило защиты от дурака. Как бы я решал эту задачу? Сходу приходит в голову какой-нибудь оптический датчик в верхней части контейнера. В худшем случае он запачкается и сработает ложно-положительно, что вызовет необходимость для пользователя лишний раз почистить контейнер. Но ТРИЗ намекает нам на другой подход. Можно попробовать полностью исключить появление жмыха. Так устроены, например, капсульные машины. У нас такая была, но перешли на зерновую, потому что вкусный качественный кофе в зёрнах на порядки дешевле, чем в капсулах, а пьем мы его много. Особенно кофе с молоком, для которого в капсулах просто концентрат, а не настоящее молоко. Если исключить жмых нельзя, то нужно сделать его удаление неотъемлемой частью процесса обслуживания машины. Думаю, я бы попробовал объединить конструктивно контейнер для зёрен и для жмыха, и рассчитать объёмы так, чтобы второго хватило на один цикл траты первого. Тогда даже датчики не нужны: кончились зёрна, и ты неизбежно достаешь контейнер и очищаешь. Сфоткал для вас чашечку ароматного капучино. #life

Hashtags

Резултати

Намерени 1 подобни публикации

Търсене: #sockets

当前筛选 #sockets清除筛选
djangoproject

@djangoproject · Post #261 · 16.02.2017 г., 06:56

http://www.giantflyingsaucer.com/blog/?p=5557 In spring 2014 Python 3.4 shipped a provisional package (#asyncio) which according to the docs “provides infrastructure for writing single-threaded #concurrent code using #coroutines, #multiplexing I/O access over #sockets and other resources, running network clients and servers, and other related primitives“. I can’t possibly cover everything in this article but I can introduce some of the things you can do with it. As per my New’s Years resolution I’ll be building these #examples using Python 3.4.2 (Asyncio has been ported back to Python 3.3 now as well).