100% found this document useful (1 vote)
154 views

A Short History On Web Technologies

Web technology has evolved over time from static Web 1.0 to today's interactive Web 3.0. [Web 1.0] introduced basic HTML and allowed for one-way sharing of information online. [Web 2.0] enabled user-generated content and social media. [Web 3.0] focuses on artificial intelligence, personalized experiences, and seamless integration between online and offline life. Each generation builds on the previous to make the web more powerful and accessible.

Uploaded by

Rohaan CH
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
154 views

A Short History On Web Technologies

Web technology has evolved over time from static Web 1.0 to today's interactive Web 3.0. [Web 1.0] introduced basic HTML and allowed for one-way sharing of information online. [Web 2.0] enabled user-generated content and social media. [Web 3.0] focuses on artificial intelligence, personalized experiences, and seamless integration between online and offline life. Each generation builds on the previous to make the web more powerful and accessible.

Uploaded by

Rohaan CH
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 58

A short history on web technologies

Web and technology go hand in hand in today’s technological world. What


started off as a humble attempt to share information has led to a revolution,
making information accessible, irrespective of distance and time.

What is web technology?

Web technology is a means by which computers communicate with each


other. Like humans who use different languages to communicate with each
other, computers use ‘markup language’ and ‘media packages’ to interact. A
markup language in simple term is a language which is a combination of
words and symbols used to process any given information. Media packages
are a set of applications that aid in human-computer and computer-computer
interactions.
How did it all begin?

The term ‘web’ was coined by Tim Berners-Lee. Tim along with his CERN
(European Organisation for Nuclear Research) colleague, Robert Cailliau
developed and coined the term ‘world wide web’ in 1989. The initial idea
behind ‘WWW’ was to aid in information exchange among scientists in
universities and institutes across the world.

Tim’s contribution to web technology has been impactful and has paved way
for the modern web technologies. The cornerstones laid by Tim which have
revolutionised the concept of web technologies are:

1. HTML — Hypertext Markup Language

This is the language used to create web pages and web applications.

2. URI — Uniform Resource Identifier

This is the unique address of a resource and is commonly called URL


(Uniform Resource Locator).

3. HTTP — Hypertext Transfer Protocol

This is a set of rules for transferring files through the world wide web.

The Versions

The introduction of ‘world wide web’ led to the development of different


versions of the web, each being an evolved version of the other.

The developments that have occurred since the ‘world wide web’ are as
follows:

a. The Web 1.0

This is the first generation of the world wide web that was created by Tim
Berners-Lee, it lasted from 1989 to 2005. This was considered as a ‘read-
only’ web.
Characteristics:

The following are some of the characteristics of web 1.0:

· Non-interactive pages — Web 1.0 had static pages that did not have any
interactive features. Websites under 1.0 focussed mainly on providing
information.

· Storage of content — The websites made use of files to store content, unlike


the modern approach of storing content on a database.

· Layout of website — Websites under 1.0 did not focus much on the look and
feel of the pages.

· Basic Language — Web 1.0 made use of basic HTML

· Visitor Comments — Visitor comments under Web 1.0 were added to


‘guestbooks’ that weren’t directly attached to the contents of the website.

Limitations:
Being the most basic form of web technology, Web 1.0 suffered from the
following drawbacks:

· Lack of machine compatible content — Web 1.0 lacked machine compatible


content and the pages could only be understood by humans.

· Lack of interactive web page — The web pages were static and did not
provide scope for interaction between the user and the website.

b. The Web 2.0

This is the second generation of web. The term ‘Web 2.0’ was introduced
by Darcy DiNucci and coined by Dale Dougherty and Tim O’Reilly at the
O’Reilly web media conference in 2004. This is also known as the ‘read-
write’ technology.
Characteristics:

The following are the characteristics of Web 2.0:

· Interactive pages — Unlike Web 1.0, Web 2.0 is all about interactive pages.
The technology aims to keep the pages as interactive as possible. Web 2.0 in
simple terms is about connecting people with people.

· Content by the users — Web 2.0 made it possible for the users to contribute
to the content of a website.

· User experience — The development of Web 2.0 shed light on aspects


pertaining to user experience.

· Variety of media — Web 2.0 introduced the people to a variety of media like


networking sites, blogs and news sites.

· Scope for learning — This web technology made it possible for learners to


be actively involved in the process of learning by tapping into vast sources of
information and connecting with other learners.

Limitations:

Web 2.0 has certain limitations like:

· Constant updates — An improvisation in technology has made upgradation


mandatory. Technologies in Web 2.0 are subject to constant changes and
updates.

· Overdose of Information — Web 2.0 has provided the users with a vast


source of information. This has in turn led to an overdose of information.

c. The Web 3.0

Web 3.0 is the third generation of web technology. The term was coined
by John Markoff in 2006. It is also termed as ‘executable web’ or the ‘read-
write-execute’ technology.
Characteristics:

Web 3.0 is characterised by certain features like:

· Usability — Web 3.0 is known for its usability and simplicity of website.

· Semantic Web — Web 3.0 revolves around the concept of ‘semantic web’,


i.e., a framework that permits sharing and usage of data across applications.

· Artificial intelligence — The third generation of web technology comprises


of artificial intelligence where search engines provide smart and user-related
results.

· Accessibility — Web 3.0 comprises of technology that the user can make use
of at any time, through any means and at any place.

· Personalisation — Web 3.0 provides a higher scope for personalisation as


compared to Web 1.0 and 2.0.
Limitations:

Web 3.0 consists of certain limitations, like:

· Need to stay updated — In order to reap the benefits of the technology, a


user must stay updated with the latest trends in the software and devices.
Resorting to the use of a less-developed device may not yield the desired
output.

· Complications — Despite being easy to use and faster, Web 3.0 has its own
complications with regard to the user’s knowledge of the technology.

How do the web technologies differ from each other?


The Future

While people are still using second generation technology and familiarizing
themselves with the third generation, concepts like Internet of Things (IoT),
Augmented Reality (AR), Gesture Technology and Location Based
Intelligence are also being researched and introduced in a phased-out
manner. Web 3.0 is bound to make way for Web 4.0, which would be an
evolution of aspects in the third generation.

Reference: the Byte Story . https://thebytestory.com/2018/11/09/a-short-history-on-web-


technologies/

Technology:
The practical Application of knowledge especially in a particular area, a manner
of accomplishing a task especially using Technical processes, methods, or knowledge. The
specialized aspects of a particular field of endeavor are called technology.According to the

Information
technology

Medical
technology

Assistive
technology
National Assistive Technology Research Institute. Technology utilizes equipment such as
computers, mobile phones, multimedia, software, games and apps. Email, blogs, texting,
instant messaging, social networks, twitter and video conferencing are all forms of technology-
mediated communication

Web technology:
Web technology is the development of the mechanism that allows two of more
computer devices to communicate over a network. For instance, in a typical office setting, a
number of computers plus additional devices such as printers may be interconnected via a
network, allowing for quick and convenient transmission of information. The processes involved
in web technology are complex and diverse. Web technology has revolutionized communication
methods and has made operations far more efficient. Computers and other network devices
need to communicate. A mechanism must make it possible for a computer to communicate
with another computer on the same network or another network.

