Nagib Sabbag FilhoLeaders Tec Br 2966-263X
Nagib Sabbag Filho
Master of Business Administration
About
24
Publications
676
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
1
Citation
Publications
Publications (24)
This article presents an introduction to recommendation systems, highlighting their importance in digital platforms and the use of algorithms to personalize the user experience. It explores the concept of OpenAI embeddings, which are vector representations of words, essential for improving the accuracy of recommendations. The text details the imple...
This article explores the integration of OpenAI in C# projects and how artificial intelligence can revolutionize application development. It initially addresses the environment setup, including the installation of the .NET SDK and authentication with the OpenAI API. It then presents practical examples of text generation, chatbot building, and struc...
This article addresses the importance of test coverage in software development in C#, highlighting the use of the xUnit and Moq tools. Test coverage is vital to ensure code quality, identifying failures and preventing issues in production. The article explores the configuration of the testing environment, writing unit tests, and using mocks with Mo...
This article provides an introduction to code quality monitoring in software development, highlighting the importance of quality and the SonarQube tool, which performs static code analysis in C# projects. The text explores the main features of SonarQube, including detailed reports and integration with CI/CD processes.
The article discusses the concept of polymorphism in C#, a pillar of object-oriented programming, allowing methods with the same name to behave differently in different classes. It explores the use of the keywords `abstract`, `virtual`, `override`, and `sealed` to implement polymorphism, illustrating with practical examples.
This article discusses the importance of proper naming in programming, especially in C#. It highlights how clear and descriptive names for variables and methods improve readability, maintenance, and collaboration in software projects. The text presents naming guidelines, such as the use of PascalCase and camelCase, as well as strategies for intuiti...
This article explores the concept of immutability in C#, highlighting its advantages, such as safety and efficiency in software development. It presents the implementation of immutable classes and structs, as well as tuples, which are immutable by default. The use of immutable collections is also discussed, emphasizing data integrity in complex app...
This article explores the Lazy Loading technique in .NET applications, highlighting its best practices, precautions, and impact on performance. Lazy Loading allows for on-demand data loading, optimizing resource usage and improving the user experience. The text discusses implementation alongside ORM, such as Entity Framework, and presents practical...
The article explores the application of the Prototype pattern in Web APIs using C#. The Prototype allows the creation of new objects from existing instances, avoiding the complexity and cost of creating from scratch. The implementation includes the definition of an interface IProduct and classes that implement it, demonstrating the cloning of produ...
The article provides an introduction to OpenTelemetry, an essential tool for the observability of distributed systems. With the increasing complexity of applications, OpenTelemetry offers a unified standard for collecting metrics, logs, and tracing. The text details the initial setup in C# applications, including the collection of metrics and logs,...
This article provides an introduction to Benchmarking in C# using the BenchmarkDotNet library, essential for performance analysis in software development. It covers everything from installation and configuration to creating benchmarks to measure the efficiency of algorithms and data structures. The text details the interpretation of results, report...
Comparative analysis between behavioral, creational, and structural patterns, highlighting their distinctions and applications in software development. Behavioral patterns are explored for their ability to facilitate interaction between objects. Creational patterns are evaluated for their capability to abstract the object creation process. Finally,...
The Singleton pattern is widely used to ensure the existence of a single instance of a class and provide a global point of access to that instance. However, its application in scalable systems can present significant challenges related to performance and maintenance. This article presents potential impacts of the Singleton pattern in scalability co...
This article explores the implementation and challenges of Cross-Origin Resource Sharing (CORS) in web applications developed with C#. Through a technical and practical analysis, the study addresses the necessary configurations to enable CORS, the common scenarios in which CORS issues occur, and the best practices to mitigate them.
The article explores the similarities and differences between two central concepts in popular software architectures: Ports in Hexagonal Architecture and Interfaces in Clean Architecture. The analysis addresses the theoretical foundations of each approach, highlighting how these concepts shape the structure and interaction of software components.
The Bogus library is widely used for generating fake data in software development projects, especially in testing environments. This article presents a set of guidelines and best practices for the efficient use of Bogus in C#. The goal is to assist developers in creating realistic and varied data, ensuring that software tests are robust and represe...
Generics in C# allow for the creation of flexible and reusable code for different data types, offering benefits such as code reuse, compile-time safety, and performance improvements, exemplified by the creation of generic lists, comparison methods, and usage with type constraints.
Reflection and attributes are essential in the development of applications in C#, allowing for more flexible and dynamic code.
String interpolation in C# allows you to insert variables directly into strings in a readable and efficient manner. However, improper use can compromise important aspects, such as application security.
Asynchronous programming in C# improves the efficiency and scalability of applications, allowing multiple tasks to be executed concurrently without blocking the main thread.
The article addresses the phenomenon of cyber blackout, its devastating consequences for society and the economy, and the importance of mitigation strategies and technological innovation in cybersecurity.
Dealing with breaking changes during the migration to .NET 8: strategies to ensure a smooth transition.
A set of steps for implementing a chatbot, to support decision-making activities in the software incident management process is proposed and discussed in this article. Each step is presented independently of the platform used for the construction of chatbots and are detailed with their respective activities. The proposed steps can be carried out in...
A sét of stéps for impléménting a chatbot, to support décision-making activitiés in thé softwaré incidént managémént procéss is proposéd and discusséd in this articlé. Each stép is préséntéd indépéndéntly of thé platform uséd for thé construction of chatbots and aré détailéd with théir réspéctivé activitiés. Thé proposéd stéps can bé carriéd out in...