Как стать автором
Обновить
231
Карма
166
Рейтинг
Дмитрий Брайт @Bright_Translate

Переводчик

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

Блог компании RUVDS.com JavaScript *Программирование *TypeScript *
Перевод

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

В этой статье мы углубимся в мир TypeScript и изучим 21 лучшую практику, с помощью которых вы сможете повысить свой навык работы с этим языком. Эти практики охватывают широкий спектр тем и сопровождаются конкретными вариантами применения в реальных проектах. Независимо от того, являетесь ли вы начинающим либо опытным разработчиком на TS, эта статья даст вам ценное понимание и рекомендации, которые помогут писать более чистый и эффективный код.
Читать дальше →
Всего голосов 34: ↑32 и ↓2 +30
Просмотры 2.1K
Комментарии 2

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

Блог компании RUVDS.com Интерфейсы *DIY или Сделай сам
Перевод

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

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

Читать дальше →
Всего голосов 76: ↑74 и ↓2 +72
Просмотры 17K
Комментарии 51

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

Блог компании RUVDS.com JavaScript *HTML *Визуализация данных *
Перевод

Современный мир буквально переполнен данными, и нам желательно уметь представлять их графически для быстроты и удобства восприятия. Одной из наиболее распространённых техник визуализации данных являются столбчатые диаграммы, и в этой статье я покажу вам, как можно легко создавать их интерактивные версии в JavaScript.
Читать дальше →
Всего голосов 40: ↑35 и ↓5 +30
Просмотры 2.6K
Комментарии 9

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

Блог компании RUVDS.com Интерфейсы *Энергия и элементы питания Ноутбуки
Перевод

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

Остальные статьи можно почитать здесь:

Читать дальше →
Всего голосов 63: ↑60 и ↓3 +57
Просмотры 17K
Комментарии 66

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

Блог компании RUVDS.com Программирование *Проектирование и рефакторинг *Go *
Перевод

В этой статье мы изучим программное решение экзаменационной задачи конца второго семестра в AltSchool Africa. Эта задача подразумевает построение системы для управления складскими запасами магазина, продающего машины и другие товары. В частности, магазин должен иметь возможность отслеживать количество и общую стоимость проданных и оставшихся на складе товаров.
Читать дальше →
Всего голосов 38: ↑34 и ↓4 +30
Просмотры 3.5K
Комментарии 11

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

Блог компании RUVDS.com JavaScript *Программирование *Клиентская оптимизация *Серверная оптимизация *
Перевод

Фреймворки вам требуются не для всего, но в случае их использования есть ряд способов, позволяющих добиться максимального быстродействия. В данной статье речь пойдёт о пяти шаблонах загрузки данных, которые при уместном применении позволят значительно повысить производительность приложений или сайтов.
Читать дальше →
Всего голосов 43: ↑39 и ↓4 +35
Просмотры 8.5K
Комментарии 2

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

Блог компании RUVDS.com Python *Звук
Перевод

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

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

Далее в этой статье я расскажу о своём подходе к генерации из картинок аудиотреков, которые, имхо, звучат весьма неплохо. Здесь я опишу основные результаты и покажу некоторые удачные примеры программы. Если вы захотите посмотреть весь код, то он лежит на моём сайте и в репозитории GitHub. Я также создал с помощью Streamlit приложение, с которым вы можете поэкспериментировать здесь.
Читать дальше →
Всего голосов 40: ↑39 и ↓1 +38
Просмотры 3.2K
Комментарии 10

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

Блог компании RUVDS.com Интерфейсы *
Перевод

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

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

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

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

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

Читать дальше →
Всего голосов 70: ↑69 и ↓1 +68
Просмотры 17K
Комментарии 54

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

Блог компании RUVDS.com Python *GPGPU *
Перевод

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

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

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

Один только третий пункт позволил увеличить быстродействие в 12 раз притом, что четвёртый позволяет добиться ещё большего за счёт ускорителя. Эти простые техники могут оказаться бесценными при работе с Python, когда требуется добиться дополнительного ускорения программы. Описанные здесь приёмы позволяют нам уверенно продвигаться вперёд без длительного ожидания результатов.
Читать дальше →
Всего голосов 52: ↑49 и ↓3 +46
Просмотры 8.9K
Комментарии 13

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

Блог компании RUVDS.com Хранение данных *Облачные сервисы *
Перевод

В Slack всей своей инфраструктурой, опирающейся на AWS, DigitalOcean, NS1 и GCP, мы управляем с помощью Terraform. И хотя большая её часть работает на AWS, мы выбрали Terraform в противоположность их нативному сервису CloudFormation, чтобы использовать единый инструмент среди всех провайдеров сервисов. Это позволяет сохранить модель «инфраструктура как код» и механизм развёртывания универсальными. В статье мы разберём процесс развёртывания нашей инфраструктуры с помощью Terraform.
Читать дальше →
Всего голосов 37: ↑36 и ↓1 +35
Просмотры 4.6K
Комментарии 4

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

Блог компании RUVDS.com Администрирование баз данных *Big Data *
Перевод

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

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

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

Блог компании RUVDS.com Интерфейсы *
Перевод

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

Примечание пер.: это первая часть серии, посвященной стандарту USB-C. Остальные статьи по этой теме доступны здесь:

Читать дальше →
Всего голосов 96: ↑90 и ↓6 +84
Просмотры 28K
Комментарии 30

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

Блог компании RUVDS.com Python *Визуализация данных *Машинное обучение *
Перевод

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

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

  • NetworkX для общего анализа графов;
  • PyVis для интерактивной визуализации графов прямо в браузере;
  • PyG и DGL для решения различных задач в области машинного обучения на графах.
