Uploaded by rehmanfazul24

SHREYANSH KABRA 18BCON091 Mid term Report (1)

advertisement
Project Report
(Project Semester Jan-June 2022)
Internship at Aruba Networks
Internship Period (8th February – 5th August 2022)
Submitted by
Shreyansh Kabra
18BCON091
Under the Guidance of
Mr. Satyajeet Sharma
Industry Guide: Mr. Mohan Raman
Designation: Assistant Professor
Designation: Customer Advocacy
Engineer
Department of Computer Science Engineering
JECRC UNIVERSITY, JAIPUR
1
OFFER LETTER
2
Table of Contents
OFFER LETTER ........................................................................................................................................ 2
About Aruba Networks ........................................................................................................................... 5
Abstract ................................................................................................................................................. 7
Introduction ........................................................................................................................................... 8
Technology Used ...................................................................................................................................11
1.
Express.js............................................................................................................................................... 12
2.
JavaScript .............................................................................................................................................. 13
3.
React.js.................................................................................................................................................. 15
4.
Node.js .................................................................................................................................................. 17
5.
Visual Studio Code ................................................................................................................................. 19
6.
Git ......................................................................................................................................................... 21
7.
Databases .............................................................................................................................................. 24
8.
Linux (RedHat7) ..................................................................................................................................... 25
Findings ................................................................................................................................................27
Contribution ..........................................................................................................................................29
Learnings ..............................................................................................................................................30
3
Table of Figures
Figure 1 Full Stack Development ......................................................................................................................8
Figure 2 Frontend ...............................................................................................................................................9
Figure 4 Backend .............................................................................................................................................10
Figure 5 Express.js ...........................................................................................................................................12
Figure 6 Javascript ...........................................................................................................................................13
Figure 7 React.js ..............................................................................................................................................15
Figure 8 Node.js ...............................................................................................................................................17
Figure 9 VS Code .............................................................................................................................................19
Figure 10 GIT...................................................................................................................................................21
Figure 11 GIT Operations ................................................................................................................................22
Figure 12 Linux ................................................................................................................................................25
Index of Tables
Table Number
Table Name
Page Number
1
Acquisitions
5-6
2
Technologies Used
12
3
SQL vs NoSQL
25
4
About Aruba Networks
Aruba Networks, formerly known as Aruba Wireless Networks, is a Santa Clara, California-based wireless
networking subsidiary of Hewlett Packard Enterprise company.
The company was founded in Sunnyvale, California in 2002 by Keerti Melkote and Pankaj Manglik. On March 2,
2015, Hewlett-Packard announced it would acquire Aruba Networks for approximately USD 3 billion. On May 19,
2015, HP completed the acquisition. As of November 1, 2015, the company operates as a subsidiary of Hewlett
Packard Enterprise company.
Antonio Neri is the President and Chief Executive Officer of Hewlett Packard Enterprise – the
global edge-to-cloud platform-as-a-service company – responsible for developing and delivering
enterprise technology solutions and services that help organizations accelerate outcomes by
unlocking value from all their data, everywhere.
History
Date of
Company Acquired
Silver Peak Systems
Cape Networks
Wide Area Networks (WANs)
21, 2020
March
27,
2018
1,
2017
Rasa Networks
Aruba
September
February
Niara Inc.
Networks
(acquired by HPE)
Business
Acquisition
May 9, 2016
May 19, 2015
Network Security
Network Security
Network
Performance
Management and Analytics
Wireless Networking
5
Meridian Apps
May 16, 2013
December 8,
Ayenda Systems
2011
Amigopod Pty Ltd.
Assets
and
Technology
Azalea Networks
AirWave Wireless
Network Chemistry
Location Services
Network Access Security
December
Network
14, 2010
Solutions
September 2,
Outdoor
2010
Technology
January
9,
2008
July 23, 2007
Authentication
Mesh
Wireless
Wi-Fi Hotspot
Wi-Fi Security
Table 1: Acquisition
6
Abstract
This report is aimed at explaining key areas of my training under the Internship undertaken at
Aruba Networks. The training consists of full-stack web development comprising both front-end
and back-end. Website design & web development is about establishing your identity,
developing/enhancing an existing identity, producing a periodical online publication, producing
an entertainment site, or exchanging data with your partners/clients, your website must do
something for its audience. During this period, I got hands-on training with various technologies
and languages used in full-stack development by the company like HTML, CSS, Bootstrap,
JavaScript, Node.js, Express.js, React.js, Postman, GIT, VS Code, Routing, Wireless
Networking, Service Now, AWS, UXI and many more, some of them are still undergoing. After
completing this training, I’ll be involved in projects that will help me improve my skills and help
me with the growth of my career in the field.
7
Introduction
Full-stack Development
It refers to the development of both front-end (client-side) and back-end (server-side) portions of
web applications.
Full-stack web developers can design complete web applications and websites. They work on the
frontend, backend, database, and debugging of web applications or websites.
Figure 1 Full Stack Development
Technology related to full-stack development:
Front end:
Front end: It is the visible part of the website or web application that is responsible for user
experience. The user directly interacts with the front-end portion of the web application or website.
The front-end portion is built by using some languages which are discussed below:

