Pull to refresh
13
0
Павел Мухатаев @pinoquinho

Инженер

Send message

Кратко про Raft и Paxos: путь к надежным распределенным базам данных

Level of difficultyEasy
Reading time6 min
Views2.5K

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

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

Среди множества подходов к решению проблемы достижения консенсуса в распределенных системах, Paxos и Raft являются самыми эффективными. Рассмотрим их подробней.

Читать далее
Total votes 16: ↑13 and ↓3+10
Comments0

Как приручить нейросеть: практический опыт

Reading time5 min
Views16K

Итак, в прошлой статье я уже немного рассказывал о том, что с LLM можно работать и даже построить определенный RAG. Как и обещал, перейдем к практике! :)

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

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

Machine Learning инженер: что/где/как изучать, чтобы въехать

Reading time12 min
Views27K

Привет, хаброчеловек!

В этой статье мы обсудим путь среднестатистического обывателя в Machine Learning, а именно — как стать ML-инженером. Поговорим о специфике области, какие требуются знания и скиллы, что нужно делать и с чего начать.

Читать далее
Total votes 13: ↑12 and ↓1+11
Comments4

Предчувствие Ричарда Фейнмана

Level of difficultyMedium
Reading time6 min
Views21K

Эта статья была вдохновлена циклом лекций «КЭД — странная теория света и вещества», который был прочитан Ричардом Фейнманом за несколько лет до его смерти (фактически он уже был в то время смертельно болен). Более конкретно следующими цитатами:

Читать далее
Total votes 28: ↑19 and ↓9+10
Comments33

Начинаем продолжать: обработка исходников с помощью ИИ в оффлайне

Level of difficultyMedium
Reading time17 min
Views9K

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

Читать далее
Total votes 21: ↑19 and ↓2+17
Comments13

Торговый бот на Python с нуля (с использованием Binance API), часть 2

Level of difficultyMedium
Reading time7 min
Views18K

Продолжение первой части статьи о создании торгового бота на python с нуля с использованием Binance API!

В данной статье мы напишем полностью рабочую реальную стратегию с использованием биржевых данных. Я расскажу что такое линии Боллинджера, а также о других популярных стратегиях. Мы подробно разберем реализацию стратегии Боллинджера на python, и напишем production-ready код!

Читать далее
Total votes 17: ↑14 and ↓3+11
Comments30

Простейший измеритель CO2 за 2000 рублей и полчаса

Reading time2 min
Views52K
Измеритель уровня углекислого газа (CO2) наверное самый недооценённый прибор, который на мой взгляд должен быть в каждой квартире, ведь он показывает, насколько воздух пригоден для дыхания и с помощью него всегда видно, когда пора проветривать.

Такой измеритель в квартирах большая редкость прежде всего из-за высокой цены. Свой первый измеритель AZ Instruments 7798 CO2 datalogger я покупал за $139 и это была самая дешёвая модель на рынке.

Сейчас готовый измеритель CO2 стоит около 4000 рублей, а самодельный обойдётся вдвое дешевле.

Читать дальше →
Total votes 100: ↑98 and ↓2+96
Comments253

Превращаем обычный электросчетчик в умный: продолжаем осваивать Samsung SmartThings

Level of difficultyHard
Reading time9 min
Views33K

Вам не кажется, что вручную переписывать цифры с ЖК-экрана на электросчетчике каждый месяц - это немного странное занятие? Все слышали про умные электросчетчики, но не все готовы заплатить несколько тысяч (а счетчик с дистанционным снятием показаний стоит как минимум 15000 рублей). И не факт, что этот электросчетчик нормально встроится в вашу экосистему умного дома, скорее всего там будет свое собственное закрытое приложение.

Как насчет старого доброго DIY? Давайте сделаем свой собственный умный электросчетчик с подключением к любой платформе, которую захотим. И делать мы это будем максимально мягкими методами, без вскрытия корпуса самого счетчика.

