Tuesday, May 7, 2019

What is Spring and Spring Boot?


Spring is a open source and lightweight modular framework which was created by Rod Johnson in 2003. Spring framework can be used for all layer implementations for a real time application.Because of the POJO model Spring made J2EE easier as well as make it lightweight. Simplicity, loose coupling , testability makes the demand of the spring high. Some of the advantages are testing the applications developed with Spring is easy, It utilized some of the well known technologies such as ORM framework, logging framework, spring can easily scale up or down because of the consistence transaction management interface. Also some of the disadvantages can be summarized as its complex, it is difficult to learn, requires lots of XML.
Spring boot is a framework to develop new Spring application and to simplify bootstrapping and also it is easy to do it with less configurations. It provides default code and annotation configuration to quick start the new projects as well as third party projects.There are set of build files that can be used to add the necessary dependencies and auto configuration but no requirement for XML configuration. Another feature can be considered that it does not need to deploy WAR files since it embed Tomcat, Jetty directly .
Advantages of Spring boot
  • Its simple to develop Spring based applications with Java or Groovy.
  • Spring Boot provides HTTP endpoints to access application internals such as health status, detailed metrics, application .
  • Spring Boot provides lots of plugins to develop with embedded and in-memory databases very easily as well as using build tools like Maven and Gradle.
  • It increases productivity by reducing the development time.
Disadvantages of Spring Boot
  • Its difficult to customize the logging.
  • The deployment binary size will increase due to the unused dependencies.

Friday, April 26, 2019

What is ReactJS ?


React is a efficient , flexible open source javascript library for building user interface which was created by Jordan Walke and its maintained by Instagram ,Facebook . It is a simple task to create interactive UIs ,reusable UI components using React as well as it will efficiently update and render the components according to the changes and easy to debug the code. React can also render on the server using React Native. React is not only build interfaces for single page applications but also it allows to create large web applications which can change the data without reloading the page.
What are the features of React?
  • Event handling- React create its own event system which is compatible with W3C object model
  • JSX - simple JavaScript which allows HTML quoting and uses these HTML tag syntax to render subcomponents.
  • React Native -React native will able to build mobile apps with JavaScript by using same fundamental UI building blocks as android or iOS.
  • Its free and open source.
  • It has a server side communication.
What are the advantages of React?
  • Able to create desired interface very easily by using design concepts of nested view, loop.
  • Better performance
  • React is very easy to learn even with knowing basic knowledge of HTML and CSS.
  • Its easy to test the application.
What are the disadvantages of React?
  • Difficulty of document the newly released tools.
  • The community of ReactJS is not enough with the problems to be solved.
  • ReactJS is only a view layer.

Wednesday, April 10, 2019

Applications of NodeJS


Node JS was developed by Ryan Dahl in 2009 which is a platform build on Chrome’s java script runtime. It used to develop I/O intensive web application that run across s distributed devices because its lightweight and efficient .Node js is a open source runtime environment which can be used to write server side application with access to the OS file system and also for easy building fast and scalable network applications.
Features of Node JS
  • Very fast- Node JS library is very fast in code execution.
  • Asynchronous and event driven - Node JS based servers never waits for am API to return data.
  • Highly scalable-Event mechanism helps the server to respond in a non-blocking way which makes the server scalable.
  • No buffering-Applications are simply O/P the data chunks.
Advantages of Node JS
  • Node JS enables developers to use javascript on the frontend and the backend.
  • Open source and lightweight framework.
  • It performs faster since it is asynchronous by default.
  • Cross platform framework that runs on windows ,mac ,linux.
Where can we use Node JS ?
  • Data streaming applications
  • Data intensive real time applications
  • Single page applications.
  • JSON API based applications
  • I/O bound applications
What can Node JS do?
  • It can generate dynamic page content
  • can collect form data
  • can create, open, read ,write ,delete and close files on the server.

Friday, March 29, 2019

REST Services


REST stands for Representational State Transfer which was introduced by Roy Fielding in 2000.It is an architectural style of client/ server networked hypermedia applications.The web services based on REST architecture are known as RESTful web services.These services are build to work best on the web and it specifies contains such as uniform interface.
Data and functionalities are considered resources and accessed using URIs. REST uses various representation to represent a resource like text,JSON and XML.And it designed to use stateless communication protocol like HTTP.Some of the most commonly used methods can be taken as PUT,DELETE,POST,OPTIONS. Not only its sate-less but also some e of the key features are its simple than SOAP ,the errors or mistakes can be known while working ,lightweight ,maintainable and scalable.
Some of the principles to encourage REST to be simple and lightweight because of the self-descriptive messages ,stateful interactions through hyperlinks, recourse identification through URI.
Advantages of REST
  • Separation between the client and the server
  • visibility and reliability
  • Its independent from the type of platform or language.
  • Sate-less communication, replicated repository make for a good scalability potential.
