<?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: Immaculate Njoroge</title>
    <description>The latest articles on DEV Community by Immaculate Njoroge (@enajciiru).</description>
    <link>https://dev.to/enajciiru</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%2F764440%2Fded616f0-6a1c-4b0c-a71a-c70835cac98e.jpeg</url>
      <title>DEV Community: Immaculate Njoroge</title>
      <link>https://dev.to/enajciiru</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/enajciiru"/>
    <language>en</language>
    <item>
      <title>Introduction to React.js</title>
      <dc:creator>Immaculate Njoroge</dc:creator>
      <pubDate>Sun, 06 Mar 2022 19:50:02 +0000</pubDate>
      <link>https://dev.to/enajciiru/introduction-to-reactjs-336h</link>
      <guid>https://dev.to/enajciiru/introduction-to-reactjs-336h</guid>
      <description>&lt;p&gt;This article covers a brief introduction to the React library as I dive more into it in the coming weeks.&lt;br&gt;
This is part of my #100DaysofCode challenge&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;React&lt;/strong&gt; is a JavaScript library which builds user interfaces. Mostly used and run by Facebook.&lt;/p&gt;

&lt;h2&gt;
  
  
  Features of React
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;JSX&lt;/strong&gt;&lt;br&gt;
This is JavaScript XML. It is JavaScript syntax extension which combines JavaScript and XML language.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Virtual Document Object Model (DOM)&lt;/strong&gt;&lt;br&gt;
React library generates an in-memory data structure cache which computes changes then updates the browser. Any corrections made, are compared it to its previous state and only updates objects in the real DOM instead of updating all of the objects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Components&lt;/strong&gt;&lt;br&gt;
React is made up of several building blocks with their own distinct functions. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One-way Data Binding&lt;/strong&gt;&lt;br&gt;
The data flow is in one direction, done by Flux. The callback of components is done after they are edited. This is as the data in the components is immutable (cannot be changed). &lt;/p&gt;

&lt;h2&gt;
  
  
  Advantages of React?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It is straightforward making it easy to learn and use&lt;/li&gt;
&lt;li&gt;It utilizes Native approach-reusable code supported throughout Android, IOS and Web applications&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Disadvantages of React
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It is a library and not a complete framework-makes it less useful as it depends on external libraries&lt;/li&gt;
&lt;li&gt;It is relatively new and is constantly changing and updating which maybe a hassle to some.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>react</category>
      <category>beginners</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Going past the finish line</title>
      <dc:creator>Immaculate Njoroge</dc:creator>
      <pubDate>Wed, 19 Jan 2022 16:34:00 +0000</pubDate>
      <link>https://dev.to/enajciiru/going-past-the-finish-line-5ad</link>
      <guid>https://dev.to/enajciiru/going-past-the-finish-line-5ad</guid>
      <description>&lt;p&gt;Been contemplating about writing this for a while. Seeing that I have committed myself to starting over my tech career and to myself here goes...&lt;/p&gt;

&lt;p&gt;I am a student who starts tasks and projects with so much enthusiasm and zeal then somewhere close to the goal I panic and give up altogether. Done this far too many times and I go back to the cycle again.&lt;/p&gt;

&lt;p&gt;As I write this, I am making myself accountable and going past the finish line. No matter what.&lt;/p&gt;

&lt;p&gt;There are many things which I need to do and code to run despite the lack of time at the present due to procrastination. I have realized I work well under pressure-maybe a way of putting my ADHD to the test (not a pretty sight) . In addition, I am quite a resourceful person and ensure that I make things happen-I am proud of this as it is one of my character traits.&lt;/p&gt;

&lt;p&gt;So I am making this happen and journaling my progress here counts as my accountability space? Partner maybe?&lt;/p&gt;

&lt;p&gt;No bitching around and making excuses-cross the finish line. Remember it's a marathon as long as you are on the other side and see how far you've come, that feeling is priceless.&lt;/p&gt;

&lt;p&gt;Hope you can cheer me along as I do this and finish my final year project and get my degree.&lt;/p&gt;

&lt;p&gt;Or maybe you need some inspiration and encouragement-you've got this and I am rooting for you.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>career</category>
      <category>commitment</category>
    </item>
    <item>
      <title>Introduction to HTML and CSS</title>
      <dc:creator>Immaculate Njoroge</dc:creator>
      <pubDate>Mon, 29 Nov 2021 20:50:55 +0000</pubDate>
      <link>https://dev.to/enajciiru/introduction-to-html-and-css-3hj4</link>
      <guid>https://dev.to/enajciiru/introduction-to-html-and-css-3hj4</guid>
      <description>&lt;p&gt;Hyper Text Markup Language (HTML) is the standard markup language for creating Web pages. It describes the structure of a Web page&lt;/p&gt;

