12 results on '"Catalin Tudose"'
Search Results
2. Multi-platform Performance Analysis for CRUD Operations in Relational Databases from Java Programs Using Hibernate.
- Author
-
Alexandru-Marius Bonteanu and Catalin Tudose
- Published
- 2022
- Full Text
- View/download PDF
3. Java Persistence with Spring Data and Hibernate
- Author
-
Catalin Tudose
- Published
- 2023
4. Object-relational Mapping Using JPA, Hibernate and Spring Data JPA.
- Author
-
Catalin Tudose and Carmen Odubasteanu
- Published
- 2021
- Full Text
- View/download PDF
5. JUnit in Action
- Author
-
Catalin Tudose
- Published
- 2020
6. Migrating from Developing Asynchronous Multi-Threading Programs to Reactive Programs in Java
- Author
-
Andrei Zbarcea and Cătălin Tudose
- Subjects
Java ,asynchronous programming ,multi-threading ,reactive programming ,migration from asynchronous to reactive ,Technology ,Engineering (General). Civil engineering (General) ,TA1-2040 ,Biology (General) ,QH301-705.5 ,Physics ,QC1-999 ,Chemistry ,QD1-999 - Abstract
Modern software application development imposes standards regarding high performance, scalability, and minimal system latency. Multi-threading asynchronous programming is one of the standard solutions proposed by the industry for achieving such objectives. However, the recent introduction of the reactive programming interface in Java presents a potential alternative approach for addressing such challenges, promising performance improvements while minimizing resource utilization. The research examines the migration process from the asynchronous paradigm to the reactive paradigm, highlighting the implications, benefits, and challenges resulting from this transition. To this end, the architecture, technologies, and design of a support application are presented, outlining the practical aspects of this experimental process while closely monitoring the phased migration. The results are examined in terms of functional equivalence, testing, and comparative analysis of response times, resource utilization, and throughput, as well as the cases where the reactive paradigm proves to be a solution worth considering. Across multiple scenarios, the reactive paradigm demonstrated advantages such as up to 12% reduction in memory usage, 56% faster 90th percentile response times, and a 33% increase in throughput under high-concurrency conditions. However, the results also reveal cases, such as data-intensive scenarios, where asynchronous programming outperforms reactive approaches. Additionally, possible directions for further research and development are presented. This paper not only investigates the design and implementation process but also sets a foundation for future research and innovation in dependable systems, collaborative technologies, sustainable solutions, and distributed system architecture.
- Published
- 2024
- Full Text
- View/download PDF
7. JUnit in Action
- Author
-
Catalin Tudose and Catalin Tudose
- Subjects
- Java (Computer program language), Object-oriented programming (Computer science)
- Abstract
JUnit in Action, Third Edition has been completely rewritten for this release. The book is full of examples that demonstrate JUnit's modern features, including its new architecture; nested, tagged, and dynamic tests; and dependency injection.Summary JUnit is the gold standard for unit testing Java applications. Filled with powerful new features designed to automate software testing, JUnit 5 boosts your productivity and helps avoid debugging nightmares. Whether you're just starting with JUnit or you want to ramp up on the new features, JUnit in Action, Third Edition has you covered. Extensively revised with new code and new chapters, JUnit in Action, Third Edition is an up-to-date guide to smooth software testing. Dozens of hands-on examples illustrate JUnit 5's innovations for dependency injection, nested testing, parameterized tests, and more. Throughout, you'll learn how to use JUnit 5 to automate your testing, for a process that consumes less resources, and gives you more time for developing. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology The JUnit framework is the gold standard for unit testing Java applications—and knowing it is an essential skill for Java developers. The latest version, JUnit 5, is a total overhaul, now supporting modern Java features like Lambdas and Streams. About the book JUnit in Action, Third Edition has been completely rewritten for this release. The book is full of examples that demonstrate JUnit's modern features, including its new architecture; nested, tagged, and dynamic tests; and dependency injection. You'll benefit from author Catalin Tudose's unique'pyramid'testing strategy, which breaks the testing process into layers and sets you on the path to bug-free code creation. What's inside Migrating from JUnit 4 to 5 Effective test automation Test-driven development and behavior-driven development Using mocks for test isolation Connecting JUnit 5 with Maven or Gradle About the reader For intermediate Java developers. About the author Catalin Tudose has a Ph.D. in Computer Science, and over 15 years of experience as a Senior Java Developer and Technical Team Lead. Previous editions were authored by Petar Tahchiev, Felipe Leme, Gary Gregory, and Vincent Massol. Table of Contents PART 1 - JUNIT 1 JUnit jump-start 2 Exploring core JUnit 3 JUnit architecture 4 Migrating from JUnit 4 to JUnit 5 5 Software testing principles PART 2 - DIFFERENT TESTING STRATEGIES 6 Test quality 7 Coarse-grained testing with stubs 8 Testing with mock objects 9 In-container testing PART 3 - WORKING WITH JUNIT 5 AND OTHER TOOLS 10 Runing JUnit tests from Maven 3 11 Running JUnit tests from Gradle 6 12 JUnit 5 IDE support 13 Coninuous integration with JUnit 5 PART 4 - WORKING WITH MODERN FRAMEWORKS AND JUNIT 5 14 JUnit 5 extension model 15 Presentation-layer testing 16 Testing Spring applications 17 Testing Spring Boot applications 18 Testing a REST API 19 Testing database applications PART 5 - DEVELOPING APPLICATIONS WITH JUNIT 5 20 Test-driven development with JUnit 5 21 Behavior-driven development in JUnit 5 22 Implementing a test pyramid strategy with JUnit 5
- Published
- 2020
8. Optimizing the Scheduling of Teaching Activities in a Faculty
- Author
-
Francis Patrick Diallo and Cătălin Tudose
- Subjects
automatic timetable generation ,faculty scheduling ,metaheuristics algorithms ,resource utilization ,scheduling conflicts ,scalability ,Technology ,Engineering (General). Civil engineering (General) ,TA1-2040 ,Biology (General) ,QH301-705.5 ,Physics ,QC1-999 ,Chemistry ,QD1-999 - Abstract
To maximize resource usage, minimize disputes, and improve academic experience, professors must schedule teaching activities efficiently. This study provides an optimized automated schedule creation technique. The system generates schedules that aim to be conflict-free and efficient, utilizing evolutionary algorithms along with multi-objective optimization. Resource usage, scheduling problems, and faculty/student satisfaction are the goals of the research. The system optimizes scheduling based on room limitations, instructor availability, and student preferences. The project uses system design, model creation, algorithm implementation, and performance analysis to solve the difficult timetable-generating problem. This research should save administrators time, improve academic operations, and improve staff and student academic experiences. Scalability and flexibility allow the system to be used in multiple faculties and incorporate new limits and requirements. This paper presents a complete approach to faculty scheduling, including insights and recommendations for future study and application in educational institutions.
- Published
- 2024
- Full Text
- View/download PDF
9. Real-Time Document Collaboration—System Architecture and Design
- Author
-
Daniel Iovescu and Cătălin Tudose
- Subjects
collaborative work ,design document collaboration software ,dependable systems ,microservices pattern ,orchestrated ,independent containers ,Technology ,Engineering (General). Civil engineering (General) ,TA1-2040 ,Biology (General) ,QH301-705.5 ,Physics ,QC1-999 ,Chemistry ,QD1-999 - Abstract
This article explores the world of dependable systems, specifically focusing on system design, software solutions, and architectural decisions that facilitate collaborative work on shared text documents across multiple users in near real time. It aims to dive into the intricacies of designing robust and effective document collaboration software focusing on understanding the requirements of such a system, the working principle of collaborative text editing, software architecture, technology stack selection, and tooling that can sustain such a system. To examine the pros and cons of the proposed system, the paper will detail how collaborative text editing software can benefit from such an architecture regarding availability, elasticity, and scaling. The intricate nature of this system renders this paper a valuable resource for prospective investigations within the domain of dependable systems and distributed systems. This research first examines the requirements of a real-time collaboration system and the necessary core features. Then, it analyzes the design, the application structure, and the system organization while also considering key architectural requirements as the necessity of scaling, the usage of microservices, cross-service communications, and client–server communication. For the technology stack of the implementation, this research considers the alternatives at each layer, from client to server. Once these decisions are made, it follows system development while examining possible improvements for the issues previously encountered. To validate the architecture, a testing strategy is developed, to examine the key capabilities of the system, such as resource consumption and throughput. The conclusions review the combination of modern and conventional application development principles needed to address the challenges of conflict-free document replication, decoupled and stateless event-driven architecture, idempotency, and data consistency. This paper not only showcases the design and implementation process but also sets a foundation for future research and innovation in dependable systems, collaborative technologies, sustainable solutions, and distributed system architecture.
- Published
- 2024
- Full Text
- View/download PDF
10. Performance Analysis and Improvement for CRUD Operations in Relational Databases from Java Programs Using JPA, Hibernate, Spring Data JPA
- Author
-
Alexandru Marius Bonteanu and Cătălin Tudose
- Subjects
Java ,relational databases ,CRUD operations ,Java Persistence API ,Hibernate ,Spring Data JPA ,Technology ,Engineering (General). Civil engineering (General) ,TA1-2040 ,Biology (General) ,QH301-705.5 ,Physics ,QC1-999 ,Chemistry ,QD1-999 - Abstract
The role of databases is to allow for the persistence of data, no matter if they are of the SQL or NoSQL type. In SQL databases, data are structured in a set of tables in the relational database model, grouped in rows and columns. CRUD operations (create, read, update, and delete) are used to manage the information contained in relational databases. Several dialects of the SQL language exist, as well as frameworks for mapping Java classes (models) to a relational database. The question is what we should choose for our Java application, and why? A comparison of the most frequently used relational database management systems, mixed with the most frequently used frameworks should give us some guidance about when to use what. The evaluation is conducted based on the time taken for each CRUD operation to run, from thousands to hundreds of thousands of entries, using the possible combinations in the relational database system and the framework. Aiming to assess and improve the performance, the experiments included the possibility of warming-up the Java Virtual Machine before the execution of queries. Also, the research investigated the time spent using different methods of code to determine the critical regions (bottlenecks). Thus, the conclusions provide a comprehensive overview of the performances of Java applications accessing databases depending on the suite decisions considering the database type, the framework in use, and the type of operation, with clear comparisons between the alternatives, the key findings of the advantages and drawbacks of each of them, and supporting architects and developers in their technological decisions and improving the speed of their programs.
- Published
- 2024
- Full Text
- View/download PDF
11. Agile Methodology and War Strategies
- Author
-
Cătălin Tudose
- Subjects
agile methodology ,strategy ,tactics ,sun tzu ,the art of war ,Information technology ,T58.5-58.64 ,Communication. Mass media ,P87-96 - Abstract
The history of humankind offers lots of remarkable ideas and innovations in strategy and tactics. There is no area where people have shown more inventiveness than defending themselves or attacking and conquering others. On the other hand, the Agile methodology emerged from software development, where it tried to provide support for the successful organization of delivery projects, that have to fight and conquer the complexity. This article evidences similarities between the Agile methodology and attacking and war strategies, making extended references to one of the most renowned military treaties: Sun Tzu's The Art of War. Making inter-disciplinary analogies, comparing and contrasting the concepts from different disciplines are at the core of this article. We'll investigate what things as initial estimations, attack by stratagem, tactical dispositions, energy, weak points, and strong points, maneuvering, variation in tactics, the army on the march, terrain, arriving on unknown ground, concrete situations on the ground, the use of spies, or what the attack by fire may mean in software development. We'll analyze how these war strategy concepts transpose to Agile concepts like adding business value, getting to the business goals, managing complexity, conducting the work the incremental and non-incremental way.
- Published
- 2021
12. Java Reflection Performance Analysis Using Different Java Development
- Author
-
Carmen Odubasteanu, Serban Radu, and Catalin Tudose
- Subjects
Reflection (computer programming) ,Development (topology) ,Java ,Computer science ,Order (business) ,Programming language ,Invocation ,Code (cryptography) ,Overhead (computing) ,computer.software_genre ,Java annotation ,computer ,computer.programming_language - Abstract
The reflection technique is used by programs that need to examine or modify the runtime behavior of applications in the Java Virtual Machine. This is a powerful instrument, but its use should bring some concerns related to performance overhead, security problems, exposing the private fields - which are not accessible through non-reflective code, losing benefits of compile-time type checking, reflective code being clumsy and verbose. This paper concentrates upon the performance overhead. Tests were made in order to analyze objects creation and method calls using primitive and reference arguments, both by direct and reflective invocation.
- Published
- 2013
- Full Text
- View/download PDF
Catalog
Discovery Service for Jio Institute Digital Library
For full access to our library's resources, please sign in.