REST advantages over SOAP
  • Low use of resources.
  • Client doesn’t need routing information with the initial URI
  • Usually simple to build and adapt.
  • Process instances are created explicitly.

Friday, March 15, 2019

Introduction to Maven


Maven was created by Jason Van Zyl in 2002 which  is a software project management and comprehension tool which based on the concept of a project object model(POM) which is a XML file including the details of software project,configuration details. Maven can manage projects in other programming language like c# and Ruby .In Yaddish, Maven means “accumulator of knowledge.”It helps manage builds reporting, documentation from a central piece of information. Mavens all the work is depend on plugins such as plug-ins for building, testing, SCM, running a Web server etc.The objectives of the maven is to making the build process easy, providing quality project information, providing a uniform build system as well as giving  guidelines for best practices development.

What are the features of the Maven?
  • Ability of working with multiple projects concurrently.
  • Ability to easily write plugins in Java or scripting languages.
  • There are simple and easy ways to build projects since it hides the unnecessary details.
  • Model based builds which means ability of building any number of projects into predefined output types. 
  • Dynamic downloading of necessary Java libraries and plug-ins from Maven repositories.

Commands of Maven

test.         : Runs all the tests for the project.
clean.      : Delete all the old build files
package  : packages the project to a jar.
install.      : Places the project in the local maven repository.
deploy.      :  Places the project in the remote maven repository

Friday, March 1, 2019

What is NoSQL?


NoSQL is an approach of database management system that do not follow all the rules of a relational DBMS which do not rely on the structures like tables, columns ,rows and use more flexible data models.Its stands for “not only SQL” or “No SQL”.
No SQL based systems are typically used in very large databases and to store unstructured data such as user and session data, chat, messaging etc. Some of the notable implementations of NoSQL are facebook’s Cassandra DB ,Google’s BigTable and Amazon’s SimpleDB.
Types of NoSQL databases
  • Document database- Document is pairing each key with a complex data structure .It can contains different key value pairs. It stores self describing JSON ,XML documents .And also it is used for content management and mobile application data handling as well. Couchbase server ,Marklogic ,MongoDB are some of the examples for document database.
  • Key values stores - These are the simplest NoSQL databases that pairs a unique key with an associated value which can be any type of binary object. These are highly effective at scaling applications such as BerkeleyDB ,Redis and Riak.
  • Graph stores- Uses graph structure to map, store and query relationship and to store information about network of data such as social connection. IBM Graph, Neo4j and Titan etc.
  • Wide-column stores - Organize data tables as columns instead of rows .It group columns of related data together.Wide-column stores can query large data volumes faster than conventional relational DB. Google Big table,Cassandra can be taken as the examples for wide-column stores.
Benefits of NoSQL
  • Scalability-Its a distributed scale-out architecture which makes easy to add or reduce the capacity quickly.
  • Flexibility- Object Oriented programming that is easy to use and flexible.Its a simpler interaction between the application and the DB and faster more agile development.
  • Performance-Enables organizations s to continue to deliver reliable faster user experience.
  • High availability- Design to ensure high availability and reduce the complexity with the RDBMS architecture.It uses masterless architecture to avoid node failures by distributing data equally among multiple resources.

Wednesday, February 20, 2019

What is a Git and GitHub?


Git is an open-source version control system which was started by Linus Trovalds. It helps you to manage your source code which means each change that you make to a source code is recorded in its history. Version controlling system helps to store the changes or modifications in a central repository .Repository means a location where all the files for a particular project are stored and developers can easily make any new changes ,upload new revisions or easily collaborate as well. GitHub is a code hosting platform that you can host the projects to make them public or private for version control and collaboration. It lets the developers to work together on projects from anywhere.
Advantages of GItHub
  • Can be a good developer by interacting with other developers ,referring their codes and it coordinate your projects together .
  • Highly compatible since any project located in source code hosting can be customized.
  • Ability of share experience as well as meet new developers.
  • The bug tracking feature to simplify search and fixing bugs.
  • Can be integrated with the common platforms like google cloud and amazon.
  • Branching and merging are easy. (Branching is a effective feature where it allows to take a part of a code and branch it to create a new feature or delete the branch without affecting the original code.)
Disadvantages of GitHub
  • Code is not always easy to understand.
  • Maintenance takes more time for less experienced developers.
  • Inconvenience for handling extremely large files or frequently changing binary files.