<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Darlan Jr</title>
    <description>The latest articles on Forem by Darlan Jr (@juninhopo).</description>
    <link>https://forem.com/juninhopo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1857778%2F4cf57c9d-da88-4c71-a2f7-e8fe7b8510c2.png</url>
      <title>Forem: Darlan Jr</title>
      <link>https://forem.com/juninhopo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/juninhopo"/>
    <language>en</language>
    <item>
      <title>Basic KYC Implementation Guide using KYC_CHECK</title>
      <dc:creator>Darlan Jr</dc:creator>
      <pubDate>Tue, 22 Apr 2025 04:08:58 +0000</pubDate>
      <link>https://forem.com/juninhopo/basic-kyc-implementation-guide-using-kyccheck-3fld</link>
      <guid>https://forem.com/juninhopo/basic-kyc-implementation-guide-using-kyccheck-3fld</guid>
      <description>&lt;h1&gt;
  
  
  🔍 KYC Implementation Guide
&lt;/h1&gt;

&lt;h2&gt;
  
  
  📝 Introduction
&lt;/h2&gt;

&lt;p&gt;KYC (Know Your Customer) is an essential process for verifying user identity and preventing fraud. In this article, we'll explore how to implement a basic KYC system using the &lt;a href="https://github.com/juninhopo/kyc-check" rel="noopener noreferrer"&gt;KYC_CHECK&lt;/a&gt; library.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎯 Main Validations
&lt;/h2&gt;

&lt;p&gt;The system implements two main validations:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;First Validation&lt;/strong&gt; 👤: Verifies if the person is the actual owner of the presented document&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Withdrawal Validation&lt;/strong&gt; 💰: Verifies if it's the user attempting to make a significant withdrawal&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  🚀 Implementation for New Users
&lt;/h2&gt;

&lt;p&gt;For new users, we perform the first validation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Process&lt;/strong&gt; 🔄: Comparison between the document sent and the First Selfie&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🔄 Subsequent Validations
&lt;/h2&gt;

&lt;p&gt;For future validations, we keep the user's most recent photo updated:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Process&lt;/strong&gt; 📸: Comparison between Last Selfie and New Selfie&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monthly Validation&lt;/strong&gt; 📅: If the user hasn't added a new photo within 1 month, a new validation will be required&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  💻 Implementation Example
&lt;/h2&gt;

&lt;p&gt;Let's consider a scenario where a user wants to make a withdrawal greater than 70% of their balance and more than $100.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; ℹ️: The $100 threshold is implemented to avoid unnecessary validations for small amounts. For example, it wouldn't make sense to request a new selfie to validate a $7 withdrawal from a $10 balance.&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kr"&gt;interface&lt;/span&gt; &lt;span class="nx"&gt;ValidationResult&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;isValid&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;boolean&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;message&lt;/span&gt;&lt;span class="p"&gt;?:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;validateWithdrawal&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;amount&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;userBalance&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;percentageThreshold&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;0.7&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// 70%&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;amountThreshold&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// $100&lt;/span&gt;

    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;userBalance&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;amountThreshold&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;  &lt;span class="nx"&gt;amount&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;userBalance&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;amountThreshold&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;performNewValidation&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🤖 Face Similarity Calculation
&lt;/h2&gt;

&lt;p&gt;The face similarity is calculated using the Euclidean distance between facial descriptors. Here's how it works:&lt;/p&gt;

&lt;h3&gt;
  
  
  📊 Example Response:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"threshold"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;0.49&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"rawDistance"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;0.5034011876789618&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"faceDetection1"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"score"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;0.9882098436355591&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"box"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"x"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;95.0972925721421&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"y"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;76.55234995484352&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"width"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;124.7091704960397&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"height"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;140.45916613936424&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"faceDetection2"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"score"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;0.9953930974006653&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"box"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"x"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;41.640078008340005&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"y"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;106.15492933988571&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"width"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;264.0857750636389&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"height"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;309.0272338986397&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"processingTimeMs"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;291&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"usingMockImplementation"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🧮 Understanding the Calculation:
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Euclidean Distance (rawDistance)&lt;/strong&gt; 📏: 0.5034011876789618
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;This is the mathematical measure of the difference between facial descriptors&lt;/li&gt;
&lt;li&gt;Values close to 0 indicate identical faces&lt;/li&gt;
&lt;li&gt;Values close to 1 or higher indicate completely different faces&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Similarity Calculation&lt;/strong&gt; 🔢:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   similarity = 1 - euclideanDistance
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;In this case: 1 - 0.5034 ≈ 0.4966 (approximately 50%)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Percentage Conversion&lt;/strong&gt; 📊:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   percentage = similarity * 100
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;In this case: 0.4966 * 100 ≈ 50%&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Match Evaluation&lt;/strong&gt; ✅:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;The threshold is set to 0.49 (49%)&lt;/li&gt;
&lt;li&gt;Since the similarity (50%) is greater than the threshold (49%), the faces are considered a match&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The facial descriptors are 128-dimensional vectors that represent facial characteristics. The Euclidean distance measures the difference between these vectors in multidimensional space.&lt;/p&gt;

