Computer Science and Engineering: B.V.C College of Engineering
Computer Science and Engineering: B.V.C College of Engineering
BACHELOR OF TECHNOLOGY
IN
DEPARTMENT
OF
COMPUTER SCIENCE & ENGINEERING
RAJAHMUNDRY
CERTIFICATE
Last but not the least, we owe a great deal to our Principal Dr.
T.V. JANARDHANA RAO, BE, M.Tech, MBA ,Ph.D, MISTE, FIETE, MIEE. for
his extending a helping hand at every juncture of need.
ACKNOWLEDGMENT:
First and foremost, we sincerely salute our esteemed institution,
B.V.C COLLEGE OF ENGINEERING, for giving us this golden
opportunity to fulfill our warm dreams of becoming engineers.
Last but not least, we owe a great deal to our Principal, Dr.
T.V.JANARDHANA RAO, BE, M.Tech, MBA ,Ph.D, MISTE, FIETE, MIEE,
for extending a helping hand at every juncture of need.
HOD
ABSTRACT
Web technologies, encompassing HTML, CSS, and JavaScript, serve as the cornerstone of modern
digital innovation, enabling developers to craft structured, engaging, and interactive web
experiences. HTML provides the essential framework for content, CSS enhances design aesthetics
and responsiveness, and JavaScript empowers real-time interactivity and dynamic functionality.
Building on these, React.js leverages a component-based architecture and declarative syntax to
streamline the creation of scalable, high-performance single-page applications. Complementing web
development, DevOps integrates development and operations practices, emphasizing collaboration,
automation, and continuous integration/continuous deployment (CI/CD). By leveraging tools such
as Git, Docker, Kubernetes, and AWS, DevOps ensures efficient software delivery and adaptability
to market demands. Together, these technologies and methodologies form the backbone of the
modern digital ecosystem, driving innovation, efficiency, and seamless user experiences.
Table of contents
Section Topic Page Numbers
HTML – Overview Basic HTML Document 1-2
HTML Tags 4
HTML Document Structure 5
The Declaration 6
HTML – Basic Tags Heading Tags 7
Paragraph Tag 8
Line Break Tag 9
Centering Content 10
CSS – Overview What is CSS? 12
Advantages of CSS 12
Who Creates and Maintains CSS? 13
CSS Versions? 13
CSS – Syntax The Type Selectors 14
The Universal Selectors 15
The Descendant Selectors 15
The Class Selectors 16
The ID Selectors 17
JavaScript – Overview What is JavaScript? 18
Client-Side Java Script 19
JavaScript – Syntax Comments in JavaScript 20
JavaScript – Placement JavaScript in ... Section 22
JavaScript in ... Section 23
JavaScript in and Sections 24
JavaScript – Variables JavaScript Datatypes 25
JavaScript Variables 27
ReactJS – Overview React versions 28
Features 30
Benefits 31
Applications 34
ReactJS – Installation Toolchain 35
The serve static server 36
Babel compiler 37
Create React App toolchain 38
Use of the React Application 39
Page
Section Topic
Numbers
Devops Overview 42
Evolution 45
Working 46
Devops Lifecycle 47
Linux Command 48
What is shell 49
What is terminal 50
Some disadvantages 51
Bash scriptng 52
Introduction to Github 53
Introduction to AWS 55
AWS Fundamentals 56
Dockers 57
Key component 58
Docker architecture 59
Docker hub 60
HTML
1
HTML
HTML
HTML stands for Hypertext Markup Language, and it is the most widely used
language to write Web Pages.
• Hypertext refers to the way in which Web pages (HTML documents)
are linked together. Thus, the link available on a webpage is called
Hypertext.
<!DOCTYPE html>
<html>
<head>
<title>This is document title</title>
</head>
<body>
<h1>This is a heading</h1>
<p>Document content goes here </p>
</body>
</html>
2
Either you can use Try it option available at the top right corner of the code
box to check the result of this HTML code, or let's save it in an HTML file
test.htm using your favorite text editor. Finally open it using a web browser
like Internet Explorer or Google Chrome, or Firefox etc. It must show the
following.
3
HTML
HTMLTags
As told earlier, HTML is a markup language and makes use of various tags to
format the content. These tags are enclosed within angle braces <Tag
Name>. Except few tags, most of the tags have their corresponding closing
tags. For example, <html> has its closing tag</html> and <body> tag has
its closing tag </body> tag etc.
Above example of HTML document uses the following tags:
Tag Description
<!DOCTYPE.. This tag defines the document type and HTML version.
.>
This tag encloses the complete HTML document and mainly
<html>
comprises of document header which is represented by
<head>...</head> and document body which is
represented by <body>...</body> tags.
This tag represents the document's header which can keep
<head>
other HTMLtags like <title>, <link> etc.
4
HTML
To learn HTML, you will need to study various tags and understand how they
behave, while formatting a textual document. Learning HTML is simple as
users have to learn the usage of different tags in order to format the text or
images to make a beautiful webpage.
World Wide Web Consortium (W3C) recommends to use lowercase tags
starting from HTML 4.
HTML DocumentStructure
<body>
Document body related tags
</body>
</html>
We will study all the header and body tags in subsequent chapters, but for now
let's see whatis document declaration tag.
5
HTML
The <!DOCTYPE>Declaration
There are many other declaration types which can be used in HTML
document depending on
what version of HTML is being used. We will see more details on this
while discussing
<!DOCTYPE...> tag along with other HTML tags.
6
HTML
HTML-BASIC TAGS
Heading Tags
Any document starts with a heading. You can use different sizes for your
headings. HTML alsohas six levels of headings, which use the elements
<h1>, <h2>, <h3>, <h4>, <h5>, and <h6>.
While displaying any heading, browser adds one line before and one line
after thatheading.
Example
<!DOCTYPE html>
<html>
<head>
<title>Heading Example</title>
</head>
<body>
<h1>This is heading 1</h1>
<h2>This is heading 2</h2>
<h3>This is heading 3</h3>
<h4>This is heading 4</h4>
<h5>This is heading 5</h5>
<h6>This is heading 6</h6>
</body>
</html>
7
This will produce the following result:
Paragraph Tag
The <p> tag offers a way to structure your text into different paragraphs. Each
paragraph of text should go in between an opening <p> and a closing </p>
tag as shown below in the example:
Example
<!DOCTYPE html>
<html>
<head>
<title>Paragraph Example</title>
</head>
<body>
<p>Here is a first paragraph of text.</p>
<p>Here is a second paragraph of text.</p>
<p>Here is a third paragraph of text.</p>
</body>
</html>
8
Here is a first paragraph of text.
Here is a second paragraph of tex.
Here is a third paragraph of text
Example
<!DOCTYPE html>
<html>
<head>
<title>Line Break Example</title>
</head>
<body>
<p>Hello<br />
You delivered your assignment on
time.<br />Thanks<br />
Mahnaz</p>
</body>
9
Hello
You delivered your assignment
on time. Thanks
Mahnaz
Centering Content
You can use <center> tag to put any content in the center of the page or
and table cell.
Example
<!DOCTYPE html>
<html>
<head>
10
CSS
11
CSS-OVER VIEW1 .
What is CSS ?
Cascading Style Sheets, fondly referred to as CSS, is a simple design language
intended to simplify the process of making web pages presentable.
CSS handles the look and feel part of a web page. Using CSS, you can control
the color of thetext, the style of fonts, the spacing between paragraphs, how
columns are sized and laid out,what background images or colors are used, as
well as a variety of other effects.
CSS is easy to learn and understand but it provides a powerful control over
the presentationof an HTML document. Most commonly, CSS is combined with
the markup languages HTML or XHTML.
Advantages of CSS
• CSS saves time - You can write CSS once and then reuse the same
sheet in multiple HTML pages. You can define a style for each HTML
element and apply it to as many web pages as you want.
• Pages load faster - If you are using CSS, you do not need to write
HTML tag attributes every time. Just write one CSS rule of a tag and
apply it to all the occurrences of that tag. So, less code means faster
download times.
12
• Global web standards – Now HTML attributes are being deprecated
and it is being recommended to use CSS. So it’s a good idea to start
using CSS in all the HTML pages to make them compatible with future
browsers
These ratified specifications are called recommendations because the W3C has
no control over the actual implementation of the language. Independent
companies and organizations createthat software.
NOTE: The World Wide Web Consortium or W3C is a group that makes
recommendations about how the Internet works and how it should evolve.
CSS Versions
Cascading Style Sheets level 1 (CSS1) came out of W3C as a recommendation
in December 1996. This version describes the CSS language as well as a
simple visual formatting model for all the HTML tags.
CSS2 became a W3C recommendation in May 1998 and builds on CSS1. This
version adds support for media-specific style sheets e.g. printers and aural
devices, downloadable fonts, element positioning and tables.
13
CSS-SYNTAX2 .
A CSS comprises of style rules that are interpreted by the browser and then
applied to the corresponding elements in your document. A style rule is made
of three parts:
• Selector: A selector is an HTML tag at which a style will be applied.
This could be any tag like <h1> or <table> etc.
• Property: A property is a type of attribute of HTML tag. Put simply,
all the HTML attributes are converted into CSS properties. They could
be color, border, etc.
• Value: Values are assigned to properties. For example, color property
can have the value either red or #F1F1F1 etc.
You can put CSS Style Rule Syntax as follows:
Here table is a selector and border is a property and the given value 1px
solid #C00 is the value of that property.
You can define selectors in various simple ways based on your comfort. Let
me put these selectors one by one.
This is the same selector we have seen above. Again, one more example to
give a color to alllevel 1 headings:
14
h1 {
color: #36CFFF;
}
* {
color: #000000;
}
This rule renders the content of every element in our document in black.
Suppose you want to apply a style rule to a particular element only when it
lies inside a particular element. As given in the following example, the style
rule will apply to <em> element only when it lies inside the <ul> tag.
ul em {
color: #000000;
}
15
The Class Selectors
You can define style rules based on the class attribute of the elements. All the
elements having that class will be formatted according to the defined rule.
.black {
color: #000000;
}
This rule renders the content in black for every element with class attribute set
to black in our document. You can make it a bit more particular. For example:
h1.black {
color: #000000;
}
This rule renders the content in black for only <h1> elements with class attribute
set to black.
You can apply more than one class selectors to a given element. Consider
the following example:
</p>
16
Grouping Selectors
You can apply a style to many selectors if you like. Just separate the selectors
with a comma ,as given in the following example:
h1, h2, h3
{ color:
#36C;
font-weight:
normal; letter-
spacing: .4em;
margin-bottom:
1em;
text-transform: lowercase;
}
This define style rule will be applicable to h1, h2 and h3 element as well. The
order of the list is irrelevant. All the elements in the selector will have the
corresponding declarations appliedto them.
You can combine the various class selectors together as shown below:
17
Java
JAVASCRIPT
18
Java
1. JAVASCRIPT OVERVIEW
What is JavaScript?
JavaScript is a dynamic computer programming language. It is
lightweight and most commonly used as a part of web pages, whose
implementations allow client-side script to interact with the user and
make dynamic pages. It is an interpreted programming language
with object-oriented capabilities.
JavaScript was first known as Live Script, but Netscape changed its
name to JavaScript, possibly because of the excitement being
generated by Java. JavaScript made its first appearance in Netscape
2.0 in 1995 with the name LiveScript. The general-purpose core of
the language has been embedded in Netscape, Internet Explorer, and
other web browsers.
Client-Side JavaScript
It means that a web page need not be a static HTML, but can include
programs that interact with the user, control the browser, and
dynamically create HTML content.
19
Java
2. JAVASCRIPT SYNTAX
The <script> tag alerts the browser program to start interpreting all
the text between these tags as a script. A simple syntax of your
JavaScript will appear as follows.
<script ...>
JavaScript code
</script>
JavaScript code
</script>
Comments in JavaScript
JavaScript supports both C-style and C++-style comments. Thus:
20
Java
JavaScript also recognizes the HTML comment opening sequence
<!--. JavaScript treats this as a single-line comment, just as it does
the // comment.
The HTML comment closing sequence --> is not recognized by
JavaScript so it should be written as //-->.
Example
21
Java
3. JAVASCRIPT PLACEMENT
<html>
<head>
<script type="text/javascript">
<!--
function sayHello () {
//-->
</script>
</head>
<body>
</body>
22
Java
</html>
Say Hello
<html>
<head>
</head>
<body>
<script type="text/javascript">
<!--
document.write("Hello World")
//-->
</script>
</body>
</html>
Hello World
23
Java
<html>
<head>
<script type="text/javascript">
<!--
function sayHello() {
alert("Hello World")
//-->
</script>
</head>
<body>
<script type="text/javascript">
<!--
document.write("Hello World")
//-->
</script>
</body>
</html>
HelloWorld
Say Hello
24
Java
4. JAVASCRIPT- VARIABLES
JavaScript Datatypes
One of the most fundamental characteristics of a programming
language is the set of data types it supports. These are the type of
values that can be represented and manipulated in a programming
language.
JavaScript also defines two trivial data types, null and undefined,
each of which defines only a single value. In addition to these
primitive data types, JavaScript supports a composite data type
known as object. We will cover objects in detail in a separate
chapter.
Note: Java does not make a distinction between integer values and
floating-point values. All numbers in JavaScript are represented as
floating-point values. JavaScript represents numbers using the 64-
bit floating-point format defined by the IEEE 754 standard.
JavaScript Variables
Like many other programming languages, JavaScript has variables.
Variables can be thought of as named containers. You can place data
into these containers and then refer to the data simply by naming
the container.
<script type="text/javascript">
<!--
var money;
var name;
25
Java
//-->
</script>
You can also declare multiple variables with the same var keyword
as follows:
<script type="text/javascript">
<!--
//-->
</script>
For instance, you might create a variable named money and assign
the value 2000.50 to it later. For another variable, you can assign a
value at the time of initialization as follows.
<script type="text/javascript">
<!--
var money;
money = 2000.50;
//-->
</script>
Note: Use the var keyword only for declaration or initialization, once
for the life of any variable name in a document. You should not re-
declare same variable twice.
26
Java
REACT JS
27
ReactJ
S
REACT JS-OVER VIEW
React elements
JavaScript representation of HTML DOM. React provides an API,
React.createElement to create React Element.
JSX
A JavaScript extension to design user interface. JSX is an XML based,
extensible language supporting HTML syntax with little modification. JSX
can be compiled to React Elements and used to create user interface.
React component
React component is the primary building block of the React application. It
uses React elements and JSX to design its user interface. React component
is basically a JavaScript class (extends the React.component class) or pure
JavaScript function. React component has properties, state management, life
cycle and event handler. React component can be able to do simple as well
as advanced logic.
Let us learn more about components in the React Component chapter.
cd /go/to/your/workspace
28
ReactJ
S
Next, create a folder, static_site and change directory to newly created
folder.
mkdir
static_sitecd
static_site
Next, create a file, hello.html and write a simple React application.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>React Application</title>
</head>
<body>
<div id="react-app"></div>
<script
src="https://unpkg.com/react@17/umd/react.development.js"
crossorigin></script>
<script src="https://unpkg.com/react-
dom@17/umd/react-dom.development.js"
crossorigin></script>
<script language="JavaScript">
serve ./hello.html
29
ReactJ
Here, we are using two API provided by the React library. S
React.createElement
Used to create React elements. It expects three parameters:
• Element tag
• Element attributes as object
• Element content - It can contain nested React element as well
ReactDOM.render
Used to render the element into the container. It expects two parameters:
• React Element OR JSX
• Root element of the webpage
<script language="JavaScript">
element = React.createElement('div', {},
React.createElement('h1', {}, 'Hello React!'));
ReactDOM.render(element, document.getElementById('react-app'));
</script>
<div><h1>Hello React!</h1></div>
Use JSX
Next, let us remove the React element entirely and introduce JSX syntax as
shown below:
30
ReactJ
S
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>React Application</title>
</head>
<body>
<div id="react-app"></div>
<script
src="https://unpkg.com/react@17/umd/react.development.js"
crossorigin></script>
<script src="https://unpkg.com/react-
dom@17/umd/react-dom.development.js"
crossorigin></script>
<script
src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
<script
type="text/babel">
ReactDOM.render(
Here, we have included babel to convert JSX into JavaScript and added
<div><h1>Hello
type=“text/babel”
React!</h1></div>,
in the script tag.document.getElementById('react-
app') );
</script>
</body>
</html>
31
ReactJ
S
<script
src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
<script type="text/babel">
...
...
</script>
Next, run the application and open the browser. The output of the
application is as follows:
Next, let us create a new React component, Greeting and then try to use it in
the webpage.
<script
type="text/babel">
function Greeting()
{
return <div><h1>Hello JSX!</h1></div>
}
ReactDOM.render(
<Greeting />,
document.getElementById('react-
app') );
</script>
The result is same and as shown below:
32
ReactJ
S
application as shown in the below diagram.
Virtual DOM. Virtual DOM will be merged and rendered into the
container.
33
ReactJ
• Root component is build using one or more component. S
• Each component can be nested with other component to any level.
• Composition is one of the core concepts of React library. So, each
34
ReactJ
S
REACT JS LIBRARIES
Application
As we learned earlier, React library can be used in both simple and complex
application. Simple application normally includes the React library in its
script section. In complex application, developers have to split the code into
multiple files and organize the code into a standard structure. Here, React
toolchain provides pre-defined structure to bootstrap the application. Also,
developers are free to use their own project structure to organize the code.
Let us see how to create simple as well as complex React application:
Simple application using CDN
Complex application using React Create App cli
Complex application using customized method
Using CDN
cd /go/to/your/workspace
Next, create a folder, static_site and change directory to newly created
folder.
mkdir
static_sitecd
static_site
Next, create a new HTML file, hello.html.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Simple React app</title>
</head>
<body>
</body>
</html>
35
ReactJ
S
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Simple React app</title>
</head>
<body>
Here,
• We are using unpkg CDN. unpkg is an open source, global
content delivery network supporting npm packages.
• @17 represent the version of the React library
• This is the development version of the React library with
debugging option. To deploy the application in the production
environment, use below scripts.
<script src="https://unpkg.com/react@17/umd/react.production.min.js"
crossorigin></script>
<script src="https://unpkg.com/react-dom@17/umd/react-
dom.production.min.js"crossorigin></script>
react-app.
36
ReactJ
S
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>React based application</title>
</head>
<body>
<div id="react-app"></div>
<script
src="https://unpkg.com/react@17/umd/react.development.js"
crossorigin></script>
<script src="https://unpkg.com/react-
dom@17/umd/react-dom.development.js"
crossorigin></script>
</body>
</html>
The react-app is a placeholder container and React will work inside the
container. We can use any name for the placeholder container relevant to
our application.
ReactJ
<!DOCTYPE html> S
<html>
<head>
<meta charset="UTF-8" />
<title>React based application</title>
</head>
Next, create a script section at the end of the document and use React
feature to create an element.
37
ReactJ
S
<script
src="https://unpkg.com/react@17/umd/react.development.js"
crossorigin></script>
<script src="https://unpkg.com/react-
dom@17/umd/react-dom.development.js"
crossorigin></script>
Here,
• We are using unpkg CDN. unpkg is an open source, global
content delivery network supporting npm packages.
• @17 represent the version of the React library
• This is the development version of the React library with
debugging option. To deploy the application in the production
environment, use below scripts.
<script src="https://unpkg.com/react@17/umd/react.production.min.js"
crossorigin></script>
<script src="https://unpkg.com/react-dom@17/umd/react-
dom.production.min.js"crossorigin></script>
react-app.
38
ReactJ
<!DOCTYPE html> S
<html>
<head>
<meta charset="UTF-8" />
<title>React based application</title>
</head>
<body>
<div id="react-app"></div>
<script
src="https://unpkg.com/react@17/umd/react.development.js"
crossorigin></script>
<script src="https://unpkg.com/react-
dom@17/umd/react-dom.development.js"
crossorigin></script>
</body>
</html>
The react-app is a placeholder container and React will work inside the
container. We can use any name for the placeholder container relevant to
our application.
Next, create a script section at the end of the document and use React
feature to create an element.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>React based application</title>
</head>
39
ReactJ
S
<body>
<div id="react-app"></div>
<script
src="https://unpkg.com/react@17/umd/react.development.js"
crossorigin></script>
<script src="https://unpkg.com/react-
dom@17/umd/react-dom.development.js"
crossorigin></script>
<script language="JavaScript">
element = React.createElement('h1', {}, 'Hello React!')
ReactDOM.render(element, document.getElementById('react-
serve ./hello.html
Next, open the browser and enter http://localhost:5000 in the address bar
and press enter. serve application will serve our webpage as shown below.
We can use the same steps to use React in the existing website as well.
This method is very easy to use and consume React library. It can be used
to do simple to moderate feature in a website. It can be used in new as well
as existing application along with other libraries. This method is suitable for
static website with few dynamic section like contact form, simple payment
option, etc., To create advanced single page application (SPA), we need to
use React tools. Let us learn how to create a SPA using React tools in
upcoming chapter.
40
ReactJS
cd expense-
managernpm
install
The npm install will install the necessary library under
npm start
Compiled successfully!
Local: http://localhost:3000
On Your Network: http://192.168.56.1:3000
|-- App.css
|-- App.js
|-- App.test.js
|-- index.css
|-- index.js
|-- logo.svg
|-- reportWebVitals.js
`-- setupTests.js
41
ReactJS
Devops
42
ReactJS
DEVOPS-OVER VIEW
What is DevOps?
1. DevOps Fundamentals:
we are going to discussed the proper curriculum that you need to cover
to become a DevOps Engineer. While getting started with DevOps, you first
need to understand the fundamentals of DevOps like what is DevOps, how it
works, etc.
2. Linux:
Linux is one of the most popular operating systems for servers and cloud-based
infrastructures. It gives access to a robust CLI, a scripting environment,
essential tools and utilities, strong security features, and powerful diagnostic
tools for troubleshooting. In order to master the art of delivering high-quality
software and infrastructure, it is required for a DevOps Engineer to master
Linux.
43
ReactJS
Source Code Management is one of the key aspects of DevOps. It is the practice
of tracking and managing the versions of your source code. Git is considered to
be one of the best tools for version control of source codes. It allows DevOps
Engineers to collaborate, manage code, and implement CI/CD pipelines, code
quality, and Infrastructure as a Code.
4. YAML:
Yet Another Markup Language or YAML Ain’t Markup Language is a popular data
serialization language that is used extensively in DevOps for defining and
managing Infrastructure as a Code, managing configuration for various tools,
defining CI/CD Pipelines and integrating with other technologies like JSON, XML,
and Python, which makes it easy to learn and use in different DevOps scenarios.
5. Cloud:
6. Docker:
7. Kubernetes:
44
ReactJS
They saw the benefits of DevOps and were quick to adopt it to improve their
software delivery process.
One of the first organizations to embrace DevOps was Amazon, which
implemented the approach in the early 2000s. Amazon’s DevOps team was
responsible for automating manual processes and reducing the lead time for
software delivery. This resulted in faster feedback cycles and improved software
quality, which helped Amazon stay ahead of the competition.
As the benefits of DevOps became more apparent, more and more organizations
started to adopt it. DevOps became a key differentiator for organizations, and
those that embraced it were able to deliver software faster, with higher quality,
and at a lower cost. The adoption of DevOps was also driven by the rise of cloud
computing, which provided the infrastructure and tools needed to support
DevOps practices.
45
ReactJS
DevOps Working
1. Continuous Development:
This stage involves committing code to version control tools such as Git or
SVN for maintaining the different versions of the code, and tools like Ant,
Maven, Gradle for building/packaging the code into an executable file that can
be forwarded to the QAs for testing.
2. Continuous Integration:
The stage is a critical point in the whole DevOps Lifecycle. It deals with
integrating the different stages of the DevOps lifecycle and is, therefore, the
key in automating the whole DevOps Process.
3. Continuous Deployment:
In this stage the code is built, the environment or the application is
containerized and is pushed onto the desired server. The key processes in this
stage are Configuration Management, Virtualization, and Containerization.
4. Continuous Testing:
The stage deals with automated testing of the application pushed by the
developer. If there is an error, the message is sent back to the integration
46
ReactJS
Devops Lifecycle
DevOps Lifecycle is the set of phases that includes DevOps for taking part
in Development and Operation group duties for quicker software program
delivery. DevOps follows positive techniques that consist of code, building,
testing, releasing, deploying, operating, displaying, and planning.
7 Cs of DevOps
1. Continuous Development
2. Continuous Integration
3. Continuous Testing
4. Continuous Deployment/Continuous Delivery
5. Continuous Monitoring
6. Continuous Feedback
7. Continuous Operations
47
ReactJS
Linux Commands
Linux is an operating system that is similar to Unix. In Linux, all commands are
executed in a terminal that is provided by the system. This terminal is similar
to the command prompt in Windows. It’s important to note that Linux/Unix
commands are case-sensitive.
If we are using any major operating system, we are indirectly interacting with
the shell. While running Ubuntu, Linux Mint, or any other Linux distribution,
we are interacting with the shell by using the terminal. In this article we will
discuss Linux shells and shell scripting so before understanding shell scripting
we have to get familiar with the following terminologies:
• Kernel
• Shell
• Terminal
What is Kernel?
It is often mistaken that Linus Torvalds has developed Linux OS, but actually,
he is only responsible for the development of the Linux kernel.
Complete Linux system = Kernel + GNU system utilities and libraries + other
management scripts + installation scripts.
48
ReactJS
What is Shell?
A shell is a special user program that provides an interface for the user to use
operating system services. Shell accepts human-readable commands from
users and converts them into something which the kernel can understand. It is
a command language interpreter that executes commands read from input
devices such as keyboards or from files. The shell gets started when the user
logs in or starts the terminal.
Graphical Shells:
• BASH (Bourne Again SHell) – It is the most widely used shell in Linux
systems. It is used as default login shell in Linux systems and in macOS.
It can also be installed on Windows OS.
• CSH (C SHell) – The C shell’s syntax and its usage are very similar to the
C programming language.
• KSH (Korn SHell) – The Korn Shell was also the base for the POSIX Shell
standard specifications etc
49
ReactJS
What is a terminal?
Shell Scripting
Usually, shells are interactive, which means they accept commands as input
from users and execute them. However, sometimes we want to execute a bunch
of commands routinely, so we have to type in all commands each time in the
terminal.
As a shell can also take commands as input from file, we can write these
commands in a file and can execute them in shell to avoid this repetitive work.
These files are called Shell Scripts or Shell Programs. Shell scripts are similar to
the batch file in MS-DOS. Each shell script is saved with `.sh` file extension
e.g., myscript.sh.
A shell script has syntax just like any other programming language. If you have
any prior experience with any programming language like Python, C/C++ etc.
It would be very easy to get started with it.
50
ReactJS
Some Disadvantages of shell scripts
• Prone to costly errors, a single mistake can change the command which
might be harmful.
• Slow execution speed
• Design flaws within the language syntax or implementation
• Not well suited for large and complex task
• Provide minimal data structure unlike other scripting languages. etc.
It is quite frustrating, so why not we can have a utility where we just have to
type the name of directory and we can directly jump to that without executing
the “cd ../” command again and again. Save the script as “jump.sh”
We explored command line and graphical shells, like BASH, and understood that
the terminal is where we type in our commands. The article introduced shell
scripting, a way to automate tasks using simple scripts, and discussed the
advantages and disadvantages of using them.
51
ReactJS
Bash Scripting
52
ReactJS
Introduction to Github
What is GitHub?
GitHub is a web-based platform that uses Git, a version control system, to help
developers manage and track changes in their code. It allows multiple people
to collaborate on a project, track revisions, and contribute to code from
anywhere in the world. GitHub offers both free and paid plans, catering to
individuals and large organizations alike.
1. Version Control
GitHub’s core functionality is based on Git, which allows you to keep track of
changes in your code over time. This means you can always revert to a previous
version if something goes wrong, compare different versions, and understand
the history of your project.
2. Repositories
A repository (or repo) is a central place where all the files for a project are
stored. Each repository can hold multiple files and folders, and it tracks the
history of every change made. Repositories can be public (accessible to
everyone) or private (restricted access).
3. Branches
Branches are a crucial feature in GitHub that enable parallel development. You
can create a branch to work on a new feature or fix a bug without affecting the
main codebase. Once your changes are ready, you can merge the branch back
into the main branch.
53
ReactJS
4. Pull Requests
Pull requests are a way to propose changes to a repository. When you submit a
pull request, you’re asking the project maintainers to review and merge your
changes into the main codebase. This feature promotes collaboration and
ensures code quality through peer review.
GitHub is a platform for hosting code that allows for version control and
collaboration. It allows you and others to collaborate on projects from
anywhere. This lesson will teach you the fundamentals of GitHub, such as
repositories, branches, commits, and pull requests.
Git branches are effectively a pointer to a snapshot of your changes. When you
want to add a new feature or fix a bug—no matter how big or how small—you
spawn a new branch to encapsulate your changes.
54
ReactJS
Amazon Web Services (AWS) is a leading top platform in providing the web
services of various domains. AWS follows the trends of digital IT and comes up
needy services with optimized performances covering a wide range of services
from Compute to Storage. It covers a wider range of customers of different
domains to expand their business operations. This Article covers the
fundamentals of AWS and its scope of IT business.
History Of AWS:
55
ReactJS
AWS Fundamentals:
In the rapid revolution of Cloud Computing, AWS facilitates with wide variety of
services respect to the fields and needs. The following are the top AWS services
that are in wide usage:
• Amazon EC2(Elastic Compute Cloud) : It provides the Scalable
computing power via cloud allowing the users to run applications and
manage the workloads over their remotely.
• Amazon S3 (Simple Storage Service ): It offers scalable object
Storage as a Service with high durability for storing and retrieving any
amount of data.
• AWS Lambda: It is a service in Serverless Architecture with Function as
a Service facilitating serverless computing i.e., running the code on
response to the events, the background environment management of
servers is handled by aws automatically. It helps the developers to
completely focus on the logic of code build.
• Amazon RDS (Relational Database Service): This is an aws service
that simplifies the management of database providing high available
relational databases in the cloud.
• Amazon VPC (Virtual Private Cloud): It enables the users to create
isolated networks with option of public and private expose within the AWS
cloud, providing safe and adaptable configurations of their resources.
What is Docker
56
ReactJS
they can communicate with each other through well-defined channels. All
containers are run by a single operating system kernel and therefore use fewer
resources than a virtual machine.
What is Docker?
57
ReactJS
The uses DSL (Domain Specific Language) and contains instructions for
generating a Docker image. Dockerfile will define the processes to quickly
produce an image. While creating your application, you should create a
Dockerfile in order since the Docker daemon runs all of the instructions from
top to bottom.
(The Docker daemon, often referred to simply as “Docker,” is a background
service that manages Docker containers on a system.)
• It is a text document that contains necessary commands which on
execution help assemble a Docker Image.
• Docker image is created using a Dockerfile.
58
ReactJS
Docker makes use of a client-server architecture. The Docker client talks with
the docker daemon which helps in building, running, and distributing the docker
containers. The Docker client runs with the daemon on the same system or we
can connect the Docker client with the Docker daemon remotely. With the help
of REST API over a UNIX socket or a network, the docker client and daemon
interact with each other.
59
ReactJS
Mainly DevOps team uses the Docker Hub. It is an open-source tool and freely
available for all operating systems. It is like storage where we store the images
and pull the images when it is required. When a person wants to push/pull
images from the Docker Hub they must have a basic knowledge of Docker. Let
us discuss the requirements of the Docker tool.
60