Pull to refresh
504
188.5
Дмитрий Брайт @Bright_Translate

Переводчик

Send message

Всё про USB-C: ноутбук Framework

Level of difficultyMedium
Reading time6 min
Views14K

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

Всё про USB-C: высокоскоростные интерфейсы

Level of difficultyMedium
Reading time12 min
Views14K

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

Возможность получения высокоскоростного интерфейса через USB-C называется Alternate Mode (альтернативный режим), или коротко «altmode». Сегодня можно встретить три варианта altmode – это USB3, DisplayPort и Thunderbolt. При этом некоторые, например HDMI и VirtualLink, канули в лету, а другие, например USB4, только собираются появиться на свет. Для большинства альтернативных режимов требуется цифровая коммуникация через USB-C, предполагающая передачу определённых сообщений по каналу Power Delivery (PD). Тем не менее способны на это не все, и самым простым примером является USB3. Давайте разберём, что же лежит в основе альтернативного режима.
Читать дальше →

Как и зачем следует автоматизировать DevOps

Level of difficultyMedium
Reading time12 min
Views7.1K

Концепция DevOps не нова. В IT-индустрии все понимают, что это правильная методология построения ПО. DevOps пленила мир своим обещанием ускоренной доставки высококачественного продукта. Однако, несмотря на это обещание, многие бизнес-проекты не осознают весь потенциал этой методологии. И хотя отчасти это обусловлено культурной инертностью и недостатком навыков, основным препятствием для получения полноценной отдачи от вложений в DevOps остаётся отсутствие автоматизации. Именно за счёт интеграции и автоматизации можно добиться более эффективного потока разработки ПО. Поэтому в текущей статье мы разберём, что подразумевает собой автоматизация DevOps, и как можно начать автоматизировать ваши процессы в рамках данной методологии.
Читать дальше →

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

Level of difficultyMedium
Reading time8 min
Views34K

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

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

Level of difficultyHard
Reading time7 min
Views21K

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

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

Всё про USB-C: резисторы и E-Marker

Level of difficultyHard
Reading time7 min
Views39K

Если вы следите за нашей сагой про USB-C, то уже знаете, что жила CC в этих кабелях используется для коммуникации и определения полярности. Однако есть и один малоизвестный факт, а именно то, что в USB-C коммуникация реализуется через два протокола – аналоговый и цифровой. Сегодня мы разберём аналоговую передачу, получше уяснив роль и принцип работы пресловутых резисторов 5,1 кОм. Помимо этого, мы познакомимся с микросхемами E-Marker и таинственным VCONN.
Читать дальше →

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

Level of difficultyMedium
Reading time12 min
Views42K

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

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

Всё про USB-C: механика разъёмов

Level of difficultyMedium
Reading time11 min
Views46K

Бывает два случая, в которых электронщикам приходится задумываться о механике разъёмов USB-C. Первый связан с поломкой разъёма, а второй с потребностью его установки на собственную плату. В этой статье мы разберём оба.
Читать дальше →

Создание столбчатых диаграмм с помощью JavaScript

Reading time10 min
Views13K

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

Всё про USB-C: обеспечение питания

Level of difficultyMedium
Reading time11 min
Views66K

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

Технология USB-C приходит на смену проприетарным круглым разъёмам зарядных устройств, которые мы привыкли использовать для ноутбуков и огромного числа других девайсов. Она соперничает с проприетарными разъёмами телефонных зарядок, постепенно делая их «изгоями» и подталкивая производителей к переходу на использование универсальных широкодоступных решений. Любителям мастерить электронику своими руками больше нет нужды использовать крохотные разъёмы MicroUSB и несоответствующие спецификации кабели, чтобы подать 3 А на свой жаждущий тока Pi 4. Сегодня для этого достаточно иметь гнездо USB-C с двумя резисторами или специальной микросхемой, если резисторы стоящую задачу решить неспособны.

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

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

Reading time10 min
Views4.6K

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

Пять шаблонов загрузки данных для повышения быстродействия сайтов