HTML: HTML stands for HyperText Markup Language. It is used to design the front-end
portion of web pages using a markup language. HTML is the combination of Hypertext and
Markup language. Hypertext defines the link between the web pages. The markup language is
used to define the text documentation within the tag which defines the structure of web pages.

CSS: Cascading Style Sheets, fondly referred to as CSS, is a simply designed language
intended to simplify the process of making web pages presentable. CSS allows you to apply
styles to web pages. More importantly, CSS enables you to do this independent of the HTML
that makes up each web page.
8

JavaScript: JavaScript is a famous scripting language used to create the magic on the sites to
make the site interactive for the user. It is used to enhance the functionality of a website to run
cool games and web-based software.
Figure 2 Frontend
Front End Frameworks and Libraries:

AngularJS: Angular.js is a JavaScript open-source front-end framework that is mainly
used to develop single-page web applications (SPAs). It is a continuously growing and
expanding framework which provides better ways for developing web applications. It
changes the static HTML to dynamic HTML. It is an open-source project which can be
freely used and changed by anyone. It extends HTML attributes with Directives, and data
is bound with HTML.

React.js: React is a declarative, efficient, and flexible JavaScript library for building user
interfaces. ReactJS is an open-source, component-based front-end library responsible only
for the view layer of the application. It is maintained by Facebook.

Bootstrap: Bootstrap is a free and open-source tool collection for creating responsive
websites and web applications. It is the most popular HTML, CSS, and JavaScript
framework for developing responsive, mobile-first websites.

jQuery: jQuery is an open-source JavaScript library that simplifies the interactions
between an HTML/CSS document, or more precisely the Document Object Model (DOM),
and JavaScript.
Back end:
It refers to the server-side development of a web application or website with a primary focus on
how the website works. It is responsible for managing the database through queries and APIs by
client-side commands.
9
The back-end portion is built by using some languages which are discussed below:

PHP: PHP is a server-side scripting language designed specifically for web development.
Since PHP code is executed on the server-side, it is called a server-side scripting language.

C++: It is a general-purpose programming language and is widely nowadays for competitive
programming. It is also used as backend language.

Java: Java is one of the most popular and widely used programming languages and platforms.
It is highly scalable. Java components are easily available.

Python: Python is a programming language that lets you work quickly and integrate systems
more efficiently.

JavaScript: JavaScript can be used as both (front end and back end) programming languages.
Back End Frameworks and Libraries:

Node.js: Node.js is an open-source and cross-platform runtime environment for executing
JavaScript code outside of a browser. We often use Node.js for building back-end services like
APIs like Web App or Mobile App.