&lt;p&gt;HTML is made up of a series of elements. These help in informing the browser on how the content is displayed.&lt;/p&gt;

&lt;p&gt;An HTML element is defined by a start tag, some content, and an end tag:&lt;br&gt;
&lt;code&gt;&amp;lt;tagname&amp;gt;Content goes here...&amp;lt;/tagname&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;An example of HTML Webpage Document&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;title&amp;gt;Page Title&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;

&amp;lt;h1&amp;gt;My First Heading&amp;lt;/h1&amp;gt;
&amp;lt;p&amp;gt;My first paragraph.&amp;lt;/p&amp;gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Elements explained&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/code&gt; declaration defines that this document is an HTML5 document&lt;br&gt;
The &lt;code&gt;&amp;lt;html&amp;gt;&lt;/code&gt; element is the root element of an HTML page&lt;br&gt;
The &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; element contains meta information about the HTML page&lt;br&gt;
The &lt;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt; element specifies a title for the HTML page (which is shown in the browser's title bar or in the page's tab)&lt;br&gt;
The &lt;code&gt;&amp;lt;body&amp;gt;&lt;/code&gt; element defines the document's body, and is a container for all the visible contents, such as headings, paragraphs, images, hyperlinks, tables, lists, etc.&lt;br&gt;
The &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; element defines a large heading&lt;br&gt;
The &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt; element defines a paragraph&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS&lt;/strong&gt;&lt;br&gt;
CSS is called Cascading Style Sheet. This is what aids in the styling and formatting of the web pages.&lt;/p&gt;

&lt;p&gt;There are three methods of including CSS in an HTML document:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Inline styles&lt;/strong&gt; — This is done by using the &lt;code&gt;style&lt;/code&gt; attribute in the HTML start tag.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Embedded styles&lt;/strong&gt; — This is done by using the &lt;code&gt;&amp;lt;style&amp;gt;&lt;/code&gt; element in the head section of a document.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;External style sheets&lt;/strong&gt; — This is done by using the &lt;code&gt;&amp;lt;link&amp;gt;&lt;/code&gt; element, pointing to an external CSS file.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Inline styles&lt;/strong&gt;&lt;br&gt;
Inline styles are used to apply the unique style rules to an element by putting the CSS rules directly into the start tag. It can be attached to an element using the &lt;code&gt;style&lt;/code&gt; attribute.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;style&lt;/code&gt; attribute includes a series of CSS property and value pairs. Each &lt;code&gt;"property: value"&lt;/code&gt; pair is separated by a semicolon &lt;code&gt;(;)&lt;/code&gt;, just as you would write into an embedded or external style sheets. &lt;br&gt;
All need to be in one line i.e. no line break after the semicolon, as shown here:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;h1 style="color:purple; font-size:18px;"&amp;gt;This is a heading&amp;lt;/h1&amp;gt;
&amp;lt;p style="color:red; font-size:42px;"&amp;gt;This is a paragraph.&amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Embedded Style Sheets&lt;/strong&gt;&lt;br&gt;
They only affect the document they are embedded in.&lt;/p&gt;

&lt;p&gt;Embedded style sheets are defined in the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; section of an HTML document using the &lt;code&gt;&amp;lt;style&amp;gt;&lt;/code&gt; element. &lt;/p&gt;

&lt;p&gt;You can define any number of &lt;code&gt;&amp;lt;style&amp;gt;&lt;/code&gt; elements in an HTML document but they must appear between the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;/head&amp;gt;&lt;/code&gt;tags. Let's take a look at an example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;link rel="stylesheet" href="styles.css"&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;

&amp;lt;h1&amp;gt;This is a heading&amp;lt;/h1&amp;gt;
&amp;lt;p&amp;gt;This is a paragraph.&amp;lt;/p&amp;gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;External Style Sheets&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is used when the style is applied to many pages of the website.&lt;br&gt;
Holds all the style rules in a separate document that you can link from any HTML file on your site.&lt;/p&gt;

&lt;p&gt;You can attach external style sheets in two ways — linking and importing.&lt;/p&gt;