Расскажем, как мы подключили электросчетчик «Меркурий» к ESP32 двумя разными способами (через встроенные интерфейсы RS-485 и оптопорт), соединили по Wi-Fi с платформой Samsung Smart Things и получили возможность записывать статистику энергопотребления в реальном времени чтобы оптимизировать свои траты на электроэнергию.

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

Вкатываемся в Machine Learning с нуля за ноль рублей: что, где, в какой последовательности изучить

Level of difficultyEasy
Reading time26 min
Views163K

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

Читать далее
Total votes 159: ↑157 and ↓2+155
Comments49

DongShan Pi Pico-W: крошечный одноплатник с современным чипсетом за 600 рублей

Level of difficultyMedium
Reading time8 min
Views23K
image

Китайские производители не перестают удивлять: многие видят явные перспективы рынка одноплатных компьютеров и стараются представить целую линейку девайсов на самых разных чипсетах, а разработчики стараются использовать уже привычное и поддерживаемое долгие годы железо. К ним относятся решения на чипсетах AllWinner, RockChip, Tegra. Другие же стараются взять малоизвестный, но дешевый чип для иного круга применений, развести на нем компактную плату и продавать по цене пачки сухарей, подобные решения появляются регулярно. Один из таких одноплатников я недавно купил на AliExpress — некий DongShan Pi Pico W, на базе экзотического чипсета SigmaStar SSD210, всего за 600 рублей. И тут действительно есть на что посмотреть: два ядра Cortex-A7, контроллер TTL матриц, 2D GPU, Wi-Fi, 64Мб ОЗУ и Embedded Linux на борту. Более того, девайс поставляется в виде System on Module с переходной Evaluation-платой, что позволяет использовать это устройство в составе других гаджетов! Что это за красавец и на что он способен? Читайте под катом!
Читать дальше →
Total votes 68: ↑66 and ↓2+64
Comments64

Теория сложности

Level of difficultyEasy
Reading time7 min
Views8.8K

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

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

Формулы, используемые в теории сложности, часто связаны с вычислительной сложностью задач. Например, NP-полные задачи, которые являются одними из самых сложных для вычисления, описываются с помощью полиномиальных уравнений. Сложность задачи может быть выражена как O(n^k), где n — размер входных данных, а k — степень, определяющая сложность алгоритма.

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

Читать далее
Total votes 23: ↑18 and ↓5+13
Comments3

Что ты такое, dhclient?

Reading time19 min
Views37K

Сетевой стек Linux не прост даже на первый взгляд: приложение — в юзерспейсе, а всё, что после сокета, — в ядре операционки. И там тысяча реализаций TCP. Любое взаимодействие с сетью — системный вызов с переключением контекста в ядре.

Чтобы лишний раз не дёргать ядро прерываниями, придумали DMA — Direct Memory Access. И это дало жизнь классу софта с режимом работы kernel bypass: например при DPDK (Intel Data Plane Development Kit). Потом был BPF. А за ним — eBPF. 

Но даже помимо хаков работы с ядром есть такие штуки, как sk_buff, в которой хранятся метаданные всех миллионов протоколов. Есть NAPI (New API), которая призвана уменьшить число прерываний. Есть 100500 вариантов разных tables.

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

Начать погружение
Total votes 223: ↑222 and ↓1+221
Comments61

Запуск Линукс на TV-боксе на чипе RK3528

Level of difficultyMedium
Reading time8 min
Views11K

Мне удалось запустить Armbian сборку Ubuntu на TV-боксе с новым чипсетом RK3528. Используя конфиги для Hinlink H28K, первого поддерживаемого в Armbian устройства на этом чипе.

