Pull to refresh
17
0.1
Беляев Ростислав @elve

Эволюционировавший в SRE/DevOps

Send message

Telegram Desktop и Compose Multiplatform

Level of difficultyMedium
Reading time12 min
Views4.5K

Всем привет! В своей прошлой статье я рассказывал как можно запустить Telegram клиент в качестве backend‑сервиса. В описываемой там библиотеке с тех пор были внесены некоторые оптимизации, и в целом, я остался доволен возможностями, которые получил. После чего возникло желание добавить визуальную часть к имеющемуся бэкенду и заодно изучить что‑то новое для себя. Выбор пал на фреймворк Compose Multiplatform. Давайте сделаем десктопную версию Telegram!

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

Создание своего UEFI приложения

Level of difficultyMedium
Reading time5 min
Views39K

Привет, Хабр! Мне 16 лет, я студент, учусь на первом курсе колледжа на программиста. Начал увлекаться низкоуровневым программированием на Ассемблере и C/C++

Я заметил что на Хабре есть множество статей о написании своих простых "загрузчиков" для BIOS-MBR, которые выводят на экран "Hello World!". И при этом практически нет ни одной статьи о создании того же самого, но только для UEFI, хотя будущее именно за ним, ведь BIOS уже давно устарел! Это я и хочу исправить в этой статье.

Читать далее
Total votes 86: ↑85 and ↓1+84
Comments80

IAX2 one love (межASteriskные транки)

Level of difficultyMedium
Reading time4 min
Views1.5K

Это короткое продолжение серии про Asterisk.
Пердыдущие части Часть 1, Часть 2, Часть 3

Я расскажу как и почему я ограниченно применяю IAX2 в контексте предыдущих записей.

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

Алгоритмы балансировки нагрузок

Level of difficultyMedium
Reading time8 min
Views31K

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

В этом посте мы рассмотрим способы, которыми один балансировщик нагрузок может распределять HTTP-запросы на множество серверов. Мы начнём снизу и проделаем весь путь вверх до современных алгоритмов балансировки нагрузок.
Читать дальше →
Total votes 107: ↑106 and ↓1+105
Comments16

История о жрущем память API-сервере Kubernetes

Level of difficultyMedium
Reading time9 min
Views4.9K

Несколько месяцев назад коллеги, работающие с одним из кластеров Kubernetes в dev-окружении, обратились с проблемой недоступности API-сервера Kubernetes. Dev-среды обычно не подключены к дежурной смене, и решением проблем занимаются владельцы или, если проблемы нестандартные, обращаются к профильным специалистам. В ходе диагностики оказалось, что kube-api стал потреблять значительно больше памяти. Это приводило к возникновению ошибки с OOM.

Давайте будем честными — если бы это произошло в production-окружении, мы, скорее всего, закинули бы больше памяти и успешно бы забыли про проблему. Но dev-стенд не имеет жёстких SLA с финансовой ответственностью, и это дало нам возможность и время разобраться с прожорливым kube-api.

Всех, кому интересно, что из этого вышло, прошу под капот.

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

Как работают объектные хранилища: OpenStack Swift

Level of difficultyMedium
Reading time18 min
Views4.6K

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

Раз меньше времени работе, то больше — знаниям. Меня зовут Рома, и я работаю в объектном хранилище — самой высоконагруженной услуге Selectel. Здесь мы непрерывно трудимся над улучшением и развитием архитектуры, удовлетворяя спрос на пропускную способность, функциональность и надежность.

В первой части я поделился сложностями, которые возникают при попытке построить распределенное и отказоустойчивое хранилище для объектов. Та система, которую мы позволили себе нафантазировать, очень похожа на OpenStack Swift. С него начиналась история нашего продукта, так что мы можем не только разобрать принцип его работы «на пальцах», но и погрузиться в скрытые особенности OpenSource, которые проявляются лишь в больших масштабах.
Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments6

STM32 Часть 1. Как поморгать светодиодиком

Level of difficultyEasy
Reading time5 min
Views21K

Приветствую!

Данная статья открывает цикл статей о программировании микроконтроллеров STM32 для новичков.

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

Читать далее
Total votes 25: ↑16 and ↓9+7
Comments39

LGT8F328P: импортозамещение по-китайски (окончание)