Database: A database is the collection of inter-related data which helps in the efficient
retrieval, insertion, and deletion of data from the database and organizes the data in the form
of tables, views, schemas, reports, etc.

MongoDB: MongoDB, the most popular NoSQL database, is an open-source documentoriented database. The term ‘NoSQL’ means ‘non-relational’. It means that MongoDB isn’t
based on the table-like relational database structure but provides an altogether different
mechanism for the storage and retrieval of data.

SQL: Structured Query Language is a standard Database language that is used to create,
maintain, and retrieve the relational database.
Figure 3 Backend
10
Technology Used
Technologies Used
Reason
Express.js
Node.js Framework
React.js
Frontend/UI Part
Node.js
Run time Environment for Server
JavaScript
Frontend & Backend
Git
Version Control and Repository
Linux (RedHat7)
Operating System
VS Code
Code Editor
Databases
Store user data
Table 2: Technologies Used
11
1. Express.js
Express.js is a Node.js framework that is used for designing and building web applications
quickly and easily. In our project, we are using express for developing middleware and for
structuring the web application in such a way that it can handle multiple HTTP requests.
Express is a minimal and flexible Node.js web application framework that provides a robust set
of features to develop web and mobile applications. It facilitates the rapid development of Nodebased Web applications. Following are some of the core features of the Express framework −
Allows to set up middle-wares to respond to HTTP Requests.
Defines a routing table that is used to perform different actions based on HTTP Method and URL.
Allows to dynamically render HTML Pages based on passing arguments to templates. A lot of
information related to HTTP requests and responses including cookies, sessions, URLs, etc.
Figure 4 Express.js
12
2. JavaScript
Figure 5 Javascript
JavaScript is a lightweight, interpreted programming language. It is designed for creating
network-centric applications. It is complementary to and integrated with Java. JavaScript is very
easy to implement because it is integrated with HTML. It is open and cross-platform.
In our project, we have been using JavaScript for all the basic programming. We are using it on
both the client and server sides. We are using ES6 which allows us to handle a lot of things like
writing functions, array, and a lot of other things quite easily.
JavaScript is one of the most widely used programming languages (Front-end as well as Backend). It has its presence in almost every area of software development. I'm going to list a few of
them here:

Client-side validation - This is important to verify any user input before submitting it to
the server and JavaScript plays an important role in validating those inputs at the frontend itself.

Manipulating HTML Pages - JavaScript helps in manipulating HTML pages on the fly.
This helps in adding and deleting any HTML tag very easily using JavaScript and
modifying your HTML to change its look and feel based on different devices and
requirements.

User Notifications - You can use JavaScript to raise dynamic pop-ups on the webpages
to give different types of notifications to your website visitors.
13

Back-end Data Loading - JavaScript provides Ajax library which helps in loading backend data while you are doing some other processing. This gives an amazing experience
to your website visitors.

Presentations - JavaScript also provides the facility of creating presentations that give
the website a look and feel.

Server Applications - Node JS is built on Chrome's JavaScript runtime for building fast
and scalable network applications. This is an event-based library that helps in developing
very sophisticated server applications including Web Servers.
Advantages of JavaScript
The merits of using JavaScript are −

Less server interaction − You can validate user input before sending the page off to the
server. This saves server traffic, which means less load on your server.

Immediate feedback to the visitors − They don't have to wait for a page reload to see if
they have forgotten to enter something.

Increased interactivity − You can create interfaces that react when the user hovers over
them with a mouse or activates them via the keyboard.

