<?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>DEV Community: walcalonee</title>
    <description>The latest articles on DEV Community by walcalonee (@walcalonee).</description>
    <link>https://dev.to/walcalonee</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%2F3364275%2F4faa1c40-ed3d-44cf-b4a8-0275ad3b5109.png</url>
      <title>DEV Community: walcalonee</title>
      <link>https://dev.to/walcalonee</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/walcalonee"/>
    <language>en</language>
    <item>
      <title>🌐 DNS for Programmers: Everything You Need to Know (Summary)</title>
      <dc:creator>walcalonee</dc:creator>
      <pubDate>Mon, 11 Aug 2025 09:29:52 +0000</pubDate>
      <link>https://dev.to/walcalonee/dns-for-programmers-everything-you-need-to-know-summary-3ed4</link>
      <guid>https://dev.to/walcalonee/dns-for-programmers-everything-you-need-to-know-summary-3ed4</guid>
      <description>&lt;h3&gt;
  
  
  ℹ️ Definitions
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Domain Name System
&lt;/h4&gt;

&lt;p&gt;A distributed computer system for obtaining information about domains. The system is built as a hierarchy of DNS servers. Most often, it is used to obtain an IP address by a host name, to get mail routing information, or to find service nodes for protocols within a domain.&lt;/p&gt;

&lt;h4&gt;
  
  
  DNS server
&lt;/h4&gt;

&lt;p&gt;A program that accepts and processes DNS queries using the DNS protocol. The term DNS server is also commonly used to refer to the host on which this program is running.&lt;/p&gt;

&lt;h4&gt;
  
  
  DNS protocol
&lt;/h4&gt;

&lt;p&gt;An application-level request–response protocol that defines the rules for communication between clients and DNS servers to obtain domain information.&lt;/p&gt;




&lt;h3&gt;
  
  
  ⚛️ DNS as a System
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Key Characteristics
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Distributed administration&lt;/strong&gt;
Responsibility for different parts of the system is delegated to different people or organizations.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Distributed information storage&lt;/strong&gt;
Each node in the system stores only the data for its zone of responsibility and (possibly) the addresses of root DNS servers.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Information caching&lt;/strong&gt;
A node can store cached data outside its own zone of responsibility to reduce network load.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hierarchical structure&lt;/strong&gt;
All nodes are organized into a tree, where each node can either perform the work itself or delegate it to other nodes.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Redundancy&lt;/strong&gt;
The storage and maintenance of nodes is usually handled by several servers, typically separated both logically and physically, ensuring data preservation and continued operation even in the event of some server failures.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  🔐 Security
&lt;/h4&gt;

&lt;p&gt;Initially, security concerns were not a major consideration in the development of DNS software. However, the growth of the Internet made addressing these issues necessary. To do so, a set of protocol extensions for DNS — &lt;strong&gt;DNSSEC&lt;/strong&gt; — was introduced. The operation of &lt;strong&gt;DNSSEC&lt;/strong&gt; is based on the use of digital signatures.&lt;/p&gt;

&lt;h4&gt;
  
  
  🔃 Recursion
&lt;/h4&gt;

&lt;p&gt;The term &lt;strong&gt;recursion&lt;/strong&gt; in DNS refers to the behavior of a &lt;strong&gt;DNS server&lt;/strong&gt; where it “performs a full search for the requested information throughout the entire DNS on behalf of the client, querying other &lt;strong&gt;DNS servers&lt;/strong&gt; if necessary.”&lt;/p&gt;

&lt;p&gt;A &lt;strong&gt;DNS query&lt;/strong&gt; can be &lt;em&gt;recursive&lt;/em&gt; — requiring a full search — or &lt;em&gt;non-recursive&lt;/em&gt; (also called &lt;em&gt;iterative&lt;/em&gt;) — not requiring a full search.&lt;br&gt;&lt;br&gt;
Similarly, a &lt;strong&gt;DNS server&lt;/strong&gt; can be &lt;em&gt;recursive&lt;/em&gt; (capable of performing a full search) or &lt;em&gt;non-recursive&lt;/em&gt; (incapable of performing a full search).&lt;/p&gt;

&lt;p&gt;Thus, in the case of a recursive query, the DNS server (if it is recursive) queries other servers until it finds the answer or determines that the domain does not exist.&lt;br&gt;&lt;br&gt;
When responding to a &lt;em&gt;non-recursive&lt;/em&gt; query, or if recursion is not supported or is disabled, the DNS server either returns data for the zone it is authoritative for, or returns an error.&lt;/p&gt;