Читать дальше →
Всего голосов 38: ↑36 и ↓2 +34
Просмотры 7.9K
Комментарии 0

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

Блог компании RUVDS.com Беспроводные технологии *Разработка систем связи *Космонавтика
Перевод
starlink.sx v0.1 pre-pre-alpha

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

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

Сегодня я выпустил v2.0 сайта, впервые предложив возможность моделирования потенциальных мощностей для обслуживания потребителей в выбранной стране.
Читать дальше →
Всего голосов 52: ↑52 и ↓0 +52
Просмотры 8.9K
Комментарии 8

Почему стоит использовать лимиты CPU в Kubernetes

Блог компании RUVDS.com Облачные вычисления *Облачные сервисы *Распределённые системы *Kubernetes *
Перевод

Эту статью я написал в противовес статье “For the love of god, stop using CPU limits on Kubernetes” (Ради всего святого, прекратите использовать в Kubernetes лимиты CPU).

Мне та статья понравилась, и я считаю её хорошим чтивом. Более того, я согласен с высказанными в ней рекомендациями относительно установки объёмов запрашиваемой памяти и её лимитов для контейнеров, а также с советом всегда устанавливать запросы на выделение CPU.

При этом моё несогласие, явно выраженное в противоположном по смыслу заголовке, связано с той категоричностью, с которой в итоге автор рекомендует не устанавливать лимиты потребления CPU.
Читать дальше →
Всего голосов 42: ↑38 и ↓4 +34
Просмотры 5.9K
Комментарии 9

2003–2023: Краткая история Big Data

Блог компании RUVDS.com Big Data *Хранилища данных *История IT Data Engineering *
Перевод
Когда, играя в ту или иную RPG, я оказываюсь в библиотеке, то обязательно перечитываю все книги на полках, чтобы лучше вникнуть во вселенную игры. Помнит кто-нибудь «Краткую историю империи» в Morrowind?

Большие данные (Big Data) и, в частности, экосистема Hadoop появились немногим более 15 лет назад и развились к сегодняшнему дню так, как мало кто мог тогда предположить.

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

Так что пристегнитесь и настройтесь на путешествие во времени вглубь 20 последних лет, поскольку наша история начинается в 2003 году в маленьком городке к югу от Сан-Франциско…

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

Читать дальше →
Всего голосов 62: ↑61 и ↓1 +60
Просмотры 9.5K
Комментарии 9

Работа с поверхностными и глубокими копиями в Python

Блог компании RUVDS.com Python *Программирование *Data Engineering *
Перевод

В этой статье объясняется, как делать копии списков Python, массивов NumPy и датафреймов Pandas при помощи операций получения срезов, списочного индексирования (fancy indexing) и логического (boolean indexing). Эти операции очень часто используются при анализе данных и должны рассматриваться всерьёз, поскольку ошибочные предположения могут привести к падению быстродействия или неожиданным результатам.

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

«Чем больше я узнаю, тем больше понимаю, как много я ещё не знаю».
Читать дальше →
Всего голосов 42: ↑42 и ↓0 +42
Просмотры 4.2K
Комментарии 4

Инженерия данных != инженерия ПО

Блог компании RUVDS.com Data Mining *Управление разработкой *DevOps *Data Engineering *
Перевод

В последние годы мы видим, как инженерия данных всё больше сливается с индустрией DevOps. В обоих этих направлениях для доставки надёжных цифровых продуктов клиентам используется облачная инфраструктура, контейнеризация, CI/CD и GitOps. Это схождение в плане использования одного набора инструментов заставило многих думать, что инженерия данных не имеет значительных отличий от инженерии программного обеспечения. Как следствие, первая оказывается «несовершенной», поскольку дата-инженеры отстают с внедрением эффективных практик разработки ПО.

Но такая оценка ошибочна. Несмотря на то что в обработке данных и разработке ПО используется много общих инструментов и практик, между ними есть ряд существенных отличий. Игнорирование этих отличий и управление командой дата-инженеров по аналогии с командой разработки ПО является ошибкой. Так что цель данной статьи – подчеркнуть некоторые уникальные проблемы в инженерии данных и пояснить, почему в этой области иногда требуется особый подход.
Читать дальше →
Всего голосов 42: ↑39 и ↓3 +36
Просмотры 4.9K
Комментарии 12

Практическое руководство по реализации Observability в DevOps

Блог компании RUVDS.com DevOps *Kubernetes *
Туториал
Перевод

В ходе этой статьи мы развернём следующий стек инструментов Observability (наблюдаемости) Grafana:


Приступим!
Читать дальше →
Всего голосов 49: ↑48 и ↓1 +47
Просмотры 6.1K
Комментарии 4

Каково это: строить бизнес в разработке, когда тебе 40

Блог компании RUVDS.com Разработка мобильных приложений *Разработка под Android *Карьера в IT-индустрии История IT
Перевод
Кадр из фильма «Перекрёсток» (1986)

Я родился в 1981-м, так что в прошлом году мне стукнуло 40. Если верить Википедии, это первый год поколения Y (миллениалов). Миллениалов обычно ассоциируют с претенциозным характером, и в моём случае так оно и есть. Родители кучу раз говорили мне, как тяжело им приходилось работать и идти на жертвы, чтобы обеспечить для меня достойное образование. Из этого следовало, что мне следует как можно лучше учиться и усердно трудиться, что я и делал (спасибо вам за совет, мама и папа ✝). И вот чему я научился. Это моя история о росте, обязанностях и пределах.
Читать дальше →
Всего голосов 74: ↑64 и ↓10 +54
Просмотры 21K
Комментарии 51

Информация

В рейтинге
13-й
Откуда
Россия
Работает в
Дата рождения
Зарегистрирован
Активность