Articole postate de Horatiu Dan

  • Runtime Defined Columns with asentinel-orm... 26

    • IT
    • 03-12-2024 11:40

    Working with entity runtime defined attributes when data is stored in relational databases and leverage the advantage of using standard database columns handled using standard SQL queries generated directly by the ORM.

    Citește mai departe
  • Handling Vectors in AI Context via PostgreSQL pgVector 376

    • IT
    • 03-04-2024 11:10

    by Horatiu Dan Relational databases are optimized for storing and querying structured data, yet most of the data today is unstructured. Artificial Intelligence and Machine Learning are now able to “structure” pieces of unstructured data without altering its semantics. First, they transform it ‘conveniently’ into arrays of numbers, structures that are called vectors. Then, the […]

    Citește mai departe
  • Kafka Message Filtering – An Analysis... 112

    • IT
    • 13-03-2024 15:43

    Examines how to correctly implement a Kafka message filtering strategy, both as a general approach and when the consumer needs to recover after deserialization errors are encountered....

    Citește mai departe
  • Generative AI with Spring Boot and Spring AI... 192

    • IT
    • 08-02-2024 16:17

    by Horatiu Dan Context It’s been more than 20 years since Spring Framework appeared in the software development landscape and 10 since Spring Boot version 1.0 was released. By now nobody should have any doubt that Spring has created a unique style through which developers are freed from repetitive tasks and left to focus on […]

    Citește mai departe
  • PostgreSQL Views with Runtime Parameters... 158

    • IT
    • 16-11-2023 12:10

    by Horatiu Dan There aren’t few the situations when applications are requested to be agile and versatile enough so that they can run dynamic reports for which the input comes at runtime. This post aims to present a way of achieving it by leveraging the temporary configuration parameters supported by PostgreSQL databases. According to the […]

    Citește mai departe
  • Acting Soon on Kafka Deserialization Errors... 311

    • IT
    • 14-11-2023 16:12

    by Horatiu Dan Context Event driven architectures have been successfully used for quite an amount of time by a lot of organizations in various business cases. They excel at performance, scalability, evolvability and fault-tolerance providing a good level of abstraction and elasticity. These strengths made them good choices when applications needed real or near real-time […]

    Citește mai departe
  • Stream Summarizing Statistics... 196

    • IT
    • 12-06-2023 15:20

    by Horatiu Dan Context In order to be able to leverage various capabilities of the Java Streams, one shall first understand two general concepts – the stream and the stream pipeline. A Stream in Java is a sequential flow of data. A stream pipeline on the other hand, represents a series of steps applied to […]

    Citește mai departe
  • Idempotent Liquibase Change Sets... 198

    • IT
    • 30-05-2023 05:50

    by Horatiu Dan Abstract “Idempotence is the property of certain operations in mathematics and computer science whereby they can be applied multiple times without changing the result beyond the initial application” [Resource 3]. The purpose of this article is to outline a few ways of creating idempotent changes when the database modifications are managed with […]

    Citește mai departe
  • Mocking Angular Applications’ Backend... 190

    • IT
    • 20-04-2023 12:21

    by Horatiu Dan Nowadays, most products have their front-ends and back-ends fully decoupled and sometimes developed by different teams. Once the communication interfaces have been agreed upon, the ‘parts’ may be developed either individually, following distinct paths, or together. Irrespective of this aspect, when developing the front-end it is very convenient to be able to […]

    Citește mai departe
  • Managing Releases with Git... 326

    • IT
    • 20-04-2023 07:46

    by Horatiu Dan This post briefly outlines a simple, yet clean process for managing the releases of an application via Git / GitHub. Its goal is to provide a straight-forward recipe, while it is assumed the fact that these practices may vary from situation to situation, from team to team, from project to project. Set-up […]

    Citește mai departe
  • Starting an Angular Project... 388

    • IT
    • 19-04-2023 15:00

    by Horatiu Dan In order to be able to begin developing a new project using Angular, one shall follow a couple of simple steps, described as part of this blog post. In addition to the set-up, the post will briefly explain how a project is generally structured and what actually happens in the very moment […]

    Citește mai departe
  • Repeatable Database Updates via Liquibase... 242

    • IT
    • 07-02-2023 15:44

    by Horatiu Dan Abstract The main purpose of this tutorial is to present a way of detecting modifications to a stored Liquibase change set that was previously applied and execute it again automatically. In order to illustrate this, a small proof of concept is constructed gradually. In the first step, the application configures Liquibase as […]

    Citește mai departe
  • IMAP OAuth 2.0 Authorization in Exchange Online... 277

    • IT
    • 02-11-2022 15:27

    by Horatiu Dan Context Microsoft announced that starting October 2022 Basic authentication for specific protocols in Exchange Online would be considered deprecated and turned off gradually and randomly for certain tenants. As insightful details concerning this topic may be found in Resources items 1 and 2, among these protocols there are Exchange ActiveSync (EAS), POP, […]

    Citește mai departe
  • Bypassing Spring Interceptors via Decoration... 297

    • IT
    • 16-09-2022 21:08

    by Horatiu Dan Context Whether they are built using the genuine Spring Framework or Spring Boot, such applications are widely developed and deployed these days. By trying to address simple or complex business challenges, products strongly rely on the used framework features in their attempt to offer elegant solutions. Elegant here means correct, clean and […]

    Citește mai departe
  • Delegating JWT Validation for Greater Flexibility... 427

    • IT
    • 31-05-2022 15:40

    by Horatiu Dan Context In my opinion, the purpose of all software applications that have been created so far, are being and will be developed should primarily be to make humans’ day to day activities easier to fulfill. Humans are the most valuable creations and software applications are great tools that at least could be […]

    Citește mai departe