Это продолжение статьи, где я описал несколько способов достать Device Tree файлы из Андроид установленного на TV-боксе. Нужно для запуска на конкретном устройстве, даже для одной и той же модели - компоненты устройства могут отличаться, эти детали есть в Device Tree. Эта инструкция рассказывает как собрать и запустить Armbian используя полученный Device Tree файл. Написано для пользователей Линукс, средней сложности - почти всё подробно описано по шагам.

Инструкция для запуска в том числе с USB накопителя, что по умолчанию отключено в загрузчике U-Boot.

Читать далее
Total votes 27: ↑26 and ↓1+25
Comments28

Мини-ПК в ноябре 2023 года: 5 моделей на все (почти) случаи жизни

Reading time5 min
Views40K

Производители ноутбуков и настольных ПК выпускают все новые модели. Не являются исключением и мини-ПК, которых становится все больше. Многие из них весьма производительны, так что такие устройства можно использовать для выполнения достаточно «тяжелых» задач. Другие же подходят для офисной работы, что тоже неплохо — ведь экономится место на рабочем столе, такой девайс можно закрепить на задней крышке монитора и забыть про него. Что же, подборка таких устройств — под катом.
Читать дальше →
Total votes 42: ↑38 and ↓4+34
Comments29

Как правильно мерять производительность диска

Reading time14 min
Views336K
abstract: разница между текущей производительностью и производительностью теоретической; latency и IOPS, понятие независимости дисковой нагрузки; подготовка тестирования; типовые параметры тестирования; практическое copypaste howto.

Предупреждение: много букв, долго читать.

Лирика



Очень частой проблемой, является попытка понять «насколько быстрый сервер?» Среди всех тестов наиболее жалко выглядят попытки оценить производительность дисковой подсистемы. Вот ужасы, которые я видел в своей жизни:
  • научная публикация, в которой скорость кластерной FS оценивали с помощью dd (и включенным файловым кешем, то есть без опции direct)
  • использование bonnie++
  • использование iozone
  • использование пачки cp с измерениема времени выполнения
  • использование iometer с dynamo на 64-битных системах


Это всё совершенно ошибочные методы. Дальше я разберу более тонкие ошибки измерения, но в отношении этих тестов могу сказать только одно — выкиньте и не используйте.

Как мерять правильно
Total votes 151: ↑145 and ↓6+139
Comments164

CRI-O — альтернатива Docker для запуска контейнеров в Kubernetes

Reading time7 min
Views44K


Многие DevOps-инженеры и системные администраторы, особенно успевшие поработать с Kubernetes, уже слышали про проект CRI-O, озаглавленный как «легковесная исполняемая среда для контейнеров в Kubernetes». Однако зачастую представления о его назначении, возможностях и статусе весьма размыты — из-за молодости проекта, отсутствия опыта практического применения и растущего числа изменений в области стандартов для контейнеров. Эта статья — ликбез о CRI-O, рассказывающая о появлении проекта, его особенностях и актуальном статусе.
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments10

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

Level of difficultyMedium
Reading time4 min
Views72K

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

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

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

Четыре года с умным домом: личный опыт и интересные сценарии

Reading time22 min
Views39K

Меня зовут Виктор, я backend-разработчик в финансовом маркетплейсе Банки.ру.

Последние годы я интересуюсь темой умного дома. Хочу поделиться тем, с чего я начинал и к чему пришел. Эта статья будет полезна тем, кто: хочет понять как устроен self-hosted умный дом; хочет перенять опыт и избежать чужих ошибок; уже имеет умный дом и интересуется прикладными сценариями.

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

Сеть контейнеров — это не сложно

Reading time17 min
Views31K

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

В этой статье мы ответим на следующие вопросы:

Как виртуализировать сетевые ресурсы, чтобы контейнеры думали, что у каждого из них есть выделенный сетевой стек?

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

Как настроить сетевой доступ из контейнера во внешний мир (например, в Интернет)?

Как получить доступ к контейнерам, работающим на сервере, из внешнего мира (публикация портов)?

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments6
1
23 ...

Information

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