Richer interfaces − You can use JavaScript to include such items as drag-and-drop
components and sliders to give a Rich Interface to your site visitors.
14
3. React.js
Figure 6 React.js
React.js is a very important part of our project. It is being used to develop the user interface for
our website. A good UI is responsible to connect your visitors to your website with aesthetically
pleasing design elements. UI design also gives people clear directions on how to navigate your
website and search through each page of information while displaying relevant calls to action so
that decisions are simple.
ReactJS is a JavaScript library used for building reusable UI components. According to React
official documentation, the following is the definition −
React is a library for building composable user interfaces. It encourages the creation of reusable
UI components, which present data that changes over time. Lots of people use React as the V in
MVC. React abstracts away the DOM from you, offering a simpler programming model and better
performance. React can also render on the server using Node, and it can power native apps using
React Native. React implements one-way reactive data flow, which reduces the boilerplate and is
easier to reason about than traditional data binding.
React Features

JSX − JSX is JavaScript syntax extension. It isn't necessary to use JSX in React
development, but it is recommended.

Components − React is all about components. You need to think of everything as a
component. This will help you maintain the code when working on larger-scale projects.

Unidirectional data flow and Flux − React implements one-way data flow which makes
it easy to reason about your app. Flux is a pattern that helps keep your data unidirectional.
15
React Advantages

Uses virtual DOM which is a JavaScript object. This will improve apps performance since
JavaScript virtual DOM is faster than the regular DOM.

Can be used on the client and server-side as well as with other frameworks.

Component and data patterns improve readability, which helps to maintain larger apps.
React Components
When creating React applications, you use JSX to define the HTML content of your webpage
directly in JavaScript. However, writing all the HTML out as one giant JSX expression doesn’t
provide many advantages over .html files in the first place.
Instead, the React library encourages and enables you to describe your web page in terms of
components, instead of just HTML elements. In this context, a component is a “piece” of a web
page. For example, in a social media application, each “status post” on a timeline might be a
different component, the “like” button may be its component, the “what are you thinking about?”
form would be a component, the page navigation would be a component, and so forth. Thus, you
can almost think of a component as a semantic abstraction of an <danv> element—a “chunk” of
the page. But like with <div>s, a component can be seen as made of other components—you
might have a “Timeline” component that is made up of many “StatusPost” components, and each
StatusPost component may include a “ReactionButton” component.
Thinking about a page in terms of components instead of HTML elements can make it much
easier to design and reason about your page—you don’t need to worry about the code syntax or
the specific element to use, you can just think of your page in terms of its overall layout and
content—what needs to be on the page, and how that content is organized—the same way you
might mock up a web page in a graphic design program.
React enables you to implement your page in terms of explicit components by providing a way
for you to define your XML elements. Thus, you can define an <Tanmeline> element, which has
multiple <StatusPost> elements as children. Components will be able to be included directly in
your JSX, made up of and mixed in with standard HTML elements.
16
4. Node.js
Node.js is another important technology that is being used in our project. We are using it for
creating our backend side code so that our client can request from the server and this server can
respond to the client.
Figure 7 Node.js
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

Asynchronous and Event Driven − All APIs of Node.js library are asynchronous, that is,
nonblocking. 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, the Node.js library is very
fast in code execution.

Single Threaded but Highly Scalable − Node.js uses a single-threaded model with event
looping. The 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.
17
Where to Use Node.js?

I/O bound Applications

Data Streaming Applications

Data Intensive Real-time Applications (DIRT)

JSON APIs based Applications

Single Page Applications
18
5. Visual Studio Code
We are using VS Code for writing code for our website. VS Code helps us manage our code in a
structured way, also it provides a lot of extensions so that our code becomes cleaner and easier
to maintain.
Figure 8 VS Code
Visual Studio is an Integrated Development Environment (IDE) developed by Microsoft to
develop GUI (Graphical User Interface), console, Web applications, web apps, mobile apps,
cloud, web services, etc. With the help of this IDE, you can create managed code as well as native
code. It uses the various platforms of Microsoft software development software like Windows
store, Microsoft Silverlight, Windows API, etc. It is not a language-specific IDE as you can use
this to write code in C#, C++, VB (Visual Basic), Python, JavaScript, and many more languages.
It provides support for 36 different programming languages. It is available for Windows as well
as for macOS.
Evolution of Visual Studio: The first version of VS (Visual Studio) was released in 1997, named
Visual Studio 97 having version number 5.0. The latest version of Visual Studio is 15.0 which
was released on March 7, 2017. It is also termed Visual Studio 2017. The supported .Net
Framework Versions in the latest Visual Studio are 3.5 to 4.7. Java was supported in old versions
of Visual Studio, but the latest version doesn’t provide any support for Java language.
There are 3 editions of Microsoft Visual Studio as follows:

