Собрали в одном месте самые важные ссылкии сделали Тренажер IT-инцидентов для DevOps/SRE
Очередной выпуск англоязычного подкаста Python Bytes
Python интерфейс для MongoDB. Скачать можно по ссылке: https://pypi.python.org/pypi/pymongo/
В какой-то момент в жизни инженера появляется задача, которая начинается словами: «Нам бы просто автоматизировать прошивку».Слово «просто» здесь выполняет декоративную функцию. Примерно как кнопка закрытия дверей в некоторых лифтах: нажимать приятно, на происходящее влияет не всегда.
PoolTimeout, когда свободные соединения вроде бы есть, и медленный рост busy при ровном RPS — знакомые симптомы? Причина может быть не в нагрузке, а в отмене запроса при закрытии ответа: в httpcore соединение остаётся в состоянии ACTIVE, а закрыть его повторно уже некому. В статье — диагностика по состоянию пула, минимальное воспроизведение и варианты исправления, пока фикса в upstream нет.
Утилита позволяющая измерить процент покрытия тестами. Скачать можно по ссылке: https://pypi.python.org/pypi/coverage/
У меня дома уже много лет лежит iRobot Roomba — та самая, из середины нулевых. Выкидывать жалко, работать как пылесос она уже толком не хочет, а тут я вспомнил про старый проект HackingRoomba Тода Курта: он ещё в 2006-м показал, что Roomba можно заставить играть мелодии через открытый протокол Roomba Open Interface. Идея была классная, но утилиты RoombaMidi и RoombaMidi2 давно перестали запускаться на современных ОС — драйверов нет, порты другие, Java несовместимая.
Как я переписал свой старый эмулятор с нуля: теперь это не игрушка с рандомными опкодами, а полноценная машина времени с ассемблером, линкером, BASIC, виртуальными дискетами, монитором и Тетрисом, который ломается ровно так, как ломался бы на реальном железе 1971 года.
У меня небольшое производство электродвигателей, и задачи у нас терялись между людьми: поставили одну, пришёл человек с другой, про первую забыли. Я не стал внедрять ERP, а за три недели выходных собрал свою систему. Задачу надиктовываешь в цеху на телефон, агент раскладывает её по полям, и она сразу улетает исполнителю. А надзиратель следит за цепочками задач и сам тормошит того, из-за кого стоит работа.
ㅤ
Когда старая Raspberry Pi годами лежит без дела, её надо куда-то пристроить. Я нашел ей применение в корпусе от Pip-Boy из Fallout, который напечатал на 3д-принтере. Теперь у меня на столе стильный предмет интерьера, где можно посмотреть время, курсы валют в fallout-стиле. При сборке были сложности и пришлось использовать немного костылей - но в итоге, все заработало.
Чуть больше года назад у меня вышла статья про биржу Kwork (ссылка на статью). Она набрала 30 000 просмотров. Результат неплохой, но в топе того же хабра лежат публикации по 150 000 и 350 000 просмотров. Мне стало интересно, почему одни статьи собирают пару тысяч просмотров, а другие читают сотнями тысяч.Я решил проверить это с помощью Python и машинного обучения.
Есть Qwen 3.8 27B, дообученная (SFT + LoRA) на корпусе по платформе 1С:Предприятие — модель выложена на hugging face. Модель неплохо пишет код на встроенном языке, но на языке запросов 1С регулярно ошибается: путает виртуальные таблицы, ставит параметры не туда, подмешивает конструкции из SQL, которых в 1С нет.
WSGI HTTP-сервер для UNIX. Скачать можно по ссылке: https://pypi.python.org/pypi/gunicorn/
Как я сделал бота, который сам приходит на встречи в Teams / Яндекс Телемост / МТС Линк, записывает разговор и через несколько минут отдаёт расшифровку и саммари с договорённостями. Почему не Copilot и не штатная расшифровка, почему два разных потока вместо одного, какие грабли собрал и что показали четыре месяца в проде.
Значение None в Python используют в разных целях: чтобы показать, что что‑то отсутствует, не задано, произошла ошибка или это просто фактическое значение. Из‑за такой неоднозначности возникают проблемы — например, кэш возвращает None и для отсутствующего ключа, и для ключа, который явно сопоставлен с None. Также неоднозначно трактуется timeout=None в обновлении конфигурации: означает ли это «нет таймаута» или «сохранить текущее значение»?
Масштабируемый, не блокирующий web-сервер. Скачать можно по ссылке: https://pypi.python.org/pypi/tornado/
В нашей системе обработки данных живёт больше двенадцати тысяч потоков данных, и их число растёт в среднем на несколько десятков в день. Всё нормально работает, но мы решили сделать её ещё лучше. В этой статье расскажу, как мы построили единое окно инженера данных, сделали собственный DDL-мигратор с поддержкой зависимостей и при этом сохранили то, что уже работает.