Pull to refresh
2
0
Send message

Создаем свою простую (C++) библиотеку с документацией, CMake и блекджеком

Level of difficultyMedium
Reading time33 min
Views16K

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

Если вы ловили себя на мысли: ‭«А почему мне бы не создать свою полноценную библиотеку?‭», то я рекомендую прочитать вам мою статью.

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

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

Читать далее
Total votes 49: ↑48 and ↓1+59
Comments68

HotPatching – установка обновлений без перезагрузки. Не только Windows Server, но и Windows 11. И без подписок Azure

Level of difficultyEasy
Reading time6 min
Views6.4K

Сегодня хочу поговорить с вами о наболевшем, об обновлениях Microsoft, требующих перезагрузки. Я отношусь к тем, кто обычно устанавливает рекомендуемые на широком канале Windows Update, так как считаю безопасность превыше всего. Однако, перезагрузки безумно напрягают. Не одного меня, конечно. Так сложилось, что Microsoft очень давно разрабатывала технологию установки обновлений без перезагрузок.  Мало кто знает, что еще с Windows Server 2003 SP1 была предложена технология HotPatching, позволяющая на лету устанавливать заплатки и библиотеки, не требуя перезагрузки. Правда, почему то, после выхода Windows Server 2003 SP2 выпуск обновлений, не требующих перезагрузок был свёрнут. О подробностях применения горячих обновлений в те древние времена можно почитать тут. Сегодня я расскажу о горячей установке обновлений на Windows Server 2025 и Windows 11 24H2 без всяких подписок. Но давайте по порядку…

С выходом Windows Server 2019 технология была переработана и для издания Windows Server 2019 Datacenter Azure Edition (Core) доставлялись горячие обновления, если машины размещались в Azure. С Windows Server 2022 такая возможность появилась и для версии Windows Server 2022 Datacenter Azure Edition с полным рабочим столом. Но требование издания Azure Edition и размещения в облаках Microsoft никуда не делось. Позже разрешили обновлять без перезагрузок виртуальным машины Azure Edition, развернутые в датацентрах заказчика на кластерах Azure Stack HCI при наличии подписки Azure. Гм, тоже не моя история 😊

Как ставить обновления без перезагрузок
Total votes 27: ↑27 and ↓0+38
Comments26

Экономим на лицензиях Mikrotik CHR

Reading time5 min
Views120K
В Телеграм-чате @router_os часто вижу вопросы о том, как сэкономить на покупке лицензии от Mikrotik, либо пользоваться RouterOS, вообще, на халяву. Как ни странно, но такие способы есть и в правовом поле.





В данной статье я не буду касаться лицензирования аппаратных устройств Mikrotik, так как в них с завода установлена максимальная лицензия, которую может обслужить железо.
Читать дальше →
Total votes 4: ↑3 and ↓1+5
Comments30

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

Level of difficultyMedium
Reading time7 min
Views1.3K

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

При этой оценке очень часто присутствует большой объем механического поиска цен товаров и услуг в интернете на сайтах поставщиков.

В какой-то момент мне захотелось упростить процесс и на Google Apps Script для Гугл Таблиц написал небольшой скрипт для Google Custom Search Engine (CSE) который автоматически обходит все искомые позиции по списку и составляет список актуальных цен и ссылок на их источники. Хотя без последующей ручной проверки на адекватность использовать такой механизм нельзя, но сам скрипт очень сильно упрощает, облегчает и ускоряет работу.

Ищем цены и оцениваем 🤖
Total votes 2: ↑2 and ↓0+5
Comments1

Повышение живучести SSD за счёт его превращения из QLC в SLC

Level of difficultyMedium
Reading time14 min
Views44K

В этой статье мы займёмся беспрецедентным экспериментом! Я шаг за шагом проведу вас через процесс преобразования SSD на базе QLC NAND в SLC SSD, что позволит значительно повысить его ресурс и общую производительность.

▍ Спецификация испытуемого SSD



На роль испытуемого я выбрал Crucial BX500, который мы уже много раз тестировали, освещая этот процесс как на нашем сайте, так и на YouTube-канале.
Читать дальше →
Total votes 101: ↑99 and ↓2+126
Comments95

Устраняем уязвимости в Active Directory Windows. Часть 1

Level of difficultyMedium
Reading time12 min
Views13K


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

В нашей статье основным инструментом позволяющим провести проверку безопасности AD будет PingCastle.
Читать дальше →
Total votes 27: ↑24 and ↓3+30
Comments20

Шрифт на кривых Безье на микроконтроллере

Level of difficultyMedium
Reading time6 min
Views14K

Идея