&lt;p&gt;Recursive queries require more server resources (and generate more traffic), so they are usually only accepted from nodes “known” to the server owner (for example, an ISP may allow recursive queries only from its own customers, and in a corporate network recursive queries may be accepted only from the local segment).&lt;br&gt;&lt;br&gt;
Non-recursive queries are usually accepted from all network nodes (and a meaningful answer is only given for queries about zones hosted on the server; for DNS queries about other zones, the server will typically return the addresses of other servers).&lt;/p&gt;

&lt;h4&gt;
  
  
  📝 DNS Records
&lt;/h4&gt;

&lt;p&gt;DNS records, or resource records, are the units of storage and transmission of information in DNS.&lt;br&gt;&lt;br&gt;
Each such record consists of several fields. Some of them include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;NAME&lt;/strong&gt; — the domain name to which this resource record is bound.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TTL (Time To Live)&lt;/strong&gt; — the permissible duration for which the record can be stored in the cache.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TYPE&lt;/strong&gt; — the format and purpose of the record.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Examples of record types:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;A record&lt;/strong&gt; (&lt;em&gt;address record&lt;/em&gt;) — maps a host name to an IPv4 address.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AAAA record&lt;/strong&gt; (&lt;em&gt;IPv6 address record&lt;/em&gt;) — maps a host name to an IPv6 address.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MX record&lt;/strong&gt; (&lt;em&gt;mail exchange&lt;/em&gt;) — specifies the mail exchange server for the given domain.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  💫 Just an interesting fact
&lt;/h3&gt;

&lt;p&gt;Many problems with access to websites and network resources are usually related to DNS. So the phrase "It was DNS" has become a sort of joke "default response" to any network problems, such as when something doesn't work - it's DNS's fault.&lt;br&gt;
&lt;a href="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%2Farticles%2Fbgs7t6sazhbkm6e2ovkp.png" class="article-body-image-wrapper"&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%2Farticles%2Fbgs7t6sazhbkm6e2ovkp.png" alt="It was DNS" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🙏 Thank you for your attention, I will be glad to receive any response to this article.
&lt;/h3&gt;

</description>
      <category>backend</category>
      <category>web</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>📘 Everything you need to understand about TCP/IP - summary</title>
      <dc:creator>walcalonee</dc:creator>
      <pubDate>Sat, 09 Aug 2025 07:31:33 +0000</pubDate>
      <link>https://dev.to/walcalonee/everything-you-need-to-understand-about-tcpip-summary-2nk3</link>
      <guid>https://dev.to/walcalonee/everything-you-need-to-understand-about-tcpip-summary-2nk3</guid>
      <description>&lt;h1&gt;
  
  
  TCP/IP Model
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;Network data transfer model. Describes the rules and methods of data transfer from source to recipient over the network. The model is divided into 4 levels, each of which describes its area using the corresponding protocols.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  TCP/IP Layers
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Application layer
&lt;/h3&gt;

&lt;p&gt;Protocols: &lt;strong&gt;HTTP, FTP, DNS, SSH&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provides interaction between programs and the network.&lt;/li&gt;
&lt;li&gt;Forms the data structure, determines message forms.&lt;/li&gt;
&lt;li&gt;Processing applications, small data transmission and reception.&lt;/li&gt;
&lt;li&gt;Responsible for identification and synchronization implemented by the interface between software and lower levels.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Transport layer
&lt;/h3&gt;

&lt;p&gt;Protocols: &lt;strong&gt;TCP, UDP&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Establishes channels for data transmission, controls delivery.&lt;/li&gt;
&lt;li&gt;Performs data segmentation and assembly.&lt;/li&gt;
&lt;li&gt;Addresses streams using ports.&lt;/li&gt;
&lt;li&gt;Provides integrity control, error recovery, and (in the case of TCP) guarantees data delivery.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Internet layer
&lt;/h3&gt;

&lt;p&gt;Protocols: &lt;strong&gt;IPv4, IPv6, ICMP, ARP&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Routes packets between different networks.&lt;/li&gt;
&lt;li&gt;Manages logical addressing (IP addresses).&lt;/li&gt;
&lt;li&gt;Responsible for handling errors and special service messages (ICMP).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Link layer
&lt;/h3&gt;

&lt;p&gt;Protocols: &lt;strong&gt;Ethernet, WLAN, PPP&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Defines the method of encoding data for transmission at the physical layer.&lt;/li&gt;
&lt;li&gt;Provides error detection and correction, protection against interference.&lt;/li&gt;
&lt;li&gt;Describes the physical transmission medium (twisted pair, coaxial cable, optical fiber, etc)&lt;/li&gt;
&lt;li&gt;Performs data framing and media access control. (The data link layer breaks data into frames and ensures that devices do not speak simultaneously into a common communication channel)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Distribution of protocols by layers of the OSI model
&lt;/h3&gt;

