Рубрика «ruvds_перевод» - 24

Всё про USB-C: введение для электронщиков - 1


Прошло уже почти пять лет, как во всевозможных устройствах начали появляться порты USB-C. Это стандарт, за рамки которого могут выходить многие производители и электронщики. Поначалу существовало много путаницы относительно того, что он в себе несёт, и всяческие отклонения со стороны производителей некоторых людей отталкивали. Однако теперь USB-C уже прочно вошёл в нашу жизнь, и я хочу показать вам, как именно этот стандарт используется, чего могут ожидать от него пользователи, а что он способен предложить электронщикам.

Прим. пер.: Это приквел уже вышедшей серии статей, посвящённой всестороннему анализу технологии USB-C. Остальные части серии доступны здесь:

Читать полностью »

Распределенный SQL: альтернатива шардированию баз данных - 1


Шардирование баз данных – это процесс разделения данных на меньшие части, называемые «шарды». Эта техника обычно используется, когда возникает потребность в масштабировании записей. В течение жизненного цикла успешного приложения способность сервера его базы обрабатывать операции записи рано или поздно достигает своего предела. Деление данных на несколько шардов – с размещением каждого на собственном сервере БД – уменьшает нагрузку на отдельные узлы, по сути, повышая записывающую способность базы данных в целом. Этот процесс и является шардингом.

Распределённый SQL представляет новый способ масштабирования реляционных баз данных с помощью полностью автоматизированной и прозрачной для приложений стратегии, подобной шардингу. Распределённые БД SQL изначально спроектированы под практически линейное масштабирование. В текущей статье вы познакомитесь с основами распределённого SQL и узнаете, как начать работу с этими базами данных.Читать полностью »

Осваиваем TypeScript: 21 лучшая практика при написании кода - 1


TypeScript является популярным открытым языком программирования, идеально подходящим для современной разработки. За счёт своей продвинутой системы типов он позволяет писать более надёжный, обслуживаемый и масштабируемый код. Однако, чтобы задействовать весь потенциал этого языка и создавать высококачественные проекты, важно понимать лучшие практики и следовать им.

В этой статье мы углубимся в мир TypeScript и изучим 21 лучшую практику, с помощью которых вы сможете повысить свой навык работы с этим языком. Эти практики охватывают широкий спектр тем и сопровождаются конкретными вариантами применения в реальных проектах. Независимо от того, являетесь ли вы начинающим либо опытным разработчиком на TS, эта статья даст вам ценное понимание и рекомендации, которые помогут писать более чистый и эффективный код.Читать полностью »

Сферы, в которых дополненная реальность изменила правила игры - 1


За последние годы технологии дополненной реальности (Augmented Reality, AR) и виртуальной реальности (Virtual Reality, VR) совершили существенный прогресс в различных отраслях. Они меняют способы работы и взаимодействия с клиентами бизнесов в разных сферах: от онлайн-торговли до здравоохранения. В этом посте мы рассмотрим десять инновационных бизнес-моделей AR, совершивших революцию в разных отраслях и раскрывших новые возможности для роста и развития. Эти модели (от виртуальных примерочных в онлайн-торговле до виртуальных экскурсий в строительстве) демонстрируют потенциал технологий AR в современной бизнес-среде.
Читать полностью »

Эволюция кода: путь к лучшему дизайну - 1


В этой статье мы изучим программное решение экзаменационной задачи конца второго семестра в AltSchool Africa. Эта задача подразумевает построение системы для управления складскими запасами магазина, продающего машины и другие товары. В частности, магазин должен иметь возможность отслеживать количество и общую стоимость проданных и оставшихся на складе товаров.Читать полностью »

Создаём и настраиваем собственную CDN - 1


Задача этого репозитория — создать свод знаний о том, как работают CDN, написав одну из них «с нуля». CDN, которую мы будем проектировать, использует следующие технологии: Nginx, Lua, Docker, docker-compose, Prometheus, Grafana и wrk.

Мы начнём с создания одного бэкенд-сервиса, а затем расширим его до многоузловой CDN с симуляцией задержек, а также возможностью наблюдений и тестирования. В каждом из разделов мы обсудим сложности и компромиссы при создании/управлении/эксплуатации CDN.Читать полностью »

Генерация музыки из изображений с помощью Python - 1


Сказать, что музыка является частью моей жизни, будет серьёзным преуменьшением. Я более 20 лет играю на гитаре, и каждый день слушаю других гитаристов. По правде говоря, прежде чем начать свой академический путь в качестве физхимика двенадцать лет назад, я был намерен строить музыкальную карьеру.