Reference: HACKERS History of Web Technology


NAME ID SHUVO MALAKAR BB-TMSS-070216SYL46 MD.JABED MIAH BB-TMSS-
70216SYL47 MD.MUHIT MIAH BB-TMSS-070216SY
https://www.slideshare.net/shuvo2012/history-of-web-technology-69709173

Web Applications are dynamic web sites combined with server side programming
which provide functionalities such as interacting with users, connecting to back-end
databases, and generating results to browsers.
Examples of Web Applications are Online Banking, Social Networking, Online
Reservations, e-Commerce / Shopping Cart Applications, Interactive Games, Online
Training, Online Polls, Blogs, Online Forums, Content Management Systems, etc..

Technologies

There are two main categories of coding, scripting and programming for creating Web
Applications:
Client Side Scripting - Client Side Scripting is the type of code that is executed or
interpreted by browsers.

It is the program that runs on the client machine (browser) and deals with the user
interface/display and any other processing that can happen on client machine like
reading/writing cookies.
1) Interact with temporary storage
2) Make interactive web pages
3) Interact with local storage
4) Sending request for data to server
5) Send request to server
6) work as an interface between server and user
Refer JavaScript articles for example Client Side codes that run in browser.

Reference :
https://www.upwork.com/hiring/development/how-scripting-languages-work/
This article is contributed by Paduchuri Manideep.

Below are some common Client Side Scripting technologies:

 HTML (HyperText Markup Language)


 CSS (Cascading Style Sheets)
 jQuery (JavaScript Framework Library)
 JavaScript

Let’s Discuss the following.

HTML (HyperText Markup Language)

What is HTML?

HTML is a computer language devised to allow website creation. These websites can
then be viewed by anyone else connected to the Internet. It is relatively easy to learn,
with the basics being accessible to most people in one sitting; and quite powerful in what
it allows you to create. It is constantly undergoing revision and evolution to meet the
demands and requirements of the growing Internet audience under the direction of the »
W3C, the organisation charged with designing and maintaining the language.

The definition of HTML is HyperText Markup Language.

 HyperText is the method by which you move around on the web — by clicking on
special text called hyperlinks which bring you to the next page. The fact that it
is hyper just means it is not linear — i.e. you can go to any place on the Internet
whenever you want by clicking on links — there is no set order to do things in.
 Markup is what HTML tags do to the text inside them. They mark it as a certain
type of text (italicised text, for example).
 HTML is a Language, as it has code-words and syntax like any other language.

How does it work?

HTML consists of a series of short codes typed into a text-file by the site author — these
are the tags. The text is then saved as a html file, and viewed through a browser,
like Internet Explorer or Netscape Navigator. This browser reads the file and translates
the text into a visible form, hopefully rendering the page as the author had intended.
Writing your own HTML entails using tags correctly to create your vision. You can use
anything from a rudimentary text-editor to a powerful graphical editor to create HTML
pages.

What are the tags up to?

The tags are what separate normal text from HTML code. You might know them as the
words between the <angle-brackets>. They allow all the cool stuff like images and
tables and stuff, just by telling your browser what to render on the page. Different tags will
perform different functions. The tags themselves don’t appear when you view your page
through a browser, but their effects do. The simplest tags do nothing more than apply
formatting to some text, like this:

<b>These words will be bold</b>, and these will not.

In the example above, the <b> tags were wrapped around some text, and their effect
will be that the contained text will be bolded when viewed through an ordinary web
browser.

If you want to see a list of a load of tags to see what’s ahead of you, look at this tag
reference. Learning the tags themselves is dealt with in the next section of this
website, My First Site.
Is this going to take long?

Well, it depends on what you want from it. Knowing HTML will take only a few days of
reading and learning the codes for what you want. You can have the basics down in an
hour. Once you know the tags you can create HTML pages.

However, using HTML and designing good websites is a different story, which is why I try
to do more than just teach you code here at HTML Source — I like to add in as
much advice as possible too. Good website design is half skill and half talent, I
reckon. Learning techniques and correct use of your tag knowledge will improve your
work immensely, and a good understanding of general design and the audience you’re
trying to reach will improve your website’s chances of success. Luckily, these things can
be researched and understood, as long as you’re willing to work at it so you can output
better websites.

The range of skills you will learn as a result of running your own website is impressive.
You’ll learn about aspects of graphic design, typography and computer programming.
Your efficiency with computers in general increases.You’ll also learn about promotion and
your writing will probably improve too, as you adapt to write for certain audiences.

CSS (Cascading Style Sheets)

CSS (Cascading Style Sheets)

What are Stylesheets?

In the late ‘90s, HTML coders noticed that they were retyping the same old tags again
and again on the same page, leading to bigger HTML files and above all, time
consumption and frustration. You may have found yourself in the same situation, adding
in mountains of <font> tags, despite wanting them all the same; or using tricks
like invisible gifs for spacing.

Then, someone had a great idea: have one file that defines all the values that those piles
of tags would have done, and then have all your pages checking this file and formatting
your pages accordingly. You can therefore leave out most of the formatting tags in HTML
and use only nice structural elements (like headings, paragraphs and links)
— separating structure and presentation.
In late 1996 CSS (Cascading StyleSheets) became a reality, forged by our good friends
the » World Wide Web Consortium (W3C). Your stylesheet acts as a partner to your
HTML code; taking care of all the layout, fonts, colours and overall look of your site.

If you ever decide to change the look of your site, you modify that one CSS file (your style
sheet) and all the HTML pages reading from that file will display differently. This
makes maintenance of your design much easier.

Benefits of CSS

Another of CSS’s boons is that you define things once, making it far more efficient than
defining everything in HTML on every page. This means:

 Pages download faster, sometimes by as much as 50%


 You have to type less code, and your pages are shorter and neater.
 The look of your site is kept consistent throughout all the pages that work off the
same stylesheet.
 Updating your design and general site maintenance are made much easier, and
errors caused by editing multiple HTML pages occur far less often.

Well-authored CSS also improves the accessibility of web content, allowing access
through myriad devices (handheld PDAs for example) and ensuring that web users
with disabilities are still able to receive it. It also eliminates the need for browser-specific
hacks and tags, which means your site has a better chance of working across all major
browsers.

Initially vaguely intimidating, CSS is a well-designed, elegant language. It is hugely


important for the future of web design, and has been pivotal in helping designers move
away from the problematic, hack-ridden days of presentational HTML tags like <font>,
and allowed us to return to using logical, structural elements which make our sites
more accessible.

All that, and there are dozens of powerful extra formatting options and possibilities
available through stylesheet commands that are not possible through normal HTML.
You’ll see these later on when we get on to things like backgrounds, spacing, layers and
borders.
Browser Compatibility Note:
The W3C have thus far released two major versions of the CSS specifications: » CSS
1 and » CSS 2, in ’96 and ’98 respectively. These standards work the same as new
HTML standards do, with new features added in each subsequent version. CSS 3 is
currently under development but won’t be finalised for a few more years.
Browsers began to support stylesheets properly at the version 4 mark. Internet
Explorer 3 had some basic understanding, and Netscape Navigator 4.7 was very
glitchy. By version 5 of » Internet Explorer the browser was coming close to full
compatibility of the first of these two standards, though many bugs in its
implementation remained.
CSS 2 and beyond are now close to being supported properly in full, particularly in the
more sophisticated browsers like » Firefox, » Chrome, » Opera and » Safari. It took
many painful years, but everybody should be using CSS today.
Implementation