Reading time13 min
Views16K

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

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

Reading time11 min
Views9.8K

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

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

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

Всё про USB-C: переходники вне стандарта

Level of difficultyEasy
Reading time8 min
Views30K

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

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

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

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

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

Reading time10 min
Views24K

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

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

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

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

Как мы в Slack используем Terraform

Reading time12 min
Views5.8K

В Slack всей своей инфраструктурой, опирающейся на AWS, DigitalOcean, NS1 и GCP, мы управляем с помощью Terraform. И хотя большая её часть работает на AWS, мы выбрали Terraform в противоположность их нативному сервису CloudFormation, чтобы использовать единый инструмент среди всех провайдеров сервисов. Это позволяет сохранить модель «инфраструктура как код» и механизм развёртывания универсальными. В статье мы разберём процесс развёртывания нашей инфраструктуры с помощью Terraform.
Читать дальше →

Генерация конвейеров обработки данных в Dataflow

Reading time13 min
Views2.9K

Эта статья посвящена всем практикующим специалистам по данным, заинтересованным в освоении запуска, стандартизации и автоматизации пакетных конвейеров данных в Netflix.

О Dataflow мы писали в статье под названием Data pipeline asset management with Dataflow. Та статья представляла подробное знакомство с одним из наиболее технических аспектов Dataflow, но сам этот инструмент толком не описывала. На сей раз мы оправдаем заявленное вступление, после чего сосредоточимся на одной из основных возможностей Dataflow — образцах рабочих потоков. Для начала же мы коротко разберём Dataflow в общем.
Читать дальше →

Всё про USB-C: типы кабелей

Level of difficultyMedium
Reading time8 min
Views73K

Тема кабелей и разъёмов стандарта USB-C является довольно запутанной, и тому есть объективные причины. Множество вариантов реализации и нюансов вкупе с не всегда добросовестными производителями вносят на рынок кабелей неразбериху. Тем не менее в статье я покажу, что всё в этом вопросе не так уж плохо, если вы готовы прибегнуть к ряду приёмов и скорректировать собственные ожидания.
Читать дальше →

Графы в Python: введение и знакомство с лучшими библиотеками

Reading time11 min
Views65K

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

В этой статье я расскажу вам о наиболее полезных библиотеках Python, которые использовал для сетевого/графового анализа, визуализации и машинного обучения. Если говорить конкретнее, то это будут:

  • NetworkX для общего анализа графов;
  • PyVis для интерактивной визуализации графов прямо в браузере;
  • PyG и DGL для решения различных задач в области машинного обучения на графах.
Читать дальше →

Моделирование возможностей связи комплекса Starlink

Reading time16 min
Views12K
starlink.sx v0.1 pre-pre-alpha

Прошло 18 месяцев с того момента, как я запустил свой проект starlink.sx, в первую очередь нацеленный на расширение моего понимания принципов работы комплекса Starlink от SpaceX, а также изучение возможностей его применения в Кении. В этой стране мой стартап – Poa Internet – предлагает доступный широкополосный доступ непривилегированным сообществам, используя фиксированный беспроводной доступ (FWA). Учитывая отсутствие хорошей оптоволоконной структуры в большей части Африки, использование Starlink в качестве транзитного соединения для распределения FWA выглядит вполне годным.

И хотя я ожидал, что это будет короткий проект на пару-тройку месяцев, судя по моему трекеру Loon вскоре стало ясно, что запуск низкоорбитального (LEO) комплекса на негеостационарной орбите (NGSO) сопряжён со множеством областей – не только с аэрокосмической инженерией, орбитальной механикой или беспроводными коммуникациями, но также с юридическими, финансовыми, регуляторными нюансами и прочим. Мне предстоял непростой путь.

Сегодня я выпустил v2.0 сайта, впервые предложив возможность моделирования потенциальных мощностей для обслуживания потребителей в выбранной стране.
Читать дальше →

Information

Rating
28-th
Location
Россия
Works in
Date of birth
Registered
Activity