И хотя этим моим планам ну было суждено осуществиться, я всё равно продолжаю наслаждаться музыкой и делать с её помощью всякие крутые штуки. К примеру, этот проект возник из идеи написать программу, которая бы создавала музыку из изображений. В прошлом уже были довольно интересные попытки сделать нечто подобное, но вот результаты оказывались не особо музыкальными.

Далее в этой статье я расскажу о своём подходе к генерации из картинок аудиотреков, которые, имхо, звучат весьма неплохо. Здесь я опишу основные результаты и покажу некоторые удачные примеры программы. Если вы захотите посмотреть весь код, то он лежит на моём сайте и в репозитории GitHub. Я также создал с помощью Streamlit приложение, с которым вы можете поэкспериментировать здесь.Читать полностью »

Когда картинка дороже слов - 1


Владельцы жилья оставляют на сайте Airbnb уникальные предложения аренды по всему миру. На Airbnb есть сотни миллионов сопутствующих фотографий. Фотографии содержат важную информацию о стиле и дизайне, которую сложно передать словами или списком. Поэтому несколько команд сотрудников Airbnb сегодня используют компьютерное зрение (computer vision), чтобы извлекать сведения об удобствах из нашего богатого массива данных, чтобы помогать гостям в удобном поиске предложений, соответствующих их предпочтениям.

В предыдущих постах WIDeText: A Multimodal Deep Learning Framework, Categorizing Listing Photos at Airbnb и Amenity Detection and Beyond — New Frontiers of Computer Vision at Airbnb мы рассказали о том, как используем компьютерное зрение для категоризации помещений и выявления удобств, чтобы сопоставлять фотографии предложений с таксономией дискретных концепций. В этом посте мы расскажем о том, как Airbnb использует эстетику и эмбеддинги изображений для оптимизации различных поверхностей продукта, включая содержимое рекламных объявлений, презентации и рекомендаций позиций.Читать полностью »

Продолжение о типах кабелей USB-C: переходники вне стандарта - 1


Давайте будем откровенны — одних только кабелей USB-C — USB-C недостаточно. Существует и много других видов, которые могут потребоваться в повседневной жизни, пока в нашем обиходе присутствуют устройства без разъёма USB-C. Однако в спецификации учитываются далеко не все типы кабелей, которые мы можем захотеть купить или собрать самостоятельно.

Лично я считаю, что как у хакера у вас должна быть возможность приобрести любую необходимую приспособу со стандартом подключения USB-C. Хакерам не нужны ограничения, обуславливаемые маркетингом, — им необходимо понимать, как можно или нельзя применить тот или иной девайс, исходя из его внутреннего устройства. И я хочу поделиться с вами таким пониманием, чтобы вы могли принимать осмысленные решения.

С другой стороны, USB-C создан для использования не умудрёнными опытом людьми, хотя и в этом плане у данного стандарта есть пробелы. Здесь нам поможет ясность определения того, что соответствует стандарту. Вот известная история о кабеле USB-C, который убил Chromebook и подтолкнул Бенсона Люна к запуску онлайн-блога с рекомендациями относительно USB-C. На деле существует множество подобных печальных историй.

Сегодня же мы разберём виды кабелей USB-C, которые в зависимости от своего использования могут как выполнить свою роль, так и подвести вас.

Прим. пер.: эта статья является логическим продолжением предыдущей публикации «Подробно о типах кабелей USB-C».

Читать полностью »

Как можно ускорить Python сегодня - 1


Python не перестаёт удивлять многих своей гибкостью и эффективностью. Лично я являюсь приверженцем С и Fortran, а также серьёзно увлекаюсь C++, поскольку эти языки позволяют добиться высокого быстродействия. Python тоже предлагает такие возможности, но дополнительно выделяется удобством, за что я его и люблю.

Этот инструмент способен обеспечивать хорошее быстродействие, поскольку имеет в арсенале ключевые оптимизированные библиотеки, а также возможность динамической компиляции основного кода, который предварительно не компилировался. Однако скорость Python значительно падает, когда дело доходит до обработки крупных датасетов или более сложных алгоритмов. В текущей статье мы разберём:

  1. Почему столь важно думать о «будущем разнородных вычислений».
  2. Две ключевых сложности, которые необходимо преодолеть в открытом решении.
  3. Параллельное выполнение задач для более эффективного задействования CPU.
  4. Использование ускорителя для дополнительного повышения быстродействия.

Один только третий пункт позволил увеличить быстродействие в 12 раз притом, что четвёртый позволяет добиться ещё большего за счёт ускорителя. Эти простые техники могут оказаться бесценными при работе с Python, когда требуется добиться дополнительного ускорения программы. Описанные здесь приёмы позволяют нам уверенно продвигаться вперёд без длительного ожидания результатов.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js