Pull to refresh
27
0
Михаил Белов @micb

User

Send message

Работа с YOLOV8. Детекция, сегментация, трекинг объектов, а также подготовка собственного датасета и обучение

Level of difficultyMedium
Reading time26 min
Views13K

Если вам кажется, что начать работу с нейросетями - это сложно, то этот материал для вас!

В статье подробно, с примерами кода, разберем основные функции базовой модели YOLOV8 - детекция, сегментация, трекинг объектов, а также создание собственного датасета и дообучение нейросети для работы с собственными объектами!

Читать далее
Total votes 15: ↑15 and ↓0+19
Comments6

Сравнение технологий WebSockets, Server-Sent-Events, Long-Polling, WebRTC и WebTransport

Reading time16 min
Views13K

При работе с современными веб-приложениями реального времени незаменима возможность отправлять события с сервера на клиент. Именно этой необходимостью продиктовано то, что за годы работы было изобретено несколько методов для этой цели, каждый с собственным набором достоинств и недостатков. Первоначально единственным вариантом был длинный опрос. Затем в качестве альтернативы появились веб-сокеты — более надёжное решение для двунаправленной коммуникации. Вслед за веб-сокетами появились события, отправляемые сервером (SSE), более простой метод, обеспечивающий однонаправленную связь от сервера к клиенту. Забегая вперёд, сейчас разрабатывается ещё и протокол WebTransport, который может тем более изменить ландшафт этой области, обеспечивая более эффективный и гибкий подход, располагающий к масштабированию. В некоторых нишевых случаях можно присмотреться и к технологии WebRTC, предназначенной для работы с событиями в направлении сервер-клиент.

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

Читать далее
Total votes 24: ↑22 and ↓2+27
Comments4

А в чем проблема работать с файлами?

Level of difficultyMedium
Reading time53 min
Views33K

Данные - это важный компонент системы. Приложение может хранить их где угодно, но в результате все сводится к файлам. Файлы - это хорошая абстракция, но она протекает: если не знать того, как работают ОС или гарантии файловой системы, то легко выстрелить себе в ногу.

Меня увлекла тема отказоустойчивости, а конкретно - отказоустойчивой работы с файлами. В этой статье я попытался соединить все полученные знания:

Кто участвует в процессе записи

Ошибки, которые могут произойти

Что от нас зависит, а что нет

И самое главное - как это этого защититься

Читать далее
Total votes 141: ↑140 and ↓1+169
Comments23

Процедурные складки на одежде для мультфильма на основе Geometry Nodes

Reading time6 min
Views5K

Привет, Хабр! Я Михаил Солуянов, ведущий разработчик в МТС Авто — занимаюсь генерацией синтетических изображений для обучения нейросетей. В рабочее время я Unity-разработчик, а в свободное — инди-аниматор мультфильмов. Сегодня расскажу о том, как сделать складки на одежде без симуляции ткани в Blender.

В 2020 году я сделал мультфильм «Мышиный Новый год» (ru, en), который попал на фестиваль Giffoni-50 — один из самых крутых фестивалей, специализирующихся на детской анимации. В мультфильме у меня были герои — антропоморфные мыши в миниатюрных одеждах. И мне захотелось добавить им складки на одежде, которые правдоподобно реагировали бы на их движения. Расскажу о том, как использовал Tension Map и почему перешёл в итоге на Geometry Nodes. Поехали!

Читать далее
Total votes 52: ↑52 and ↓0+52
Comments3

Двухтрубные системы отопления тупикового и попутного типа. Мнимая магия «петли Тихельмана»

Reading time21 min
Views62K

Двухтрубные системы отопления тупикового и попутного типа. В чём разница и что об этом говорят современные строительные нормы.

Ранее в одной из статей я уже рассказывал об однотрубных системах отопления.

Теперь настала очередь рассмотреть особенности проектирования и эксплуатации двухтрубных систем, которые крайне популярны у частных домовладельцев в ИЖС.

Так же двухтрубные вертикально-стояковые системы отопления пытаются применять и в многоквартирных домах.

Далее мы рассмотрим гидравлический расчёт систем для одного этажа частного дома с периметром в те же 50м для дом 10х15м по внутренним стенам (150м.кв на этаж).

А позже попытаемся применить те же подходы для максимальной высоты 50м в стояковой системе высотного дома.

Тупиковая система

Тупиковой схемой системы отопления называют такую схему, где трубы подачи и обратки выходят из одной начально точки, а сами трубы идут параллельно друг другу.

Читать далее
Total votes 65: ↑61 and ↓4+66
Comments173

Xiaomi Mi Thermometer 2 не только Bluetooth, но и ZigBee

Level of difficultyMedium
Reading time4 min
Views89K

