Научная статья на тему 'Профайлинг данных и возможности языка C++ при решении задач профайлинга'

Профайлинг данных и возможности языка C++ при решении задач профайлинга Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
477
53
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
С++ / профайлинг / библиотеки / OpenCV / возможности языка программирования. / C ++ / profiling / libraries / OpenCV / programming language features.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Григорьев Д. Ю., Грубич Т. Ю.

В данной статье рассматривается понятие профайлинга данных, виды профайлинга. Проведен обзор возможностей языка С++ при реализации профайлинга данных. Описаны возможности библиотеки OpenCV языка программирования С++.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

This article discusses the concept of data profiling, types of profiling. A review of the features of the C ++ language in the implementation of data profiling was carried out. The possibilities of the library OpenCV programming language C ++ are described.

Текст научной работы на тему «Профайлинг данных и возможности языка C++ при решении задач профайлинга»

TECHNICAL SCIENCE / <<ШЦШМУМ-ШУ®МА1>>#3(Ш7)),2(0]9

28

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

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

На данный момент известно о двух вариантах интерфейса новой системы: «Armadillo», предназначенного в основном под мобильные устройства, и «Capybara», разработанного для ПК и ноутбуков. Оба варианта разработаны на Google Flutter SDK -кросс-платформенном SDK с открытым исходным кодом, поддерживающем работу на различных операционных системах вроде Android, iOS и Fuchsia. Стоит отметить, что на данный момент Flutter - это пока единственный вариант разработки приложений под грядущую операционную систему.

Что же касается непосредственно интерфейса - он будет представлять собой некую систему карточек. Для рендеринга визуальной составляющей отвечает специальный движок на основе Vulkan под названием «Escher», который специализируется на глубине изображения и тенях. Всплывающие окна, уведомления, кнопки и прочие элементы интерфейса здесь накладываются и затеняют друг друга, словно перед вами не виртуальные объекты на экране, а реальные.

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

УДК 65.014.12

Интерфейс Capybara больше похож на гибрид привычного Android с «карточным» дизайном.

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

Как заявляет сама Google, уже в ближайшие три года Fuchsia будет работать на устройствах типа Google Home, а еще через два года вполне возможно заменит Android. Совсем недавно также появилась информация, что в Fuchsia будет реализована полноценная поддержка приложений Android. При этом, запускаться они будут не в эмуляторе, как это происходит, например, в Chrome OS, а в полноценной среде исполнения Android, встроенной в Fuchsia. Однако стоит отметить, что, хотя Fuchsia в её текущем состоянии и выглядит симпатично, в плане функциональности ей предстоит пройти ещё долгий путь.

Умные устройства всё больше заполняют нашу жизнь, в то же время облегчая её. Голосовые помощники, интернет вещей, нейронные сети в задачах отображения релевантного контента - когда-то всё это было лишь необозримым будущим. Но сегодня - это реальность. Однако всё это не имеет значения без по-настоящему «умного» интерфейса системы. И похоже именно это - идеальное время для выхода нового продукта Google.

Список литературы

1. Языковые разногласия: как Oracle и Google судятся из-за Java. [Электронный ресурс]: https://www.pvsm.ru/java/197831 (дата обращения: 03.02.2019).

2. Google Fuchsia. [Электронный ресурс]: https://ru.wikipedia.org/wiki/Google_Fuchsia (дата обращения:03.02.2019).

3. Новую ОС Fuchsia от Google скомпилировали и изучили. [Электронный ресурс]: https://habr.com/ru/post/396891/ (дата обращения: 05.02.2019).

4. Расцвет фуксии. Что мы знаем о Fuchsia OS от Google? [Электронный ресурс]: https://tproger.ru/translations/google-fuchsia-os-review/ (дата обращения: 12.02.2019).

Григорьев Д.Ю., Грубич Т.Ю.

ФГБОУ ВО «Кубанский государственный аграрный университет имени И. Т. Трубилина»

