Pull to refresh
27
0

Пользователь

Send message

Изучаем RISC-V с платой Sipeed M1S

Level of difficultyEasy
Reading time22 min
Views8.7K

Наконец-то появилось время и желание пощупать и опробовать в деле давно купленную отладку от Sipeed на базе RISC-V SoC BL808. Попутно я решил собрать материал по теме и поделиться с читателями своим опытом использования этого SoC в разных сценариях. Помимо обзора отладки и SoC я подробно расскажу, что предоставляет производитель для энтузиастов, состав SDK,  как собрать Linux-ядро, примеры ее использования. Всем кому интересна данная тема — добро пожаловать под кат! =)

Читать далее

Приемы использования масочных регистров в AVX512 коде

Reading time14 min
Views12K
В процессорах компании Intel на смену AVX2 приходит новый набор инструкций AVX512, в котором появилась концепция масочных регистров. Автор этой статьи уже несколько лет занимается разработкой версии библиотеки Intel Integrated Performance Primitives, оптимизированной для AVX512, и накопил довольно большой опыт использования AVX512 инструкций с масками, который было решено объединить в одну отдельную статью, поскольку само использование таких инструкций с масками позволяет упростить и ускорить код в дополнение к ускорению от двукратного увеличения ширины регистров.
далее несколько примеров использования AVX512 инструкций с масками

Как оптимизировать код на С для x86-процессоров: подсистема кэша и памяти, инструкции AVX-512

Level of difficultyMedium
Reading time12 min
Views13K

Меня зовут Андрей Бакшаев, я ведущий инженер-программист в YADRO. Моя команда занимается разработкой и оптимизацией математических библиотек под архитектуру x86. До этого я 15 лет работал в Intel. Значительная часть моих задач заключалась в том, чтобы реализовывать некоторые алгоритмы обработки изображений и сигналов в довольно известной математической библиотеке IPP, максимально эффективно используя возможности процессоров. Я также исследовал производительность этих алгоритмов в процессорах на ранней стадии проектирования. 

В статье я поделюсь своим опытом оптимизации низкоуровневого кода на языке C. Рассмотрим подсистему кэша и памяти процессоров и новые инструкции AVX-512. Разберем пример ускорения копирования байтового массива данных и посмотрим, как векторизованный код позволяет сократить время работы широко используемого алгоритма замены байтов по таблице с 619 до 34 мс, то есть примерно в 18 раз. 

Читать далее

KODI: собираем удобный и функциональный медиацентр для дома. Часть 1

Reading time27 min
Views488K

Поговорим о том, как при наличии небольшого количества времени и навыков построить мультимедийный комбайн с дополнительными возможностями домашнего сервера на базе Kubuntu 20.04 и KODI, способного работать 24/7/365.

Читать дальше →

Переизобретаем файловую систему: (Open)ZFS

Level of difficultyEasy
Reading time17 min
Views23K


Хранение данных — это всегда боль, у которой может быть больше 50 оттенков: железо, кэш, гарантии, производительность, скорость восстановления при проблемах, удобство и прочее. Как решить большинство из них, при этом получив что-то легко обслуживаемое, да ещё бесплатно? Сегодня поговорим про файловые системы на примере не совсем дефолтной OpenZFS.
Читать дальше →

Зачем и как хранить объекты на примере MinIO

Reading time13 min
Views81K

Наша биг дата проанализировала Telegram-чаты, форумы и разговоры в кулуарах IT-мероприятий и пометила объектные хранилища как инструмент, который ещё не все осмеливаются использовать в своих проектах. Хочу поделиться с вами своим опытом в формате статьи-воркшопа. Если вы пока не знакомы с этой технологией и паттернами её применения, надеюсь, эта статья поможет вам начать использовать её в своих проектах. 

Начать хранить файлы

Я написал одну из самых быстрых библиотек датафреймов

Level of difficultyHard
Reading time9 min
Views11K
image

1. Вступление


У меня в портфолио есть несколько готовых пет-проектов на Rust, и я заметил, что позиция «а у нас уже получилась DataFrame?» нисколько меня не устраивает. Поэтому я подумал, не сделать ли мне элементарный контейнер, который решал бы мою конкретную задачу. Но этот проект вышел из-под контроля.