&lt;p&gt;A value of 50% represents a borderline match - not a very strong match, but it's above the configured minimum threshold.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎯 Final Considerations
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Percentage and amount thresholds should be adjusted according to specific business rules&lt;/li&gt;
&lt;li&gt;It's important to maintain a history of performed validations&lt;/li&gt;
&lt;li&gt;Consider implementing a notification system for users during the validation process&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Understand a Little More About Logical Reasoning</title>
      <dc:creator>Darlan Jr</dc:creator>
      <pubDate>Sun, 02 Feb 2025 07:04:44 +0000</pubDate>
      <link>https://forem.com/juninhopo/understand-a-little-more-about-logical-reasoning-1f9b</link>
      <guid>https://forem.com/juninhopo/understand-a-little-more-about-logical-reasoning-1f9b</guid>
      <description>&lt;ul&gt;
&lt;li&gt;Logical Reasoning

&lt;ul&gt;
&lt;li&gt;Deduction&lt;/li&gt;
&lt;li&gt;Induction&lt;/li&gt;
&lt;li&gt;Abduction&lt;/li&gt;
&lt;li&gt;Association&lt;/li&gt;
&lt;li&gt;Synthesis&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Deduction
&lt;/h2&gt;

&lt;p&gt;There are several ways to exercise logical reasoning. One of them, of great importance, is deduction. Perhaps you haven't noticed, but you practice deduction in the most everyday situations.&lt;/p&gt;

&lt;p&gt;It is the ability to understand a general law to infer a particular event. For this, it is necessary to analyze a set of elements to define a particular proposition. It is very important to know how premises work.&lt;/p&gt;

&lt;p&gt;Premises are the propositions or hypotheses used to form reasoning. For example, considering that everyone born in the state of São Paulo is a Paulista, is a premise. It is important to store this information, as it is the first step to perform deductive logical reasoning. Then, consider that every Brazilian is South American. This is another premise that stems from a general law that will not change. To perform the deduction, consider the two pieces of information: Paulistas are born in the state of São Paulo and all Brazilians are South American. Therefore, we can say that every Paulista is South American, as they are born in Brazil.&lt;/p&gt;

&lt;p&gt;An important tip to develop your deductive reasoning is to observe the keywords present in the sentences and find the common law that governs them. The premises can be infinite, but the reasoning will only be assertive if they are true. Terms like "always," "all," "none," "some" will be recurrent in this type of statement.&lt;/p&gt;

&lt;p&gt;Know that deduction is a development mechanism not only for everyday situations. It can be used in many cases of calculations, balances, and budgetary decisions. Therefore, use the tips proposed here and do not stop practicing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Induction
&lt;/h2&gt;

&lt;p&gt;Induction is another competence of logic and is related to the ability to understand a set of particular events to infer a universal pattern. It would be the inverse of deduction, and it is important to emphasize its hypothetical nature.&lt;/p&gt;

&lt;p&gt;In induction, the premises also need to be true, but the conclusion has a probabilistic nature. Thus, inferences are made from the recurrence of isolated contexts. The inferences may or may not be true.&lt;/p&gt;

&lt;p&gt;To understand how inductive reasoning works through inferences, consider, for example, a numerical sequence that behaves as follows: "2, 4, 6, 8, 10, ...". Following the established logic, one can consider that the next number will be 12, considering the presented sequence pattern. It is a probability that may occur, but since the sequence has not been finalized, it could be changed at any time.&lt;br&gt;
Note that, due to its probabilistic nature, it is very common to consider induction as a statistical practice, but it is not a mathematical operation. Such competence is related to experimental sciences, that is, fundamentals based on experimentation. Therefore, the results obtained must be tested to reach a concrete conclusion.&lt;/p&gt;

&lt;p&gt;An important tip for working on inductive reasoning is to clearly observe the patterns in which the premises are placed, and then reach a conclusion. Pay close attention to the events and their recurrences, analyzing the possibilities in which they can be worked.&lt;/p&gt;

&lt;p&gt;Conclusion: Developing logic considering these particular events can help you exercise your critical thinking, in addition to guiding you for future actions. Continue practicing induction through activities that develop this critical thinking.&lt;/p&gt;

