Как стать автором
Обновить

Компания Специальный Технологический Центр временно не ведёт блог на Хабре

Сначала показывать

Как мы с Кандинским дракона рисовали

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров5.5K

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

Существует достаточно большое количество нейросетей, генерирующих изображения. Относительно недавно появилась новая версия модели генерации изображений по тексту Kandinsky 3.0 (дальше К3). На носу – масленица Новый Год, поэтому мы с К3 решили нарисовать символ китайского 2024 года, а именно зеленого деревянного дракона. Т.к. показать на рисунке, что дракон деревянный – задача нетривиальная, поэтому решено нарисовать просто добродушного зеленого дракона в стиле цифровой живописи.

Читать далее
Всего голосов 9: ↑7 и ↓2+5
Комментарии13

Предварительная оценка вероятности наличия уязвимостей в программах с учетом семантики средствами нейронных сетей (1/3)

Уровень сложностиСложный
Время на прочтение15 мин
Количество просмотров1K

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

Часть 2

Часть 3

Предварительная оценка вероятности наличия уязвимостей (vulnerability prediction, VP) в бинарных программах с использованием статического анализа является популярной темой исследований. Традиционные методы VP основаны на применении шаблонов уязвимостей, которые требуют трудоемкой разработки шаблонов уязвимостей силами экспертами по безопасности. Развитие искусственного интеллекта (ИИ) открыло новые возможности для VP.

Нейронные сети позволяют обучать шаблоны уязвимостей автоматически. Тем не менее, в современных исследованиях рассматриваются только один или два типа функций и используются традиционные модели, например, word2vec, которые не учитывают большое количество информации на уровне инструкций. В этой статье предлагается модель SAViP для VP в бинарных программах.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Предварительная оценка вероятности наличия уязвимостей в программах с учетом семантики средствами нейронных сетей (3/3)

Уровень сложностиСложный
Время на прочтение17 мин
Количество просмотров154

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

Часть 1

Часть 2

Предварительная оценка вероятности наличия уязвимостей (vulnerability prediction, VP) в бинарных программах с использованием статического анализа является популярной темой исследований. Традиционные методы VP основаны на применении шаблонов уязвимостей, которые требуют трудоемкой разработки шаблонов уязвимостей силами экспертами по безопасности. Развитие искусственного интеллекта (ИИ) открыло новые возможности для VP.

Нейронные сети позволяют обучать шаблоны уязвимостей автоматически. Тем не менее, в современных исследованиях рассматриваются только один или два типа функций и используются традиционные модели, например, word2vec, которые не учитывают большое количество информации на уровне инструкций. В этой статье предлагается модель SAViP для VP в бинарных программах.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Предварительная оценка вероятности наличия уязвимостей в программах с учетом семантики средствами нейронных сетей (2/3)

Уровень сложностиСложный
Время на прочтение15 мин
Количество просмотров245

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

Часть 1

Часть 3

Предварительная оценка вероятности наличия уязвимостей (vulnerability prediction, VP) в бинарных программах с использованием статического анализа является популярной темой исследований. Традиционные методы VP основаны на применении шаблонов уязвимостей, которые требуют трудоемкой разработки шаблонов уязвимостей силами экспертами по безопасности. Развитие искусственного интеллекта (ИИ) открыло новые возможности для VP.

Нейронные сети позволяют обучать шаблоны уязвимостей автоматически. Тем не менее, в современных исследованиях рассматриваются только один или два типа функций и используются традиционные модели, например, word2vec, которые не учитывают большое количество информации на уровне инструкций. В этой статье предлагается модель SAViP для VP в бинарных программах.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Фильтруем логи санитайзеров и valgrind на примере приложения с Qt

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров2.9K

Периодически встречающаяся проблемами кода на С и C++ являются утечки памяти и неопределенное поведение. Даже если вы используете умные указатели, то от ошибок в библиотеках сторонних разработчиков вы не застрахованы. Для поиска ошибок в коде существуют специальные инструменты: санитайзеры и valgrind. Однако, не вся информация об ошибках имеет для нас ценность, рассмотрим методы её фильтрации.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии2

Открытый смысл скрытого текста для разработчиков документации

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.4K

— Видишь суслика?

— Нет…

 — И я не вижу. А он есть!

Одним из мощных и удобных инструментов текстовых редакторов является скрытый текст. Этот инструмент имеется практически во всех редакторах. Самым популярным и совершенным редактором на данный момент является MS Word. Поэтому некоторые возможности скрытого текста рассмотрены на его примере.

Читать далее
Всего голосов 10: ↑9 и ↓1+8
Комментарии11

Генератор управляющего сигнала LNB

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.6K