Идею подсмотрел в канале о программировании ESP32, один человек продемонстрировал часы на 6 дисплеях. Каждая цифра на своём дисплее типа 1.8" 128х160. Разработчик проекта показал источник своего вдохновения: проект Bézier Clock на Javascript разработчика Jack Frigaard. К сожалению, видимо, ориганальная страница демонстрационного проекта не сохранилась, но она точно вдохновила разных людей. Есть даже статья на хабре про это Часы на кривых Безье. Даже не спрашивая как именно это реализовано, я сразу решил делать свой проект на кривых Безье и быстро опробовал первую версию как это будет выглядеть на дисплее.

Читать далее
Total votes 67: ↑67 and ↓0+92
Comments43

Как я разработал квадрокоптер на ESP32 с нуля (ушло 4 года)

Level of difficultyMedium
Reading time12 min
Views58K

При сборке квадрокоптеров и других БПЛА обычно используют готовую плату полетного контроллера, содержащую все необходимые датчики и периферию, и готовую полетную прошивку, например, Betaflight, ArduPilot или PX4. Полетный контроллер управляет моторами квадрокоптера и обеспечивает стабильный полет.

Занимаясь БПЛА с 2016 года, я решил разобраться в устройстве полетных контроллеров максимально глубоко и создать квадрокоптер с нуля, не используя готовый полетный контроллер и готовый софт. Спустя долгое время разработки мне удалось это сделать. Я написал прошивку с максимально простым исходным кодом и выложил ее на GitHub. В этой статье я расскажу о теории и практике разработки полетного софта для квадрокоптера и проиллюстрирую это на примере своего дрона на базе микроконтроллера ESP32, который можно увидеть на картинке выше.

Читать далее
Total votes 312: ↑312 and ↓0+371
Comments132

Как я боролся с TPU-полимером при 3D печати и победил (но процесс ещё идёт)

Level of difficultyEasy
Reading time11 min
Views7.8K

Каждый 3D-печатник должен посадить дерево напечатать что-то из PLA, ABS, PETG и, конечно же, из TPU (ну ок, ещё SBS Glass, но сегодня не о нём речь).

И вот с этим последним пунктом, как правило, у всех возникают проблемы. О моём пути решения этого вопроса и будет дальнейший рассказ (речь пойдёт только о FDM-печати).

Дальше буду говорить о direct (директ) и bowden (боуден) экструдерах, и поэтому сначала дам небольшую справку, для тех, кто не в курсе.
Смотреть тут


И небольшое отступление, зачем это вообще надо: дело в том, что долгое время, владея 3D-принтером и печатая разнообразные модели, рано или поздно приходишь к тому, что необходимо выйти за пределы «жёстких» распечаток, так как возникает потребность изготовления произвольной формы разнообразных прокладок для герметизации, передаточных пассиков, гусениц для самодельных радиоуправляемых (и просто настольных) моделей, резиновых покрышек для них же, гибких декоративных браслетов для ношения и т. д. и т. п.
Читать дальше →
Total votes 36: ↑32 and ↓4+51
Comments19

Тюнинг Wireshark

Reading time3 min
Views8.8K

Анализатор пакетов Wireshark является мощным инструментом как для сбора, так и для анализа трафика. Ранее мы уже рассматривали использование Wireshark для работы с пакетами DNS. В этой статье мы рассмотрим различные приемы гибкой настройки данного инструмента для того, чтобы сделать работу с ним более удобной и эффективной.

Настройки Wireshark спрятаны в разделе Edit -> Preferences… Здесь нам доступно множество различных настроек и подробно останавливаться на каждой мы не будем. В разделе Appearance мы можем указать различные настройки для визуального отображения: шрифты, используемые цвета, сохранение размеров и расположения основного окна и многое другое.

Читать далее
Total votes 23: ↑19 and ↓4+20
Comments2

Калибровка магнитометра с помощью обобщённого фильтра Калмана

Level of difficultyMedium
Reading time9 min
Views3.9K


В настоящее время широко доступны датчики на основе магнитометров. Они позволяют легко получить направление на магнитный север (или истинный, если, конечно, вы учтёте магнитное склонение в вашей местности). Это может быть полезно для определения ориентации оси рысканья/курса беспилотных аппаратов. Одна из проблем магнитометров связана с их калибровкой, поскольку на магнитометр влияют находящиеся рядом с ним магнитотвёрдые (имеют собственное магнитное поле) и магнитомягкие (легко намагничиваются от внешнего магнитного поля, в том числе от поля Земли) материалы. Ниже я расскажу, как избавиться от влияния этих материалов и откалибровать магнитометр.
Читать дальше →
Total votes 12: ↑11 and ↓1+16
Comments20

Jackett + Synology Download Station

Level of difficultyEasy
Reading time2 min
Views9.1K

Есть желание добавить в Synology Download Station возможность искать по 613 торрент трекерам? Хочется видеть, какие именно торренты будут загружены? Хочется чтобы оно работало и в мобильном приложении?