&lt;p&gt;Suppose that at 12 pm a woman named Fernanda goes to the kitchen to drink water that is inside the refrigerator. She takes the water pitcher and pours it into a glass. At 7 pm, she does the same thing, taking the water pitcher from the refrigerator and pouring it into a glass to drink. The probability that every time she is thirsty, she will take the water pitcher from the refrigerator is high.&lt;/p&gt;

&lt;p&gt;In induction, we make inferences from the recurrence of a situation and analyze the probability of it repeating in the same way every time it happens. Thus, inducing based on probability, the water will be from the refrigerator in all situations, being the most probable. This does not mean that taking water from the tap is not an option, but observing the presented patterns, the highest probability is to take water from the refrigerator. Observe these points whenever you are developing induction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Abduction
&lt;/h2&gt;

&lt;p&gt;It is very common when reading the word "abduction" to quickly associate it with the act of abducting, teleporting. However, in logic, abduction is more related to the ability to study facts and outline a theory to explain them.&lt;/p&gt;

&lt;p&gt;In practice, such competence behaves from observation and hypothetical thinking. This means that it will be necessary to suppose a certain theory to explain a situation, that is, to create a more valid hypothesis to explain a phenomenon. For such a hypothesis to occur, it will be necessary to rely on your world knowledge.&lt;/p&gt;

&lt;p&gt;Understand how it works: you know that water is capable of wetting objects, beings, and spaces. In addition, you know that every time it rains, the roof of your house gets wet. If you wake up on a certain day and see the roof of your house wet, you will automatically have the hypothetical thought of relating the situation to rain.&lt;br&gt;
You can perceive that other situations could be put to explain the occurrence, but the most probable one is associated with your world knowledge and concrete observations that lead you to develop this reasoning.&lt;/p&gt;

&lt;p&gt;Therefore, abductive reasoning will not be based on absolute truths, but rather on the most probable hypotheses to interpret and generate your truth.&lt;/p&gt;

&lt;p&gt;An important tip for working on this competence is to consider the concrete knowledge you already have about a certain situation, as it will be of no use to create fanciful hypotheses for objective facts. Always seek to bring closer the most plausible and considerable justification according to the elements at your disposal.&lt;/p&gt;

&lt;p&gt;Consider that the association of elements will be fundamental to developing logical reasoning. Therefore, it is necessary to increasingly expand your knowledge and exercise this practice that is so close to your daily life.&lt;/p&gt;

&lt;h2&gt;
  
  
  Association
&lt;/h2&gt;

&lt;p&gt;You already know that to exercise logic, it is important to associate elements. Without this connection, logical reasoning cannot be successfully concluded, and much information is lost, leading to untrue developments.&lt;/p&gt;

&lt;p&gt;Therefore, there is a competence in logic called "association." Such competence is exercised from the relationship of different types of information in search of an adequate conclusion. It is enough for the observer to understand the contexts in which the information is placed.&lt;/p&gt;

&lt;p&gt;Consider, for example, that all students in a medical course passed the anatomy discipline. However, only some students passed the chemistry discipline. To progress to the next grade, it is necessary for all students to pass all disciplines. By associating the information, you can conclude that not all medical course students progressed to the next grade.&lt;/p&gt;

&lt;p&gt;See that the mechanisms of developing logical reasoning are simple and often depend on the interpretation of the person facing the context. Usually, even cases that include mathematical operations are basic if the observer follows a constructive line of reasoning, that is, adding the elements part by part.&lt;/p&gt;

&lt;p&gt;An important tip for exercising association is to find the key elements of the contexts in which they are presented, in addition to strategic words such as "some," "all," "none." After identifying the terms, try to associate small parts until reaching the whole, which is the conclusion of the question or situation.&lt;/p&gt;

&lt;p&gt;See that the correlation structure works very well for the development of associative thinking. Therefore, consider that the study of this logical competence is fundamental for various situations, including considering the other categories of logical reasoning that work with much information.&lt;/p&gt;

&lt;h2&gt;
  
  
  Synthesis
&lt;/h2&gt;

&lt;p&gt;Consider the concept of synthesis as being an abbreviation or a succinct conclusion of a cluster of information. Now, try to reflect on how synthesis can be associated with logical reasoning.&lt;/p&gt;

&lt;p&gt;Synthesis consists of interpreting and associating different ideas to generate a conclusion. This means that it is necessary to develop the competence of analyzing the elements in question and organizing them in a simplified way at the end.&lt;/p&gt;

&lt;p&gt;In reality, the process works as a kind of "filter" to obtain this conclusion.&lt;/p&gt;

&lt;p&gt;In a practical way, just consider a context of various information that needs to be summarized in a homogeneous and clear way. For example, you and your family are planning a trip for the holidays. Part of the family prefers the beach, and the other does not give up on a shopping mall. Before choosing the location, consider that one of the members can only travel on weekends.&lt;/p&gt;