Для настройки спутникового телевидения необходимо управлять диапазоном конвертера(LNB).  Для переключения диапазона используется управляющий сигнал 22 кГц. В статье описаны два варианта синтеза сигнала управления, соответствующего требованиям протокола управления спутниковым оборудованием.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии4

Техническое задание в картинках?

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров7.1K

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

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

Существует множество тяжеловесных систем работы с требованиями, стандартов и методологий, описывающих эту работу. Ну, например, известны методологии PMI - института проектного менеджмента. В таких методологиях подробно расписаны подходы к выявлению требований, их сортировке, выделению приоритетов, противоречий, способов согласования, уточнения и так далее. Однако, как показывает практика, это все настолько громоздко - что использовать не хочется от слова "совсем".

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

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

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

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии42

Сетевой подход к представлению объектов многомерного пространства

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров1.2K

Как представить объекты четырёхмерного пространства?

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

Читать далее
Всего голосов 5: ↑3 и ↓2+1
Комментарии0

Исследование влияния импульсных помех на работу бесколлекторного двигателя

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров4.3K

В последнее время весьма актуальным является вопрос противодействия БПЛА типа «квадро/гексо/октокоптер», использующих для своего полета бесколлекторные двигатели (БКД). Одним из основных путей противодействия таким БПЛА (кроме, конечно, физического воздействия ракетным или стрелковым оружием) является постановка помех каналам управления и навигации посредством радиоэлектронного излучения сигналов с определенными характеристиками.

Конечно, использование классического метода постановки так называемой «заградительной» помехи является наиболее простым способом радиоэлектронного подавления, когда в заданном частотном диапазоне формируется мощный сигнал, препятствующий нормальному функционированию БПЛА, включая, конечно, подавление сигналов системы глобального позиционирования. Однако у этого метода есть и недостатки, основной из которых – необходимость значительных энергозатрат и связанные с ними повышенные риски обнаружения источника помех средствами радиомониторинга противника и вероятного последующего огневого поражения. Следовательно, в интересах сохранения эффективности радиоэлектронного воздействия при снижении уровня излучаемой мощности помеховых сигналов необходимо формировать такой сигнал не в виде сплошного спектра в заданной полосе частот, а в виде какой-то «оптимальной» структуры, обеспечивающей наибольшую степень влияния на оригинальный сигнал в системе управления. Общеизвестно, что оптимальная помеха по своей структуре должна быть близка к структуре подавляемого сигнала. Однако есть много нюансов такого соответствия. В данной статье как раз рассматриваются особенности воздействия помехового сигнала на управляющий для частного случая в области борьбы с БПЛА – воздействия непосредственно на контроллер управления вращением бесколлекторного двигателя, что может расширить возможности противодействия этим БПЛА, фактически нарушая управление даже при сохранении командной связи при использовании вероятным противником специальных мер защиты.

Читать далее
Всего голосов 8: ↑5 и ↓3+2
Комментарии17

Правильный if для ускорения работы

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров26K

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

Читать далее
Всего голосов 27: ↑25 и ↓2+23
Комментарии12

Исследование зависимости прочностных характеристик изделия от параметров 3D-печати и используемого материала

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров4.1K

В настоящее время в связи с обстановкой в мире во многих отраслях производства наблюдается проблема с поставкой запасных частей для оборудования и не только. В ситуации, когда поставка оригинальных деталей невозможна или занимает слишком длительный срок, например, поставка какого-либо кронштейна, критически необходимого для работы МРТ-аппарата, необходимо иметь возможность изготовить деталь самостоятельно. Зачастую, к деталям выставляются дополнительные требования, например: работа в сложных климатических условиях (с большой амплитудой температур, с низкими / высокими температурными минимумами и максимумами), работа в средах с сильными магнитными полями и прочее.

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

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

Мною был выбран один из наиболее доступных на рынке пластиков для FDM-печати материал – PET-G-пластик компании Bestfilament (Производство: Россия).

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии11

Оптимизация выборок в больших коллекциях MongoDB

Время на прочтение7 мин
Количество просмотров2.2K

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

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

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии3

FTM, который написал MUSIC: точное определение местоположения Wi-Fi-устройств в условиях многолучевости. Часть 3/3

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров2K

Часть 1/3

Часть 2/3

Статья «When FTM Discovered MUSIC: Accurate WiFi-based Ranging in the Presence of Multipath» опубликована в материалах Международной конференции IEEE по компьютерным коммуникациям, которая прошла в Торонто, Канада, с 6 по 9 июля 2020 г. (IEEE International Conference on Computer Communications, INFOCOM 2020). Идеи, изложенные в этой публикации, получили дальнейшее развитие, в частности, в статье «FSI: A FTM Calibration Method Using Wi-Fi Physical Layer Information» («FSI: метод калибровки FTM с использованием информации о физическом уровне Wi-Fi»), опубликованной во 2-й части материалов 17-й Международной конференции по беспроводным алгоритмам, системам и приложениям, которая прошла в Даляне, Китай, с 24 по 26 ноября 2022 г. (Wireless Algorithms, Systems, and Applications; WASA 2022).

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