CSS files are termed “cascading” stylesheets because of two reasons: one stylesheet
can cascade, or have influence over, multiple pages. Similarly, many CSS files can define
a single page.

There are 3 ways to implement css commands into your site:

 Use one CSS file for all your pages. This is the best way to do it.
 Integrate CSS commands into the head of each of your documents.
 Use the style attribute to put CSS code directly into a HTML element.

CSS allows you to use all three of these methods in glorious tandem, inheriting and
overriding values as you go (we’ll get on to all that in the next tutorial).

One Central Stylesheet

This is how you should use most of your CSS. You write just one .css file and
have all your pages referencing it. This way, a change to anything in this one file will
adjust this thing (a font, for example) across your whole site. You could change your entire
colour scheme with one modification if you want, over an unlimited number of pages.
That’s one of the things CSS was designed for — flexibility.

To create your stylesheet, open a text editor (NotePad or SimpleText will be fine).
Remember in the very first lesson on this site, you learned how to save from a text editor
into the .html file format? Well, here you’ll be doing roughly the same except your file will
have a .css suffix. Just save a blank file as mystyles.css and put it in the same directory
as your homepage. Now that you have that, I can show you the syntax used in CSS:

Very Important selectors


{property: value; property: value; property: value; }

And now a worked example:

p {color: blue; font-size: 120%; }

Just put that one line into your file for the duration of this tutorial. That’s all you need. This
rule applies to all paragraph elements. Once you’ve linked the stylesheet to your pages,
having this style declaration in your css file would make all the text in your pages enclosed
in the <p> and </p> tags blue, and sized 120% as big as the default font size.

This is how all the affected paragraphs will be formatted.

Have a look over these rules:

 The selector is usually the name of a tag, without its surrounding angle-brackets.
 The braces are {curly}, not [square] or (round).
 After the property name there is a colon, and between each individual part there is
a semicolon. Each of these pairs of properties and values is a declaration.

You could add another line in under your first one. Try this line of CSS and then use some
large headings on your page:

h1 {font-family: Verdana, sans-serif; color: red; font-size: 20px; }

Your stylesheet should look something like this. If you want to affect multiple selectors
with the same CSS formatting, add them all together, with commas:

