The sustainable development goals (SDGs) are a UN agenda that has been approved by all UN member states. The SDGs have 17 targets, one of which is to eliminate hunger. In 2050, the world’s population ...is expected to reach 9.7 billion people. Improved soil and water management, according to the World Resources Institute, is one of the options for feeding 10 billion people sustainably by 2050. In comparison to conventional farming, smart and precision farming produces higher productivity at a lower cost. Based on the search for literature studies related to the development of agricultural technology, it was found that communication methods and online interfaces still require further improvement. The steps for developing the system are designing the architecture and end-to-end communication flow, designing use case diagrams, designing entity-relationship diagrams, designing user flow diagrams, implementing the system through code development, and finally testing the system. Planned communication and web design for precision smart agriculture are implemented effectively. The MQTT is used to communicate with the Node.js server worker. Data from numeric image feeds and images are directly processed by the system. The server will store all received data, including numeric data and live feeds, for future use. The back end of the website has many functions such as dataset management, device management, user administration, firmware management, control management, and live image feed management are some of the capabilities available. When 100 users access the system simultaneously, the RAM usage on the server is 167 MB. RAM utilization reaches 389 MB when 400 users access the system simultaneously. The limit for simultaneous user connections to the web interface is 400 users. The maximum number of devices that can be connected simultaneously via MQTT communication is 900.
As an asynchronous runtime environment (interpreter) for the development of scalable JavaScript-based network applications, it is necessary to know the performance of the web framework on Node.js in ...a virtualization-oriented development environment and a container-oriented development environment. This research aims to compare the performance of Node.js in several frameworks in VirtualBox, Docker, and Podman environments. The testing was carried out using some materials like a bench utility at Node Package Manager (NPM) involving the Adonis, Connect, Express, Fastify, Foxify, Hapi, Koa, Molecular, Plumier, Restify, and Sails frameworks, using Object Relational Mapping (ORM) and Raw Query Bookshelf, Knex, MySQL, MySQL2, and Sequelize at Ubuntu Linux operating system. The method research used in this research is the Node-Bench method with requests, latency, and throughput parameters. The testing results show that the best performance score is the Fastify framework with the Sequelize library (ORM) in a container-oriented development environment (Docker and Podman), and the worst performance score is the Express framework with the Mysql2 library (Raw Query) in a virtualization-oriented development environment (VirtualBox). Based on the testing results, developers who use Node.js are more advised to use the Fastify framework with the Sequelize library (ORM) in a container-oriented development environment (Docker or Podman) to obtain better performance. For further research, the implementation and testing at container-oriented development can use cloud-based service (IaaS cloud or PaaS Cloud) for the read-only immutable environment, scalability, and security reasons.Keywords— Docker, Node-Bench method, Node.js, Podman, VirtualBox.
Security vulnerability in third-party dependencies is a growing concern not only for developers of the affected software, but for the risks it poses to an entire software ecosystem, e.g., Heartbleed ...vulnerability. Recent studies show that developers are slow to respond to the threat of vulnerability, sometimes taking four to eleven months to act. To ensure quick adoption and propagation of a release that contains the fix (
fixing release
), we conduct an empirical investigation to identify lags that may occur between the vulnerable release and its fixing release (
package-side fixing release
). Through a preliminary study of 231 package-side fixing release of npm projects on GitHub, we observe that a fixing release is rarely released on its own, with up to 85.72% of the bundled commits being unrelated to a fix. We then compare the package-side fixing release with changes on a client-side (
client-side fixing release
). Through an empirical study of the adoption and propagation tendencies of 1,290 package-side fixing releases that impact throughout a network of 1,553,325 releases of npm packages, we find that stale clients require additional migration effort, even if the package-side fixing release was quick (i.e., package-side fixing releasetypeSpatch). Furthermore, we show the influence of factors such as the branch that the package-side fixing release lands on and the severity of vulnerability on its propagation. In addition to these lags we identify and characterize, this paper lays the groundwork for future research on how to mitigate propagation lags in an ecosystem.
This study presents the implementation of “ESPE Security,” an application designed to manage community emergency alerts. A data collection technique was employed to understand frequent incidents in ...the Luz de América parish in the Santo Domingo de los Tsáchilas province. A sample of 440 residents was gathered through surveys covering an age range of 15 to 60 years, including various demographic groups such as students, traders, and the general population. The collected data revealed that approximately 87.95% of the surveyed rural parish population desires an application to report community incidents, as they have reported incidents such as traffic accidents, thefts, crimes, health issues, and homelessness. Based on these findings, a mobile and web application was developed to notify incidents in real time. The design and development of these applications involved technologies such as MongoDB, React, and Node.js, focusing on providing an intuitive user interface. Tests were conducted with 69 end-users and seven experts, employing quantitative techniques to assess design and usability. The results for design were 90%, and for usability, it was 66.70%. Therefore, mobile and web applications are helpful for real-time notification of critical incidents and will contribute to the community.
The development of a voice assistant based on neural systems is an actual line of research in the field of artificial intelligence. Existing voice assistants were analyzed and their advantages and ...disadvantages were identified in this paper. The following concepts were considered: natural language processing, and neural networks. Different methods of natural language processing significantly increase the quality of work of many programs, because they can interact with people at a natural level for humans without any problems. Modern voice assistants can help millions of people around the world at the same time, regardless of the time of the request. They are covering more and more spheres every year, from ordering food and taxis and making plans for the day to acting as translators. The types of dialogue systems, the voice assistants` scope of use and their types, recurrent neural networks and data processing models Seq2seq and Transformer, as well as the work of the theoretical component of voice assistants based on neural networks, were considered. Node.js libraries were examined in detail, and an own voice assistant was created and outputs of this system were given. In addition, the possibilities of integrating the voice assistant with other systems and platforms, which expands its functionality and improves interaction with the user, were examined. General theoretical information about voice assistants and their components and principles of work were analysed. An environment for writing a voice assistant was chosen and a practical implementation of writing code for a voice assistant and an example of ready-made code were shown.
The subject of study in the article is software development processes using design patterns. The aim is to improve the quality of modern software development projects through the use of experience ...and knowledge, to build software subsystems that are focused on infrastructure and work with an external client. Objectives: to review the methodology, programming paradigms and the possibility of their application at the design and coding stages of the software development life cycle; development of the concept of using design patterns in software design as knowledge available for reuse, propose an approach to the practical implementation of design patterns to node.js projects. The models used are the Composite design pattern, the Chain of responsibility design pattern. The used methodologies are object-oriented programming, as the most common programming paradigm, a unified modeling language UML for displaying the structure of design patterns. The following results are obtained. Modern methodologies and design paradigms are considered, a classification is formed in the form of a tree structure with a division into declarative and imperative subspecies, it is concluded that within the framework of the study we will use an object-oriented methodology as the most common design paradigm. An example of building an information system of the node.js project is considered. Analyzed the main errors that arise when developing and writing code for working with an external client. The elements of the node.js project and the concepts of structuring their relationship with existing design patterns are considered. An example of a practical implementation of a node.js project and its relationship with the Composite and Chain of responsibility design patterns is considered. In this connection, the work provides the structure of these templates. Findings. The scientific novelty of the results obtained is as follows: the model of design patterns was further developed through their use in the concept of building a node.js application, which makes it possible to improve the quality of interaction between the project team and reduce its execution time.
Метою статті є дослідження, аналіз різних компонентів концепції Full Stack JavaScript та розгляд загальних проблем і перспектив розробки на її основі прототипу освітнього вебзастосунку. Методами ...дослідження є основні методологічні підходи й технологічні засоби для розробки інтелектуальних навчальних систем з елементами гейміфікації на основі використання відповідної багаторівневої онтологічної моделі. Такими методами, зокрема, є: системний і порівняльний аналізи для виявлення особливостей створення масштабованих і високопродуктивних вебзастосунків; метод експертних оцінок, який передбачає аналіз літературних джерел та інформаційних ресурсів, проведення інтерв’ю та опитування експертів, а також процеси розробки й тестування масштабованих і високопродуктивних вебзастосунків. Науковою новизною дослідження є аналіз сучасних технологій розробки платформ підтримки освітнього онлайн-процесу, результати якого можна застосовувати під час підготовки власного програмного продукту підтримки e-learning, що є помічником користувача в процесі вивчення відповідного освітнього контенту, а, можливо, взагалі зможе стати самостійною одиницею – онлайн-курсом. Висновки. У роботі досліджено наявні погляди на сучасний підхід до розробки високопродуктивних вебсайтів з використанням основних компонентів концепції Full Stack JavaScript: Node.js, Express та MongoDB. Проаналізовано переваги та недоліки відомих платформ підтримки е-learning. Проведений аналіз обумовив вибір концепції Full Stack JavaScript для розробки сучасних вебзастосунків. Для розробки frontend використано такі технології, як HTML, CSS і JavaScript. Для розробки backend використано Node.js разом з Express. Для зберігання даних (як документів) використовувалася база даних MongoDB. Запропонований підхід до розробки прототипу освітнього вебзастосунку продемонстрував можливість такої реалізації кожного компонента Full Stack JavaScript, коли веб-застосунок забезпечує мінімалістичні функції платформи онлайн-навчання, досягаючи необхідного рівня як освітнього контенту, так і рівня компетенцій, що потенційно можуть отримати користувачі застосунку. Концепція Full Stack JavaScript забезпечує одне з найкращих рішень для розробки сучасних вебзастосунків, зменшуючи розподіл між frontend і backend та полегшуючи гнучкість розробки. Це дає змогу створювати масштабовані та високопродуктивні освітні вебзастосунки за допомогою однієї мови. Ураховуючи результати проведеного аналізу, ухвалено рішення щодо розробки прототипу освітнього вебзастосунку на базі концепції Full Stack JavaScript, який би забезпечував мінімалістичні функції платформи онлайн-навчання.