ПРОФАЙЛИНГ ДАННЫХ И ВОЗМОЖНОСТИ ЯЗЫКА C++ ПРИ РЕШЕНИИ ЗАДАЧ

ПРОФАЙЛИНГА

GrigorievD.Yu, Grubich T.Yu.

FSBEI HE Kuban SA U

DATA PROFILE AND POSSIBILITY OF C ++ LANGUAGE FOR SOLVING PROFILING TASKS Аннотация

В данной статье рассматривается понятие профайлинга данных, виды профайлинга. Проведен обзор возможностей языка С++ при реализации профайлинга данных. Описаны возможности библиотеки OpenCVязыка программирования С++.

«щ^шздим-^оигм&ь^щжшшш / TECHNICAL SCIENCE_29_

Abstract

This article discusses the concept of data profiling, types of profiling. A review of the features of the C + + language in the implementation of data profiling was carried out. The possibilities of the library OpenCVprogramming language C ++ are described.

Ключевые слова: С++, профайлинг, библиотеки, OpenCV, возможности языка программирования. Keywords: C ++, profiling, libraries, OpenCV, programming language features.

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

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

1) Статическая типизация. Языки такого типа предоставляют более чёткое понимание того, что такое тип данных, зачем он нужен и от чего зависит. Также благодаря этому понятнее становятся такие термины, как объявление, определение и инициализация. Использование языка С++ даёт возможность увидеть это явно, что будет благоприятно способствовать дальнейшему пониманию того, как работают эти механизмы в других языках. Помимо этого гораздо лучше понимается разница между такими вещами как, беззнаковые целые и целые со знаком, числа двойной и одинарной точности, символ и строка и т.д.

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

3) Реализация ООП. Одним из преимуществ С++ является реализация объектно-ориентирован-

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

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

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

Сегодня предприниматели и менеджеры все больше интересуются профайлингом и даже нередко вводят в штат коммерческих компаний специальную должность «профайлер». Такие специалисты помогают в ведении переговоров: они оценивают высказанные контрагентом намерения и их достоверность, что позволяет топ-менеджерам и собственникам компаний заключать выгодные сделки.

Профайлинг подразделяют на несколько видов:

1. Криминалистический. Основной его задачей является подготовка психологического портрета (описания базовых черт характера, типа личности, возможных психических отклонений) человека, подозреваемого в совершении серии преступлений. В 90% случаев это маньяки и убийцы. Подобные отделы созданы при МВД Российской Федерации, ФБР в США и др.

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

TECHNICAL SCIENCE / <<C@yL©qU]UM~J©U®NAL>>#3(I27)),2(0]9

30_

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

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

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

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

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

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

9. Гостиничный профайлинг изучает особенности межкультурной и межэтнической коммуникации и восприятия, а также особенности субъективного восприятия сервиса и гостеприимства разными народами и культурами.

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

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

12. Банковский профайлинг создает технологии банковского скоринга (подсчёта) и оценки банковских рисков. Применяется для снижения рисков утраты при кредитовании граждан и юридических лиц. Банковский профайлинг базируется на аудите и бизнес-методике. Сотрудник, обладающий навыками профайлинга, просчитывает риски невозврата кредитных средств при подаче заявки или после собеседования с предполагаемым заемщиком.

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

Язык программирования С++ содержит библиотеку для решения задачи распознавания образов - OpenCV.

OpenCV написана на языке высокого уровня (C/C++) и содержит алгоритмы для: интерпретации изображений, калибровки камеры по эталону, устранение оптических искажений, определение сходства, анализ перемещения объекта, определение формы объекта и слежение за объектом, 3D^-конструкция, сегментация объекта, распознавание жестов и т.д.

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

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

Основные модули библиотеки:

cxcore — ядро содержит базовые структуры данных и алгоритмы:

— базовые операции над многомерными числовыми массивами;