p, div, h1 {color: #00DDFF; width: 80%; } /* modifies all 3 tags */

As above, you can also add comments to your stylesheet using the /*...*/ delimiters.
These can give you or anyone else using your stylesheet vital tips about what’s going on
in your code.

Attaching Your Stylesheet

Now that you have something in your file, you’ll need to show your pages where their
css file is. Put this line of code into the head part of any documents you want to read
this file:

<link rel="stylesheet" type="text/css" href="mystyles.css">


This could be a new tag to you — rel stands for the file’s ‘RELationship’, and type shows
that it’s a text file acting as a CSS stylesheet. Once you’ve made sure that the href is
correct (it can be defined absolutely or relatively), you should see your pages being
formatted with your preferred values. You can link multiple stylesheets to each page if
you want, like having one file with all your fonts, another for margins and spacing etc.

Individual Style blocks

If you use a common design across all of your site’s pages, you should be using the
method above. If, however, a number of pages need some particular styling and you need
to override the values you’ve defined in your main stylesheet, you can use the style blocks
method. To embed style, put this into your head:

<style type="text/css">

p {font-weight: normal; color: gray; }

h1 {color: black; }
</style>

The type attribute here allows browsers to treat this code as CSS. CSS code applied in
this way is not technically a stylesheet , but is called an “inline style block.”

Using the Style Attribute

If you need to modify one tag on its own you can embed style information into it using
the style attribute:

<p style="color: blue; font-family: Arial; ">

The style formatting will stop as soon as you close the tag it’s applied to, just like any
other attribute, so it will be just this paragraph that will be affected. Also note that there
aren’t any curly braces used here, but the colon/semicolon rule still applies.

This method is useful for once-off formatting, and overriding previously defined properties,
but you shouldn’t use it very much. If you find yourself adding the same style to multiple
tags, it might be worth your while promoting it to your main stylesheet, to save time and
space.

Reference: https://www.yourhtmlsource.com/ HTML SOURCE.


JQuery

What is jQuery?
jQuery is a fast and concise JavaScript Library created by John Resig in 2006 with a
nice motto: Write less, do more. jQuery simplifies HTML document traversing, event
handling, animating, and Ajax interactions for rapid web development. jQuery is a
JavaScript toolkit designed to simplify various tasks by writing less code. Here is the list
of important core features supported by jQuery −
 DOM manipulation − The jQuery made it easy to select DOM elements, negotiate them and
modifying their content by using cross-browser open source selector engine called Sizzle.
 Event handling − The jQuery offers an elegant way to capture a wide variety of events, such
as a user clicking on a link, without the need to clutter the HTML code itself with event
handlers.
 AJAX Support − The jQuery helps you a lot to develop a responsive and featurerich site
using AJAX technology.
 Animations − The jQuery comes with plenty of built-in animation effects which you can use
in your websites.
 Lightweight − The jQuery is very lightweight library - about 19KB in size (Minified and
gzipped).
 Cross Browser Support − The jQuery has cross-browser support, and works well in IE 6.0+,
FF 2.0+, Safari 3.0+, Chrome and Opera 9.0+
 Latest Technology − The jQuery supports CSS3 selectors and basic XPath syntax.
How to use jQuery?
There are two ways to use jQuery.
 Local Installation − You can download jQuery library on your local machine and
include it in your HTML code.
 CDN Based Version − You can include jQuery library into your HTML code
directly from Content Delivery Network (CDN).
Local Installation
 Go to the https://jquery.com/download/ to download the latest version available.
 Now put downloaded jquery-2.1.3.min.js file in a directory of your website, e.g.
/jquery.
Example
Now you can include jquery library in your HTML file as follows –

<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript" src = "/jquery/jquery-
2.1.3.min.js">
</script>

<script type = "text/javascript">


$(document).ready(function() {
document.write("Hello, World!");
});
</script>
</head>

<body>
<h1>Hello</h1>
</body>
</html>

This will produce following result –

Hello, World!

Reference:
TutorialsPoint.
https://www.tutorialspoint.com/jquery/jquery-overview.htm.
JavaScript

What is Java Script?

Javascript (JS) is a scripting languages, primarily used on the Web. It is used to enhance
HTML pages and is commonly found embedded in HTML code. JavaScript is an
interpreted language. Thus, it doesn't need to be compiled. JavaScript renders web pages
in an interactive and dynamic fashion. This allowing the pages to react to events, exhibit
special effects, accept variable text, validate data, create cookies, detect a user’s
browser, etc.

Reference:

Techopedia
https://www.techopedia.com/definition/3929/javascript-js

How does JavaScript works?


Before writing JavaScript it’s important to know how it works under the hood. There are
two important pieces to learn about: How the web browser works, and the Document
Object Model (DOM).
The web browser loads a web page, parses the HTML, and creates what is known as a Document
Object Model (DOM) from the contents. The DOM presents a live view of the web page to your
JavaScript code.

The browser will then grab everything linked to the HTML, like images and CSS files. The CSS
information comes from the CSS parser.

The HTML and CSS are put together by the DOM to create the web page first. Then, the
browsers’ JavaScript engine loads JavaScript files and inline code but does not run the code
immediately. It waits for the HTML and CSS to finish loading.
Once this is done, the JavaScript is executed in the order the code is written. This results in the
DOM being updated by JavaScript code and rendered by the browser.

The order here is important. If the JavaScript did not wait for the HTML and CSS to finish, it
would not be able to change the DOM elements.

What can we do with JavaScript?

JavaScript is a full-fledged programming language that can do most things a regular language
like Python can do. These include:

 Declaring variables.
 Storing and retrieving values.
 Defining and invoking functions.
 Defining JavaScript objects and classes.
 Loading and using external modules.
 Writing event handlers that respond to click events.
 Writing server code.
 And much more.

Warning: Since JavaScript is such a powerful language, it is also possible to write malware,
viruses, and browser hacks to inflict them on the users. These range from stealing browser
cookies, passwords, credit cards to downloading viruses onto your computer.

JavaScript - Syntax

JavaScript can be implemented using JavaScript statements that are placed within
the <script>... </script> HTML tags in a web page.
You can place the <script> tags, containing your JavaScript, anywhere within your web
page, but it is normally recommended that you should keep it within the <head> tags.
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>
The script tag takes two important attributes −
 Language − This attribute specifies what scripting language you are using.
Typically, its value will be javascript. Although recent versions of HTML (and
XHTML, its successor) have phased out the use of this attribute.
 Type − This attribute is what is now recommended to indicate the scripting
language in use and its value should be set to "text/javascript".
So your JavaScript segment will look like −
<script language = "javascript" type = "text/javascript">
JavaScript code
</script>
Your First JavaScript Code
Let us take a sample example to print out "Hello World". We added an optional HTML
comment that surrounds our JavaScript code. This is to save our code from a browser
that does not support JavaScript. The comment ends with a "//-->". Here "//" signifies a
comment in JavaScript, so we add that to prevent a browser from reading the end of the
HTML comment as a piece of JavaScript code. Next, we call a
function document.write which writes a string into our HTML document.
This function can be used to write text, HTML, or both. Take a look at the following code.
<html>
<body>
<script language = "javascript" type = "text/javascript">
<!--
document.write("Hello World!")
//-->
</script>
</body>
</html>
This code will produce the following result –

Hello World!

Referece:

TutorialsPoint

https://www.tutorialspoint.com/javascript/javascript_quick_guide.htm
so these are the common technologies Used in client side coding.

Server Side Scripting - Server Side Scripting is the type of code that is executed or
interpreted by the web server.
Server Side Scripting is not viewable or accessible by any visitor or general public.

What is Server- Side Web Programming?

Web browsers communicate with web servers using the HyperText Transfer Protocol
(HTTP). When you click a link on a web page, submit a form, or run a search, an HTTP
request is sent from your browser to the target server.

The request includes a URL identifying the affected resource, a method that defines the
required action (for example to get, delete, or post the resource), and may include
additional information encoded in URL parameters (the field-value pairs sent via a query
string), as POST data (data sent by the HTTP POST method), or in associated cookies.
Web servers wait for client request messages, process them when they arrive, and reply
to the web browser with an HTTP response message. The response contains a status
line indicating whether or not the request succeeded (e.g. "HTTP/1.1 200 OK" for
success).

The body of a successful response to a request would contain the requested resource
(e.g. a new HTML page, or an image, etc...), which could then be displayed by the web
browser.

Static sites
The diagram below shows a basic web server architecture for a static site (a static site is
one that returns the same hard-coded content from the server whenever a particular
resource is requested). When a user wants to navigate to a page, the browser sends an
HTTP "GET" request specifying its URL.
The server retrieves the requested document from its file system and returns an HTTP
response containing the document and a success status (usually 200 OK). If the file
cannot be retrieved for some reason, an error status is returned (see client error
responses and server error responses).

Dynamic sites
A dynamic website is one where some of the response content is generated dynamically,
only when needed. On a dynamic website HTML pages are normally created by inserting
data from a database into placeholders in HTML templates (this is a much more efficient
way of storing large amounts of content than using static websites).
A dynamic site can return different data for a URL based on information provided by the
user or stored preferences and can perform other operations as part of returning a
response (e.g. sending notifications).

Most of the code to support a dynamic website must run on the server. Creating this
code is known as "server-side programming" (or sometimes "back-end scripting").
The diagram below shows a simple architecture for a dynamic website. As in the
previous diagram, browsers send HTTP requests to the server, then the server
processes the requests and returns appropriate HTTP responses.
Requests for static resources are handled in the same way as for static sites (static
resources are any files that don't change —typically: CSS, JavaScript, Images, pre-
created PDF files etc).
Requests for dynamic resources are instead forwarded (2) to server-side code (shown in
the diagram as a Web Application). For "dynamic requests" the server interprets the
request, reads required information from the database (3), combines the retrieved data
with HTML templates (4), and sends back a response containing the generated HTML
(5,6).

Reference:
MDN Web Docs
https://developer.mozilla.org/en-US/docs/Learn/Server-side/First_steps/Introduction
A few good Server-side web frameworks:

Let's now move on, and discuss a few specific server-side web frameworks.

The server-side frameworks below represent a few of the most popular available at the
time of writing. All of them have everything you need to be productive — they are open
source, are under active development, have enthusiastic communities creating
documentation and helping users on discussion boards, and are used in large numbers
of high-profile websites. There are many other great server-side frameworks that you
can discover using a basic internet search.

Django (python)

Django is a high-level Python Web framework that encourages rapid development and
clean, pragmatic design. Built by experienced developers, it takes care of much of the
hassle of web development, so you can focus on writing your app without needing to
reinvent the wheel. It’s free and open source.

Django follows the "Batteries included" philosophy and provides almost everything most
developers might want to do "out of the box". Because everything is included, it all works
together, follows consistent design principles, and has extensive and up-to-date
documentation.

It is also fast, secure, and very scalable. Being based on Python, Django code is easy to
read and to maintain.

Popular sites using Django (from Django home page) include: Disqus, Instagram, Knight
Foundation, MacArthur Foundation, Mozilla, National Geographic, Open Knowledge
Foundation, Pinterest, Open Stack.

How Django works?


Reference:-MDN Web Docs-https://developer.mozilla.org/en-US/docs/Learn/Server-
side/First_steps/Introduction & django official documentaion
Flask (python)

Flask is a microframework for Python.

While minimalist, Flask can create serious websites out of the box. It contains a
development server and debugger, and includes support for Jinja2 templating, secure
cookies, unit testing, and RESTful request dispatching. It has good documentation and
an active community.

Flask has become extremely popular, particularly for developers who need to provide
web services on small, resource-constrained systems (e.g. running a web server on
a Raspberry Pi, Drone controllers, etc.)

How Flask works?


Reference:-
MDN Web Docs-
https://developer.mozilla.org/en-US/docs/Learn/Server-side/First_steps/Introduction & Flask official
documentaion
Node.js

What is Node.js?
Node.js is a server-side platform built on Google Chrome's JavaScript Engine (V8
Engine). Node.js was developed by Ryan Dahl in 2009 and its latest version is v0.10.36.
The definition of Node.js as supplied by its official documentation is as follows −
Node.js is a platform built on Chrome's JavaScript runtime for easily building fast and
scalable network applications. Node.js uses an event-driven, non-blocking I/O model
that makes it lightweight and efficient, perfect for data-intensive real-time applications
that run across distributed devices.
Node.js is an open source, cross-platform runtime environment for developing server-
side and networking applications. Node.js applications are written in JavaScript, and can
be run within the Node.js runtime on OS X, Microsoft Windows, and Linux.
Node.js also provides a rich library of various JavaScript modules which simplifies the
development of web applications using Node.js to a great extent.
Node.js = Runtime Environment + JavaScript Library