Community: It is a free version which is announced in 2014. All other editions are paid. This
contains the features like Professional edition. Using this edition, any individual developer can
develop their own free or paid apps like .Net applications, Web applications, and many more. Its
main purpose is to provide the Ecosystem (Access to thousands of extensions) and Languages
(You can code in C#, VB, F#, C++, HTML, JavaScript, Python, etc.) support.
19

Professional: It is the commercial edition of Visual Studio. It comes in Visual Studio 2010 and
later versions. It provides the support for XML and XSLT editing and includes tools like Server
Explorer and integration with Microsoft SQL Server. Microsoft provides a free trial of this edition
and after the trial period, users must pay to continue using it.

Enterprise: It is an integrated, end-to-end solution for teams of any size with demanding quality
and scale needs. Microsoft provides a 90-days free trial of this edition and after the trial period,
users must pay to continue using it.
20
6. Git
Git is software for tracking changes in any set of files, usually used for coordinating work
among programmers collaboratively developing source code during software development. Its
goals include speed, data integrity, and support for distributed, non-linear workflows
(thousands of parallel branches running on different systems).
Figure 9 GIT
Advantages of Git:

Free and open source: Git is released under GPL’s open-source license. It is available
freely over the internet. You can use Git to manage property projects without paying a
single penny. As it is open-source, you can download its source code and also perform
changes according to your requirements.

Implicit backup: The chances of losing data are very rare when there are multiple copies
of it. Data present on any client-side mirrors the repository, hence it can be used in the
event of a crash or disk corruption.

Security: Git uses a common cryptographic hash function called secure hash function
(SHA1), to name and identify objects within its database. Every file and commit is checksummed and retrieved by its checksum at the time of checkout. It implies that it is
impossible to change files, dates, commit messages, and any other data from the Git
database without knowing Git.

Easier branching: CVCS uses a cheap copy mechanism. If we create a new branch, it
will copy all the codes to the new branch, so it is time-consuming and not efficient. Also,
deletion and merging of branches in CVCS are complicated and time-consuming. But
branch management with Git is very simple. It takes only a few seconds to create, delete,
and merge branches.
21
Figure 10 GIT Operations
Commits
Commit holds the current state of the repository. A commit is also named by the SHA1 hash.
You can consider a commit object as a node of the linked list. Every commit object has a pointer
to the parent commit object. From a given commit, you can traverse back by looking at the parent
pointer to view the history of the commit. If a commit has multiple parent commits, then that
commit has been created by merging two branches.
Branches
Branches are used to create another line of development. By default, Git has a master branch,
which is the same as the trunk in Subversion. Usually, a branch is created to work on a new
feature. Once the feature is completed, it is merged back with the master branch, and we delete
the branch. Every branch is referenced by HEAD, which points to the latest commit in the branch.
Whenever you make a commit, HEAD is updated with the latest commit.
Tags
Tag assigns a meaningful name with a specific version in the repository. Tags are very similar to
branches, but the difference is that tags are immutable. It means, the tag is a branch, which
nobody intends to modify. Once a tag is created for a particular commit, even if you create a new
commit, it will not be updated. Usually, developers create tags for product releases.
Clone
22
Clone operation creates the instance of the repository. Clone operation not only checks out the
working copy but also mirrors the complete repository. Users can perform many operations with
this local repository. The only time networking gets involved is when the repository instances
are being synchronized.
Pull
Pull operation copies the changes from a remote repository instance to a local one. The pull
operation is used for synchronization between two repository instances. This is the same as the
update operation in Subversion.
Push
Push operation copies change from a local repository instance to a remote one. This is used to
store the changes permanently in the Git repository. This is the same as the commit operation in
Subversion.
23
7. Databases
Storing data is one of the most essential parts of any project. How we store our data, and how much
time our database takes to send back the data are important.
In General, there are two types of databases used for storing different types of data. These are:
a. SQL
b. NoSQL
SQL
NoSQL
RELATIONAL DATABASE MANAGEMENT
Non-relational or distributed database
SYSTEM (RDBMS)
system.
These databases have fixed or static or predefined
schema
They have a dynamic schema
These databases are not suited for hierarchical data
These databases are best suited for
storage.
hierarchical data storage.
These databases are best suited for complex queries
Vertically Scalable
These databases are not so good for
complex queries
Horizontally scalable
Follows CAP (consistency, availability,
Follows ACID property
partition tolerance)
Table 3: SQL vs NoSQL
24
8. Linux (RedHat7)
Figure 11
Linux
Features of Linux
a. Free and Open Source
Linux or GNU/Linux (if you like) is free and open-source; you can see the source code used to
create Linux (kernel). You can check the code to locate bugs, explore security vulnerabilities, or
simply study what that code is doing on your machine(s).
Additionally, you may easily develop and install your programs into a Linux operating system
because of the numerous available programming interfaces you need. With all the above features,
you can tailor a Linux operating system at its most basic levels, to suit your server needs, unlike
Windows.
b. Stability and Reliability
Linux is Unix-based, and Unix was originally designed to provide an environment that’s
powerful, stable, and reliable yet easy to use. Linux systems are widely known for their stability
and reliability, many Linux servers on the Internet have been running for years without failure or
even being restarted.
c. Security
25
Linux is, without doubt, the most secure kernel out there, making Linux-based operating systems
secure and suitable for servers. To be useful, a server needs to be able to accept requests for
services from remote clients, and a server is always vulnerable by permitting some access to its
ports.
d. Flexibility
Linux is so powerful and flexible. You can tune it to meet your server needs: it allows you to do
whatever you want (if possible). You can install a GUI (graphical user interface) or simply
operate you operate your server via a terminal only.
e. Hardware Support
Linux has rock-solid support for a mix of computer architectures, on both modern and moderately
old hardware. This is one of the most significant factors that make Linux better than Windows
for servers, that is if you have a small budget for hardware acquisition.
Basic Linux Commands
•
ls – List directory contents.
•
cd /var/log – Change the current directory.
•
grep – Find text in a file.
•
su / sudo command – Some commands need elevated rights to run on a Linux system.
•
pwd – Print Working Directory.
•
mv – Move a file.
•
cp – Copy a file.
26
Findings
A Full-stack developer is a web developer or engineer who works with both the front and back
ends of a website or application. In this sense, they provide end-to-end service and can be
involved in projects that involve databases and building user-facing websites. The primary
responsibility of a Full Stack Developer includes designing user interactions on websites,
developing servers and databases for website functionality, and coding for mobile platforms.
Responsibilities include:
● Developing front-end website architecture.
● Designing user interactions on web pages.
● Developing back-end website applications.
● Creating servers and databases for functionality.
● Ensuring cross-platform optimization for mobile phones.
● Ensuring responsiveness of applications.
● Working alongside graphic designers for web design features.
● Seeing through a project from conception to finished product.
● Designing and developing APIs.
●Meeting both technical and consumer needs.
● Staying abreast of developments in web applications and programming languages.
ServiceNow is an American software company based in Santa Clara, California that develops
a cloud computing platform to help companies manage digital workflows for enterprise
operations. ServiceNow is a platform-as-a-service provider, providing technical management
support, such as IT service management, to the IT operations of large corporations, including
providing help desk functionality.
Service Now is an ITSM tool. Information technology service management (ITSM) is the
activities that are performed by an organization to design, build, deliver, operate and
control information technology (IT) services offered to customers. Differing from more
technology-oriented IT management approaches like network management and IT systems
management, IT service management is characterized by adopting a process approach towards
27
management, focusing on customer needs and IT services for customers rather than IT systems,
and stressing continual improvement.
Aruba UXI agent for Zebra complements UXI hardware sensors by providing in-depth analysis
of roaming and voice call quality besides providing a comprehensive network and application
performance statistics. Aruba UXI agent for Zebra is the endpoint software agent deployed on
Zebra Android-based devices, the agent can be installed from Google Play or using MDM and
can be activated with a license key from Aruba. The Aruba UXI agent for Zebra works in tandem
with the Zebra Wireless Insights API to provide in-depth data on roaming performance and voice
analysis, these insights are displayed on AIOps powered UXI dashboard. The UXI agent
continuously tests network and application performance even when Zebra devices are not being
actively used. It carries out this task by performing low-impact synthetic application testing and
passive roaming and voice analysis. The UXI agent for Zebra supports Zebra devices running on
appropriate OS versions/lifeguard updates. Aruba UXI dashboard is a cloud-based interface that
presents network performance data captured by UXI Sensors in an easy-to-understand format.
Based on a traffic light theme, the dashboard helps the customers to diagnose network issues in
just a single glance.
28
Contribution
During the past 2 months of the internship, I have learned many new backend technologies and
tried to understand the code flow and code review process of the project that I am working on.

There were some minor bugs in the code causing logically dead code and I fixed them
using python.

I learned to write a shell script and how to run that script in the development environment.

I have understood the code flow and wrote some APIs for the same.

I have written some conditions in the existing code to implement the changes that were
required.

I wrote code in Python using regex and a modular approach for network automation to
separate certain configurations from a config file.

I wrote code to convert configuration lines into JSON objects so that they can directly be
used by access points.

I worked with my team to host a virtual fun event in the company celebrating the birthdays
of other employees and having a good time during which we created a best of 2021 meme
video.
29
Learnings
After the completion of this internship, I expect to learn the Ins and Outs of Full-stack
Development, Software Development and believe to be able to build Industry build applications
that are robust and optimized. But more than that what I expect is to learn is teamwork, discipline,
and many more things that are part of HPE’s work culture.
Till now this internship has been an excellent and rewarding experience for me and I hope I could
continue this way. I can conclude that there has been a lot I've been learning from my work at HPE.
The technical aspects of the work I've done are not flawless and could be improved provided
enough time.
Following are the learning outcomes:

Structure and implement HTML/CSS.

Apply intermediate and advanced web development practices.

Implement basic JavaScript.

Create visualizations by UI/UX theories.

Develop a fully functioning website and deploy it on a web server.

Find and use code packages based on their documentation to produce working results in a
project.

Create web pages that function using external data.

Architect solutions to programming problems by combining visual components and classes.

Develop JavaScript applications that transition between states.

Identify mobile strategies and design for multiple operating systems.

Distinguishing trends in multi-device implementation.

Create visualizations by UI/UX theories.

Derive information from data and implement data into applications.

Authenticate, store, and structure user data.
30

Develop fully working applications that can be used on cross-platforms.

Disambiguate the different structures that a NoSQL database may represent.

Implement a RESTful backend API for storing and retrieving data via AJAX calls.

Use web sockets to allow multiple synchronous access to a shared dataset.

Secure a database from nefarious incursions.

Resolving tickets in ServiceNow.

Using Glide API’s in ServiceNow.

Using Linux CLI.

GIT Bash

Launching websites using Heroku.

Creating and maintaining IAM User and Groups in AWS

Dealing with Security Groups in AWS.

Managing EC2 instances in AWS.

Using the Oauth2.0 secure login method.

Code Sandbox, Postman, Visual Studio, Atom, and various platforms knowledge.

Billing Management system AWS
31
Download