TL;DR: Да, можно программно изменить датчик для работы в сети Zigbee, достаточно по воздуху перезаписать прошивку.

Многим пользователям умного дома известен квадратный датчик температуры и влажности от Xiaomi LYWSD03MMC. Его очевидные плюсы — это LCD экран, подключение к системе умного дома MiHome и конечно же цена. Его без преувеличения можно назвать если не самым, то точно одним из самых дешевых "умных" датчиков, которые имеют интерфесы для подключения к умному дому. В данном случае это популярный bluetooth, который позволяет подключиться к датчику со смартфона и увидеть показания. Поэтому он завоевал своё место в сердцах строителей умных домов как дешевое и надёжное решение.

Читать далее
Total votes 91: ↑91 and ↓0+91
Comments155

adb: tap, swipe и два дымящихся event'а

Reading time6 min
Views5.8K

Разработчики приложений для Android, а также тестировщики знают про команды adb shell input tap X Y и adb shell input swipe X1 Y1 X2 Y2 [DurationMs]. Но у каждой из них есть свой фатальный недостаток. Что это за недостатки, как их исправить с помощью event'ов и о нюансах я расскажу в этой статье. Да, чуть не забыл: сторонние приложения не используются, рут не нужен.

тап-тап
Total votes 8: ↑8 and ↓0+8
Comments0

Утром данные — вечером деньги: выбираем места под банкоматы на основе данных

Reading time9 min
Views3.1K

Теперь место, где поставить новый банкомат, определяет система машинного обучения. Мы готовили её целый год: за 2-3 месяца сделали первое решение, а потом дорабатывали, оптимизировали и ждали новых данных по банкоматам, установленным уже с помощью системы. Под капотом я расскажу, как это происходило — и кто снимает много денег в безлюдных местах.

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments3

Linux-порт Far Manager: что нового за 2022й?

Reading time5 min
Views20K

Примерно раз в год я пишу длинный статус апдейт по проекту far2l — порту Far Manager под Linux, MacOS и BSD. Пожалуй, накопилось достаточно изменений для очередного выпуска.

Поддержка Unicode: составные символы и символы двойного размера

Оригинальный Far Manager для консоли Windows писался в парадигме «одна экранная ячейка — один символ». И даже когда Far переводили с однобайтных кодировок на Unicode (внутри у современного Far все строки в UTF16, в Linux версии — в UTF32), от этой парадигмы не отходили.

Однако Unicode устроен сложнее. Во-первых, существуют иероглифы, которые в одно знакоместо латинского символа помещаться категорически не желают. Для них придумали концепцию Full-Width знаков, которые в моноширинных шрифтах занимают не одно знакоместо, а два, логически являясь при этом одним символом. Во-вторых, существуют диакритические символы (это могут быть знаки ударения или, например, точки над ё), которые в Unicode кодируются отдельным символом, а отображаются над (или под) предыдущим.

В результате имена файлов, содержащие иероглифы или диакритику (или эмодзи, они тоже двойного размера) приводили к ошибкам рендеринга интерфейса.

Читать далее
Total votes 94: ↑94 and ↓0+94
Comments98

Альтернативная прошивка для датчика температуры и влажности Sonoff SNZB-02 Zigbee

Reading time5 min
Views12K
Приветствую всех читателей Habr. В этой статье хочу поделиться с вами своим новым небольшим проектом.



Звездой этого проекта является датчик температуры и влажности воздуха SONOFF SNZB-02 от компании ITEAD. Этот датчик появился на рынке около 2 лет назад, это было по сути первой попыткой компании ITEAD войти в сегмент Zigbee устройств. Компанией была выпущена серия датчиков в количестве 4 штук и шлюз к ним.
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments1

Мини-игра на Rust + macroquad

Reading time11 min
Views7.2K

В данной статье я постараюсь подробно рассказать о том, как написать небольшую игру, используя в качестве инструментов язык программирования Rust и библиотеку macroquad.

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments8

Основы Linux (обзор с практическим уклоном)

Reading time14 min
Views333K

Привет, Хабр!

В последние несколько лет все больше и больше людей ищут возможность войти в ИТ или поглубже изучить Linux, повысив уровень своей квалификации. Вместе с тем полноценных обзоров с практическом уклоном по типу «все и сразу» написано не так уж и много (особенно на русском языке).

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

Читать далее
Total votes 59: ↑55 and ↓4+68
Comments44

Классика фантастики и фэнтези, которая лишь недавно добралась до русскоязычного читателя

Reading time6 min
Views58K