Features of Node.js
Following are some of the important features that make Node.js the first choice of
software architects.
 Asynchronous and Event Driven − All APIs of Node.js library are asynchronous,
that is, non-blocking. It essentially means a Node.js based server never waits for
an API to return data. The server moves to the next API after calling it and a
notification mechanism of Events of Node.js helps the server to get a response
from the previous API call.
 Very Fast − Being built on Google Chrome's V8 JavaScript Engine, Node.js library
is very fast in code execution.
 Single Threaded but Highly Scalable − Node.js uses a single threaded model
with event looping. Event mechanism helps the server to respond in a non-
blocking way and makes the server highly scalable as opposed to traditional
servers which create limited threads to handle requests. Node.js uses a single
threaded program and the same program can provide service to a much larger
number of requests than traditional servers like Apache HTTP Server.
 No Buffering − Node.js applications never buffer any data. These applications
simply output the data in chunks.
 License − Node.js is released under the MIT license.
Who Uses Node.js?
Following is the link on github wiki containing an exhaustive list of projects, application
and companies which are using Node.js. This list includes eBay, General Electric,
GoDaddy, Microsoft, PayPal, Uber, Wikipins, Yahoo!, and Yammer to name a few.
 Projects, Applications, and Companies Using Node
Concepts
The following diagram depicts some important parts of Node.js

Where to Use Node.js?


Following are the areas where Node.js is proving itself as a perfect technology partner.

 I/O bound Applications


 Data Streaming Applications
 Data Intensive Real-time Applications (DIRT)
 JSON APIs based Applications
 Single Page Applications
How Node.js works single threads?

How Node.js works multiple threads?


Reference:-
MDN Web Docs-
https://developer.mozilla.org/en-US/docs/Learn/Server-side/First_steps/Introduction & Node.js official
documentaion & the book : node.js in action & tutorials point

LARAVEL (PHP)

What is LARAVEl?

Laravel is a web application framework with expressive, elegant syntax. We believe


development must be an enjoyable, creative experience to be truly fulfilling. Laravel
attempts to take the pain out of development by easing common tasks used in the
majority of web projects, such as authentication, routing, sessions, and caching.

Laravel aims to make the development process a pleasing one for the developer without
sacrificing application functionality. Happy developers make the best code. To this end,
we've attempted to combine the very best of what we have seen in other web
frameworks, including frameworks implemented in other languages, such as Ruby on
Rails, ASP.NET MVC, and Sinatra.

Laravel is accessible, yet powerful, providing powerful tools needed for large, robust
applications. A superb inversion of control container, expressive migration system, and
tightly integrated unit testing support give you the tools you need to build any application
with which you are tasked.

Here are some recommendations for what to read first:

 Installation and Configuration


 Routing
 Requests & Input
 Views & Responses
 Controllers

After reading through these documents, you should have a good grasp on basic request
/ response handling in Laravel. Next, you may wish to read about configuring your
database, the fluent query builder, and the Eloquent ORM. Or, you may wish to read
about authentication and security so you can start signing people into your application.

How laravel works?

Reference:-
MDN Web Docs-
https://developer.mozilla.org/en-US/docs/Learn/Server-side/First_steps/Introduction & laravel official
documentaion & laravel geeksandgeeks
Database Options for Web Development in 2019

how to manage data and call APIs as a web developer.

Data is arguably the most important piece of any application or website. Data is raw
information; unprocessed and unstyled. This is how you want your data, to ensure that
you as the developer have complete control over how the data is processed and styled.
That means that the way to store data is crucial for development. Thankfully, there are
many options, two of which are listed below.

It is important to note also that to have a database that is accessible throughout your
applications you will need to host this database on a server. Good practice suggests
placing this database either on the same server as your apps or at the very least in the
same region to prevent latency issues (the amount of delay between requesting and
receiving data).

Now a days 2 types of databases are used in web development:

 SQL(structured Query Language)

 NoSQL (non structured Query Language)

There is a long debate going about finding the best database to work with, and we keep
evolving on it.
In an attempt to find the best database, we understand the fact of finding the key
difference between SQL and NoSQL database would bring a bright light to this debate if
we reach out to more depth of this topic.
SQL

The most frequently used way to store data is through a SQL database, SQL stands for
Structured Query Language, and in essence, that means your data gets stored in a
structured manner but is still accessible in its raw form. SQL databases are notable for
their relational structure with tables. Think of these tables as data “types” (consider
Users and Purchases as two separate tables) and the relationship between them being
how many Users purchased a certain item. Each row in this table is a single data point,
also referred to as a “record,” and each column is a property of this data point.Many
databases support SQL infrastructures, each with their advantages and disadvantages.

One of the most notable is MySQL for your typical, open-source database. MySQL is
arguably the most famous SQL database currently in use, allowing a wide availability of
tutorials and examples. Another similar option is Postgres, which is slightly more
complicated than MySQL but offers a broader range of functionality. MariaDB is a fork
(alternate version) of MySQL with a focus to remain free to use. CouchDB, on the other
hand, is a specialized SQL database for ease of use and having a scalable architecture
for vast amounts of data and is commonly used for “Big Data” needs.
Reference:-
GitConnected
https://levelup.gitconnected.com/web-development-data-1aa4080bc852

My SQL Database

What is MySQL?
First things first, you have to know how to pronounce it: MY-ES-KYOO-EL’
[maɪˌɛsˌkjuːˈɛl]. Sometimes people call it “my sequel” or other names, but at least you
know the official pronunciation. A Swedish company called MySQL AB originally
developed MySQL in 1994. The US tech company Sun Microsystems then took full
ownership when they bought MySQL AB in 2008. US tech giant Oracle in 2010 acquired
Sun Microsystems itself, and MySQL has been practically owned by Oracle since.

In regard to the general definition, MySQL is an open source relational database


management system (RDBMS) with a client-server model. RDBMS is a software or
service used to create and manage databases based on a relational model. Now, let’s
take a closer look at each term:

Database
A database is simply a collection of structured data. Think of taking a selfie: you push a
button and capture an image of yourself. Your photo is data, and your phone’s gallery is
the database. A database is a place in which data is stored and organized. The word
“relational” means that the data stored in the dataset is organized as tables. Every table
relates in some ways. If the software doesn’t support the relational data model, just call
it DBMS.

