
В этой статье сравним с технической точки зрения самые известные системы управления версиями (в будущем планируем расширить список):
- Первое поколение
- Второе поколение
- Третье поколение
User
Сериализация и десериализация данных — это преобразование между необработанной структурой данных и экземплярами классов для их хранения и передачи. Например, преобразование объектов Python в JSON-представление. Мы рассмотрим две популярные Python-библиотеки Marshmallow и Pydantic, которые помогут нам справиться как с преобразованием, так и с валидацией данных. Сначала я представлю вам каждую библиотеку, используя небольшие примеры, а потом мы сравним их и разберем различия. Я также расскажу, чего вам стоит избегать при работе с обеими библиотеками.
Почему так сложно понять asyncio?
Асинхронное программирование традиционно относят к темам для "продвинутых". Действительно, у новичков часто возникают сложности с практическим освоением асинхронности.
Но будь я автором самого толстого в мире учебника по python, я бы рассказывал читателям про асинхронное программирование уже с первых страниц. Вот только написали "Hello, world!" и тут же приступили к созданию "Hello, asynchronous world!". А уже потом циклы, условия и все такое.
Продолжаю серию статей про хорошую интеграцию. В первой статье я говорил, что хорошая админка обеспечит быстрое решение инцидентов — как ключевой фактор для устойчивости работы всего комплекса систем. Во второй — про использование идемпотентных операций для устойчивой работы в условиях асинхронного взаимодействия и при сбоях.
В этой статье рассмотрим синхронный, асинхронный и реактивный способы взаимодействия между сервисами и более крупными модулями. А так же способы обеспечить консистентность данных и организовать транзакции.
Привет, Хабр! Не так давно прошла конференция, посвященная ситуации с СХД в России. За прошлый год продажи систем хранения данных упали в два раза. Более половины известных производителей ушло, новые не всегда могут закрыть все потребности и поставить оборудование того же уровня. Заказчик стоит перед выбором: либо искать те же устройства где-то в других странах и обеспечивать себе поставки, либо пытаться импортозамещать продукцию, покупая то, что предлагает внутренний рынок. Резюме двухчасового разговора с участниками рынка.
Python-модуль asyncio
позволяет заниматься асинхронным программированием с применением конкурентного выполнения кода, основанного на корутинах. Хотя этот модуль имеется в Python уже много лет, он остаётся одним из самых интересных механизмов языка. Но asyncio
, при этом, можно назвать ещё и одним из модулей, которые вызывают больше всего недоразумений. Дело в том, что начинающим разработчикам бывает трудно приступить к использованию asyncio
.
Перед вами — подробное и всестороннее руководство по использованию модуля asyncio
в Python. В частности, здесь будут рассмотрены следующие основные вопросы:
Обновление: у этой статьи появилось продолжение, переведённое @achekalin. В каком порядке читать — на ваше усмотрение: в этой статье можно получить удовольствие от обширной попоболи автора, а в продолжении — от сделанных им выводов.
Примечание переводчика: в предыдущей статье о подготовке к девопс-конференциям, Gryphon88 задал резонный вопрос: как отличить cutting-edge и хайп? Нижеследующая статья наполнена сочной незамутненной истерикой, которую так приятно читать с утра, попивая чашечку кофе. Минус в том, что она написана в ноябре 2016, но нетленка не стареет. Если после прочтения захочется добавки, есть комментарии на Hacker News. А у тебя, юзернейм, такой же ад? Пиши в комментариях. Итак, начнем.
В первый раз я встретился с Докером в начале 2015. Мы экспериментировали с ним, чтобы понять, для чего бы его можно употребить. В то время нельзя было запустить контейнер в фоне, не было команд чтобы посмотреть что запущено, зайти под дебагом или SSH внутрь контейнера. Эксперимент оказался быстрым, Докер был признан бесполезным и более похожим на альфу или прототип, чем на релиз.
Промотаем нашу историю до 2016. Новая работа, новая компания, и хайп вокруг докера поднялся безумный. Разработчики уже выкатили докер в продакшен, так что сбежать с него не удастся. Хорошая новость в том, что команда run наконец-то заработала, мы можем запускать и останавливать контейнеры. Оно шевелится!
У нас 12 докеризованных приложений, бегающих на проде прямо в момент написания этой заметки, размазанные на 31 хост на AWS (по одному приложению на хост, дальше объясню — почему).
Эта заметка рассказывает, как мы путешествовали вместе с Докером — путешествие полное опасностей и неожиданных поворотов.
Представьте: вы создаёте новый шедевр в любимой DAW, вставляете в проект MIDI-файл, редактор показывает, что ноты в нём имеют восьмую длительность. Не обращая на это внимания, вы продолжаете творить. Но, постойте. А как DAW, собственно, понимает, что ноты в файле восьмые?
В статье попробуем разобраться, как времена в MIDI-файле соотносятся с главным форматом времени при работе с музыкой – тактами и долями. Результатом наших исследований будет законченный алгоритм на C#.
Ниже представлен перевод статьи, опубликованной в EDN.
Интернет вещей (IoT) - это не одноколейный конь, он воплощает в себе широкий спектр вариантов использования. Одно из ответвлений, Audio of Things или AoT, охватывает аудиотехнологии, такие как голосовое управление, связь, воспроизведение и восприятие, а также их развивающиеся отношения с интеллектуальными устройствами и машинами.
Этот термин был придуман DSP Concepts, дизайн-центром, который предоставляет производителям микросхем и OEM-производителям рабочие процессы в режиме реального времени для встраивания звуковых и голосовых функций в проекты с поддержкой звука. Компания утверждает, что ее строительные блоки AoT не зависят от процессора и полностью настраиваются.
По словам Саймона Форреста, главного технологического аналитика Futuresource Consulting, Audio of Things в настоящее время является постоянно расширяющейся предпосылкой из-за глобального спроса на продукты, ориентированные на аудио. “Адресный рынок аудиопродукции в 2021 году составит чуть менее 3,5 миллиардов устройств, из которых 2,1 миллиарда интегрированы в обработку голоса”.
bdist_dumb
и bdist_rpm
, который работал только на системах, основанных на Red Hat. Но даже bdist_rpm
работал недостаточно хорошо для того, чтобы люди начали его использовать.