&lt;p&gt;&lt;a href="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%2Farticles%2Fzi5dgim7m0x5ahllk3bv.png" class="article-body-image-wrapper"&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%2Farticles%2Fzi5dgim7m0x5ahllk3bv.png" alt=" " width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>backend</category>
      <category>web</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>🌿 Evergreen Thinking: How to Create Notes That Remain Valuable?</title>
      <dc:creator>walcalonee</dc:creator>
      <pubDate>Thu, 17 Jul 2025 17:06:55 +0000</pubDate>
      <link>https://dev.to/walcalonee/evergreen-thinking-how-to-create-notes-that-remain-valuable-3d9h</link>
      <guid>https://dev.to/walcalonee/evergreen-thinking-how-to-create-notes-that-remain-valuable-3d9h</guid>
      <description>&lt;p&gt;&lt;strong&gt;Do you take notes?&lt;/strong&gt; Even if you don’t, I’m sure you’ve thought about it. Whether you currently take notes or not, or plan to start, I encourage you to read this article about “Evergreen Notes.” Take a look at what’s in it:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What will you learn?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What are Evergreen Notes (and why are they green?…)&lt;/li&gt;
&lt;li&gt;Why note-taking is usually ineffective&lt;/li&gt;
&lt;li&gt;How to remember everything for a long time&lt;/li&gt;
&lt;li&gt;How to create a “second brain”&lt;/li&gt;
&lt;li&gt;How to implement Evergreen Notes into your life&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🔎 What is usually the problem?
&lt;/h2&gt;

&lt;p&gt;If you have ever started taking notes, especially with the ambitious goal of “effective knowledge storage”, &lt;strong&gt;you may have noticed that your notes are not producing the desired effect.&lt;/strong&gt; And perhaps you have even experienced the &lt;strong&gt;“collector’s fallacy”,&lt;/strong&gt; when notes begin to do more harm than good.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Most likely, you use notes as a jotting down of thoughts, and this turns into a disorganized storage.&lt;/strong&gt; These notes often do not mean anything, especially in the long run. They are like fuel that the author writes and throws away to help him understand the current topic. This is one of the reasons why the practice of note-taking is usually ineffective.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;These are called “fleeting notes”&lt;/strong&gt;&lt;br&gt;
Fleeting notes are valuable notes for temporarily supporting working memory in the process, but if &lt;strong&gt;our goal is to create a repository of our notes that will help us in the long run, increase our efficiency, and serve as a “second brain”,&lt;/strong&gt; then these notes obviously cannot be the basis of our system.&lt;/p&gt;

&lt;p&gt;However, we can still consider these notes as a contribution of random thoughts to the construction of “tidy thoughts,” which will be presented as &lt;strong&gt;“Evergreen Notes.”&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  📗 Evergreen Note… What is it?
&lt;/h2&gt;

&lt;p&gt;_&lt;strong&gt;Evergreen notes is a note-taking concept that aims to make notes “long-term and effective”.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;These notes evolve, connect with each other and contribute to different areas of your life, and together they form your “second brain”.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Evergreen notes:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;long-term&lt;/li&gt;
&lt;li&gt;tightly connected&lt;/li&gt;
&lt;li&gt;effective&lt;/li&gt;
&lt;li&gt;constantly evolving&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The most important thing is that such notes will be “alive”&lt;/strong&gt;. You closely monitor them and update or repeat them when necessary. As if you were taking care of plants in a garden. Imagine what would happen if you did not water and weed your most beautiful flowers in a flower bed for a whole year. I do not think that they would retain their former beauty. But this is usually done with notes, although they should not be lifeless. Below we will consider practices that will make your notes &lt;strong&gt;“Evergreen”&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⚛️ Atomicity
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;It is best to create notes that are dedicated to only one thing&lt;/strong&gt;, but at the same time, they should be as comprehensive as possible. &lt;strong&gt;This way, it will be easier to establish connections between topics and contexts&lt;/strong&gt; (note connections are very important in this concept).&lt;/p&gt;

&lt;p&gt;This concept is very similar to the principle of separation of concerns in software engineering, which suggests that modules should be dedicated to only one topic, so that they can be easily reused.&lt;/p&gt;

&lt;h3&gt;
  
  
  📢 Conceptual Focus
&lt;/h3&gt;