&lt;p&gt;In a synthetic way, consider key points of the situation: it is necessary for everyone to travel together, meeting the seasonality requirement (weekend) and particular situations, such as the existence of the shopping mall and the preference for the beach.&lt;/p&gt;

&lt;p&gt;The most synthetic conclusion you can reach is to plan a trip to a large beach city on a weekend. Thus, everyone can be attended to, despite their particularities.&lt;/p&gt;

&lt;p&gt;An important tip for developing synthetic reasoning is to consider the macro context in which a certain situation is presented. In the previous example, it would be the context of the family trip. Then, it will be necessary to gather the particularities and find a solution that covers all the necessary key points.&lt;/p&gt;

&lt;p&gt;Note that it is not a situation of errors or hits, but rather of better adequacy to the context. Therefore, consider that the competence of synthesis will be developed when diverse information needs to be summarized according to a common denominator.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Consistency: The Key to Improvement</title>
      <dc:creator>Darlan Jr</dc:creator>
      <pubDate>Sun, 02 Feb 2025 05:31:27 +0000</pubDate>
      <link>https://forem.com/juninhopo/consistency-the-key-to-improvement-fo5</link>
      <guid>https://forem.com/juninhopo/consistency-the-key-to-improvement-fo5</guid>
      <description>&lt;p&gt;&lt;strong&gt;Consistency:&lt;/strong&gt; You can only improve at something by being consistent. Every day, you try again, and that's the only way you'll get better.&lt;/p&gt;

&lt;p&gt;Testing things is good for figuring out what you're not good at.&lt;/p&gt;

&lt;p&gt;Energy is not infinite. Thinking logically, by the end of the day, you'll be more tired. Set your priorities for the morning.&lt;/p&gt;

&lt;p&gt;You're studying, then you stop to check your phone, and then you go back to studying. You feel like you're not making the most of it. Of course, you're not going to make the most of it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Energy = 10 points&lt;/p&gt;

&lt;p&gt;1st Case -&amp;gt; Spend all 10 points on studying.&lt;br&gt;&lt;br&gt;
2nd Case -&amp;gt; Spend 6 points on studying and 4 on your phone.&lt;/p&gt;

&lt;p&gt;Considering two identical people, who will know more?&lt;/p&gt;

&lt;p&gt;It's very obvious that if you split your points with your phone, you'll know less and you'll be wasting your time. The same goes for gaming.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Task&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Do one thing at a time. Focus on a single task.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A great example of giving your best:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Gym: If I keep taking my phone to the gym and splitting my focus with WhatsApp and other apps, I'm not giving my best. If I'm not giving my best, I'll need more time to improve my body.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Benefit of Focus&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The more focus I have, the faster I'll get better.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Focus brings speed.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Every time you catch yourself losing focus and going to TikTok, Instagram, or similar apps, remember that you're delaying how good you can become. You're adding 5 more days to learn a simple task.&lt;/p&gt;

&lt;p&gt;We all know there are multiple paths to achieve things.&lt;/p&gt;

&lt;p&gt;I want to get rich -&amp;gt; There are many paths and ways for that to happen.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;How to Improve Your Life?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;You need to follow through with things until the end.&lt;/p&gt;

&lt;p&gt;What can't happen is constantly changing paths. Draw a path and stick to that plan.&lt;/p&gt;

&lt;p&gt;The best opportunity is the one you see through to the end.&lt;/p&gt;

&lt;p&gt;Sometimes you say a certain project didn't work out, but did you actually go all the way?&lt;/p&gt;

&lt;p&gt;It's no use jumping from one thing to another. You need to choose your area and focus.&lt;/p&gt;

&lt;p&gt;Choose one thing and make that thing work.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;FOCUS and Go All the Way&lt;/strong&gt;
&lt;/h2&gt;

</description>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Darlan Jr</dc:creator>
      <pubDate>Sat, 01 Feb 2025 07:06:27 +0000</pubDate>
      <link>https://forem.com/juninhopo/-oie</link>
      <guid>https://forem.com/juninhopo/-oie</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/woovi" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F6093%2Febdfab16-778c-4fd7-8302-36924ce6f889.png" alt="Woovi" width="128" height="128"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F154349%2F161ffd23-6c84-4cc1-91e8-3e9d6f8f7b5d.png" alt="" width="386" height="386"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/woovi/a-modern-nodejs-typescript-setup-for-2025-nlk" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;A Modern Node.js + TypeScript Setup for 2025 🚀&lt;/h2&gt;
      &lt;h3&gt;Sibelius Seraphini for Woovi ・ Jan 29&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#node&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#ts&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#simple&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>node</category>
      <category>ts</category>
      <category>simple</category>
    </item>
  </channel>
</rss>