Open source
Open source means that you’re free to use and modify it. Anybody can install the
software. You can also learn and customize the source code to better accommodate
your needs. However, The GPL (GNU Public License) determines what you can do
depending on conditions. The commercially licensed version is available if you need
more flexible ownership and advanced support.

Client-server model
Computers that install and run RDBMS software are called clients. Whenever they need
to access data, they connect to the RDBMS server. That’s the “client-server” part.

MySQL is one of many RDBMS software options. RDBMS and MySQL are often
thought to be the same because of MySQL’s popularity. To name a few big web
applications like Facebook, Twitter, YouTube, Google, and Yahoo! all use MySQL for
data storage purposes. Even though it was initially created for limited usage, now it’s
compatible with many important computing platforms like Linux, macOS, Microsoft
Windows, and Ubuntu.

SQL

MySQL and SQL are not the same. Be aware that MySQL is one of the most popular
RDBMS software’s brand name, which implements a client-server model. So, how do
the client and server communicate in an RDBMS environment? They use a domain
specific language – Structured Query Language (SQL). If you ever encounter other
names that have SQL in them, like PostgreSQL and Microsoft SQL server, they are
most likely brands which also use SQL syntax. RDBMS software is often written in other
programming languages, but always use SQL as their primary language to interact with
the database. MySQL itself is written in C and C++.

Computer scientist Ted Codd developed SQL in the early 1970s with an IBM based
relational model. It became more widely used in 1974 and quickly replaced similar,
then-outdated languages, ISAM and VISAM. History aside, SQL tells the server what to
do with the data. It is similar to your WordPress password or code. You input it into the
system to gain access to the dashboard area. In this case, SQL statements can instruct
the server to perform certain operations:

 Data query: requesting specific information from the existing database.


 Data manipulation: adding, deleting, changing, sorting, and other operations to
modify the data, the values or the visuals.
 Data identity: defining data types, e.g. changing numerical data to integers. This
also includes defining a schema or the relationship of each table in the database
 Data access control: providing security techniques to protect data, this includes
deciding who can view or use any information stored in the database

How MySQL Works?

The image explains the basic structure of the client-server structure. One or more
devices (clients) connect to a server through a specific network. Every client can make
a request from the graphical user interface (GUI) on their screens, and the server will
produce the desired output, as long as both ends understand the instruction. Without
getting too technical, the main processes taking place in a MySQL environment are the
same, which are:

1. MySQL creates a database for storing and manipulating data, defining the
relationship of each table.
2. Clients can make requests by typing specific SQL statements on the MySQL.
3. The server application will respond with the requested information and it will
appear on the clients’ side.

That’s pretty much it. From the clients’ side, they usually emphasize which MySQL GUI
to use. The lighter and more user-friendly the GUI is, the faster and easier their data
management activities will be. Some of the most popular MySQL GUIs are MySQL
WorkBench, SequelPro, DBVisualizer, and the Navicat DB Admin Tool. Some of them
are free, while some are commercial, some run exclusively for macOS, and some are
compatible with major operating systems. Clients should choose the GUI depending on
their needs. For web database management, including a WordPress site, the most
obvious go-to is phpMyAdmin.

Why is MySQL so Popular?

MySQL is indeed not the only (R)DBMS on the market, but it is one of the most popular
ones and only second to Oracle Database when scored using critical parameters like
the number of mentions in search results, professional profiles on LinkedIn, and
frequency of technical discussions on internet forums. The fact that many major tech
giants rely on it further solidifies the well-deserved position. Why so? Here are the
reasons:
Flexible and easy to use
You can modify the source code to meet your own expectations, and don’t need to pay
anything for this level of freedom, including the options for upgrading to the advanced
commercial version. The installation process is relatively simple, and shouldn’t take
longer than 30 minutes.

High performance
A wide array of cluster servers backs MySQL. Whether you are storing massive
amounts of big e-Commerce data or doing heavy business intelligence activities,
MySQL can assist you smoothly with optimum speed.

An industry standard
Industries have been using MySQL for years, which means that there are abundant
resources for skilled developers. MySQL users can expect rapid development of the
software and freelance experts willing to work for a smaller wage if they ever need
them.

Secure
Your data should be your primary concern when choosing the right RDBMS software.
With its Access Privilege System and User Account Management, MySQL sets the
security bar high. Host-based verification and password encryption are both available.

Reference:-
Hostinger Tutorials

https://www.hostinger.com/tutorials/what-is-mysql

Non SQL Datebase

A bit newer to the scene, but rapidly gaining popularity are NoSQL databases. NoSQL
databases appear very similar to JSON file structures: one big tree or list of data, without
any real relationships between two data points or entities. These databases are super
efficient and very fast. Take for example a request for User data, with a SQL database it
will need to request and receive each relationship of the User entity before being able to
respond with the data, whereas with a NoSQL database it can simply grab the data
points in the list and respond with them. What NoSQL gains in speed, it makes the
tradeoff in building data relationships.
The most popular NoSQL database currently is MongoDB. MongoDB is noticeably faster
than SQL databases they use flat JSON-like documents with schemas, instead of full-
fledged tables. These allow the retrieval of data to be very efficient and keeps the data
structure reasonably uncomplicated. MongoDB also gets paired up very often with Node-
based environments. Another popular NoSQL database is Redis, which is one of the
fastest databases available for use. Redis is even more simplified than MongoDB
databases as Redis only allow key-value pairs (an id name with its value). MongoDB is
used primarily as a regular database to store user data, items storage, etc., whereas
Redis excels in storing smaller values like sessions, chats, and transactions.

You should take proper consideration in choosing your databases for their appropriate
uses, for a small application one database will usually be enough as you won’t have too
much data or too many users at once where you’ll encounter speed and efficiency
issues. However, keep an eye out for the future in your initial infrastructure can save you
a lot of headache in the future.

Reference:-
GitConnected
https://levelup.gitconnected.com/web-development-data-1aa4080bc852
MongoDB

o What is MongoDB?

As a definition, MongoDB is an open-source database that uses a document-oriented


data model and a non-structured query language. It is one of the most
powerful NoSQL systems and databases around, today.

o Being a NoSQL tool means that it does not use the usual rows and columns that you
so much associate with the relational database management. It is an architecture that is
built on collections and documents. The basic unit of data in this database consists of a
set of key–value pairs.It allows documents to have different fields and structures. This
database uses a document storage format called BSON which is a binary style
of JSON documents.

The data model that MongoDB follows is a highly elastic one that lets you combine and
store data of multivariate types without having to compromise on the powerful indexing
options, data access, and validation rules. There is no downtime when you want to
dynamically modify the schemas. What it means that you can concentrate more on
making your data work harder rather than spending more time on preparing the data for
the database.
‘Users love MongoDB because it offers the fastest time to value compared to any
other DBMS technology.’ – Eliot Horowitz, Developer of MongoDB

Architecture of MongoDB NoSQL Database

Database: In simple words, it can be called the physical container for data. Each of the
databases has its own set of files on the file system with multiple databases existing on
a single MongoDB server.

Collection: A group of database documents can be called a collection. The RDBMS


equivalent to a collection is a table. The entire collection exists within a single database.
There are no schemas when it comes to collections. Inside the collection, various
documents can have varied fields, but mostly the documents within a collection are meant
for the same purpose or for serving the same end goal.