Год спустя, написав немало кода, я создал одну из самых быстрых библиотек датафреймов, применимую в Rust и Python. Вот мой первый официальный «Hello World» на polars, размещённый у меня в блоге. Надеюсь, что с помощью этого поста я смогу пояснить читателю некоторые решения, которые мне довелось принять при проектировании, и вам станет понятнее, как Polars работает под капотом.
Читать дальше →

Практическое руководство по разработке бэкенд-сервиса на Python

Reading time57 min
Views188K
Привет, меня зовут Александр Васин, я бэкенд-разработчик в Едадиле. Идея этого материала началась с того, что я хотел разобрать вступительное задание (Я.Диск) в Школу бэкенд-разработки Яндекса. Я начал описывать все тонкости выбора тех или иных технологий, методику тестирования… Получался совсем не разбор, а очень подробный гайд по тому, как писать бэкенды на Python. От первоначальной идеи остались только требования к сервису, на примере которых удобно разбирать инструменты и технологии. В итоге я очнулся на сотне тысяч символов. Ровно столько потребовалось, чтобы рассмотреть всё в мельчайших подробностях. Итак, программа на следующие 100 килобайт: как строить бэкенд сервиса, начиная от выбора инструментов и заканчивая деплоем.



TL;DR: Вот репка на GitHub с приложением, а кто любит (настоящие) лонгриды — прошу под кат.
Читать дальше →

34 open source библиотеки Python (2019)

Reading time2 min
Views61K
image

Мы просмотрели и сравнили 10 000 open source библиотек для Python и выбрали 34 самые полезные.

image

Мы сгруппировали эти библиотеки в 8 категорий.
Читать дальше →

Мультиван и маршрутизация на Mikrotik RouterOS

Reading time30 min
Views300K
Адаптировано под ROS6 и ROS7. Редакция от 28.12.2021

Введение


Статья ориентирована на начинающих администраторов Mikrotik RouterOS (далее ROS). В ней рассматривается маршрутизация с резервированием для нескольких не связанных multihomed AS каналов интернет, работающих по протоколу IPv4. Так же есть настройки для обеспечения базовой безопасности. «Автоматическая» балансировка исходящего трафика по каналам в данной статье не описана по причине того, что ее реализация на таких исходных данных — это череда компромиссов и ограничений, требующая отдельного рассмотрения. Инструментарий для «ручной» балансировки в статье содержится и приведенные настройки являются хорошей базой для добавления «автоматической» балансировки, как минимум полудюжиной способов.
Читать дальше →

Как быстро собрать мейлер для колл-центра

Reading time3 min
Views11K
Мы организуем конференцию для веб-разработчиков и решили обзвонить Челябинские веб-студии. Нужно было как-то сразу после звонка отправить красивое письмо. Также важно получать отчеты о доставке писем и “кликабельности” ссылок (первое на случай опечатки, а второе для оценки затеи). Да, и это все нужно “еще вчера”, а программисты не доступны.

Челлендж принят! И элегантное решение уже под катом…
Читать дальше →

Как легализовать доход от Google AdSense для ИП

Reading time3 min
Views56K
Относительно недавно у Google AdSense появился новый способ выплаты, а именно — перевод средств на валютный счет в USD. Пока данный способ является экспериментальным и устанавливается по запросу в службу поддержки. Так уж получилось, что я стала участником эксперимента и расскажу о своем опыте перевода денег от гугл напрямую на ИП в России.
Читать дальше →

Выгрузка условий конкурсов госзакупок с ООС zakupki.gov.ru

Reading time12 min
Views93K
Примечания:
Читать дальше →

Производительность shared-папок в Vagrant

Reading time3 min
Views18K
image

Руководя крупной и регулярно пополняющейся командой программистов, столкнулся с необходимостью быстро разворачивать среду разработки без танцев с бубном в духе «странно, у меня этот же код работает, а у тебя какая версия такой-то библиотеки?»

Получив однажды ссылку от заказчика на Vagrant с вопросом «а почему мы это сих пор это не используем?» принялся осваивать это чудо.
Читать дальше →

58 признаков хорошего интерфейса

