Том 3
Permanent URI for this collection
Browse
Browsing Том 3 by Issue Date
Now showing 1 - 20 of 27
Results Per Page
Sort Options
- ItemВпровадження системи управління контактами випускників факультету інформатики(2020) Василенко, Денис; Козопас, Вікторія; Корнійчук, МаксимУ цій статті розглянуто розв’язання проблеми збирання та управління контактами факультету інформатики НаУКМА. У роботі подано огляд архітектури обраного застосунку та описано кроки впровадження CRM системи Odoo. Крім того, продемонстровано інтегрування з цією системою на прикладі порталу випускників.
- ItemAutomated Approach for the Importing the New Photo Set to Private Photo Album to Make it More Searchable(2020) Nikulin, Dmytro; Buchko, OlenaThis paper focuses on describing several Informational Retrieval (IR) Multimedia Systems that work primarily with private photo albums and it provides comparison of IR Multimedia Systems in terms of functionality. The Informational Retrieval Multimedia systems, used for comparison are selected as the most known and widely used as well. The Informational Retrieval Multimedia systems compared are Mylio, Google Photo, Apple Photo, Synology Moments and digiKam. Moreover, based on these systems comparison, this paper provides the definition of the end-point user needs. Then it provides the identification and the prioritization (based on the author’s experience and opinion) the issues in private information Retrieval multimedia systems to be addressed by any technical solution. The following issues have been addressed as the most important from the end-point user’s perspective: First of all, it is “Not existing EXIF file metadata”.(It is divided into two sub issues: not existing taken date and GEO data for place it was taken at); as second, the linking a photo to an author person entity (Based on camera brand and model given as metadata); And as the last one, linking the set of photos to the predefined type of event, like birthdays, anniversaries, holidays, trips etc.(Based on tagging the photos in semi-automated way). For each issue, this document has provided the technical approaches and program algorithms (in a pseudo code) as well. Also, the using of relevant tools is provided if applicable. Each tool mentioned is described in a few words and given with a reference to read about. This document has also described the human involvement into the process, if a totally automated process is not possible. As a conclusion this paper describes the key points that were identified during the identification and addressing the issues. The conclusion also gives a proposal for a technical solution (that is required to be used during importing the new photo set into existing IR Multimedia systems) with context diagram that represents the user, its devices with multimedia data, the system to import the data from user multimedia devices and Informational Retrieval multimedia system to keep the whole private multimedia and to search the target photo set. Finally, it gives the definition of workflow steps to describe the main activity flow (with human involvement and software as well) to be implemented in a technical solution in future.
- ItemПоведінковий підхід (BDD) як ефективний метод для організації автоматизованого тестування у безперевному доставленні продукту(2020) Бенюх, Лада; Глибовець, Андрій; Афонін, АндрійУ роботі описано загальні відомості про організацію автоматизованого тестування та проаналізовано ефективність його застосування на проекті. Також досліджено різні підходи до організації автоматизованого тестування за допомогою таких методів, як написання коду через тестування, поведінковий підхід, підхід тестування за ключовими словами та набором даних. На підставі дослідження було побудовано систему автоматизованого тестування для покриття тестами графічного інтерфейсу користувача та вебсервісів (API тестування), використовуючи поведінковий підхід. Також було описано інструменти для організації поведінкового підходу тестування і переваги цього методу.
- ItemСистема управління клієнтською базою моделі SааS на прикладі компанії страхового брокера(2020) Василенко, Андрій; Глибовець, АндрійУ роботі описано деталі аналізу вимог та реалізації системи управління базою клієнтів для брокерських компаній у сфері страхування. Така система має враховувати особливості роботи компаній і модель їх бізнесу для того, щоб повністю відповідати поставленим вимогам. Можливість роботи з великою кількістю записів із будь-якого пристрою, а також наявність форм та елементів для відображення суто специфічних для галузі показників є ключовим аспектом у проектуванні та реалізації системи. За результатами роботи отримано CRM-систему, яка повністю відповідає необхідним базовим вимогам.
- ItemМетоди роботи з текстурами за допомогою засобів оброблення зображень на мові Python(2020) Гамаюн, Давід; Корнійчук, МаксимУ статті проаналізовано наявні підходи й алгоритми оброблення зображень та подальшого їх використання для оброблення фото одягу, перетворення їх на фото текстури для 3D-моделей. Програмна частина, описана в цій статті, являє собою бекенд для онлайн-сервісу примірювання одягу на 3D-моделях у браузері, глобальним результатом якої буде тестова версія цього сервісу.
- ItemОкремі аспекти декларативності "мінус штрих-операції"(2020) Ющенко, ЮрійУ роботі розглянуто "мінус штрих-операцію", яку було введено як обернену до "штрих-операції" (1955 р.). Аналогом "штрих-операції" є розіменування вказівника (1964 р.). На прикладі продемонстровано, що для отримання адреси лінійного однозв’язного списку в Адресному програмуванні можна вказати порядковий номер цього вузла у списку. У цьому полягає перевага "штрих-операції" над розіменуванням вказівника. "Мінус штрих-операцію" в імперативних мовах програмування високого рівня не застосовують, оскільки за своєю сутністю вона належить до декларативної концепції програмування. У роботі досліджено динамічну (неявну) типізацію даних в Адресній мові програмування та наведено загальну класифікацію типів даних. У статті подано приклад представлення дерева в Адресній мові програмування шляхом указування "батьків" вершин дерева, без зазначення сукупності синів, як це потрібно робити в імперативних мовах програмування. В Адресному програмуванні сукупність адрес усіх синів можна отримати застосуванням до адреси вершини "мінус штрих-операції". Із цього та інших наведених прикладів випливає універсальна потужність "мінус штрих-операції" як інструменту декларативного програмування. Адресна мова програмування є багатоконцептуальною та поєднує у собі концепції імперативного та декларативного програмування. Основою декларативної концепції Адресного програмування (1955 р.) є "мінус штрих-операція".
- ItemImage Shadow Removal Based on Generative Adversarial Networks(2020) Andronik, Vladyslav; Buchko, OlenaAccurate detection of shadows and removal in the image are complicated tasks, as it is difficult to understand whether darkening or gray is the cause of the shadow. This paper proposes an image shadow removal method based on generative adversarial networks. Our approach is trained in unsupervised fashion which means it does not depend on time-consuming data collection and data labeling. This together with training in a single end-to-end framework significantly raises its practical relevance. Taking the existing method for unsupervised image transfer between different domains, we have researched its applicability to the shadow removal problem. Two networks have been used. Тhe first network is used to add shadows in images and the second network for shadow removal. ISTD dataset has been used for evaluation clarity because it has ground truth shadow free images as well as shadow masks. For shadow removal we have used root mean squared error between generated and real shadow free images in LAB color space. Evaluation is divided into region and global where the former is applied to shadow regions while the latter to the whole images. Shadow detection is evaluated with the use of Intersection over Union, also known as the Jaccard index. It is computed between the generated and ground-truth binary shadow masks by dividing the area of overlap by the union of those two. We selected random 100 images for validation purposes. During the experiments multiple hypotheses have been tested. The majority of tests we conducted were about how to use an attention module and where to localize it. Our network produces better results compared to the existing approach in the field. Analysis showed that attention maps obtained from auxiliary classifier encourage the networks to concentrate on more distinctive regions between domains. However, generative adversarial networks demand more accurate and consistent architecture to solve the problem in a more efficient way.
- ItemМоделі узгодженості розподілених систем віртуальної реальності(2020) Дученчук, Володимир; Бублик, ВолодимирЦя робота фокусується на інтерактивних розподілених програмах із спільним віртуальним середовищем, що також відомі як розподілені системи віртуальної реальності. Такі системи ефективно використовують у застосунках для навчальних, імітаційних і розважальних цілей. Системи розподіленої віртуальної реальності характеризуються високим рівнем взаємодії між користувачами у режимі реального часу у спільному віртуальному середовищі. В статті розглянуто основні вимоги до таких систем, їхні функції та властивості. Автори аналізують наявні підходи до досягнення узгодженості в розподілених системах, а також пропонують власну модель узгодженості розподілених систем віртуальної реальності, що дає змогу досягти ефективного балансу між узгодженістю та швидкістю відтворення станів
- ItemВіртуальна клавіатура розпізнавання жестів(2020) Куценко, Михайло; Ющенко, ЮрійЗроблено порівняння переваг і недоліків різних типів клавіатур і запропоновано принципово новий вид клавіатури: віртуальну клавіатуру розпізнавання жестів, що здатна налаштовуватись на вподобання користувачів, які за власним бажанням можуть навчити клавіатуру розпізнавати свої жести як натискання на ту чи іншу кнопку клавіатури. У роботі описано розроблений прототип цієї віртуальної клавіатури й наведено висновки щодо зручності використання таких клавіатур. Запропоновану технологію розпізнавання жестів і налаштування клавіатури може бути застосовано для створення інших пристроїв введення інформації жестами, наприклад, комп’ютерної миші, дігітайзера, джойстика чи будь-якого іншого ігрового контролера.
- ItemStatical and Dynamical Software Analysis(2020) Sosnytskyi, Serhii; Glybovets, Mykola; Pechkurova, OlenaThe development of software built with quality has become an important trend and a natural choice in many organisations. Currently, methods of measurement and assessment of software quality, security, trustworthiness cannot guarantee safe and reliable operations of software systems completely and effectively. In this article statistical and dynamical software analysis methods, main concepts and techniques families are overviewed. The article has an overview of why combination of several analysis techniques is necessary for software quality and examples how static and dynamical analysis may be introduced in a modern agile software development life cycle. As a summary of techniques for software analysis, represented on Table 1, due to the computability barrier, no technique can provide fully automatic, robust, and complete analyses. Testing sacrifices robustness. Assisted proving is not automatic (even if it is often partly automated, the main proof arguments generally need to be human provided). Model-checking approaches can achieve robustness and completeness only with respect to finite models, and they generally give up completeness when considering programs (the incompleteness is often introduced in the modeling stage). Static analysis gives up completeness (though it may be designed to be precise for large classes of interested programs). Last, bug finding is neither robust nor complete. Another important dimension is scalability. In practice, all approaches have limitations regarding scalability, although these limitations vary depending on the intended applications (e.g., input programs, target properties, and algorithms used). Already implemented code could be analysed in a continuous integration environment by a tool like SonarQube. Properly configured metrics and quality gates provide fast and detailed feedback on incremental changes starting from development machine till highload enterprise production environments. Software analysis helps to improve quality and development speed in Agile development life cycle with reasonable cost.
- ItemПобудова та збереження у графовій базі Neo4j абстрактного семантичного графа вихідних кодів PHP-додатків(2020) Бабич, Трохим; Гороховський, СеменЗдійснено реалізацію можливості багаторазового використання графів потоку керування для проведення над ними повторного статичного аналізу (можливість проведення пошуку недоброякісного коду як за стилістикою, так і щодо наявності вразливостей, що їх він створює у результаті). Проведено аналіз декількох граматик для підбору оптимальної, а також порівняння баз даних для конкретної цільової задачі (вибудови графа з великою кількістю точок).
- ItemВіртуальна кімната даних як сховище конфіденційних корпоративних документів(2020) Торба, Тетяна; Вовк, НаталіяУ роботі розглянуто основні характеристики віртуальних кімнат даних, проведено аналіз конкурентів для визначення ключових недоліків і переваг наявних продуктів. На основі аналізу конкурентів визначено ключові вимоги до архітектурного рішення, зокрема, масштабованість, відмовостійкість і пікове навантаження системи.
- ItemПередмова(2020) Глибовець, МиколаПередмова до видання Наукові записки НаУКМА. Комп'ютерні науки. Т. 3. (2020).
- ItemDistributed Systems Technical Audit(2020) Gorokhovskyi, Kyrylo; Zhylenko, Oleksii; Franchuk, OlehModern enterprise systems consist of many deployment artifacts, thus, microservices architecture is extremely popular now. The use of distributed systems is rapidly growing despite the increased complexity and the difficulty of building. The main reason for such a trend is that the advantages of distributed systems outweigh their disadvantages. Nevertheless, product release into the market is not a final step of software development lifecycle. Next important step is maintenance that continues much longer than development. System failures and delays in finding and fixing a problem can cause huge financial and reputational expenses. In addition, the new features introduced due to changes on the market should take place on time. Prior to releasing a product to market, we would like to know in advance possible technical gaps to understand what we can expect and maybe fix some issues in order to save time and money in future. In other words, we should be able to make a decision, if the product is ready for launch or not, relying on some data. Such analysis is as well necessary when we obtain ownership for an existing product. Technical audit helps to find out technical debt and assess risks related to maintenance and extension of the system. It should be considered as mandatory activity during release preparation and ownership transfer. Well-defined criteria would help to conduct an audit smoothly and find out most of the technical debt. Properly conducted technical audit reduces risks of problems after release but it does not guarantee commercial success of product or absence of problems at all. In this article we will define what distributed systems are, we will review Monolithic, Microservices and Serverless architectures, describe what are quality attributes and what should be taken into account during technical audits. Next, we will deep dive into the technical audit process, specify what aspects of the system must be considered during an audit. Then we will iterate over checklists items in order to provide guidelines based on the best practices in industry which helps to prepare for software system audit.
- ItemСучасні підходи у проектуванні високонавантажених мап для пошуку об’єктів(2020) Жук, Максим; Проценко, ВолодимирУ роботі описано ключові аспекти, пов’язані з прикладною розробкою високонавантажених вебмап на основі мапи пошуку нерухомості. Під час розроблення системи важливо розуміти ключові вимоги та адресувати їх в архітектурному рішенні. При проектуванні архітектурного рішення було враховано такі ключові аспекти: геокодування, кластеризація, вибір провайдера мапи, фільтрація. Відображення великої кількості об’єктів є одним із ключових завдань. У результаті запропоновано технічне архітектурне рішення з обґрунтуванням використаних елементів системи, зважаючи на можливі адаптації системи та економічну доцільність.
- ItemМашинне навчання та доповнена реальність на пристроях на базі iOS із фреймворком MLARKit(2020) Гороховський, Семен; Франків, ОлександрСтворено фреймворк MLARKit, що дає змогу легко користуватися складними для використання у мобільних пристроях алгоритмами машинного навчання та доповненої реальності, враховуючи їхні особливості. Фреймворк створено максимально гнучким, тож сторонні розробники зможуть максимально задовольнити свої потреби без самостійної реалізації.
- ItemПорівняння сервісів для створення питально-відповідальних систем(2020) Андрощук, Максим; Кирієнко, ОксанаУ статті розглянуто актуальність питально-відповідальних систем, сервіси для створення питально-відповідальних систем Dialogflow, IBM Watson Assistant, Microsoft QnA Maker, LUIS. Наведено вимоги для роботи та особливості створення питально-відповідальної системи в кожному сервісі. Робота може бути цікавою для дослідників у галузі питально-відповідальних систем і хмарних сервісів.
- ItemСтатичний блочно-рекурсивний алгоритм Холецького для кластера з розподіленою пам'яттю(2020) Малашонок, Геннадiй; Іваськевич, АндрійУ цій статті досліджено блочно-рекурсивний паралельний алгоритм розкладання Холецького для суперкомп’ютера з розподіленою пам’яттю. Для зручності масштабування, кількість ядер – це деяка ступінь двійки. Розглянуто стійкість алгоритму до накопичення помилок обчислень і ефективність масштабування статичного блочно-рекурсивного алгоритму. Показано, що для щільних матриць, починаючи з розміру 64, використання подвійної точності (стандартна арифметика з плаваючою точкою і 64-розрядним машинним словом), немає змоги отримувати похибку, меншу ніж 1, навіть у простих випадках. Зі збільшенням розмірів коефіцієнтів похибка тільки зростає, тому використання такої арифметики для матриць ще більшого розміру втрачає сенс. Щоб розв’язати цю проблему, для матриць великого розміру ми використовували арифметику BigDecimal. Вона дає змогу програмно задавати точність, яка вказується як кількість десяткових знаків після коми. Спочатку ми визначаємо необхідну кількість знаків для BigDecimal так, щоб похибка обчислень цієї матриці не перевищувала одиницю, а потім робимо експерименти з різною кількістю ядер для такої матриці. Ми даємо рекомендації для щільних матриць, елементи яких задавались випадково з рівномірним розподілом. Для таких матриць, зважаючи на їхній розмір і кількість десяткових знаків у їхніх елементів, ми рекомендуємо вибір точності для машинної арифметики і кількість ядер для обчислень.
- ItemServerless Event-driven Applications Development Tools and Techniques(2020) Morenets, Ihor; Shabinskiy, AntonServerless, a new cloud-based architecture, brings development and deployment flexibility to a new level by significantly decreasing the size of the deployment units. Nevertheless, it still hasn’t been clearly defined for which applications it should be employed and how to use it most effectively, and this is the focus of this research. The study uses Microsoft Azure Functions – one of the popular mature tools – because of its stateful orchestrators – Durable Functions. The tool is used to present and describe four flexible serverless patterns with code examples. The first pattern is HTTP nanoservices. The example demonstrates how flexible can be the Function-asa-Service model, which uses relatively small functions as deployment units. The second usage scenario described is a small logic layer between a few other cloud services. Thanks to its event-driver nature, serverless is well-suited for such tasks as making an action in one service after a specific event from another one. New functions easily integrate with the API from the first example. The third scenario – distributed computing – relies on the ability of Durable Functions to launch a myriad of functions in parallel and then aggregate their results. and distributed computing. A custom MapReduce implementation is presented in this section. The last pattern described in this research significantly simplifies concurrent working with mutable data by implementing the actor model. Durable Entities guarantee that messages are delivered reliably and in order, and also the absence of deadlocks. The results of this work can be used as a practical guide to serverless main concepts and usage scenarios. Main topic of future research was chosen to be the development of a full-fledged serverless application using typical patterns to study the architecture in more depth.
- ItemМетод BFGS для задачі побудови s-подібної кривої(2020) Стецюк, Петро; Ляшко, Володимир; Супрун, АнтонРозглянуто використання методу BFGS та його проективного варіанта L-BFGS-B для мінімізації нелінійної функції, яка відповідає знаходженню розв’язків системи п’яти нелінійних рівнянь, серед яких три рівняння є інтегральними та залежать від невідомих параметрів підінтегральних функцій і невідомих верхніх границь для визначених інтегралів. Ця система відповідає задачі побудови S-подібної кривої, яка проходить через дві задані точки із заданими кутами нахилу дотичних у них та забезпечує заданий кут нахилу дотичної у проміжній точці із заданою абсцисою. Показано, що метод BFGS є ефективним, якщо стартова точка вибирається в околі точки мінімуму, де функція, що мінімізується, достатньо точно апроксимується опуклою квадратичною функцією.