<?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: Shiva Sai</title>
    <description>The latest articles on DEV Community by Shiva Sai (@urstrulysai).</description>
    <link>https://dev.to/urstrulysai</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%2F629617%2F4d38e413-3981-447b-acf9-1fd7cf5d2371.jpg</url>
      <title>DEV Community: Shiva Sai</title>
      <link>https://dev.to/urstrulysai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/urstrulysai"/>
    <language>en</language>
    <item>
      <title>HTML</title>
      <dc:creator>Shiva Sai</dc:creator>
      <pubDate>Tue, 30 Nov 2021 10:05:05 +0000</pubDate>
      <link>https://dev.to/urstrulysai/html-3kge</link>
      <guid>https://dev.to/urstrulysai/html-3kge</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;u&gt;What is HTML&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;HTML is an acronym that stands for Hyper Text Markup Language which is used for creating web pages and web applications. Let's see what is meant by Hypertext Markup Language, and a Web page.&lt;/p&gt;

&lt;p&gt;Hyper Text: Hyper Text simply means "Text within Text." A text that has a link within it, is a hypertext. Whenever you click on a link that brings you to a new webpage, you have clicked on a hypertext. Hyper Text is a way to link two or more web pages (HTML documents) with each other.&lt;/p&gt;

&lt;p&gt;Markup language: A markup language is a computer language that is used to apply layout and formatting conventions to a text document. Markup language makes the text more interactive and dynamic. It can turn text into images, tables, links, etc.&lt;/p&gt;

&lt;p&gt;Web Page: A web page is a document that is commonly written in HTML and translated by a web browser. A web page can be identified by entering an URL. A Web page can be of the static or dynamic type. With the help of HTML only, we can create static web pages.&lt;/p&gt;

&lt;p&gt;Hence, HTML is a markup language that is used for creating attractive web pages with the help of styling, and which looks in a nice format on a web browser. An HTML document is made of many HTML tags and each HTML tag contains different content.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Features of HTML&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;1) It is a very easy and simple language. It can be easily understood and modified.&lt;/p&gt;

&lt;p&gt;2) It is very easy to make an effective presentation with HTML because it has a lot of formatting tags.&lt;/p&gt;

&lt;p&gt;3) It is a markup language, so it provides a flexible way to design web pages along with the text.&lt;/p&gt;

&lt;p&gt;4) It facilitates programmers to add a link on the web pages (by HTML anchor tag), so it enhances the interest of browsing of the user.&lt;/p&gt;

&lt;p&gt;5) It is platform-independent because it can be displayed on any platform like Windows, Linux, and Macintosh, etc.&lt;/p&gt;

&lt;p&gt;6) It facilitates the programmer to add Graphics, Videos, and Sound to the web pages which makes it more attractive and interactive.&lt;/p&gt;

&lt;p&gt;7) HTML is a case-insensitive language, which means we can use tags either in lower-case or upper-case.&lt;/p&gt;

</description>
      <category>html</category>
      <category>javascript</category>
      <category>tutorial</category>
      <category>programming</category>
    </item>
    <item>
      <title>What is "Software Architecture”</title>
      <dc:creator>Shiva Sai</dc:creator>
      <pubDate>Tue, 11 May 2021 19:32:27 +0000</pubDate>
      <link>https://dev.to/urstrulysai/what-is-software-architecture-417o</link>
      <guid>https://dev.to/urstrulysai/what-is-software-architecture-417o</guid>
      <description>&lt;p&gt;As the importance of software continues to increase in our everyday life, the underlying methodical foundation, known as software architecture, should become common developer knowledge and skill.&lt;br&gt;