Document: A set of key–value pairs can be designated as a document. Documents are


associated with dynamic schemas. The benefit of having dynamic schemas is that a
document in a single collection does not have to possess the same structure or fields.
Also, the common fields in a collection’s document can have varied types of data.

 Find out more about MongoDB in this comprehensive MongoDB Tutorial now!

o What makes it different from RDBMS?

You can directly compare the MongoDB NoSQL with the RDBMS and map the varied
terminologies in the two systems: The RDBMS table is a MongoDB collection, the column
is a field, the tuple/row is a document, and the table join is an embedded document. The
typical schema of a relational database shows the number of tables and the relationship
between the tables, but MongoDB does not follow the concept of relationship.

Go through the following table to understand how exactly an expert NoSQL database like
MongoDB differs from RDBMS. This blog has elucidated nine different comparisons
between the two.

MongoDB RDBMS

Document-oriented and non-relational database Relational database

Document based Row based

Field based Column based

Collection based and key–value pair Table based

Gives JavaScript client for querying Doesn’t give JavaScript for querying
Relatively easy to setup Comparatively not that easy to setup

Unaffected by SQL injection Quite vulnerable to SQL injection

Has dynamic schema and ideal for hierarchical Has predefined schema and not good for
data storage hierarchical data storage

100 times faster and horizontally scalable By increasing RAM, vertical scaling can happen
through sharding

Important Features of MongoDB

 Queries: It supports ad-hoc queries and document-based queries.


 Index Support: Any field in the document can be indexed.
 Replication: It supports Master–Slave replication. MongoDB uses native application to
maintain multiple copies of data. Preventing database downtime is one of the replica
set’s features as it has self-healing shard.


 Multiple Servers: The database can run over multiple servers. Data is duplicated to
foolproof the system in the case of hardware failure.
 Auto-sharding: This process distributes data across multiple physical partitions called
shards. Due to sharding, MongoDB has an automatic load balancing feature.
 MapReduce: It supports MapReduce and flexible aggregation tools.
 Failure Handling: In MongoDB, it’s easy to cope with cases of failures. Huge numbers
of replicas give out increased protection and data availability against database
downtime like rack failures, multiple machine failures, and data center failures, or even
network partitions.
 GridFS: Without complicating your stack, any sizes of files can be stored. GridFS
feature divides files into smaller parts and stores them as separate documents.
 Schema-less Database: It is a schema-less database written in C++.
 Document-oriented Storage: It uses BSON format which is a JSON-like format.
 Procedures: MongoDB JavaScript works well as the database uses the language
instead of procedures.

Why do you need MongoDB technology?


This technology overcame one of the biggest pitfalls of the traditional database systems,
that is, scalability. With the ever evolving needs of businesses, their database systems
also needed to be upgraded. MongoDB has exceptional scalability. It makes it easy to
fetch the data and provides continuous and automatic integration. Along with these
benefits, there are multiple reasons why you need MongoDB:

 No downtime while the application is being scaled


 Performs in-memory processing
 Text search
 Graph processing
 Global replication
 Economical

Moreover, businesses are increasingly finding out that MongoDB is ticking all the
right boxes when it comes to meeting the business requirements. Here is how:

 MongoDB provides the right mix of technology and data for competitive advantage.
 It is most suited for mission-critical applications since it considerably reduces risks.
 It increasingly accelerated the time to value (TTV) and lowered the total cost of
ownership.
 It builds applications that are just not possible with traditional relational databases.

Advantages of MongoDB
You ought to know why technocrats project MongoDB as one of the
best NoSQL databases.
Find out the six aspects through which you can realize the benefits of MongoDB:
Distributed Data Platform: Throughout geographically distributed data centers and
cloud regions, MongoDB can be run ensuring new levels of availability and scalability.
With no downtime and without changing your application, MongoDB scales elastically in
terms of data volume and throughput. The technology gives you enough flexibility across
various data centers with good consistency.
Fast and Iterative Development: Changing business requirements will no longer affect
successful project delivery in your enterprise. A flexible data model with dynamic schema,
and with powerful GUI and command line tools, makes it fast for developers to build and
evolve applications. Automated provisioning enables continuous integration and delivery
for productive operations. Static relational schemas and complex operations of RDBMS
are now something from the past.

Flexible Data Model: MongoDB stores data in flexible JSON-like documents, which
makes data persistence and combining easy. The objects in your application code is
mapped to the document model, due to which working with data becomes easy. Needless
to say that schema governance controls, data access, complex aggregations, and rich
indexing functionality are not compromised in any way. Without downtime, one can modify
the schema dynamically. Due to this flexibility, a developer needs to worry less about data
manipulation.
Reduced TCO (Total Cost of Ownership): Application developers can do their job way
better when MongoDB is used. The operations team also can perform their job well,
thanks to the Atlas Cloud service. Costs are significantly lowered as MongoDB runs on
commodity hardware. The technology gives out on-demand, pay-as-you-go pricing with
annual subscriptions, along with 24/7 global support.
Integrated Feature Set: One can get a variety of real-time applications because of
analytics and data visualization, event-driven streaming data pipelines, text and
geospatial search, graph processing, in-memory performance, and global replication
reliably and securely. For RDBMS to accomplish this, there requires additional complex
technologies, along with separate integration requirements.
Long-term Commitment: You would be staggered to know about the development of
this technology. It has garnered over 30 million downloads, 4,900 customers, and over
1,000 partners. If you include this technology in your firm, then you can be sure that your
investment is in the right place.
MongoDB cannot support the SQL language for obvious reasons. MongoDB querying
style is dynamic on documents as it is a document-based query language that can be as
utilitarian as SQL. MongoDB is easy to scale, and there is no need to convert or map
application objects to database objects. It deploys the internal memory for providing faster
access to data and storing the working set.

‘The cost of managing traditional databases is high. Mistakes made during routine
maintenance are responsible for 80 percent of application downtime.’ – Dev
Ittycheria, President and CEO of MongoDB Inc.

Frequently Used Commands in MongoDB


Database Creation

 MongoDB doesn’t have any methods to create a database. It automatically creates a


database when you save values into the defined collection for the first time. The
following command will create a database named ‘database_name’ if it doesn’t exist. If
it does exist, then it will be selected.
 Command: Use Database_name

Dropping Databases

 The following command is used to drop a database, along with its associated files. This
command acts on the current database.
 Command: db.dropDatabase()

Creating a Collection

 MongoDB uses the following command to create a collection. Normally, this is not
required as MongoDB automatically creates collections when some documents are
inserted.
 Command: db.createCollection(name, options)
 Name: The string type which specifies the name of the collection to be created
 Options: The document type which specifies the memory size and the indexing of the
collection. It is an optional parameter.

Showing Collections

 When MongoDB runs the following command, it will display all the collections in the
server.
 Command: In shell you can type: db.getCollectionNames()

$in Operator

 The $in operator selects those documents where the value of a field is equal to the
value in the specified array. To use the $in expression, use the following prototype:
 Command: { field: { $in: [<value1>, <value2>, … <valueN> ] } }

Projection

 Often you need only specific parts of the database rather than the whole
