<?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: raviklog</title>
    <description>The latest articles on DEV Community by raviklog (@raviklog).</description>
    <link>https://dev.to/raviklog</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%2F966530%2Ff78ca368-75be-45fc-8a70-b785f2f16113.jpg</url>
      <title>DEV Community: raviklog</title>
      <link>https://dev.to/raviklog</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/raviklog"/>
    <language>en</language>
    <item>
      <title>How it all started: AI, ML &amp; DS!</title>
      <dc:creator>raviklog</dc:creator>
      <pubDate>Wed, 10 Jan 2024 06:21:09 +0000</pubDate>
      <link>https://dev.to/raviklog/how-it-all-started-ai-ml-ds-2ehh</link>
      <guid>https://dev.to/raviklog/how-it-all-started-ai-ml-ds-2ehh</guid>
      <description>&lt;p&gt;&lt;strong&gt;Happy New Year 2024 to all!&lt;/strong&gt; and Welcome to my first post this year and would like to present an introduction to AI, ML &amp;amp; DS. &lt;/p&gt;

&lt;p&gt;I started with Data Science around 2019 and picked up a few basics (&lt;strong&gt;Hypothesis&lt;/strong&gt;, &lt;strong&gt;Linear Algebra&lt;/strong&gt;, &lt;strong&gt;Probability&lt;/strong&gt;, &lt;strong&gt;Classification&lt;/strong&gt; &amp;amp; &lt;strong&gt;Regression Techniques&lt;/strong&gt;). With the help of R language did basic Data Analysis and simple ML Models. All these without even thinking about &lt;strong&gt;How this all started?&lt;/strong&gt;, &lt;strong&gt;Why is it such useful in times to come?&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Modern-day Artificial Intelligence is somewhat a birthchild of great scientist "&lt;strong&gt;Alan Turing&lt;/strong&gt;" whose initial question of &lt;strong&gt;Can Machines be intelligent?&lt;/strong&gt; initiated a curiosity to design a &lt;strong&gt;Turing test&lt;/strong&gt;. A Turing test is to imitate the human-like intelligence of a machine and make it indistinguishable from a human conversation and if humans cannot recognize if they are conversing with a machine then the machine passes the Turing test. The Turing test is a textual-based conversational approach and this has ignited the scientific community across the world. Improvements in that area by Academicians and Scientists gave rise to terming this human-like intelligence "&lt;strong&gt;Artificial Intelligence&lt;/strong&gt;" by &lt;strong&gt;John McCarthy around 1956&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Humans have such remarkable intelligence why do we need AI?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This is the question that restricted me from starting on this subject quite late...The following reasons have made AI adoption faster across different sectors.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Efficient ways&lt;/strong&gt; of handling and processing big data and making quicker non-partial decisions consistently.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Automating Repetitive tasks&lt;/strong&gt; that consume human time which could be used for other creative and strategic aspects.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Pattern Recognition at large scale&lt;/strong&gt;, Simulation, and creating virtual worlds that can aid in analyzing situations and scenarios for different industrial and real-world purposes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Explorations&lt;/strong&gt; at tough terrains like deep seas, mining operations, and other undiscovered places can be done through AI-controlled Robots&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Accuracy&lt;/strong&gt; in identifying good/bad scenarios, validating persons in huge crowds or important public gatherings through Computer vision technologies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Medical diagnosis&lt;/strong&gt; to predict future health issues, aids doctors in analyzing psychological issues, and also helps persons with disabilities to access real-life needs and communicate freely.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is just a small list, and the possibilities are endless as wherever human intelligence could be applied AI can work along.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Ok, so where does Machine Learning fit in?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aWINd7wh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kklessuxts6z7gv43yk7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aWINd7wh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kklessuxts6z7gv43yk7.png" alt="Image description" width="800" height="537"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Machine Learning (ML)&lt;/strong&gt; had its inception in 1959 when &lt;strong&gt;Arthur Samuels&lt;/strong&gt; (of IBM) was fascinated by the idea of machines that could mimic human learning and decision-making. That enabled him to coin the term "Machine Learning". It is quite logical how the Interest and work in Artificial Intelligence in the early 1950s has given rise to the Machine Learning and Data Science fields.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--x_bgkaoJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/124dwtntqwio8jlz9pft.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--x_bgkaoJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/124dwtntqwio8jlz9pft.png" alt="Image description" width="789" height="399"&gt;&lt;/a&gt;&lt;br&gt;
Simply put, Machine Learning is a subset of AI. When we say be intelligent to a machine, we need to construct a certain framework through which the abstraction can be put to work. Machine Learning is a way in which we train the Machines to Learn about the General and Specific needs of humans. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Through (&lt;strong&gt;Knowledge Management System&lt;/strong&gt; &amp;amp; &lt;strong&gt;Expert Systems&lt;/strong&gt;) we impart Facts to the system, Domain knowledge, and also the rules to react to situations. &lt;/li&gt;
&lt;li&gt;Through &lt;strong&gt;Statistical Models and ML Algorithms&lt;/strong&gt;, we aid in training on data, analyzing patterns in Data, and Tuning attributes to make future predictions and aid in the decision-making process.&lt;/li&gt;
&lt;li&gt;Through &lt;strong&gt;Big Data&lt;/strong&gt;, we handle data characterized by high Volume, Velocity, and Variety, for storage, processing, and analytics) to build AI Systems.
(There are so many Data pipelines, Data Analytics Tools, and AI applications, but at a foundational level the above 3 are what constitute systems building at a bigger scale)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;How can we broadly classify Machine Learning?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Different technological and business needs mandate for classifying Machine Learning algorithms. Broadly classified as Supervised and Unsupervised learning. Other classifications are refined from this basic classification to meet specific business/technological needs.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5Ii-lxeN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dgjvayltdwxbkhhyo3tf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5Ii-lxeN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dgjvayltdwxbkhhyo3tf.png" alt="Image description" width="800" height="356"&gt;&lt;/a&gt; &lt;br&gt;
&lt;strong&gt;In Supervised learning&lt;/strong&gt;, the learning algorithm is trained on a labeled dataset, where each input is paired with its corresponding output. The algorithm learns to map input data to the correct output by generalizing patterns from the labeled dataset. Some of the common Algorithms that fall under this are (&lt;strong&gt;Logistic Regression, Naive Bayes, SVM, Neural Networks...etc.&lt;/strong&gt;).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Alternatively in Unsupervised learning&lt;/strong&gt;, the learning algorithm is given an unlabeled dataset and must find patterns or relationships within the data without explicit guidance. Some of the common algorithms that fall under this are (&lt;strong&gt;K-means, Hierarchical Clustering, DBSCAN..etc&lt;/strong&gt;).&lt;/p&gt;

&lt;p&gt;Algorithms like &lt;strong&gt;Neural Networks&lt;/strong&gt; are tricky as they could be used as Supervised/Unsupervised formats, so it depends on the specific tasks we try to attain. Many of the AI applications today use an ensemble of different ML Algorithms to validate various statistical parameters and arrive at desired business outcomes.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;How has Data Science as a field evolved?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Finally, the field of Data science is quite important for the success of both ML &amp;amp; AI with the Nature and scale of Data we are dealing with in this digital era.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1_WczCSn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p9dwxwhefaax5je2yq0u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1_WczCSn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p9dwxwhefaax5je2yq0u.png" alt="Image description" width="295" height="316"&gt;&lt;/a&gt;&lt;br&gt;
The field of &lt;strong&gt;Data Science (DS)&lt;/strong&gt; derives from various disciplines, but more importantly traced back to Statistics, Computer Science and domain expertise (from various industry verticals). Along with the above basic foundations, Information theory, Data Mining, and Business Intelligence, Bigdata &amp;amp; ML have given more prominence to Data Science to evolve rapidly.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Information theory&lt;/strong&gt;, developed by Claude Shannon in the mid-20th century, has influenced data science. Information theory provides a framework for quantifying information and uncertainty.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data mining&lt;/strong&gt; involves discovering patterns and knowledge from large datasets. It played a role in the evolution of data science, especially in uncovering valuable information from data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Business intelligence&lt;/strong&gt; practices, which involve collecting, analyzing, and presenting business data, contribute to the foundations of data science.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Explosion of digital data&lt;/strong&gt;, coupled with advances in storage and processing power, led to the emergence of &lt;strong&gt;Big Data&lt;/strong&gt;. Technologies like Apache Hadoop and distributed computing became essential for handling massive datasets.&lt;/li&gt;
&lt;li&gt;The widespread adoption of &lt;strong&gt;Machine Learning&lt;/strong&gt; techniques, fueled by improved algorithms and increased computing power, became a defining aspect of data science.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The domains of AI, ML, and DS are advancing swiftly, arguably outpacing the traditional trajectory of technological progress defined by Moore's Law. It's crucial for us all to continually learn and grow within these dynamic fields.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The Modern Ledger-Block Chain (Intro)</title>
      <dc:creator>raviklog</dc:creator>
      <pubDate>Wed, 09 Aug 2023 12:29:29 +0000</pubDate>
      <link>https://dev.to/raviklog/the-modern-ledger-block-chain-intro-gg3</link>
      <guid>https://dev.to/raviklog/the-modern-ledger-block-chain-intro-gg3</guid>
      <description>&lt;p&gt;The Classical Ledger has been there for many generations and would still be there until the complete Digitization across every walk of life takes over. &lt;br&gt;