FTM, который написал MUSIC: точное определение местоположения Wi-Fi-устройств в условиях многолучевости.Часть 2/3

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров2K

Часть 1/3

Часть 3/3

Статья «When FTM Discovered MUSIC: Accurate WiFi-based Ranging in the Presence of Multipath» опубликована в материалах Международной конференции IEEE по компьютерным коммуникациям, которая прошла в Торонто, Канада, с 6 по 9 июля 2020 г. (IEEE International Conference on Computer Communications, INFOCOM 2020). Идеи, изложенные в этой публикации, получили дальнейшее развитие, в частности, в статье «FSI: A FTM Calibration Method Using Wi-Fi Physical Layer Information» («FSI: метод калибровки FTM с использованием информации о физическом уровне Wi-Fi»), опубликованной во 2-й части материалов 17-й Международной конференции по беспроводным алгоритмам, системам и приложениям, которая прошла в Даляне, Китай, с 24 по 26 ноября 2022 г. (Wireless Algorithms, Systems, and Applications; WASA 2022).

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Соответствие пинов системы Linux и физических пинов Jetson Nano

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.5K

Как правило, при покупке материнской платы для микрокомпьютера типа Raspberry или Jetson в документации есть распиновка. Распиновка показывает как связаны физические пины платы с пинами процессора. Однако, мало в какой документации найдётся описание связи между виртуальными пинами системы и физическими пинами платы. Постараемся в этом разобраться на примере микрокомпьютера Jetson Nano от Nvidia.

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии2

FTM, который написал MUSIC: точное определение местоположения Wi-Fi-устройств в условиях многолучевости. Часть 1/3

Время на прочтение13 мин
Количество просмотров4.3K

Статья «When FTM Discovered MUSIC: Accurate WiFi-based Ranging in the Presence of Multipath» опубликована в материалах Международной конференции IEEE по компьютерным коммуникациям, которая прошла в Торонто, Канада, с 6 по 9 июля 2020 г. (IEEE International Conference on Computer Communications, INFOCOM 2020). Идеи, изложенные в этой публикации, получили дальнейшее развитие, в частности, в статье «FSI: A FTM Calibration Method Using Wi-Fi Physical Layer Information» («FSI: метод калибровки FTM с использованием информации о физическом уровне Wi-Fi»), опубликованной во 2-й части материалов 17-й Международной конференции по беспроводным алгоритмам, системам и приложениям, которая прошла в Даляне, Китай, с 24 по 26 ноября 2022 г. (Wireless Algorithms, Systems, and Applications; WASA 2022).

Аннотация. Недавно (относительно, в 2016 году – прим. пер.) стандартизирован IEEE протокол точного измерения времени (Fine Timing Measurement, FTM), основанный на измерении дальности по времени распространения сигнала (Time-Of-flight, TOF). Большое количество публикаций посвящены определению местоположения Wi-Fi-устройств в помещениях. С другой стороны доступных соответствующих решений по состоянию на данный момент очень мало. Поэтому появление FTM может стать поворотным моментом в преодолении разрыва между теорией и практикой. Эксперименты с первыми картами Wi-Fi, поддерживающими FTM, показывают, что в условиях прямой видимости (Line-Of-Sight, LOS), они обеспечивают точность до нескольких метров, но точность в условиях вне прямой видимости (Non-Line-Of-Sight, NLOS) может быть не такой высокой. В этой статье представлен FUSIC – первый метод, который улучшает точность измерений с помощью FTM в условиях LOS до значений в условиях NLOS без необходимости внесения каких-либо изменений в стандарт.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии4

Кроссплатформенная сборка Qt5 для Nvidia Jetson TX2

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.4K

Эта статья будет полезна тем, кто пишет проекты на Qt и работает с Nvidia Jetson. В статье представлена пошаговая инструкция для кроссплатформенной сборки Qt5 для Nvidia Jetson TX2 на базе Ubuntu.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии9

Проектирование атмосферно-оптической линии связи между объектами А-Б-В. Расчет ветровой нагрузки на АМУ

Время на прочтение20 мин
Количество просмотров5.9K

Проектирование атмосферно‑оптической линии связи между объектами А‑Б-В. Расчет ветровой нагрузки на АМУ.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии13

Настольная динамическая балансировка маховика

Время на прочтение5 мин
Количество просмотров9.4K

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

Раскрутить маховик
Всего голосов 36: ↑36 и ↓0+36
Комментарии81