Reading time16 min
Views381K
У хорошего интерфейса пользователя высокая конверсия и его просто использовать. То есть, он хорош и для бизнеса, и для использующих его людей. Вот список опробованных нами идей.

1 Один столбец вместо нескольких


Один столбец точнее отражает то, что вы хотите донести. Пользователи проходят сверху вниз по более предсказуемому пути. В дизайне с несколькими колонками есть риск отвлечения пользователя от основной задачи страницы.

image
Читать дальше →

Дайджест интересных материалов из мира Drupal #1

Reading time4 min
Views7.3K
В последнее время в веб-разработке уследить за всеми техническими новинками и трендами становится практически невозможно из-за их взрывного роста. А держать руку на пульсе все-таки хочется, так как, я думаю, двигаться вперед и предлагать конкурентоспособный продукт можно только аккумулируя опыт других людей – кроме, конечно, случаев счастливых озарений или случайности.
На Хабре в последнее время стали популярны дайджесты с обзорами изменений, которые происходят в мире каждый день по самой различной тематике – и это, признаться, становится едва ли ни единственным окном в мир смежных знаний, которые мне любопытны.
Хочу продолжить славную традицию очередным дайджестом – на этот рад по фреймворку из мира PHP – о Drupal.
Надеюсь, что данный дайджест найдет своего читателя, как среди людей постоянно практикующих эту систему, так и из смежных технологий, фреймворков. На собственном опыте, я знаю, как полезно бывает почерпнуть знания из других систем, так как бывают материалы абсолютно универсальные: посвященные архитектуре приложений, оценкам, работе с требованиями, заказчиком, HTML/CSS/JS, виртуализации, сервисам и т.п.
Читать дальше →

История пиратской сцены

Reading time9 min
Views47K


За последний год я опубликовал на хабре около десятка статей про сцену. Это пиратский андеграунд, тысячи и десятки тысяч энтузиастов во всём мире, которые соревнуются между собой в скорости, делая релизы только внутри — на сцене, при этом не извлекая никакой финансовой выгоды. В 2007-2008 годах существовал сайт «aboutthescene», где была опубликована основная информация о структуре, механизмах и правилах сцены, а также история её возникновения и развития. Сейчас материалы сайта доступны только в интернет-архиве.

Я начал перевод с истории сцены. Статья была без иллюстраций, поэтому я добавил к ней исторические скриншоты 1995 года с крупнейшей в Нью-Йорке BBS «Park Central», на которых видно, как до 16 пользователей одновременно подключаются к ней с помощью модемов на скорости от 9600 до 28800 бод.
Читать дальше →

Современный очень тихий компьютер

Reading time2 min
Views8.1K
Мне надоел шум из под стола от системного блока. Реально иногда не хочется сидеть за компьютером только по причине того, что лишние децибелы терроризируют сознание. Ноутбук решил бы данную проблему, особенно на базе тихих энергосберегающих решений типа современного Pentium, но я предпочитаю мощный системник.

image

У меня сейчас не топовая, довольно старая конфигурация, но её производительность мне вполне подходит:
Intel Core 2 Duo E7500 2.93Ггц
8Гб DDR3 SDRAM
2Тб HDD Seagate 5900 Green

Я путём небольших вложений заставил-таки свой компьютер работать бесшумно.

Рассмотрим по отдельности все шумные узлы системного блока, такие как:
  • Видеокарта. Обычно наиболее шумный элемент
  • Процессор. Тоже не очень тихий узел системы
  • Блок питания. Также как правило содержит вентилятор
  • Прочее. Мало ли что там ещё гудит

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

Почему на Руси SEO`шников не любят, а зарубежных хвалят

Reading time5 min
Views5.8K
Я тут немного поправил грамматику, орфографию и стилистику статьи :-) Думаю, теперь читаться будет гораздо легче.

Добрый день, дорогие хабражители. Вы наверное много раз видели различные негативные посты по поводу наших SEO-оптимизаторов. Сегодня я хотел бы всем рассказать, почему складывается такое впечатление.
Давайте все таки разберемся, в чем отличие нашего SEO-гуру и зарубежного оптимизатора.
Читать дальше →
1
23 ...

Information

Rating
Does not participate
Location
Ивановская обл., Россия
Date of birth
Registered
Activity