Reading time13 min
Views13K
В первой части рассказа о контроллере LGT8F328P китайской фирмы Logic Green рассказывалось об этом контроллере, как замене классического Arduino, а также об использовании в Arduino-среде некоторых его расширенных возможностей. В этой части пойдет речь о программировании LGT8F328P на самом низком уровне: на AVR-ассемблере. Это лучше позволит понять его устройство, отличия от AVR и тонкости программирования тех или иных составляющих.


Для написания и загрузки ассемблерных программ, как в AVR, так и в LGT8F328P необходимо обзавестись некоторыми специальными инструментами. Здесь не очень важно, какую именно среду использовать (любую из привычных вам, если вы справитесь с интеграцией в нее LGT8F328P), лишь бы она умела производить hex-файлы.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments10

Сертификаты K8S или как распутать вермишель Часть 2

Reading time6 min
Views4.2K

Всем привет. Меня зовут Добрый Кот Telegram.

От коллектива FR-Solutions и при поддержке @irbgeo Telegram : Продолжаем серию статей по сертификатам k8s.

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

Читаем ключевой контейнер КриптоПро

Reading time2 min
Views12K

Речь пойдет о PFX, который можно экспортировать из КриптоПро, как бы все хорошо, но данный контейнер нельзя использовать в OpenSSL и в других криптографических средствах из-за некой PBE с OID 1.2.840.113549.1.12.1.80.

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

Установка универсальной прошивки OpenIPC на примере IP камеры с процессором HI3516DV100 и сенсором OV4689

Reading time18 min
Views65K

Наш мир кишит камерами видеонаблюдения, и большинство из нас сами добровольно окружают себя этими устройствами. Камерами, которые имеют как случайные дыры в безопасности, так и намеренно внедренные компоненты которые отстукивают своему хозяину. Одни производители стараются по максимуму предвидеть и решить проблемы, другие же делают вид, что и проблем особо нет, если камера показывает изображение. Но если начать приглядываться, то лишь требование ActiveX и Internet Explorer для пользования камерой в XXI веке это нечто из пучин ада.

Решают проблемы производители каждый по своему. Как вариант, через облако, через своё приложение Android с приватными протоколами. Но через несколько лет после продажи облачной камеры, бесплатное облако вполне может стать платным, приложение обрастает рекламой до безобразия. А если проект производителя не зашел, то прописанные в ней сервера отключаются и ваша камера, возможно даже с отличным оборудованием внутри, становится бесполезным кирпичём, потому как способов использования больше нет.

В случае с зоопарком рутеров, ворох проблем заставил энтузиастов собраться с силами и создать открытую платформу OpenWRT на базе Linux. И ради тех, кто ждет решения для камер, сейчас кипит работа над аналогичным открытым проектом OpenIPC - универсальной встраиваемой платформы на базе Linux для IP камер. Проделан колоссальный труд, и есть уже ряд камер, на которые можно установить новую прошивку, получив базовый функционал.

Дальше рассказываю на какие камеры какими способами и зачем можно установить систему OpenIPC на примерах.

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

Насколько хорошо у вас настроен OSPF/IS-IS или помогатор для сетевых инженеров

Reading time12 min
Views9.7K

Коллеги-сетевики, привет. К написанию данной статьи меня сподвигли задачи, с которыми приходилось сталкиваться во время работы с OSPF/IS-IS и тот набор решений, к которому я в конечном итоге пришел. Речь идет о насущном вопросе сетевых инженеров, когда приходится применять настройки на живой сети (пусть и с программируемым откатом на крайний случай) без возможности посмотреть как это отразится на всей сети в целом. Если отдельные команды и сценарии еще можно проверить в лабе, то получить полную реплику сети практически невозможно. В связи с этим я задался вопросом о наличии инструмента, который позволял бы строить слепок сети и рассчитывать её реакцию на ранее примененные настройки. Об этом сегодняшний туториал.

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

Asterisk. Доставка SIP Message после возврата абонента из off-line'а

Reading time9 min
Views3K

В предыдущих статьях я описал как настроил и собрал GSM <> SIP систему на базе Asterisk. В этой статье расскажу как быть с входящими SMS, если получатель не в сети.

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

Насколько реален самодельный 3D-принтер по металлу?

Reading time10 min
Views23K

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

Не так давно я понял, что меня очень сильно тормозит в разработках — отсутствие доступного 3D-принтера по металлу, и я стал разбираться, насколько же сложно создать такой принтер самому?
Читать дальше →
Total votes 59: ↑57 and ↓2+55
Comments56

Сертификаты K8S или как распутать вермишель Часть 1

Reading time5 min
Views8.7K