— матричная алгебра, математические ф-ции, генераторы случайных чисел;

— запись/восстановление структур данных в/из XML;

— базовые функции 2D графики;

CV — модуль обработки изображений и компьютерного зрения:

— базовые операции над изображениями (фильтрация, геометрические преобразования, преобразование цветовых пространств и т. д.);

— анализ изображений (выбор отличительных признаков, морфология, поиск контуров, гистограммы);

— анализ движения, слежение за объектами;

— обнаружение объектов, в частности лиц;

— калибровка камер, элементы восстановления пространственной структуры;

<<ШЦк©МУМ-ШУГПА1>#Щ27)),2©1]9 / TECHNICAL SCIENCE

Highgui — модуль для ввода/вывода изображений и видео, создания пользовательского интерфейса:

— захват видео с камер и из видео файлов, чтение/запись статических изображений;

— функции для организации простого UI (все демо приложения используют HighGUI);

Cvaux — экспериментальные и устаревшие функции:

— пространств. зрение: стерео калибрация, само калибрация;

— поиск стерео-соответствия, клики в графах;

— нахождение и описание черт лица;

CvCam — захват видео:

— позволяет осуществлять захват видео с цифровых видео-камер.

Это одна из популярных библиотек, которая предоставляет возможности для проведения про-файлинга данных.

31

Также язык С++ содержит средства профилирования программного когда, что позволяет выявить части когда, на выполнение которых тратится больше всего времени, и провести его оптимизацию.

Список литературы

1. Преимущества С++ как первого языка для обучения программированию. [Электронный ресурс]: https://habr.com/ru/post/202466/ (дата обращения: 19.11.2018).

2. Профайлинг данных. [Электронный ресурс] : https://wiki.loginom.ru/articles/data-profiling.html (дата обращения: 10.01.2019).

3. Виды профайлинга. [Электронный ресурс]: https://searchinform.ru/kontrol-sotrudnikov/profajling/vidy-profajlinga/ (дата обращения: 15.01.2019).

4. Анализ данных. Крамаренко Т.А., Грубич Т.Ю., Павлов Д.А., Лукьяненко Т.В. Краснодар, 2018.

УДК 004.65

Канакин Е. А.

студент 5 курса специальность «Прикладная информатика»

Крамаренко Т. А.

кандидат педагогических наук Кубанский государственный аграрный университет имени И. Т. Трубилина

г. Краснодар, Российская Федерация

ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ УДАЛЕННОГО УПРАВЛЕНИЯ

СЕРВЕРНЫМИ ПРИЛОЖЕНИЯМИ НА ОС LINUX ДЛЯ ООО «АЙДЭНСЕР.РУ»

Kanakin E.

5 th year student Kramarenko T.

candidate of pedagogical sciences Kuban State Agrarian University named after I. T. Trubilin

Krasnodar, Russian Federation

DESIGN OF INFORMATION SYSTEM FOR REMOTE MANAGING SERVICES AT OS LINUX

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

SERVER FOR "IDANCER.RU" LTD

Аннотация

В статье рассматривается проблема удаленного управления серверными приложениями на ОС Linux в ООО «Айдэнсер.ру» и предлагается проект информационной системы для ее решения. Abstract

The article deals with the problem of remote managing services at OS Linux server in "Idancer.ru" Ltd, and proposes a design of information system solving this problem.

Ключевые слова: ОС Linux, сервис-ориентированная архитектура, менеджер сервисов, web-приложение, пользовательский интерфейс, распределенный доступ.

Key words: OS Linux, service-oriented architecture, service manager, web-application, user interface, distributed access.

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

всех необходимых торговых и финансовых операций, называются электронной коммерцией.

Основным инструментом электронной коммерции является web-приложение, представляющее собой интерактивный пользовательский интерфейс доступный через сеть Интернет, посредством

i Надоели баннеры? Вы всегда можете отключить рекламу.