In a short series of blog posts, we like to briefly introduce this topic.&lt;br&gt;
An overly general definition of architecture&lt;br&gt;
Let’s start with an explanation of the term architecture itself – Wikipedia helps us out:&lt;br&gt;
The word is of Greek origin: ἀρχιτέκτων (arkhitekton), meaning both process and product of planning, designing and constructing buildings and other stuff. In everyday language, architecture means either “designing buildings” or the “design of buildings”.&lt;br&gt;
In information technology (IT), we use Architecture in a different way. For us it encompasses at least the following topics:&lt;br&gt;
• organization of (single) software systems&lt;br&gt;
• combinations of hardware and software (called system architecture)&lt;br&gt;
• organization of information technology within organizations (called enterprise IT architecture)&lt;br&gt;
The IT-related semantics of architecture obviously has its roots in the analogy to building and real-estate architecture - where architects design and construct immobile and rather rigid structures.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WF9q9rS8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hssl7zpgprhqfpxl71ip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WF9q9rS8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hssl7zpgprhqfpxl71ip.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some terms in context of software architecture&lt;br&gt;
An IT-specific definition of software architecture&lt;br&gt;
Let us move towards a more precise and comprehensive definition of software architecture – which will tell us “what” to do (no definition ever tells us “how” to do something – we need a little more room for answers to that question.)&lt;br&gt;
Software Architecture: the fundamental organization of a system embodied in its components, their relationships to each other and to the environment and the principles guiding its design and evolution.&lt;br&gt;
IEEE Standard 1471&lt;br&gt;
Let me explain some key terms of this definition:&lt;br&gt;
System&lt;br&gt;
The Merriam-Webster dictionary defines a system as “a regularly interacting or interdependent group of items forming a unified whole”.&lt;br&gt;
This definition is so abstract, it covers every conglomerate of arbitrary items either interacting or just being stuck together.&lt;br&gt;
In software, we usually have interacting building blocks (== code) cooperating with each other to fulfil some system requirements. An alternative term could be application or program.&lt;br&gt;
Every system is embedded into some environment (see below).&lt;br&gt;
Systems can have arbitrary sizes, e.g.&lt;br&gt;
• the software system we’re often ranting about,&lt;br&gt;
• the system of servers and networks we like to call cloud,&lt;br&gt;
• the huge multinational corporation that’s owning both hard- and software, and so on.&lt;br&gt;
The term system can quite easily become a source of severe misunderstanding, when people remain vague about the concrete scope of the system they are currently thinking about.&lt;br&gt;
Components&lt;br&gt;
Subsystems, modules, classes, functions – for which I usually prefer the term building block as a generalized version of the structural elements of software: Components are usually implemented in source code in a programming language, but can also be other artifacts that (together) make up the system.&lt;br&gt;
Relationships&lt;br&gt;
Interfaces, dependencies, associations - many names for the same feature: Components need to interact with other components, otherwise no separation of concerns (division of responsibility) would be possible. The downside: Designing good interfaces is really difficult, and misunderstandings at the interface level are the source of many problems in software systems.&lt;br&gt;
Environment&lt;br&gt;
Every system has some relationships (aka interfaces, dependencies) to its environment: data, control flow or events are transferred to and from maybe different kinds of neighbours. The Context view of software emphasizes the importance of these external interfaces. The following example shows the application itself in yellow and the neighbouring systems in grey.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--A5okbsBn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rl5sh2mwqrbjui5xsn61.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A5okbsBn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rl5sh2mwqrbjui5xsn61.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A simple system with its (business or logical) environment&lt;br&gt;
Principles&lt;br&gt;
A rule that holds for the whole system or several parts of it. Some decision or definition, usually valid for several elements of the system. I prefer the term concept instead of principle: Concepts are the foundation for conceptual integrity or consistency – in my opinion, one of the most important qualities of software systems Concepts can be developed and modified during development, they are often driven by specific quality requirements (like performance, scalability, robustness or security).&lt;br&gt;
Design and Evolution&lt;br&gt;
Cross-cutting and system-wide decisions might become necessary during both initial design and ongoing evolution and maintenance of systems. Most non-trivial systems require such decisions taken at key points during their lifecycle, definitely not restricted to the initial design and implementation phase.&lt;br&gt;
How to design/develop Software Architectures?&lt;br&gt;
The International Software Architecture Qualification Board, a non-profit standardization body, has defined a curriculum describing several sub-disciplines of software architecture.&lt;br&gt;
That’s congruent to the (open-source) arc 42 overview of software architecture tasks, please see the mind map below for an overview.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iMKpy0Ps--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oo48n23vsqilb87p8rwi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iMKpy0Ps--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oo48n23vsqilb87p8rwi.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tasks of Software Architects&lt;br&gt;
Architecture is an inherently iterative endeavor which requires feedback on several levels (to name just a few: technical, structural, conceptual, methodical, personal). Therefore I strongly believe in architecture as a team or group activitiy, instead of delegating all the tasks to a single person, in order to improve feedback and quality.&lt;br&gt;
Common Misunderstandings&lt;br&gt;
In my 20+ years of practical work in software architecture, I encountered several recurring misunderstandings regarding “architecture”. The most critical of these: People sometimes have different reference points when talking about architecture, especially with respect to the system under consideration:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Some people refer to the system as a single (yet often quite large!) piece of software. Their understanding of architecture refers to this scope. This is my favourite interpretation.&lt;/li&gt;
&lt;li&gt; Other people interpret the system as the underlying hardware: These people often name the discipline System Architecture, and their building blocks or main architectural elements consists of physical infrastructure (or at least virtualized infrastructure). I prefer to call this discipline infrastructure architecture to avoid the term “system”.&lt;/li&gt;
&lt;li&gt; A third category interprets the system as a combination of hardware and software. Often, they call their discipline System Architecture, containing hardware- and software-architecture as sub-disciplines. I heard this interpretation from people constructing and building embedded systems, e.g. refrigerators, washing machines, airports or airplanes.&lt;/li&gt;
&lt;li&gt; Some organizations introduced the role of Solution Architects. Nobody could ever explain to me what the difference between software- and solution architects is, but the term exists anyhow. I personally have not the faintest idea why one should need a second term (solution architecture) with exactly the same semantic as the (proven and established) term software architecture. If you encounter this term, make sure you understand what’s meant by solution before starting to work on it.&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>webdev</category>
      <category>overview</category>
      <category>firstpost</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