Всем привет. Меня зовут Добрый Кот Telegram.

От коллектива FR-Solutions и при поддержке @irbgeo Telegram : Продолжаем серию статей по сертификатам k8s.

Хочу поделиться с вами некоторым мыслями на тему сертификатов в кубе.

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

Autosupply или как автоматизировать цепочки поставок с помощью ML

Reading time5 min
Views1.3K

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

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

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

Задача прогнозирования потребления

Есть очень похожая и более распространенная задача в розничной торговле: сколько каких товаров нужно поставить в магазин Х в момент времени У? Задача решается относительно просто: зная потребление товара во времени из чеков и запасы товара на складе, можно вычислить будущую поставку напрямую. Поставить нужно столько, сколько предположительно продадут, за минусом запаса.

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

Разработка процессорного модуля на базе микросхемы 1892ВА018 СнК «СКИФ» и его первый запуск

Reading time65 min
Views40K

Версия данной статьи для "off-line прочтения" в формате PDF доступна по адресу: ссылка на статью.

В первой половине 2021 года в РФ резко обострились дебаты на тему импортозамещения, инициированные рядом изменений внесенных ранее в декабре 2020г в постановление N719 относительно закупок вычислительной техники, и бурно обсуждаемых на различных площадках и IT-форумах, таких как Elbrus Tech Day, YADRO Лекторий, а так же у ряда популярных блогеров. Основной посыл нововведений состоял в том, что вся вычислительная техника, закупаемая за бюджетные средства, должна иметь в основе микропроцессор, разработанный или произведенный в России или имеющий статус такового. Насколько такое решение Правительства годное и исполнимое — тема отдельного разговора, которую я не хотел бы сейчас затрагивать. Так или иначе, мы, в нашей небольшой компании, пришли к выводу, что данное решение Правительства может приоткрыть пусть не окно, но хотя бы форточку возможностей для мелких разработчиков электроники, которым является наша компания. Имея за плечами опыт разработки изделий на основе импортных (в основном китайских) систем-на-кристалле, мы решили, что на рынке могут быть востребованы одноплатные ПК, аналогичные Raspberry Pi и выполненные на отечественном СнК, по возможности близкие по габаритам и pin-to-pin совместимые с «малиной», а также процессорные модули, устанавливаемые на несущую плату, позволяющие упростить разработку конечного изделия и вынести сложную топологию за его границы.

Читать далее
Total votes 163: ↑162 and ↓1+161
Comments94

Raspberry Pi PAN

Reading time3 min
Views8.9K

Пикосеть Bluetooth-PAN (Personal Area Network)

Поднимаем сеть через bluetooth на Raspberry Pi с поддержкой systemd.

Моя дружба с Raspberry Pi многолетняя, и все годы я бесконечно экспериментировал. Неужели Raspberry Pi подталкивает к авантюризму? Кроме всего прочего, я страстный фотограф, вовсю использую «малинку» как беспроводный пульт дистанционного управления фотоаппаратом с помощью программы gphoto2.

В моей конфигурации миникомпьютер включает собственный веб-сервер для удаленного просмотра фотографий через wi-fi и работает в режиме точки доступа.

Но мне необходим еще один сетевой беспроводный интерфейс, и вот здесь начинается знакомство с пикосетью PAN (HOWTO-PAN).

Читать далее

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

Маленькие «малинки» в крупном дата-центре (часть 4 — автоустановка)

Reading time7 min
Views5.7K

Это заключительная часть цикла статей, посвященного интеграции одноплатных компьютеров Raspberry Pi 4 в наши дата-центры. Мы рассмотрели, что происходит при загрузке «малинки» с момента включения до загрузки в операционную систему. Создали собственный мини-дистрибутив, который загружается по TFTP-протоколу и работает напрямую из памяти. Поговорили о хуках (hooks) Kea DHCP-сервера, разобрались, как они работают и что нужно для их создания.

Теперь соберем эти знания в цельную картину: зачем нам кастомная опция 224 и как управлять переключением режимов загрузки по сети и с локальной SD-карты.
Читать дальше →
Total votes 45: ↑45 and ↓0+45
Comments2
1
23 ...

Information

Rating
3,349-th
Location
Россия
Date of birth
Registered
Activity

Specialization

System Administration, DevOps
Lead
From 350,000 ₽
Ansible
CI/CD
Linux administration
DevOps
Network administration
System administration
Virtualization systems
IT consulting
OpenStack
Shell scripting