database. Find() method displays all fields of a document. You need to set a list of
fields with value 1 or 0. 1 is used to show the field and 0 is used to hide it. This ensures
that only those fields with value 1 are selected. Among MongoDB query examples,
there is one which defines projection as the following query.
 Command: db.COLLECTION_NAME.find({},{KEY:1})

Date Operator

 This command is used to denote time.


 Command:
Date() – It returns the current date as a string.
New Date() – It returns the current date as a date object.

$not Operator

 $not does a logical NOT operation on the specified <operator-expression> and selects
only those documents that don’t match the <operator-expression>. This includes
documents that do not contain the field.
 Command: { field: { $not: { <operator-expression> } } }

Delete Commands

 Following are commands which explain MongoDB’s delete capabilities.


 Commands:
collection.remove() – It deletes a single document that matches a filter.
db.collection.deleteOne() – It deletes up to only a single document even if the command
selects more than one document.
db.collection.deletemany() – It deletes all the documents that match the specified filter.

Where Command

 To pass either a string which has a JavaScript expression or a full JavaScript function to
the query system, the following operator can be used.
 Command: $where

The forEach Command

 JavaScript function is applied to each document from the cursor while iterating the
cursor.
 Command: cursor.forEach(function)

If you have any query related to MongoDB, kindly post it on our Community!

Where can you use MongoDB NoSQL database?


The MongoDB NoSQL database can be extensively used for Big Data and Hadoop
applications for working with humongous amounts of NoSQL data that is a major portion
of Big Data. MongoDB and SQL are all database systems, but what sets them apart is
their efficiency in today’s world. MongoDB can also be successfully deployed for social
media and mobile applications for parsing all streaming information which is in the
unstructured format. Content management and delivery also sees extensive use for the
MongoDB NoSQL database. Other domains are user data management and data hubs.
Get familiar with top MongoDB Interview Questions to get a head start in your
career!

What is the scope of MongoDB NoSQL?


Some of the biggest companies on earth are successfully deploying MongoDB with
already over half of the Fortune 100 companies being customers of this incredible NoSQL
database system. It has a very vibrant ecosystem with over 100 partners and huge
investor interest who are pouring money in the technology, relentlessly.
One of the biggest insurance companies on earth MetLife is extensively using
MongoDB for its customer service applications; the online classifieds search portal,
Craigslist is deeply involved in archiving its data using MongoDB. One of the most
hailed brands in the media industry, The New York Times is using MongoDB for its
photo submissions and the application that is deployed for form-building. Finally, the
extent of the MongoDB dominance can be gauged by the fact that the world’s premier
scientific endeavor that is spearheaded by the CERN physics laboratory is extensively
using MongoDB for its data aggregation and data discovery applications.

Who is the right audience for learning MongoDB technology?

 Software Developers, Architects, and Administrators


 Database and Analytics Professionals
 System Administrators and Research ProfessionalsHow will this technology help you in
your career growth?
 MongoDB is the most widely used NoSQL database application –InfoWorld
 A MongoDB Database Administrator in the United States can earn up to $129,000
per annum – Indeed
 Hadoop and NoSQL markets are expected to reach $3.3 billion within the next two
years – Wikibon

MongoDB is a very useful NoSQL database that is being used by some of the biggest
corporations in the world. Due to some of the most powerful features of MongoDB, it offers
a never before seen set of features to enterprises in order to parse all their unstructured
data. Due to this, professionals who are qualified and certified in working with the basics
and the advanced levels of MongoDB tool can expect to see their careers soar at a
tremendous pace without any doubt. Due to its versatile and scalable nature, MongoDB
can be used for datasets like social media, videos, and so on. MongoDB clients and users
won’t feel a need for any other kind of databases.
Reference:
intellipaat.
https://intellipaat.com/blog/what-is-mongodb/
Where should you start? Can you learn web development on your own? What’s the best
route to success?

1. Have a Goal

Q. What do we want?

A. To become web developers!

Q. When do we want it?

A. Now!

It may seem silly, but it’s important to begin by defining (and believing in) your goal.

Say it out loud. Write it down. Tell a trusted friend.

“I want to become a web developer.”

In order for your goal to bloom, it needs to be living, breathing, and real.

While this may seem obvious to some, others of us simply toy with the idea of changing
careers without ever bringing them to fruition.

Give your goal a pulse, and the rest will follow.


2. Learn to Code

I know we’re saying “learn to code” like it’s easy as pie… but as I’ve already
established:

I get it.

Learning to code isn’t simple. In fact, you may have to inject a bit of your own “blood,
sweat, and tears” into the process.

But you don’t have to go it alone.

Web developer bootcamps—like the one at CareerFoundry—come with the support of


BOTH a tutor and a mentor, in addition to a robust and active peer network of your
fellow students.

You + tutor + mentor + peers = YOU CAN DO THIS

Anytime you get stuck or confused (and for some of us, this feels like ALL the time), you
can get the support you need to get yourself unstuck.
3. Google It

In a world where robots deliver our takeaway dinner, it can feel easy (and maybe even
encouraged) to be a little lazy.

Who me?

Nawwwwwwwww!

But so much of every successful web developer’s journey are the many hours spent
searching on Google and rephrasing search queries to get more relevant answers.

It’s like a rite of passage.

…or perhaps “hazing ritual” might be the better analogy.

Sure, you have a mentor and mentor there to support you with the course instruction,
but they don’t carry the weight of your goal.

Only you carry the weight of your goal.

This means you have to be proactive in troubleshooting and problem-solving


independently, using the incredible plethora of knowledge and experiences documented
across the interwebs in blogs and forums.
If you’ve got a short fuse (like me), your search queries may vary from:

“implement model view controller”

To

“Why is JavaScript so complicated?!”

Thankfully, Google will usually redirect you to websites like StackOverFlow and Quora.

When learning to become a web developer, Google will become your best friend, and
that’s one friendship you’ll want to carry with you throughout your career.

Ain’t no shame in Googling.

4. Copy Cool Things

We know, we know—plagiarism is bad…right?

But that’s not what we meant!

As a web developer, you’re actually encouraged to follow common design patterns on


the web, snatching up bits of code to make your own hamburger menus, parallax
effects, transitions, widgets, and more.

Codes aren’t some kind of secret formula to stand in awe of (though they are awe-
inspiring). They’re readily available at any given moment. Right now, even!

Try this now: In your browser, go to View→Developer→Developer Tools. The elements


tab will actually give you the code:
Pretty cool, right? And ripe for the copying!

The main difference between a successful web developer and some Joe Schmo on the
digital streets is that the former tries to understand what the code means while the latter
simply copies without thought.

Websites like TryRuby are great for practicing what you’ve learned directly in your
browser without having to download any software. Give it a try!

5. Showcase Your Work

You can have the best certificate on the planet, but if don’t have a way to showcase
your best work, you’re out of luck.

Most—if not all—recruiters want to see what you’ve built.

They want to see your portfolio.


And recruiters who’re in-the-know won’t just want links to websites you’ve
coded…they’ll be looking for links to your code. They want to see exactly how you’ve
typed it—and whether you’re neat and tidy or a total mess.

Reference:
careerfoundry

https://careerfoundry.com/en/blog/web-development/become-a-web-developer/

You might also like