Pull to refresh
10
0
Владимир Номхоев @nomhoi

Программист

Send message

С ноября месяца не получается залогиниться на Google Chrome на Ubuntu. Что-то поломалось у вас там.
На FireFox есть поставить на паузу через некоторое время все замораживается и падает. Майнингом занимаетесь?

Спасибо! И Вашему тоже!

Как-нибудь посмотрю. Сейчас проблема решилась перезагрузкой станции, отключил/включил питание. Подсказали в поддержке компании.

Интересует такой вопрос: у нас в деревне зимой дровами топят утром и вечером, иногда ветер дует в мою сторону, можете посоветовать какой-нибудь датчик, который бы распознавал дым, и подавал сообщение, чтобы закрыть заслонку бризера?

У нас в деревне зимой дровами топят утром и вечером, иногда ветер дует в мою сторону, посоветуете какой-нибудь датчик, который бы распознавал дым, и подавал сообщение, чтобы закрыть заслонку бризера?

Сегодня утром просыпаюсь, смотрю, на станции контроля AirNanny A7 на дисплее перестала показываться информация о концентрации C02, иногда моргает и показывает, и еще иногда показывает ошибку E-10.
Захожу на хабр, вижу эту статью.
Вы сговорились!!!

Способ с шиной сообщений и редиса. Событийно-ориентированный.

Посылаем команду на запуск процесса по шине. Обработчик принимает команду, проверяет в редисе в соответствующем set или hash контейнере эту команду, если ее в наборе нет, то добавляет ее в набор и стартует процесс, сообщает пользователю о старте процесса. Процесс заканчивается, убирает в редисе из набора команду, сообщает пользователю.
Если в наборе уже есть команда, то значит процесс уже выполняется, тогда обработчик получает информацию из этого hash-контейнера и отправляет отлуп пользователю.

Способ с номерами версий.

Создаем журнал для фиксации запросов. В журнал добавляем числовое уникальное ненулевое поле "номер версии" для блокировки создания записи с одинаковым номером версии, поле для статуса операции [started, success, failed] и другие поля, например, время старта, время окончания операции.
При добавлении записи в журнал сначала проверяем, не ли уже запущенной такой-же операции, если нет, то находим последнюю запись и номер версии, увеличиваем номер версии на единицу, добавляем запись в новым номером версии в журнал. Если паралельно пришло несколько запросов с таким-же номером, то, естественно, сможет добавиться только один, на остальных поднимется исключение.
Если запись добавилась, то в эту запись пишем статус "started", время начала операции и т.д., запускаем нужный процесс, отдаем пользователю ответ, что операция стартовала при необходимости.
Если запись не добавилась, поднялось исключение, то выполняем запрос для получения информации из записи с таким-же номером версии, отдаем пользователю, что операция уже выполняется.
По-окончании операции изменяем статус операции, устанавливаем время окончания операции и т.д.

Более подробно об этом способе здесь:
https://github.com/cosmicpython/book/blob/master/chapter_07_aggregate.asciidoc

Мопед на калькулятор! Понимает толк в наслаждениях!!!

Долго жить будешь! Там в 77 году появились Б3-21 - не для детей.
PS. У меня не было этих МК, цены были просто какими-то космическими, но разобрался как программировать Б3-34 по статье в ТМ. Когда увидел MK61 в 90 году в магазине, мог бы купить и на стипендию. Но уже было не актуально, имел доступ к двум настоящим IBM PC/XT.

Не плавали! Не плавали вы на наших галерах!!

только-только собирался вернуться в C++ с познаниями в "чистой архитектуре" полученными в разработке на Python

ЦА статьи - готовящиеся к тех собеседованию, или проходящие его.
Курсы и учебники для начинающих нужно уметь писать. Нужно уметь создавать иллюзию у начинающих, что за 2-3 месяца умственных усилий у них будет зарплата в 120.

окинул взглядом... может, ну его нафиг, в С++ вернуться...

По теме статьи, последние главы этой книги.
https://github.com/nomhoi/cosmicpython-fastapi
Завершил вчера рефакторинг, полностью асинхронный вариант.

Ну, сам учет - это проблемная область. А формочки - это где-то в периферийной части архитектуры.

Вот зашел туда и вижу формы в tiff формате. Это растровый формат.
Существуют форматы документов, в которые можно импортировать данные, например, xls, ods. Формы в tiff формате нужно как-то еще готовить, чтобы соединить их с данными для печати. Вот о чем я.

А мне, вот, об этом захотелось поговорить. Вы не в курсе почему МНС на текущий момент требует отчетность в том числе и в бумажном виде? Кто-нибудь в курсе?

Альтернативная платформа может тоже поддерживать различные СУБД, за счет того, что работа с базой данных должна быть максимально стандартизирована и формализована. Чтобы код одинаково работал на разных базах данных.

Для этого ORM'ы используют. SQLAlchemy, например.

Например, 1С: Бухгалтерия отслеживает многочисленные изменения законодательства РФ и постоянно обновляется. С этим конкурировать нет смысла.

Нужно немного скорректировать процессы.
МНС сейчас создает формы в каком-то формате. Все производители бухгалтерского ПО повторяют эти формы в своих закрытых форматах. Сама МНС, например, выпускает Налогоплательщик ЮЛ, с готовыми формами.
Должно быть так - МНС готовит формы в открытом формате готовые к подключению ПО, выходят новые изменения в законодательстве, все эти формы уже лежат в репозитории и даже выкачаны конечными пользователями в свои компьютеры. Остается подобрать или разработать инструменты для подготовки таких форм, разработать процесс деплоя форм, взаимодействия с разработчиками ПО и т.д.

Мне нужно было убедиться, что заказы не размещаются повторно. 

Есть такой вариант использования версий:
https://github.com/cosmicpython/book/blob/master/chapter_07_aggregate.asciidoc#optimistic-concurrency-with-version-numbers

TDD - в первую очередь про дизайн и уже потом про автотесты.

1
23 ...

Information

Rating
Does not participate
Registered
Activity