&lt;p&gt;style.css&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;body {
    background: lightblue;
    font: 20px Tahoma, sans-serif;
}
h1 {
    color: yellow;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Linking External Style Sheets&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is done by the &lt;code&gt;&amp;lt;link&amp;gt;&lt;/code&gt; tag goes inside the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; section, as you can see in the following example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;My HTML Document&amp;lt;/title&amp;gt;
    &amp;lt;link rel="stylesheet" href="css/style.css"&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;This is a heading&amp;lt;/h1&amp;gt;
    &amp;lt;p&amp;gt;This is a paragraph of text.&amp;lt;/p&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Importing External Style Sheets&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is done by the &lt;code&gt;@import&lt;/code&gt; statement instructs the browser to load an external style sheet and use its styles.&lt;/p&gt;

&lt;p&gt;You can use it in two ways. The simplest is within the header of your document.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;style&amp;gt;
    @import url("css/style.css");
    p {
        color: green;
        font-size: 24px;
    }
&amp;lt;/style&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The other way is by the &lt;code&gt;@import&lt;/code&gt; rule to import a style sheet within another style sheet.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@import url("css/layout.css");
@import url("css/color.css");
body {
    color: blue;
    font-size: 14px;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These are some of the aspects of CSS I would love to share. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>html</category>
      <category>css</category>
    </item>
    <item>
      <title>Introduction to Version Control Systems</title>
      <dc:creator>Immaculate Njoroge</dc:creator>
      <pubDate>Mon, 29 Nov 2021 19:42:43 +0000</pubDate>
      <link>https://dev.to/enajciiru/introduction-to-version-control-systems-551l</link>
      <guid>https://dev.to/enajciiru/introduction-to-version-control-systems-551l</guid>
      <description>&lt;p&gt;A Version Control software provides a mechanism to track changes in files over a period of time ensuring that one recalls specific versions later.&lt;/p&gt;

&lt;p&gt;It helps developers in teams as  one developer may be working on a new feature while another developer fixes an unrelated bug by changing code ensuring each developer may make their changes in several parts of the file tree. The source code for a project, app or software component is typically organized in a folder structure or "file tree".&lt;/p&gt;

&lt;p&gt;Primary benefits from version control are as follows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Long term change or history: Having the complete history enables going back to previous versions to help in root cause analysis for errors. Also important when fixing problems in older versions of software. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Branching and merging. Creating a "branch" in VCS tools keeps multiple streams of work independent from each other while also providing the facility to merge that work back together, enabling developers to verify that the changes on each branch do not conflict.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Traceability. This is done through Issues and Pull Requests.&lt;br&gt;
Each work item can be planned as an Issue, with tags. When you commit code relevant to that Issue, referencing it in the commit message by the Issue number (eg #123) will link that commit on the Issue page. &lt;br&gt;
It helps one in not referencing the Issue in every commit and one can create a Pull Request for a long-running branch. The Pull Request stays up to date as you push changes to the branch, and you can reference the Issue from the Pull Request description in the same way (#123) to tie the two together. Pull Requests are GitHub's solution to code reviews, &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In this article I am focusing on Git as a Version Control System.  &lt;/p&gt;

&lt;p&gt;It was created in 2005 by Linus Torvalds. In addition, is a free open source software with a distributed architecture. Distributed Architecture means that each person contributing to the repository has a copy of the repository on his own machine. This makes the operations really fast.&lt;/p&gt;

&lt;p&gt;One can download Git here:(&lt;a href="https://git-scm.com/downloads"&gt;https://git-scm.com/downloads&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Basic Git Commands and Functions:&lt;/strong&gt;&lt;br&gt;
Once you have installed Git, the very first task can be to create a new repository so that Git can start tracking your files. To start this, you need to provide basic configuration information to GIT like who you are. This can be achieved in Git as below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4VCVpHcB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vzkl9tbywbedsj0m5nlq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4VCVpHcB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vzkl9tbywbedsj0m5nlq.png" alt="Image description" width="794" height="334"&gt;&lt;/a&gt;&lt;br&gt;
Configuring commands&lt;br&gt;
&lt;code&gt;git config --global user.email "jane_imma@gmail.com"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The “— global" command is user-specific, meaning it is applied to an operating system user. Global configuration values are stored in a file that is located in a user's home directory. &lt;/p&gt;

&lt;p&gt;The "--system" command is a system-level configuration is applied across an entire machine. This covers all users on an operating system and all repos&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating a new repository&lt;/strong&gt;&lt;br&gt;
A repository is the place where we will keep all the files that we want Git to track.&lt;/p&gt;

&lt;p&gt;We use the “git init” command.&lt;/p&gt;

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

&lt;p&gt;The folder first_repo is where we have created a new repository. Remember that the repository is the place where we will keep all the files that we want GIT to track.&lt;br&gt;
The init command creates an empty git repository under the folder “first_repo”. If we check the contents of the first_repo folder, we will see a directory “.git&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cloning to a specific folder&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;git clone &amp;lt;repo&amp;gt; &amp;lt;directory&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Clone the repository located at ＜repo＞ into the folder called ~＜directory＞! on the local machine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cloning a specific tag&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;git clone --branch &amp;lt;tag&amp;gt; &amp;lt;repo&amp;gt;&lt;/code&gt;&lt;br&gt;
Clone the repository located at ＜repo＞ and only clone the ref for ＜tag＞.&lt;/p&gt;

&lt;p&gt;These are some of the commands which I have learnt and will keep updating as I progress.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>git</category>
    </item>
  </channel>
</rss>