&lt;p&gt;It is best to organize your Evergreen notes by concept (rather than by author, book, event, project, topic, etc.). This way, &lt;strong&gt;you will discover connections between your resources as you update and add links to a note&lt;/strong&gt; (again, Evergreen notes should be closely related)&lt;br&gt;
Suppose you are reading a book on psychology, and of course you decide to make a separate note for it. Or even a separate note on a separate topic, following the principle of “atomicity”. Then you take another book on the same topics and create separate notes for it. But with this approach, knowledge does not accumulate, and your notes do not progress or grow. Your new thoughts about a topic do not merge with old ones to form a coherent whole: you just have a disparate set of notes about it, perhaps under different titles.&lt;/p&gt;

&lt;p&gt;If we read two books on the same topic, we can easily connect our notes on them. But new connections tend to emerge where you least expect them. By organizing your notes by concept, you may discover unexpected connections between ideas that appear in completely different books. You may have never noticed that these books were related before.&lt;/p&gt;

&lt;p&gt;Organizing by concept makes note-taking a little more difficult, but it has a benefit: when creating new notes, we need to find their place in the big picture. In this way, &lt;strong&gt;we explore part of our previous note-taking network, which may lead us to unexpected results.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🔗 Connectedness
&lt;/h3&gt;

&lt;p&gt;Forcing ourselves to add lots of connections between our notes forces us to think more broadly about what other concepts might be connected to what we're thinking about.&lt;/p&gt;

&lt;p&gt;Finding the right connections requires reading through old notes, so it's also an organic mechanism for periodically reviewing the notes we've written. This can lead to unexpected discoveries.&lt;/p&gt;

&lt;p&gt;You don't have to refer to notes you've already written, you can leave "placeholders" that you'll come to later.&lt;/p&gt;

&lt;h3&gt;
  
  
  💫 Natural Structure
&lt;/h3&gt;

&lt;p&gt;Let structure emerge naturally. By imposing it from the start, you prematurely limit what can emerge and artificially compress the subtle relationships between ideas.&lt;/p&gt;

&lt;p&gt;Our filing systems, organizational structures, and libraries assume that hierarchical categories are the natural structure of the world. But often, items belong in many places. And items are related to other items in entirely different hierarchical categories.&lt;/p&gt;

&lt;p&gt;Worse, by pre-sorting things into clearly defined categories, we inevitably blur their boundaries. Things don’t always fit together perfectly. Perhaps, once enough new ideas have accumulated, a new category will emerge… but its shape cannot be seen because everything is already sorted. And because everything is already sorted, further sorting requires breaking down the existing structure.&lt;/p&gt;

&lt;p&gt;It’s better to let networks of related ideas form gradually, without labeling: let ideas and beliefs emerge naturally . Once you see the shape, you can begin to wonder about its character. That's why Evergreen Notes is a safe place to develop bold ideas.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✏️ Write for Yourself
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Because Evergreen notes can be used as part of a public writing strategy, it’s tempting to “save time” by writing notes in a publishable format.&lt;/strong&gt; This might mean providing all the information you need to understand an idea that’s a bit boring to you, self-censoring, adding lots of clarification, or putting a lot of effort into clarity. Many of these practices can be helpful to your own thought process—clearer writing usually means clearer thinking, for example. &lt;strong&gt;But I find that doing so adds significant overhead and effort to writing, often to the point of stagnation.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;More specifically, this shows up as a common pattern of failure for me when I’m writing notes in explicit preparation for some public writing. I often try to do both at once. &lt;strong&gt;That is, I can write notes in an atomic style, but I try to write them as if they were sections in a larger essay or paper. Or even simpler: I try to write things with all the context and clear prose needed for an outsider to understand what I'm talking about. Then I often find that I can't write anything at all!&lt;/strong&gt; It's better to write at a level where I can create something, and then use that as leverage to move up.&lt;/p&gt;

</description>
      <category>productivity</category>
    </item>
    <item>
      <title>👋Hi, I'm new here. Let's talk!</title>
      <dc:creator>walcalonee</dc:creator>
      <pubDate>Thu, 17 Jul 2025 15:37:04 +0000</pubDate>
      <link>https://dev.to/walcalonee/hi-im-new-here-lets-talk-pfc</link>
      <guid>https://dev.to/walcalonee/hi-im-new-here-lets-talk-pfc</guid>
      <description>&lt;p&gt;This is just my first post and I don't think anyone will find it, but let it be here. I just came to this platform. I must say that I really liked the "Welcome" thread. I immediately felt the cohesion and kindness of the community. I hope I will find a place for myself here and make new acquaintances.&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>community</category>
      <category>firstpost</category>
      <category>codenewbie</category>
    </item>
  </channel>
</rss>