В фэнтези и фантастике есть целый пласт произведений, которые уже давно считаются классическими и хорошо известны читателям. Большая часть таких книг давно переведена на русский язык, ведь в 90-х годах в наших палестинах очень активно издавались книги популярных фантастов. Однако некоторые романы, по праву имеющие на Западе статус классических, на русском языке впервые увидели совсем недавно. Иногда из-за того, что пик их популярности пришелся на время до распада Советского Союза, когда с переводами западной фантастики все было гораздо сложнее, иногда из-за неформатности или предполагаемой сложности для читателя, иногда по финансовым причинам. Рассказываем о нескольких таких произведениях, с которыми русскоязычные читатели смогли познакомиться только в последнее время.

Читать далее
Total votes 108: ↑101 and ↓7+110
Comments22

Настройка LEMP сервера для простых проектов. Инструкция для самых маленьких. Часть вторая

Reading time13 min
Views13K

Данная статья является продолжением предыдущей статьи https://habr.com/ru/company/nixys/blog/645451/. Статья является обучающим материалом для начинающих администраторов, а также для разработчиков, которые хотели бы познакомиться с миром администрирования проектов. Если вы являетесь опытным администратором, можете смело пропускать данный материал.

Целью серии статей является описание подготовки работы сервера со стеком LEMP (Linux, Nginx, MySQL, PHP), отмечу, что в качестве PHP интерпретатора здесь используется Apache2, а не PHP-FPM, так как показывает практика многим разработчикам по прежнему необходим файл.htaccess, работу с которыми PHP-FPM из коробки не поддерживает.

Со своей стороны мы переносим правила из файла .htaccess в Nginx при необходимости установки PHP-FPM, однако это также занимает определенное время, зачастую разработчикам проще и быстрее внести нужные правила для текущих площадок именно в .htaccess файл. Также статьи описывают развертывание стэка и поднятие на нем работающих площадок. Инструкция подойдет для небольших Bitrix проектов, а тажке для проектов развернутых под любой популярной CMS.

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

Целью статей не является показать как развернуть идеальное окружение, а лишь указать на нюансы в работе и защитить начинающих специалистов от базовых ошибок при настройке.

Читать далее
Total votes 26: ↑14 and ↓12+4
Comments17

Цифровой урбанизм в России: где брать данные для своего проекта по анализу городской среды

Reading time18 min
Views12K

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

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

В этой статье я постарался сделать обзор тех данных, которые можно использовать в урбанистически-айтишных сервисах в России. Что с их помощью можно сделать, что - нельзя, какие там есть подводные камни и типичные проблемы. Надеюсь, этот текст поможет как будущим авторам таких сервисов (чтобы не тратить время на то, что сделать не получится), так и для их пользователей (чтобы понимать, почему эти сервисы работают именно так, как работают, и не могут работать лучше).

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments57

Визуализация данных при отладке в Visual Studio Code

Reading time2 min
Views16K


Вообще Debugger Visualizers для обычного Visual Studio — это очень старая тема (статья 2009 года), но не очень популярная. В большинстве случаев принято учить сразу дебажить, представляя процессы в голове, а штуки вроде сортировок и списков показываются на доске. В вебе часто визуальную часть предоставляет браузер, и все всем довольны. Но бывает, что списки или деревья в голове уже не умещаются, таблицы хочется отсортировать, а графики строить не выходя из среды отладки. Для всего этого и был создан плагин для VS Code — Debug Visualizer.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments0

О самой первой компании по производству ПО, и о самом крупном программном проекте в истории США

Reading time9 min
Views7.7K

Введение


Данная статья является компиляцией из нескольких источников информации о самой первой компании по производству программного обеспечения, а также о самом крупном программном проекте в истории США — проекте SAGE.

Читать дальше →
Total votes 97: ↑93 and ↓4+89
Comments81

Как устроена Википедия (часть 2)

Reading time7 min
Views36K
Привет, Хабр!
image
На основной работе дали пару дней отгула, и кроме важных личных дел я решил посвятить их продолжению серии постов про Википедию.

Первая часть серии была воспринята позитивно, поэтому вторую я постараюсь сделать еще более интересной для местной аудитории: сегодня она будет посвящена некоторым техническим аспектам работы проекта.
Читать дальше →
Total votes 54: ↑53 and ↓1+52
Comments8

Методы распознавания отпечатков пальцев и реализация средствами Python

Reading time12 min
Views52K
В текущем семестре появился в расписании предмет «Методы и средства защиты компьютерной информации», частью которого являются лабораторная работа по биометрии, а точнее по распознаванию отпечатка пальца. Так же, недавно, на Хабре была статья про устройства предназначенные для сканирования. Решил написать здесь про алгоритмы распознавания.
Читать дальше →
Total votes 118: ↑115 and ↓3+112
Comments20
1
23 ...

Information

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