&lt;strong&gt;What is a Ledger?&lt;/strong&gt;&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%2F6lp6pc8pgpb270idblvp.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%2F6lp6pc8pgpb270idblvp.png" alt="Ledger_System" width="621" height="149"&gt;&lt;/a&gt;&lt;br&gt;
Basically, Ledger is a Recording system to capture any type of transactions that involves 2 or more parties(individuals/organizations/countries/others). In Traditional Way it's been a Manual Ledger system storing transactions in Physical books/Documents. The transactions were entered manually and signed by the parties involved and InCharge to confirm the transaction. Then the Digitization of the Records in the Computer through Data Entry/Automation and an Centralized server to Store and manage the same helped to reduce the Paper-based approach and minimize errors and put in place an accountable system.&lt;/p&gt;

&lt;p&gt;Some of the common applications of it can be observed in the following scenarios,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Financial Transactions&lt;/strong&gt; (Credit,Debit,Transfer and others)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Legal Transactions&lt;/strong&gt; (Such as Property/Infrastructure Contracts, Deeds and Mortgages/Loans)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inventory Transactions&lt;/strong&gt; (Keep Record of Stocks, Purchases/Sales...etc.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Statistical Transactions&lt;/strong&gt; (Statistics With respect to Countries Population, Economy, Infra. Projects, Education, Healthcare, Food Distribution and other welfare areas...This could also be done on Regional/Organization/Individual level as per the Scale)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Healthcare Transactions&lt;/strong&gt; (Hospitals managing the medical conditions of patients for current and future purpose.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Educational System&lt;/strong&gt; (Track Student's Progress, Teacher's Performance/Rating, School's Academic &amp;amp; Placement results...etc.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Where does the Digital Ledger fit in this environment?&lt;/strong&gt;&lt;br&gt;
Digitization has optimized the process of Ledger by reducing Manual errors, improved speed and reducing data loss but still there are some restrictions/issues that still prevail to have a better system. Some of the Concerns that arise from the current Digital system are,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Central Authority&lt;/strong&gt; - The Ledger Managing Organization (Banks/Schools/Corporations/Governments) normally has the complete control over the Transaction, and this creates a chance of single point of failure and the security risk associated with it)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Transparency&lt;/strong&gt; - The Need of the Transaction being completely transparent to end-user is only determined by the single entity and it's highly probable that the Rejection/Approval of the Transaction lies at the onus of that single entity. So, it's difficult for the end-user to verify the accuracy of the transaction and the data associated with it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security&lt;/strong&gt; - With Single Entity managing the Transactions of multiple parties involved, there is higher chance of Fraud/Intrusion activities by hackers/miscreants and get sensitive information about the users (For ex: Bank handling millions of customers, Schools handling 100's of Students and Teachers information, Hospital handling 1000s of Patient Records).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's see the current Banking system that handles financial transactions online,&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%2F2h9nh3wnwj8jamzw4u5e.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%2F2h9nh3wnwj8jamzw4u5e.png" alt="Classical_Banking" width="800" height="499"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How Blockchain Provides its own solution?&lt;/p&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%2Floi5ki708t5ofrecmw5f.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%2Floi5ki708t5ofrecmw5f.png" alt="Blockchain_Basic" width="729" height="499"&gt;&lt;/a&gt;&lt;br&gt;
As with the traditional Banking System, there is a Centralized Authority to approve every transaction that the customer initiates and there is a transactional/service fee associated and also within guidelines of the Central Authority. On the contrary, a Blockchain-based system is a decentralized network where no one party administers, and all the Nodes involved in the blockchain network verify and validate the transaction (&lt;strong&gt;Proof of Work&lt;/strong&gt;) for it to be fully accepted. So, this brings down the transactional cost, aids faster payments, brings more transparency, provides better interoperability, and also could improve security. Since there are Private and Public banks and a long legacy of handling customer accounts and transactions, it is important to analyze all factors and constraints before fully adopting to Blockchain. &lt;br&gt;
Some areas, where Blockchain technology is used/or currently in implementation as an alternative are around the following and much more.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Payments through digital currencies (bitcoins...etc) to facilitate faster payments with lower transactional fees&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Loan verification &amp;amp; disbursement without the need for intermediaries and improve the security in borrowing money.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;KYC handling to transfer customer records safely around financial institutions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Securities markets (Stocks, bonds) to improve the interoperability and transparency among the trading parties.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;this is not an exhaustive list and more such areas blockchain could aid partly/completely and provide a more robust banking experience in the future. &lt;/p&gt;

&lt;p&gt;Do share your comments/feedback...In successive articles, we will discuss more about the blockchain process of transaction handling and its various categories as well.&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>cryptocurrency</category>
      <category>ethereum</category>
      <category>blockchain</category>
    </item>
    <item>
      <title>PATTERN-THRU-PRACTICAL (PTP2)</title>
      <dc:creator>raviklog</dc:creator>
      <pubDate>Mon, 27 Feb 2023 10:57:41 +0000</pubDate>
      <link>https://dev.to/raviklog/pattern-thru-practical-ptp2-dh8</link>
      <guid>https://dev.to/raviklog/pattern-thru-practical-ptp2-dh8</guid>
      <description>&lt;p&gt;Talk of Services across all kinds of modern-day applications. Be it Application-Level/ Business-Level/Cloud-Level and many more. All of them provide Core functionalities that are consumed by end-users through different network channels. There are Systems/Organizations which architect their entire Product Offerings as Service Interfaces for Public/Private consumption. One such Architectural methodology is the "&lt;strong&gt;SOA (Service Oriented Architecture)&lt;/strong&gt;".&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SERVICE – ORIENTED – ARCHITECTURE&lt;/strong&gt;&lt;br&gt;
What is a Service Oriented Architecture?&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%2Flo97kk7s5nctntah4ily.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%2Flo97kk7s5nctntah4ily.png" alt="SOA_Introduction" width="687" height="210"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Basic Building Blocks of SOA:&lt;/strong&gt;&lt;br&gt;
The below diagram depicts the basic building blocks of SOA Architecture. Different Systems/Organizations could have different variants of this and buzzwords that may be new, but overall, this captures the essence of the Architecture. Services now have transformed into &lt;strong&gt;Event-Driven, Micro-Services, SOAP, REST APIs, Containerized Services, Cloud Functions&lt;/strong&gt;, and many others, but as new inclusion comes, the foundational concepts will remain the same and also gives that primary knowledge to understand and design better systems.&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%2Fr9zwl75ffcokju89n2bq.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%2Fr9zwl75ffcokju89n2bq.png" alt=" " width="800" height="631"&gt;&lt;/a&gt;&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%2Fknnachj8bpzxh7uhiziu.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%2Fknnachj8bpzxh7uhiziu.png" alt=" " width="782" height="469"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;REAL WORLD ANALOGY:&lt;/strong&gt; &lt;strong&gt;MEDIA SERVICES(PRINT,ONLINE...etc)&lt;/strong&gt;&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%2F4lq9urc9f8shru8hf1ra.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%2F4lq9urc9f8shru8hf1ra.png" alt=" " width="753" height="312"&gt;&lt;/a&gt;&lt;/p&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%2F3uhzcicckqoodbpwgnnr.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%2F3uhzcicckqoodbpwgnnr.png" alt=" " width="800" height="666"&gt;&lt;/a&gt;&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%2Fl6fc4nt04jgv4nd4jls4.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%2Fl6fc4nt04jgv4nd4jls4.png" alt=" " width="758" height="490"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hope you find it simple and easy to go through. Liked to hear your comments or suggestions!&lt;/p&gt;

</description>
      <category>career</category>
      <category>discuss</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>PATTERN-THRU-PRACTICAL</title>
      <dc:creator>raviklog</dc:creator>
      <pubDate>Sat, 18 Feb 2023 08:30:28 +0000</pubDate>
      <link>https://dev.to/raviklog/pattern-thru-practical-59gk</link>
      <guid>https://dev.to/raviklog/pattern-thru-practical-59gk</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;MODEL – VIEW – CONTROLLER(MVC)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;What is a Model View Controller?&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%2Fliby7a90a8oewz07f1jn.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%2Fliby7a90a8oewz07f1jn.png" alt="MVC_Description" width="688" height="165"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MODEL – DATA (BANK HOLDS FINANCIAL DATA IN ITS INFRASTRUCTURE)&lt;/strong&gt;&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%2Fmmnbuvm8eyc5b44gtfaq.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%2Fmmnbuvm8eyc5b44gtfaq.png" alt="Model_Data_Bank" width="662" height="497"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;VIEW – BANK INTERFACE FOR CUSTOMER(ATM,OFFICE, REPRESENTATIVE)&lt;/strong&gt;&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%2Fqga7ylq2t2nd34g5u1q3.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%2Fqga7ylq2t2nd34g5u1q3.png" alt="View_ATM_Interface" width="744" height="641"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;CONTROLLER – GETS INPUT FROM CUSTOMERS, OPERATES ON DATA&lt;/strong&gt; &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%2Fwp9ab1vu3hwyf1jm170j.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%2Fwp9ab1vu3hwyf1jm170j.png" alt="Controller_BankOfficers" width="797" height="763"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Driven by Data-Part2(Formats)</title>
      <dc:creator>raviklog</dc:creator>
      <pubDate>Sat, 28 Jan 2023 07:22:33 +0000</pubDate>
      <link>https://dev.to/raviklog/driven-by-data-part2formats-e3l</link>
      <guid>https://dev.to/raviklog/driven-by-data-part2formats-e3l</guid>
      <description>&lt;p&gt;In the previous article, we touched upon the basic properties of data, it's classification and the various schema types that are available for data organization. Pls checkout if you had missed it!&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/raviklog" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--55jZKFS8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--_CVJx1cU--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/966530/f78ca368-75be-45fc-8a70-b785f2f16113.jpg" alt="raviklog"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/raviklog/driven-by-data-part1-dd2" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Driven by Data! (Part1)&lt;/h2&gt;
      &lt;h3&gt;raviklog ・ Jan 7&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#database&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#datafact&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
Here in this post, let's discuss about the Data Formats.

&lt;p&gt;&lt;strong&gt;What is a Data format?&lt;/strong&gt;&lt;br&gt;
It's a way of representing data for the purpose of storage and transmission across software systems. Let's say passing a request to an API service, transferring multimedia content across the internet, send/receive email or short messages in web/mobile and in all these cases, message format is required so that the sender and receiver could understand and communicate accordingly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is it not that Database also stores and helps for data transmission?&lt;/strong&gt;&lt;br&gt;
Yes, it is, but it behaves as a storage system as a whole, performing store, manage and transmit data. In addition, it also does Indexing, Querying and defining data relations. On the other hand, Data Format is more of the way the data is represented and does not go beyond that (for ex: we create config file in an XML/CSV/TXT format as a way of representing the configuration of system). &lt;br&gt;
Similarly, MYSQL database can store data in tables using Flat format such as CSV/JSON/BLOB or in Structured Rows and Columns format. Database also allows you to query and index the data accordingly. So, a Data format is only a Representative part of data, but a Database is a management system that encompasses all entities related to data including the Data formats.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is it really necessary to know about the data formats?&lt;/strong&gt;&lt;br&gt;
Yes, it's important when you decide to design a system, which deals with various internal &amp;amp; external components for its normal operations. Better analysis of formats helps to optimize data retrieval and transfer rates. &lt;br&gt;
Data Formats also depends on the type of industry and the application that is linked to it. Many Industries have their own custom formats defined for security and proprietary purposes as well (for ex: Industries using different CAD/CAM systems have customized CAD data formats to talk to external suppliers/customers and other industrial partners)&lt;br&gt;
Checkout the Wikipedia link for the Data exchanges in CAD format...&lt;a href="https://en.wikipedia.org/wiki/CAD_data_exchange"&gt;CAD_DATA_EXCHANGE&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are the different Format Categories?&lt;/strong&gt;&lt;br&gt;
On a broader sense, data is represented at the binary level (0s and 1s) for the computer to process it...But the Software systems define additional data formats for human readability and interoperability between systems. Some commonly used Classification as shown in the diagram below,&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eSwdOHri--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9bzyowxbtpwzgu9hjjz6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eSwdOHri--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9bzyowxbtpwzgu9hjjz6.png" alt="Image description" width="725" height="235"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Binary data format&lt;/strong&gt; is one where data is stored in sequence of 0s and 1s. It is used for efficient storage and faster retrieval of big data such as (Video files, Audio files, Images...etc).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Text data format&lt;/strong&gt; is more of human readable form (with numbers, letters, symbols) where it is easily read and processed by humans. CSV, TXT, Json, XML and other documents, spreadsheets are all that type.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vector formats&lt;/strong&gt; are normally used for storing drawings and graphical images that can processed by software's for extensibility rather than static. SVG (Scalar Vector Graphics), EPS(Encapsulated Post Script), EMF(Enhanced Metafile) are all that formats.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compressed formats&lt;/strong&gt; are done by taking the original data and simplify them to smaller size using standard compression algorithms without affecting the original content.ZIP, RAR, TAR files are all Compressed formats that we use it quite regularly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom Formats&lt;/strong&gt; are kind of specific to certain products for proprietary and security reasons. It can also be a hybrid of the other formats described above. For ex: In case of Health records/Medical Imaging, custom formats are created for storing patient information that needs to be secured and needs the purview of the health company handling the same.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Cloud, Containers &amp;amp; Devices:&lt;/strong&gt; With the Digital Explosion we have right now there is a need for lightweight data formats across Handheld, Embedded and IOT devices to handle quicker response and short message transfers. Also, the need for handling big data at the Cloud/Container ecosystems mandates for various new data formats as shown below.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Jktx5zjK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qfxmsn26zzpo5j8u8oz7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Jktx5zjK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qfxmsn26zzpo5j8u8oz7.png" alt="Image description" width="623" height="122"&gt;&lt;/a&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AMwny-hO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lnoo20sjbvvpzyfjuw29.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AMwny-hO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lnoo20sjbvvpzyfjuw29.png" alt="Image description" width="612" height="303"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are the Factors to consider while selecting Data formats?&lt;/strong&gt;&lt;br&gt;
Selection of a Data format for IO operation/Data transmission hinges on the following basic factors as given in below diagram.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ROGrulpY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8fumdzw9xrz20cai58pe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ROGrulpY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8fumdzw9xrz20cai58pe.png" alt="Image description" width="632" height="838"&gt;&lt;/a&gt;&lt;br&gt;
In addition to analyzing the factors above it is required to find and understand the trade-offs before arriving at specific data format. (Trade-off means whether we need to select a Text format against a Binary format for a simpler message transmission application or select a Binary format so that the data transmission handles huge data and is faster and more secure. It is advisable to check both the Advantages &amp;amp; Disadvantages of each format keeping the end-user experience as vital.)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let's consider set of constraints&lt;/strong&gt;&lt;br&gt;
Most of the time, requirements and constraints drives us to go for a specific data format. Take the list of constraints based on the above factors.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EjC6pzEy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lnt7rp3g06tqga1ouffc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EjC6pzEy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lnt7rp3g06tqga1ouffc.png" alt="Image description" width="783" height="165"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Low Network bandwidth&lt;/strong&gt; mandates for better compression, storage and transmission...Protocol Buffers, Avro are Binary format and have better compressions compared to Text based formats.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Low Network latency&lt;/strong&gt; mandates for lesser data packet size, lesser time to synchronize between sender and receiver and reducing network hops...Binary encoding formats helps to achieve lesser packet size, Cloud based systems helps to access at central location at network for reducing hops and Avro, GZip, ORC, helps us to do the same.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Low Memory&lt;/strong&gt; mandates for Efficient compression and minimalized storage requirements. Binary Formats and Compression methods helps in this and GZip, Avro, Protocol Buffers helps us do the same.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Low Processing power&lt;/strong&gt; mandates for reduced complex data structures, efficient compression and simpler constructs. Json, CSV, Text has the simpler constructs and with Gzip compression can help to address the issue and with Protocol Buffers with inherent support for Binary format, Schema (which is scalable based on requirement) could also help in this regard.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As the constraints differ across application requirements, available Infrastructure and various other internal and external factors, we need to arrive at a format which is best for your application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to transmit the data faster and secure?&lt;/strong&gt;&lt;br&gt;
Clients &amp;amp; Servers are distributed across Public/Private networks and hence the need for encoding the data for faster transfer and encrypting the data for Secure transmission is a necessity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;The process of Encoding&lt;/u&gt;&lt;/strong&gt; is used to convert the data from its original format into a format that can be transmitted or stored more efficiently. The Encoding process is typically used to compress the data and to make it more compact, so that it can be transmitted more quickly or stored more efficiently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;The process of decoding&lt;/u&gt;&lt;/strong&gt; is used to convert the encoded data back into its original format so that it can be used by the system. The decoding process is typically used to decompress the data, so that it can be used by the system in its original format.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;The Process Encryption&lt;/u&gt;&lt;/strong&gt; is to secure the data through the network so that eavesdroppers cannot read the message easily. Both these processes are quite important in today's networked environment.&lt;/p&gt;

&lt;p&gt;Similarly, &lt;strong&gt;&lt;u&gt;The Process of Decryption&lt;/u&gt;&lt;/strong&gt; is to decipher the encrypted message without any loss or inconsistency at the receiving end.&lt;/p&gt;

&lt;p&gt;(Some common Encoding/Decoding methods are &lt;strong&gt;base64, UTF, ASCII, URL Encoding&lt;/strong&gt;...etc... Some Common Encryption/Decryption methods are &lt;strong&gt;AES, DES,RSA&lt;/strong&gt;....etc)...In my later posts, I will be covering the Encoding and Encryption concepts in more detail.&lt;/p&gt;

&lt;p&gt;Below process diagram shows the concepts&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CBj-w8Xp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/32gp05ij4kee7t2w6n45.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CBj-w8Xp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/32gp05ij4kee7t2w6n45.png" alt="Image description" width="780" height="197"&gt;&lt;/a&gt;&lt;br&gt;
(Encoding/Encryption can happen at different orders and stages and not necessarily as per above depiction. It all depends on the requirements and specific architecture the team is concerned about)&lt;/p&gt;

&lt;p&gt;Here is the sample "Employee" object represented in different data formats. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Mx437XEn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j9qgkm7wddy7vrxn5j56.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Mx437XEn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j9qgkm7wddy7vrxn5j56.png" alt="Image description" width="800" height="574"&gt;&lt;/a&gt;&lt;br&gt;
For the above "Employee" data, Let me perform the base64 encoding format (with UTF-8). Below is the output for the same&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--E__ZGhrX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/877z5shi6xxqimfk6evy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--E__ZGhrX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/877z5shi6xxqimfk6evy.png" alt="Image description" width="800" height="69"&gt;&lt;/a&gt;As you can see the data is now modified from Json format to ASCII format useful for transmission across HTTP. With additional Encryption method like AES/RSA the same data will be more secure, and it will be difficult for hackers/intermediates to decipher it. Try out different sample data and perform Encoding/Decoding them using below URL&lt;br&gt;
&lt;a href="https://www.base64encode.org/"&gt;base64&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For more in-depth understanding of the data formats discussed, please do check out the below links for specifications and standards globally referred and used.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Xml Specification&lt;/strong&gt;  ---&amp;gt; &lt;a href="https://www.w3.org/XML/"&gt;Xml_Spec&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Json Specification&lt;/strong&gt; ---&amp;gt; &lt;a href="https://www.ecma-international.org/publications/standards/Ecma-404.htm"&gt;Json_Spec&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Proto Buffer Spec&lt;/strong&gt;  ---&amp;gt; &lt;a href="https://developers.google.com/protocol-buffers/docs/encoding"&gt;Proto_Buffer&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;CSV Specification&lt;/strong&gt;  ---&amp;gt; &lt;a href="https://tools.ietf.org/html/rfc4180"&gt;Csv_Spec&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;YAML Specification&lt;/strong&gt; ---&amp;gt; &lt;a href="http://yaml.org/spec/"&gt;Yaml_Spec&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Avro Specification&lt;/strong&gt; ---&amp;gt;&lt;a href="https://avro.apache.org/docs/current/spec.html"&gt;Avro_Spec&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pls do share your thoughts and list the data formats you have come across that would be helpful for other readers.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>database</category>
      <category>dataformats</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Types, DS &amp; Algol in .NET</title>
      <dc:creator>raviklog</dc:creator>
      <pubDate>Tue, 10 Jan 2023 12:02:12 +0000</pubDate>
      <link>https://dev.to/raviklog/types-ds-algol-in-net-3jnm</link>
      <guid>https://dev.to/raviklog/types-ds-algol-in-net-3jnm</guid>
      <description>&lt;p&gt;Hi Folks! please check out my previous post, which deals with basic building blocks of .NET and how this current post followed from there &lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/raviklog" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__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%2F966530%2Ff78ca368-75be-45fc-8a70-b785f2f16113.jpg" alt="raviklog"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/raviklog/building-blocks-of-net-11j2" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Building blocks of .NET&lt;/h2&gt;
      &lt;h3&gt;raviklog ・ Dec 13 '22&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#programming&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#dotnet&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
Types are the building blocks of programming language, and it allows to define the variable type or an expression. It defines the set of values that a variable can take on and the operations that can be performed on those values. So, this aids the C# compiler to perform type checking, ensure type safety, and select the correct method overload at compile-time.

&lt;p&gt;In .NET all of the types basically reach at the top of hierarchy "&lt;strong&gt;System. Object&lt;/strong&gt;" but falls under either Value or Reference Types.&lt;/p&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%2F6pjr9s5ga7doplmasmr5.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%2F6pjr9s5ga7doplmasmr5.png" alt="type hierarchy" width="718" height="292"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So still there is a need to arrange these types in a manner in which simple and composite level can be achieved. So that's where the classification of &lt;strong&gt;Primary/Primitive&lt;/strong&gt; type and &lt;strong&gt;Secondary/Derived&lt;/strong&gt; types comes into play&lt;/p&gt;

&lt;p&gt;These &lt;strong&gt;Primitive types&lt;/strong&gt; are basically &lt;strong&gt;Scalar&lt;/strong&gt; (or single valued) in nature and its useful for handling simple values (&lt;strong&gt;numbers, characters, boolean&lt;/strong&gt; and so on) ...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Integral types:&lt;/strong&gt; sbyte, byte, short, ushort, int, uint, long, ulong&lt;br&gt;
&lt;strong&gt;Floating-point types:&lt;/strong&gt; float, double&lt;br&gt;
&lt;strong&gt;Decimal type:&lt;/strong&gt; decimal&lt;br&gt;
&lt;strong&gt;Boolean type:&lt;/strong&gt; bool&lt;br&gt;
&lt;strong&gt;Character type:&lt;/strong&gt; char&lt;/p&gt;

&lt;p&gt;Just if we know only these types can we design an application...Let's say we create a calculator/ Tic-Tac-Toe game...so in this kind of scenarios...it's possible to use just the primitive types to create an application, but then it's limited and we can't create more intuitive and valuable applications by just using primitives...They can be basic foundation, but we need more elaborate types to handle extended applications.&lt;/p&gt;

&lt;p&gt;Then comes the &lt;strong&gt;Secondary Data types/Composite types&lt;/strong&gt;, set of value types that are built-in to the framework and are used to represent different types of data. Examples of secondary data types in .NET as given below,&lt;/p&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%2Fnvliwvr4tlnnbk56dksl.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%2Fnvliwvr4tlnnbk56dksl.png" alt="Image description" width="214" height="51"&gt;&lt;/a&gt; &lt;strong&gt;An array&lt;/strong&gt; is a collection of items of the same data type that are stored in contiguous memory locations.&lt;/p&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%2Fymw5f9mr1x27jtopz37i.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%2Fymw5f9mr1x27jtopz37i.png" alt="Image description" width="183" height="32"&gt;&lt;/a&gt; &lt;strong&gt;A string&lt;/strong&gt; is a sequence of characters and are immutable. This means that once a string is created, its value cannot be modified. Instead, any operation that would normally modify a string in-place will actually create a new string with the modified value.&lt;/p&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%2Fplq7pa3wdffalefei3wf.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%2Fplq7pa3wdffalefei3wf.png" alt="Image description" width="245" height="151"&gt;&lt;/a&gt;&lt;strong&gt;An enumeration&lt;/strong&gt; is a set of named constants. Enumerations are useful when you have a fixed set of values that a variable can take on, such as the days of the week, or the suit in a deck of cards.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Structure&lt;/strong&gt; is a value type that can contain a set of fields and methods. It is normally used to represent simple logic within an application. (For Example: below I have declared a default container with properties width and height and a method to calculate size of the container on its own. Simple data storage and logic could be done through struct.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public interface ISampleContainer
{
  public double GetContainerSize();
}
struct TestContainer: ISampleContainer
{
   private double width.
   private double height.
   private double magicNumber;
   public double GetContainerSize()
   {
     return (width * height * magicNumber);
   }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;(Structures do perform encapsulation as above with members and functions, does an interface inheritance, but structures do not allow implementation inheritance from classes or other structures...So basically, the hierarchical system could not be formed through structures. So, we cannot have a parent structure/class for another structure.)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Class:&lt;/strong&gt; A Class is a reference type that can contain a set of fields, methods, and events. It is also called a user defined type as it takes it existence based on the developer's necessity to handle the characteristics and behavior of objects of that type.&lt;br&gt;
The True power of classes is it is the main way to exhibit OOPs concepts (Inheritance, Encapsulation, Abstraction &amp;amp; Polymorphism) ...Detailed post on OOPs will do it another post with samples.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class MyTestContainer: ISampleContainer
{
   public double width.
   public double height.
   public double containerFactor;

   public virtual double GetContainerSize()
   {
     return (width * height * containerFactor);
   }
}
class CircleContainer:MyclassContainer
{
   public double Radius {get;set;}
   public override double GetContainerSize()
   {
     return Math.PI * Radius * Radius;
   }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;(Class "&lt;strong&gt;CircleContainer&lt;/strong&gt;" does exhibit the Inheritance concept where it overrides the default base method &lt;strong&gt;GetContainerSize&lt;/strong&gt; of Parent class &lt;strong&gt;MyTestContainer&lt;/strong&gt;)&lt;/p&gt;

&lt;p&gt;Do .NET provide some pre-defined structures and classes?&lt;br&gt;
Yes, there are quite a number of them, some of most commonly used&lt;br&gt;
Structures and Classes in FCL,&lt;/p&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%2Fiig74dx1sah606evl0af.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%2Fiig74dx1sah606evl0af.png" alt="Image description" width="800" height="277"&gt;&lt;/a&gt;&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%2Ff3i3mqb8u5b2ta2u71ua.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%2Ff3i3mqb8u5b2ta2u71ua.png" alt="Image description" width="800" height="252"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Data types define the kind of data that can be stored in a variable or expression, while data structures define how that data is organized and stored in memory. In case of large sets of data for an application, then we need efficient way to organize the data, so that certain operations like Analysis, Retrieval can be done quicker and optimal way.&lt;/p&gt;

&lt;p&gt;Here are a few common data structures in .NET:&lt;/p&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%2Fivl75q98stlnx1xhaewd.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%2Fivl75q98stlnx1xhaewd.png" alt="Image description" width="743" height="701"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As a developer we have the types and data structures to store and organize data for managing the application-level information, but &lt;br&gt;
Algorithms are used to solve problems and perform tasks in a systematic and efficient way. &lt;/p&gt;

&lt;p&gt;Here are a few common algorithms that are frequently used in .NET development:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sorting algorithms:&lt;/strong&gt; Sorting algorithms are used to rearrange a list of items in a specific order, such as ascending or descending. Examples of sorting algorithms include bubble sort, selection sort, and quicksort.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Search algorithms:&lt;/strong&gt; Search algorithms are used to find a specific item in a list or collection. Examples of search algorithms include linear search and binary search.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Graph algorithms:&lt;/strong&gt; Graph algorithms are used to traverse and manipulate graphs, which are data structures that consist of vertices (nodes) and edges. Examples of graph algorithms include depth-first search and breadth-first search.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recursion:&lt;/strong&gt; Recursion is a technique in which a function calls itself to solve a problem. It is often used to solve problems that can be broken down into smaller, simpler subproblems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dynamic programming:&lt;/strong&gt; Dynamic programming is a technique for solving problems by breaking them down into smaller subproblems and storing the results in a table to avoid redundant calculations.&lt;/p&gt;

&lt;p&gt;By understanding and using these types, data structures and algorithms, we can write more efficient and effective code in .NET.&lt;/p&gt;

&lt;p&gt;DS &amp;amp; Algos are quite an effective topic, I will try adding more posts to have clarity on the concepts and also do some code samples on the same.&lt;/p&gt;

&lt;p&gt;Please do convey your comments/suggestions, it will help me to improve the content overall!&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Driven by Data! (Part1)</title>
      <dc:creator>raviklog</dc:creator>
      <pubDate>Sat, 07 Jan 2023 08:52:12 +0000</pubDate>
      <link>https://dev.to/raviklog/driven-by-data-part1-dd2</link>
      <guid>https://dev.to/raviklog/driven-by-data-part1-dd2</guid>
      <description>&lt;p&gt;Everything we do (Write, Learn, Speak, Eat, Play, Travel, Work.... etc.) gets translated into Data and it's only getting multi-fold every single day...There is an estimate that every single day online we generate close to &lt;strong&gt;2.5 quintillion bytes&lt;/strong&gt;(around 2020 stats and this number would have crossed now in big way). If we consider a penny as a byte of data...then the whole earth laid out flat can be filled 5 times with that number...that's quite staggering!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1 Quintillion&lt;/strong&gt; = 1,000,000,000,000,000,000(10^18)&lt;br&gt;
&lt;strong&gt;2.5 Quintillion&lt;/strong&gt; = 2.5 Billion Giga bytes.&lt;/p&gt;

&lt;p&gt;According to &lt;a href="https://help.netflix.com/en/node/87/" rel="noopener noreferrer"&gt;Netflix_Data&lt;/a&gt;, you use 1 GB of data per hour when you stream a standard definition (SD) video. High definition (HD) videos, on the other hand, use 3 GB per hour. And 4K Ultra HD streams use up to 7 GB per hour of video...So you can calculate what's the 2.5 Quintillion comes to.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Some Stats online to check:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Checkout the links for more stats on Data usages online &lt;a href="https://financesonline.com/how-much-data-is-created-every-day/" rel="noopener noreferrer"&gt;FinOnline&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Wide variety of Data captures across the world checkout &lt;a href="https://ourworldindata.org/" rel="noopener noreferrer"&gt;OurWorldinData&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With this flow of Data, we need to categorize to find a meaningful information/insight out of it. Some common ways to categorize data as given below,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Structured vs Unstructured&lt;/strong&gt;&lt;br&gt;
Structured data is organized in a predefined format, such as a table with rows and columns. Unstructured data does not have a fixed format and may include things like text documents, emails, and social media posts.&lt;/p&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%2Fsub5k562rs8d2njs5icd.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%2Fsub5k562rs8d2njs5icd.png" alt="Image description" width="450" height="298"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quantitative Data:&lt;/strong&gt;  Data that can be measured in numbers&lt;br&gt;
Qualitative Data: Quality or Characteristic of a Data...No Measurement but core attributes/characteristics&lt;br&gt;
&lt;strong&gt;Quantitative&lt;/strong&gt;&lt;br&gt;&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%2F39gbvpdx3u1u7wv8j33a.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%2F39gbvpdx3u1u7wv8j33a.png" alt="Image description" width="231" height="216"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Qualitative&lt;/strong&gt;&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%2Fugrjblvn360kll589msk.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%2Fugrjblvn360kll589msk.png" alt="Image description" width="175" height="246"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Continuous vs Discrete:&lt;/strong&gt;&lt;br&gt;
Continuous data can take on any value within a certain range (e.g., Time Measurement).&lt;br&gt;
 Discrete data can only take on specific values/finite numbers (e.g., the number of children in a class).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Continuous&lt;/strong&gt;&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%2F5wpk12a53b0hc2llb13d.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%2F5wpk12a53b0hc2llb13d.png" alt="Image description" width="172" height="172"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Discrete&lt;/strong&gt;&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%2F575oa3w8o14w54qit7ef.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%2F575oa3w8o14w54qit7ef.png" alt="Image description" width="232" height="175"&gt;&lt;/a&gt;     &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Primary vs Secondary:&lt;/strong&gt;&lt;br&gt;
Primary data that is collected directly from the source (such as experimental data which is original and unbiased)&lt;br&gt;
Secondary data that is already collected by other person or organization and external (such as Internet source, books, article and blogs)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Primary&lt;/strong&gt;&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%2Fe7un79lwk5snfehthhgv.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%2Fe7un79lwk5snfehthhgv.png" alt="Image description" width="145" height="163"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Secondary&lt;/strong&gt;&lt;br&gt;&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%2F1hg6r11jlgklegisvhto.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%2F1hg6r11jlgklegisvhto.png" alt="Image description" width="203" height="191"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Public vs Private:&lt;/strong&gt;&lt;br&gt;
Public data is freely accessible by everyone (published online such as   government data, social media posts)&lt;br&gt;
Private data is secured and could be accessible only by a few authorized personnel for security and confidentiality(such as Individual’s financial records, trade secrets)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Public&lt;/strong&gt;&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%2Fh33mirj0jc3420hf01zy.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%2Fh33mirj0jc3420hf01zy.png" alt="Image description" width="157" height="155"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Private&lt;/strong&gt;&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%2Fjmmmepb99764vazbmsde.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%2Fjmmmepb99764vazbmsde.png" alt="Image description" width="214" height="144"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Some other categories&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;(Data originating from IOT devices, Video Telecasts called as Live/Streaming data)&lt;/li&gt;
&lt;li&gt;Historical Data from books, Articles, recordings collected over time as offline/historical)&lt;/li&gt;
&lt;li&gt;Based on Text/Image/Geometric/Video/Audio data collected.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Properties of Data:&lt;/strong&gt; We need to organize this huge collection of data based on the properties, that helps us to access, search and retrieve through a defined system that we now call as "Databases", "Datastores", "DataLakes" and other modern terms.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Accuracy -&amp;gt; Free from errors/inconsistencies&lt;/li&gt;
&lt;li&gt;Validity -&amp;gt; Data which meets the requirements of the system or application in which it is being used.&lt;/li&gt;
&lt;li&gt;Timeliness -&amp;gt; Available when it is needed&lt;/li&gt;
&lt;li&gt;Completeness -&amp;gt; Includes all the information that is required for a given purpose&lt;/li&gt;
&lt;li&gt;Relevance -&amp;gt; Related to the problem at task at hand&lt;/li&gt;
&lt;li&gt;Consistency -&amp;gt; Uniform and follows the rules and standards&lt;/li&gt;
&lt;li&gt;Integrity -&amp;gt; Protected from unauthorized access or modification.&lt;/li&gt;
&lt;li&gt;Accessibility -&amp;gt; Retrieved or Accessed by those who need it.&lt;/li&gt;
&lt;li&gt;Understandability -&amp;gt; Easily interpreted and understood by those who need to use it.
10.Usability -&amp;gt; Data is usable if it can be effectively used for a given purpose.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So, all major databases are designed to take into consideration all the above properties and much more for the benefit of users,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is the Purpose of the Database?&lt;/strong&gt;&lt;/p&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%2Fvgknesigbm7zvhgn2ikp.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%2Fvgknesigbm7zvhgn2ikp.png" alt="Image description" width="163" height="100"&gt;&lt;/a&gt;&lt;strong&gt;When you need to store and manage large amounts of data:&lt;/strong&gt; A database is a good way to store and organize large amounts of data so that it can be easily accessed, managed, and updated.&lt;/p&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%2Fy9cwisirfg6najw040yn.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%2Fy9cwisirfg6najw040yn.png" alt="Image description" width="172" height="100"&gt;&lt;/a&gt;&lt;strong&gt;When you need to support multiple users:&lt;/strong&gt; A database can be used to store data that is shared among multiple users, allowing them to access and update the data concurrently.&lt;/p&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%2Fwmgcabtlvp1gyxf9y8ok.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%2Fwmgcabtlvp1gyxf9y8ok.png" alt="Image description" width="161" height="107"&gt;&lt;/a&gt;&lt;strong&gt;When you need to store data for analysis:&lt;/strong&gt; A database can be used to store data that needs to be analyzed or queried in various ways.&lt;/p&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%2Fpwctmnkffbpbgsheg7bp.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%2Fpwctmnkffbpbgsheg7bp.png" alt="Image description" width="171" height="137"&gt;&lt;/a&gt;&lt;strong&gt;When you need to store data that needs to be backed up:&lt;/strong&gt; A database can be used to store data that needs to be backed up regularly to prevent data loss.&lt;/p&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%2Fyn7qiel7vkbadgm7fqd5.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%2Fyn7qiel7vkbadgm7fqd5.png" alt="Image description" width="124" height="124"&gt;&lt;/a&gt;&lt;strong&gt;When you need to enforce data integrity:&lt;/strong&gt; A database can be used to enforce data integrity rules, ensuring that the data is consistent and accurate.&lt;br&gt;
When you need to store data that needs to be secured: A database can be used to store data that needs to be protected from unauthorized access.&lt;/p&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%2Fvzjisgwobpcrir0sj7sl.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%2Fvzjisgwobpcrir0sj7sl.png" alt="Image description" width="115" height="125"&gt;&lt;/a&gt;&lt;strong&gt;When you need to store data that needs to be accessed quickly:&lt;/strong&gt; A database can be optimized to allow fast access to the data it stores.&lt;/p&gt;

&lt;p&gt;That's a wrap on the Data basics and in the Next post, we will detail the Database concepts and latest trends. Please do give your suggestions/comments.&lt;/p&gt;

</description>
      <category>emptystring</category>
    </item>
    <item>
      <title>Not Just Programming!</title>
      <dc:creator>raviklog</dc:creator>
      <pubDate>Thu, 29 Dec 2022 11:19:35 +0000</pubDate>
      <link>https://dev.to/raviklog/not-just-programming-1llh</link>
      <guid>https://dev.to/raviklog/not-just-programming-1llh</guid>
      <description>&lt;p&gt;I was getting ready for my next article on .NET but then this thought of how it's always not programming/technical capability or know-how that helps to refine the Software development or any other piece of work. &lt;/p&gt;

&lt;p&gt;It's Not an Advice! and just my observations and experiences that I get every day in Software space.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Aga1mnUp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/30gxyry7ekpikga204mw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Aga1mnUp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/30gxyry7ekpikga204mw.png" alt="Image description" width="494" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Read/Analyze what others have done&lt;/strong&gt;: &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8ipexhWZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vpn0ek0pdnnpo2otgy65.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8ipexhWZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vpn0ek0pdnnpo2otgy65.png" alt="Image description" width="111" height="97"&gt;&lt;/a&gt;&lt;br&gt;
Will be helpful for someone new to a project or completely new to Software Development or even other domains. It will be tough to read a past technical/domain documents or Historical Source codes, but I would say it improves certain things like "Analysis", "Patience", "Flexibility" and also "How different we can modify/innovate current requirements based on what was done before us" and also give the range of ideas to speak to your peers and also cross-teams.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Go Cross knowledge&lt;/strong&gt;:&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lIbNPsDm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ec61pm405jhq4wfibpsm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lIbNPsDm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ec61pm405jhq4wfibpsm.png" alt="Image description" width="121" height="97"&gt;&lt;/a&gt;&lt;br&gt;
 Sometimes solving mathematical or Logical puzzles or playing a sport or music or just a walk and chit-chat could help refine your thinking process which actually helps in your Software Development process and helps to handle bigger tasks or algorithms. After an early morning run or a fantastic badminton practice...suddenly there is a better clarity of how to design a system or solve a complex bug...Take up that excites you, but just do it as it is normal, don't force it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Look for Alternatives:&lt;/strong&gt; &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ce-NssIV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wv4sjd1d8dslm74qyao5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ce-NssIV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wv4sjd1d8dslm74qyao5.png" alt="Image description" width="115" height="105"&gt;&lt;/a&gt;&lt;br&gt;
Sometimes you might reach a solution immediately on top of the head and would be willing to complete that and push the source code and finish it off...hold on!...it might be great to get the solution just like that...you are already good in that, but it's always better to find multiple alternatives, which could be(an improvement in process/performance/quality...that alternative solution could help you at a right moment, where-in you might have to ship a Changeset in couple of hours/days...critical junction...so this pre-knowledge on alternatives will surely come handy)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open to Review:&lt;/strong&gt; &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--H8XVK-rT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hqjgfa33gq87aa9p71i9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--H8XVK-rT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hqjgfa33gq87aa9p71i9.png" alt="Image description" width="107" height="120"&gt;&lt;/a&gt; &lt;br&gt;
Most of the time it's difficult for Programmers/Designers to take things lightly if someone reviews our code and indicate mistakes (which might be trivial/complex/hybrid.)...Instead try to sit through the points one by one and analyze better and if you feel what you have done is fine...then try to convince in a friendly manner or check with other peers about the corrections suggested and accept them and keep the sync going. This will help to reduce the ramblings in meetings and improve our overall perspective about working in teams, change acceptance and negotiations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Complex Work:&lt;/strong&gt; &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1IoI9URc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t8hgiupu9bzjq4i2jkd5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1IoI9URc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t8hgiupu9bzjq4i2jkd5.png" alt="Image description" width="180" height="103"&gt;&lt;/a&gt;&lt;br&gt;
 Let's say you are comfortable with existing project. Dev/Test Updates, Deployments and Client request resolution. So, this cycle could be good, but to prepare for bigger assignments, in between your regular tasks, take a complex algorithm to solve for another project in real-time...need to crunch extra hours...but in longer run, it will help to get noticed by many teams and increase your chance of getting complex and challenging projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Keeping Tabs on Trends:&lt;/strong&gt; &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hWgeE7J2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5lc8i24xtrqqh6vbq1i4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hWgeE7J2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5lc8i24xtrqqh6vbq1i4.png" alt="Image description" width="127" height="100"&gt;&lt;/a&gt;&lt;br&gt;
As it's quite a competitive landscape, as technology is...It's a given that we need to embrace new trends on technology, those that interest us and practice them to continue the enthusiasm going on. Technology for an extended period is quite a challenging one. Relaxation, Less Motivation and Boring Regularity might haunt us, but then we need to diffuse and keep going forward and be ready for that fantastic opportunity.&lt;/p&gt;

&lt;p&gt;I am pretty sure this is not go-to list or a complete list...Just the observations and learnings I got. Hope it at least have some convergence with your observations as well.&lt;/p&gt;

&lt;p&gt;Please do Share your own comments/suggestions to improve on this.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>design</category>
      <category>productivity</category>
      <category>motivation</category>
    </item>
    <item>
      <title>Building blocks of .NET</title>
      <dc:creator>raviklog</dc:creator>
      <pubDate>Tue, 13 Dec 2022 17:50:23 +0000</pubDate>
      <link>https://dev.to/raviklog/building-blocks-of-net-11j2</link>
      <guid>https://dev.to/raviklog/building-blocks-of-net-11j2</guid>
      <description>&lt;p&gt;In the Previous post, tried to touch upon the .NET Ecosystem and its different variants and how it provides the core development support for the Developer community...pls check out if you have missed...&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/raviklog" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--55jZKFS8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--_CVJx1cU--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/966530/f78ca368-75be-45fc-8a70-b785f2f16113.jpg" alt="raviklog"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/raviklog/net-ecosystem-258k" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;.NET Ecosystem&lt;/h2&gt;
      &lt;h3&gt;raviklog ・ Nov 22 '22&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#dotnet&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#framework&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#core&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;In this article, presenting the basic building blocks that make up the .NET Framework in detail&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--m5g35umd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ljp00bv9yzazsh0bgwty.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--m5g35umd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ljp00bv9yzazsh0bgwty.png" alt="building blocks" width="800" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As Humans we need language to communicate and that’s true for the world inside machines and there should be rules/specifications defined, so that developers can follow them and make the information flow in a meaningful way through applications.&lt;/p&gt;

&lt;p&gt;CLI (Common Language Infrastructure) provides the base infrastructure with set of specification/standard that defines the basic rules for creating and managing the applications and also the runtime environment that supports application execution at multiple platforms. The core components that help to perform the same,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Common Type System (CTS)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Common Language Specification (CLS)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;CLR (Common Language Runtime)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;FCL (Framework Class Library)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The Common Type System (CTS)&lt;/strong&gt; is a key component of the Microsoft .NET Framework, and it is used to define and enforce rules for the data types that can be used within .NET applications. CTS ensures that all .NET languages use a common set of data types and that they can interoperate and exchange data.&lt;br&gt;
At the broader level, CTS differentiates data types as Value &amp;amp; Reference types, which indicates the way data is stored in memory.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ptfvfQM6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3lhextk47f5yq57f8doc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ptfvfQM6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3lhextk47f5yq57f8doc.png" alt="CTS Data Types" width="800" height="472"&gt;&lt;/a&gt;&lt;br&gt;
Value types get stored in the stack part of the memory and Reference types gets stored in the Heap part of the memory and there are reasons to it... (More on &lt;strong&gt;stack &amp;amp; heap&lt;/strong&gt; in my later article)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are some of the common Rules that CTS mandates?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Any types declared in .NET languages need to fall under (either Value/Reference types). So, it gives the power to .NET to handle manage, store and execute according to its boundaries and make it strongly typed. All these types can be traced back to 
&lt;strong&gt;System.Object&lt;/strong&gt; in .NET. (User defined classes are not inheriting directly from &lt;strong&gt;System.Object&lt;/strong&gt;, but it is an implicit inheritance that the CTS handles)&lt;/li&gt;
&lt;li&gt;CTS does not allow types to inherit more than one base type.&lt;/li&gt;
&lt;li&gt;CTS also defines rules for operators such as (arithmetic and 
comparison operators), which can be overloaded and used with different types.&lt;/li&gt;
&lt;li&gt;CTS defines rules for generics (to create type-safe collections), rules for interfaces (to define properties and methods), rules for enumerations, exceptions &amp;amp; nullable types&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Below sample shows the usage of primitive types in 2 different languages (C# &amp;amp; VB.NET) and how CTS defines base types and organizes it in root System namespace. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--J9DMgo1x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t5u0dcof1ibldxho9b4v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--J9DMgo1x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t5u0dcof1ibldxho9b4v.png" alt="Basic CTS" width="699" height="435"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Common Language Specification (CLS)&lt;/strong&gt; is a subset of CTS, and it ensures that all the.NET Framework languages can interoperate and exchange code between them. &lt;/p&gt;

&lt;p&gt;CLS rules are more of how the languages implement specifications. Some of the common CLS rules are as below,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;All languages must support the CTS, which defines a set of common data types.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;All public methods and properties must use only CLS compliant data types, which are data types that are defined by the CTS and are supported by all languages.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;All languages must support exception handling and must use the same mechanisms for throwing and catching exceptions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;All languages must support interoperability with other .NET languages and must provide mechanisms for calling methods and properties defined in other languages.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Does all .NET languages support CLS Rules?&lt;/strong&gt;&lt;br&gt;
Hmm...there are languages which are CLS Compliant (C#, VB.NET), and some are not (F#,IronPython), but since all these languages fall under.NET Framework, they can interact with each other. However in some cases, the Non-Compliance issues might arise during cross integrations and those issues need to be handled by the developer on case-by-case basis(&lt;strong&gt;like in some cases follow compliance rules, or opt for conversion route or hybrid of both&lt;/strong&gt;)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Lwrq8kVR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9kb86fqzhn9it1ixefy9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Lwrq8kVR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9kb86fqzhn9it1ixefy9.png" alt="CTS_CLS_Subset" width="447" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Does it seem CTS &amp;amp; CLS overlap? *&lt;/em&gt;&lt;br&gt;
There is always this confusion on the overlapping of the CTS &amp;amp; CLS, but in broader view, the CTS defines a comprehensive set of rules for defining and using types in code, while the CLS defines a more limited set of rules that all.NET languages are required to support for better interoperability.&lt;/p&gt;

&lt;p&gt;Then comes the FCL (&lt;strong&gt;Framework Class Library&lt;/strong&gt;)- main staple for the day-to-day activities of a.NET developer, is a set of libraries and APIs that cover various domains and functionality, such as data access, networking, security, and user interface. some of the commonly used libraries&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GP6XrCJ9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lhyscf16c0ywarqxh12z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GP6XrCJ9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lhyscf16c0ywarqxh12z.png" alt="FCL_Basics" width="800" height="404"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check through the below URL for complete list of libraries supported by.NET&lt;br&gt;
&lt;a href="https://learn.microsoft.com/en-us/dotnet/standard/framework-libraries"&gt;.NET FCL&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally, the execution engine of the .NET Framework - &lt;strong&gt;CLR (Common Language Runtime)&lt;/strong&gt;.It is responsible for executing.NET applications and managing their runtime environment. The CLR provides services such as memory management, security, and exception handling, and it is responsible for enforcing the rules and conventions defined by the CTS to ensure that programs run safely and without causing unintended effects. &lt;br&gt;
So once the developer generates the binaries intended for specific machine architecture (x86/x64) it can be used in the target machine for execution. So, in any client/target system, the .NET Runtime Framework needs to be installed to execute the binaries.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4hRIgw-T--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kietcs8aenp5ovwj3gcz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4hRIgw-T--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kietcs8aenp5ovwj3gcz.png" alt="Image description" width="755" height="224"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As more applications are migrating/already migrated to Cloud and Docker based systems, where-in compilation, deployment and execution are so modularized/containerized, this article here only tries to give an insight on how the.NET framework handles it for all standard.NET applications. &lt;/p&gt;

&lt;p&gt;It might be that you have chance to develop Standard.NET applications or migrate them to newer designs or possibly creating compilers or more in-depth work on Framework, knowing the building blocks could help to drill down core specifications to build newer systems.&lt;/p&gt;

&lt;p&gt;Let know of your comments/suggestions!!!&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>dotnet</category>
    </item>
    <item>
      <title>.NET Ecosystem</title>
      <dc:creator>raviklog</dc:creator>
      <pubDate>Tue, 22 Nov 2022 12:53:53 +0000</pubDate>
      <link>https://dev.to/raviklog/net-ecosystem-258k</link>
      <guid>https://dev.to/raviklog/net-ecosystem-258k</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--K8BXrXrv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8demjaliua1316v9vkwh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--K8BXrXrv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8demjaliua1316v9vkwh.png" alt=".NET Ecosystem" width="691" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;.NET Ecosystem is quite vast, and it is difficult to comprehend certain times where all the systems fit in. In my first article here, I will attempt to simplify the details and hope you like it.&lt;/p&gt;

&lt;p&gt;All of us either worked/heard/used applications of different variants (Mobile, Web, Cloud, Games, Desktop, Console, Services and so on in Microsoft or other Platforms over the years. .NET provides capabilities to develop and ship them to end users, which we could call it as the ecosystem)&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;.NET Framework&lt;/strong&gt; is the Foundation of the Ecosystem and the first to be introduced by Microsoft around early 2002. It encompasses the following,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Common Language Infrastructure&lt;/strong&gt; (CLI) which is basically a neutral platform for application development and execution irrespective of the Programming language that.NET supports (C#, VB.NET, F#...) …So basically, contains Language constructs that support this behavior.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Framework Class Library&lt;/strong&gt; (FCL) that provides pre-defined set of Core Functions, Tools and Libraries which Developers can use to develop their applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Execution Engine of .NET Framework (&lt;strong&gt;“CLR or Common Language Runtime”&lt;/strong&gt;) which executes the .NET applications at the target system. It happens in 2 steps&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Language code is compiled into an Intermediate code (MSIL) during build/compile time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;During the execution of the application, the Just in Time (JIT) compiler turns the IL code into Machine readable code... (Sample &lt;strong&gt;hello world&lt;/strong&gt; program is demonstrated below...here we can see how .NET source is compiled to Intermediate code by compilers and then at runtime machine specific code is generated through JIT)&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EQNe4B8k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r3zdgqid8wmukvdi5r3u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EQNe4B8k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r3zdgqid8wmukvdi5r3u.png" alt=".NET Compilation" width="800" height="208"&gt;&lt;/a&gt;&lt;br&gt;
(Refer the &lt;strong&gt;ildasm&lt;/strong&gt; disassembler as part of .NET VS tools so see your IL code)&lt;br&gt;
Do checkout the URL Link for more options to work on the tool&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://learn.microsoft.com/en-us/dotnet/framework/tools/ildasm-exe-il-disassembler" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://res.cloudinary.com/practicaldev/image/fetch/s--Mam6WTLX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://learn.microsoft.com/dotnet/media/dotnet-logo.png" height="456" class="m-0" width="456"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://learn.microsoft.com/en-us/dotnet/framework/tools/ildasm-exe-il-disassembler" rel="noopener noreferrer" class="c-link"&gt;
          Ildasm.exe (IL Disassembler) - .NET Framework | Microsoft Learn
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          Use Ildasm.exe (IL Disassembler), which takes a portable executable (PE) file containing intermediate language (IL) code, and makes a text file for Ilasm.exe.
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
        learn.microsoft.com
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;(&lt;strong&gt;.NET Framework 4.8&lt;/strong&gt; is the Latest version from this edition and planned for longer support.)&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;.NET Core&lt;/strong&gt; is an improvement over the .NET Framework, where-in the idea behind is to provide cross platform support for other operating systems (for Linux and MacOS) and make it open source so that it reaches wider developer audience and allows developing modern applications. Basically, Microsoft has decoupled the .NET Framework from windows-based and created the Core as generic platform. Now the .NET apps can run in containers on Linux and other places. It encompasses the following&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;CoreCLR&lt;/strong&gt; which is similar to what CLR does for .NET Framework with much bigger canvas of execution environment across platforms.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;CoreFX&lt;/strong&gt; which gets the roots of the FCL from .NET Framework and provide add-on libraries on top of that to support varied platforms and application categories.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Nuget&lt;/strong&gt; the Package Manager introduced in Core and supports sharing of reusable code libraries…It also aids in getting latest updates/revisions of software. Developed as an SAS by .NET foundation and promoted as open source.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Better to check out the link &lt;a href="https://dotnet.microsoft.com/en-us/download/dotnet"&gt;core framework&lt;/a&gt; for various .NET versions currently active and in for LTS (Long term support) &lt;/p&gt;




&lt;p&gt;&lt;strong&gt;.NET Standard&lt;/strong&gt; at the basic level is a bridge for the libraries used in (.NET Framework, .NET Core, Unity, XAMARIN and so on...). So basically, a conformance path where-in the interoperability between applications built in.NET framework and other .NET variants could be maintained.&lt;br&gt;
*&lt;em&gt;.NET Standard (2.1) *&lt;/em&gt; is the Latest version.&lt;br&gt;
Till .NET Standard (2.0) version, it is observed to be most supportive of.NET framework versions (till 4.8) but in.NET Standard (2.1) or later, the.NET takes its own deviation in terms of specifications for.NET 5 or later and it’s not part of Standard 2.1.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Tools&lt;/strong&gt; Regular and repetitive tasks of developers such as development, configuration, analysis, testing and deploying is supported through the *&lt;em&gt;VS (Visual Studio) *&lt;/em&gt; Code editor with range of embedded tools...This broadly reduces the time to look outwards and be more productive.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Code Editing&lt;/strong&gt;

&lt;ol&gt;
&lt;li&gt;Intellisense that gives suggestions/recommendations for API 
access, helps to avoid syntactical errors and aid code 
completion.&lt;/li&gt;
&lt;li&gt;Automatic code generations through shortcuts and support 
for macros.&lt;/li&gt;
&lt;li&gt;Other interactive options such as (Indentations, Outlining, 
bookmarking, snippets and direct code run/debug operations 
and so on...)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Code Integration&lt;/strong&gt; with GIT Repos (Developers can create local repositories to maintain code and also sync up with remote repository through VS... hugely helps to be consistent.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Exploring&lt;/strong&gt;(VS provides Exploring/connecting to external databases in Remote servers or in Cloud, Solution explorers to maintain different Projects, Test Explorers to configure and maintain Test codes and other exploring options to enhance code productivity)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Shell/Command based&lt;/strong&gt; (Executing build scripts or deployment batches could be done faster through PowerShell/command lines)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;.NET through VS gives an integrated approach right from Code production to deployment and maintenance and just aids the whole lifecycle of Software Development.&lt;br&gt;
(VS Code...the open-source version of Visual Studio is lightweight and also supports array of programming languages.&lt;br&gt;
Do checkout this link for knowing more&lt;br&gt;
&lt;a href="https://code.visualstudio.com"&gt;VS Code&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GQnSpHcW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m3xv5mhrj6rkcbmxki8d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GQnSpHcW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m3xv5mhrj6rkcbmxki8d.png" alt="VS tools" width="800" height="279"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally, Extending .NET across other platforms&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Unity&lt;/strong&gt; is a Cross-platform gaming engine, that uses &lt;strong&gt;Mono&lt;/strong&gt; (the open-source version of.NET framework based on ECMA standards) for their back-end scripting. Recently there seems to be a move-over to ILCPP by Unity. So, need to see how in coming times the adaptation of .NET in Unity/other Gaming platforms go through). To study more on Unity pls check out &lt;a href="https://unity.com"&gt;Unity&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;UWP&lt;/strong&gt; (Universal windows platform) is a Windows only initiative that targets different devices (Windows PCs, Xbox, Surface, Holo Lens and others...developers can create apps and publish them on the windows store and get monetized as well...Check out the link for more details&lt;br&gt;
&lt;a href="https://learn.microsoft.com/en-us/windows/uwp"&gt;UWP&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Xamarin&lt;/strong&gt;, Yet another Cross platform Mobile framework from Microsoft. Xamarin was introduced to create native apps for Android, iOS &amp;amp; Windows using C#.NET. To get started check out &lt;a href="https://dotnet.microsoft.com/en-us/apps/xamarin/xamarin-forms"&gt;Xamarin&lt;/a&gt;&lt;br&gt;
successor to Xamarin, Multi-Platform App UI with focus on building native desktop and mobile Apps for cross platform…Kind of unifying multiple.NET technologies. Check out the Link for learning more on this &lt;a href="https://learn.microsoft.com/en-us/dotnet/maui/what-is-maui?view=net-maui-7.0"&gt;MAUI&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tried to converge different parts of this .NET ecosystem only at basic level and there is much more to explore.&lt;/p&gt;

&lt;p&gt;hope it helps and do share your suggestions!&lt;/p&gt;

</description>
      <category>dotnet</category>
      <category>framework</category>
      <category>beginners</category>
      <category>core</category>
    </item>
  </channel>
</rss>