Тогда прошу под кат!
Total votes 7: ↑6 and ↓1+5
Comments14

USB Type-C SWD Adapter

Reading time4 min
Views8.7K

Прочитав статью Программируем и отлаживаем STM32 через USB Type-C порт, не нарушая спецификации USB у меня сразу появилась идея, как сделать более правильно и удобнее (как хочешь втыкай кабель, по привычке и рабочий USB 2.0 порт). Получился вот такой вот адаптер для J-Link (для JTAG 10 pin):

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

Терминал Modbus TCP / RTU / ASCII с открытым исходным кодом: Часть 1

Level of difficultyEasy
Reading time3 min
Views10K

Когда-то я активно работал с промышленным оборудованием. Часто мне приходило какое-то устройство, и оно общалось с внешним миром по волшебному протоколу Modbus.

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

Поэтому представляю вам мою версию Modbus терминала!

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

Автоматизируем создание отчетов в Word с данными из Excel на Python

Level of difficultyEasy
Reading time7 min
Views44K

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

Читать далее
Total votes 35: ↑33 and ↓2+33
Comments55

Автоматизация бань и терм: как задержать гостя подольше?

Level of difficultyEasy
Reading time7 min
Views9.9K

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

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

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

Интересно? Ныряйте под кат.

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

Удаленно следим за состоянием газового котла

Level of difficultyEasy
Reading time12 min
Views22K

Из рекламы молока всем известно, как хорошо иметь домик в деревне. Вариаций мемов на эту тему огромное количество, но суть одна — необходимо много работать. Например, в промышленных масштабах выращивать помидоры, крутить компот из яблок и окучивать малину. Мне, молодому поколению, такая постановка задачи непонятна. Зачем выращивать, когда продается готовое? Из аргументации можно услышать: «А зачем переплачивать?». Так что трагикомических воспоминаний о сенокосе или очистке полей картошки от майского жука и организации её орошения предостаточно. Поэтому мой домик в деревне, сокращенно дача, является образцом рационального пользования, поведения, неприемлемого в былые времена.

Неотъемлемой частью дачи является система отопления. Конечно, существуют дачи, которые на зиму «консервируются», но в моем случае газовый котел и все коммуникации есть. Современные котлы оборудованы электронной управляющей платой. Изучив документацию на котел Lemax Primve обнаруживаем, что к плате подключаются несколько термисторов, датчик протока, реле давления воды, электрод ионизации, электрод розжига, в общем все, что нужно для его правильного функционирования. Старые чугунные котлы имели в своем распоряжении только горелку и биметаллическую пластину с газовым клапаном. Если пламя тухло по тем или иным причинам, нужно было свернуть старую газету, зажечь её кончик и внести в область горелки. С современными котлами такую процедуру проделывать категорически не рекомендуется. Лучше посмотреть код ошибки на экране или вызвать мастера.

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

Python-волшебство: как магические методы облегчают жизнь программиста

Level of difficultyMedium
Reading time4 min
Views17K

Привет, друзья! Сегодня я расскажу вам об удивительном мире магических методов в Python. 🎩 Если вы когда-нибудь задавались вопросом, что стоит за волшебством работы объектов в этом языке программирования, то сейчас мы вместе разгадаем эту загадку!

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

Сделай то, сделай это, сделай сам

Reading time4 min
Views16K

Доброго времени суток Дамы и Господа! Многим приходилось сталкиваться с необходимостью анализа большого количества данных при помощи Python по запросам начальства или коллег. Однотипные запросы поступают с определенной периодичностью, и не составляет труда подставить новые данные в свой код и провести анализ. Но иногда из-за определенной нагрузки не всегда хочется заниматься таким анализом. Намного проще сделать скрипт с графическим интерфейсом, чтобы сам заказчик для анализа данных мог нажать пару кнопок и получить желаемый результат. Тем более, можно изначально вложить в интерфейс столько «хотелок» заказчика для анализа, сколько будет душе угодно.

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

Восстановление данных с M.2 NVMe SSD. Скрипт ddrescue-loop v0.2

Level of difficultyEasy
Reading time13 min
Views18K

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

Представляю доработанную версию скрипта ddrescue-loop с поддержкой управления USB реле и uhubctl.

Для прерывания питания SSD задействовал простое и дешевое решение USB Relay Module LCUS-1 CH340 которые доступны на Aliexpress. И подключение через док станцию AgeStar 31CBNV1C на основе USB-NVMe моста JMicron JMS583.

Рассмотрим процесс восстановления на примере случая с неисправными M.2 NVMe SSD производства Kimtigo на контроллере Maxio MAP1202.

Погнали!
Total votes 42: ↑42 and ↓0+42
Comments11
1
23 ...

Information

Rating
Does not participate
Registered
Activity