Monday, July 29, 2019

History of C Plus Plus

A Brief History Of C++ Programming Language


In 1979, Bjarne Stroustrup, a Danish computer scientist, started chip away at "C with Classes", the predecessor to C++. The inspiration for creating another dialect started from Stroustrup's experience in programming for his PhD. proposal. Stroustrup found that Simula had highlights that were extremely useful for enormous programming advancement, yet the language was unreasonably moderate for practical use, while BCPL was quick yet too low-level to be appropriate for huge programming improvement. At the point when Stroustrup began working in AT&T Bell Labs, he had the issue of breaking down the UNIX bit with respect to disseminated computing. Recalling his Ph.D. experience, Stroustrup set out to enhance the C language with Simula-like highlights. C was chosen because it was universally useful, quick, versatile and broadly utilized. Just as C and Simula's influences, different dialects likewise influenced C++, including ALGOL 68, Ada, CLU and ML.
A Brief History Of C++ Programming Language


At first, Stroustrup's "C with Classes" added highlights to the C compiler, Cpre, including classes, inferred classes, solid composing, inlining and default contentions.

In 1983, "C with Classes" was renamed to "C++" (++ being the increment administrator in C), including new highlights that included virtual functions, function name and administrator over-burdening, references, constants, type-safe free-store memory allocation (new/erase), improved sort checking, and BCPL style single-line comments with two forward cuts (//). Besides, it included the advancement of an independent compiler for C++, Cfront.

In 1985, the main version of The C++ Programming Language was discharged, which became the authoritative reference for the language, as there was not yet an official standard.[15] The principal commercial execution of C++ was discharged in October of that year.

In 1989, C++ 2.0 was discharged, trailed by the refreshed second version of The C++ Programming Language in 1991.New highlights in 2.0 included different inheritance, abstract classes, static part functions, const part functions, and protected individuals. In 1990, The Annotated C++ Reference Manual was distributed. This work became the reason for the future standard. Later element increments included layouts, exceptions, namespaces, new casts, and a boolean sort.

After the 2.0 update, C++ developed generally gradually until, in 2011, the C++11 standard was discharged, including various new highlights, amplifying the standard library further, and giving more facilities to C++ software engineers. After a minor C++14 update discharged in December 2014, different new augmentations were introduced in C++17, and further changes made arrangements for 2020.

Starting at 2017, C++ remains the third most well known programming language, behind Java and C.

On January 3, 2018, Stroustrup was announced as the 2018 victor of the Charles Stark Draper Prize for Engineering, "for conceptualizing and building up the C++ programming language".

Historical background

According to Stroustrup: "the name means the developmental idea of the changes from C". This name is credited to Rick Mascitti (mid-1983)[14] and was first utilized in December 1983. At the point when Mascitti was examined casually in 1992 concerning the naming, he indicated that it was given in a joking soul. The name comes from C's ++ administrator (which increments the estimation of a variable) and a common naming convention of utilizing "+" to indicate an enhanced computer program.

During C++'s advancement period, the language had been alluded to as "new C" and "C with Classes" before acquiring its last name.

Reasoning

For a mind-blowing duration, its advancement and development has been guided by a lot of principles:

It must be driven by actual issues and its highlights ought to be promptly helpful in true projects.

Each element ought to be implementable (with a sensibly clear approach to do as such).

Software engineers ought to be allowed to pick their very own programming style, and that style ought to be completely bolstered by C++.

Permitting a valuable component could really compare to forestalling each conceivable abuse of C++.

It ought to give facilities to sorting out projects into isolated, well-characterized parts, and give facilities to combining independently created parts.

No implicit infringement of the sort framework (yet permit explicit infringement; that is, those explicitly mentioned by the software engineer).

Client created types need a similar help and performance as inherent kinds.

Unused highlights ought not adversely impact created executables (for example in lower performance).

There ought to be no language underneath C++ (except low level computing construct).

C++ should work close by other existing programming dialects, as opposed to encouraging its own different and incompatible programming condition.

On the off chance that the software engineer's plan is obscure, enable the developer to specify it by giving manual control.

Institutionalization

Year C++ Standard Informal name

1998 ISO/IEC 14882:1998 C++98

2003 ISO/IEC 14882:2003 C++03

2011 ISO/IEC 14882:2011 C++11, C++0x

2014 ISO/IEC 14882:2014 C++14, C++1y

2017 ISO/IEC 14882:2017 C++17, C++1z

2020 to be determined C++20, C++2a

C++ is institutionalized by an ISO working gathering known as JTC1/SC22/WG21. Up until this point, it has distributed five modifications of the C++ standard and is currently taking a shot at the following amendment, C++20.

In 1998, the ISO working gathering institutionalized C++ just because as ISO/IEC 14882:1998, which is casually known as C++98. In 2003, it distributed another variant of the C++ standard called ISO/IEC 14882:2003, which fixed issues distinguished in C++98.

The following significant update of the standard was casually alluded to as "C++0x", yet it was not discharged until 2011. C++11 (14882:2011) included numerous augmentations to both the core language and the standard library.

In 2014, C++14 (otherwise called C++1y) was discharged as a little expansion to C++11, including fundamentally bug fixes and little upgrades. The Draft International Standard ticket procedures completed in mid-August 2014.

After C++14, a noteworthy update C++17, casually known as C++1z, was completed by the ISO C++ Committee in mid July 2017 and was affirmed and distributed in December 2017.

As a component of the institutionalization process, ISO additionally distributes technical reports and specifications:

ISO/IEC TR 18015:2006 on the utilization of C++ in inserted frameworks and on performance implications of C++ language and library highlights,

ISO/IEC TR 19768:2007 (otherwise called the C++ Technical Report 1) on library expansions generally incorporated into C++11,

ISO/IEC TR 29124:2010 on special mathematical functions,

ISO/IEC TR 24733:2011 on decimal drifting point arithmetic,

ISO/IEC TS 18822:2015 on the standard filesystem library,

ISO/IEC TS 19570:2015 on parallel renditions of the standard library calculations,

ISO/IEC TS 19841:2015 on programming transactional memory,

ISO/IEC TS 19568:2015 on another arrangement of library augmentations, some of which are as of now incorporated into C++17,

ISO/IEC TS 19217:2015 on the C++ concepts, coordinated into C++20

ISO/IEC TS 19571:2016 on the library augmentations for concurrency

ISO/IEC TS 19568:2017 on another arrangement of broadly useful library expansions

ISO/IEC TS 21425:2017 on the library augmentations for extents, incorporated into C++20

ISO/IEC TS 22277:2017 on coroutines

ISO/IEC TS 19216:2018 on the systems administration library

ISO/IEC TS 21544:2018 on modules

ISO/IEC TS 19570:2018 on another arrangement of library augmentations for parallelism

Increasingly technical specifications are being developed and pending endorsement, including static reflection.

C ++ Tutorial for Beginners

Introduction to C Plus Plus

C++ is a broadly useful programming language created by Bjarne Stroustrup as an augmentation of the C programming language, or "C with Classes". The language has extended significantly after some time, and present day C++ has object-situated, generic, and functional highlights notwithstanding facilities for low-level memory control. It is quite often executed as a compiled language, and numerous sellers give C++ compilers, including the Free Software Foundation, LLVM, Microsoft, Intel, and IBM, so it is accessible on numerous stages. 
C ++ Tutorial for Beginners


C++ was structured with a predisposition toward framework programming and inserted, resource-constrained programming and enormous frameworks, with performance, efficiency and adaptability of utilization as its plan highlights.C++ has likewise been discovered valuable in numerous different contexts, with key qualities being programming infrastructure and resource-constrained applications, including work area applications, servers (for example internet business, Web search or SQL servers), and performance-critical applications (for example phone switches or space tests). 

C++ is institutionalized by the International Organization for Standardization (ISO), with the most recent standard adaptation endorsed and distributed by ISO in December 2017 as ISO/IEC 14882:2017 (casually known as C++17).The C++ programming language was at first institutionalized in 1998 as ISO/IEC 14882:1998, which was then changed by the C++03, C++11 and C++14 guidelines. The current C++17 standard supplants these with new highlights and a developed standard library. Prior to the underlying institutionalization in 1998, C++ was created by Danish computer scientist Bjarne Stroustrup at Bell Labs since 1979 as an augmentation of the C language; he needed an efficient and adaptable language like C that likewise given abnormal state highlights to program organization.C++20 is the following arranged standard, keeping with the current pattern of another form at regular intervals.

10 Uses of Computer in Daily Life

Computers are used in so many fields in our daily life. From Engineers to Doctors, Students, Teachers, Government Organization they all use computers to perform specific tasks, for entertainment or just to finish office work. 

1. Training 


The computer is assuming a key job in present day training. In nowadays, Students are wanted to ponder on the web, with the assistance of the web and computer. Getting the correct sort of data is the test in this bustling world. The computer can satisfy this necessity through an expansive system. There are different fields in instruction in which the computer is utilized which are given underneath:

The computer is utilized in separation instruction:

Individuals have their bustling timetable nowadays along these lines, for the most part they favored separation training. The computer gives introduction data to those understudies who are not ready to take the classes consistently. The introduction and movement programming like powerpoint and glimmer are useful to the educators to convey the notes in separation instruction.


The computer is utilized for the capacity of instructive information:

The computer can store the information in the electronic arrangement. The paper sparing level is expanded because of computer memory since we can store a lot of substance in it. The computer framework is useful for both instructor and understudy. Instructors can spare and move the notes and introduction rapidly by means of computer stockpiling gadgets comparably; the understudy can submit schoolwork and assignments as a delicate duplicate.

2. Research 


A computer is an essential apparatus for research. It assumes a fundamental job in each field of logical research. Various kinds of projects and applications make it simple for our method for processing. There are some fundamental applications utilized in logical research that are information stockpiling, information examination, logical reenactments, instrumentation control, learning sharing, and so on. There are five noteworthy stages in research where the computer can utilize:

Calculated Phase.

Structure and arranging stage.

Information Collection stage.

Information examination stage.

Research distribution stage.

There are numerous motivations to utilize the computer in logical research; speed, exactness, consistency, method for arranging the information.

3. Business 


The utilization of computer in business is expanding efficiency and intensity. It is advantageous in circulation, advertising, banking, group the executives, business robotization, less time with high caliber in the business. The computer help in business to oversee, figure, orchestrate, and picture the client information. We can make sites by the computer for business.

4. Safeguard 


The computer assumes a significant job in guard. There are numerous employments of computer in barrier:

The military is utilizing the computers for the correspondence between two warriors and furthermore utilized for Battle the executives frameworks.

The computer can be utilized in tanks, planes, and ships to target adversary powers.

We can follow the Incoming rockets to pulverize them, with the assistance of a computer.

Computers are utilized to hold the archives, upkeep record, and record of occasions.

The computer additionally encourages the military to keep spare their mystery and sort out the records. We can get to each envelope effectively.

In the preparation time frame, the computer speaks with the group in far off spots.

5. Biometric System 


The biometric is the strategy to recognize or confirm dependent on the head of quantifiable. The biometric system can be isolated into two classifications:

Gadget dependent on mental attributes of an individual, (for example, a unique mark).

Gadgets dependent on social attributes, (for example, a mark).

Biometric System

There are a few uses of biometrics, which are given underneath:

Biometric participation framework, which is utilized to control worker time.

Biometric locks frameworks give security to the mortgage holders.

Remote biometrics gives high security and safe exchange from remote gadgets like PDA's and so forth.

The biometric frameworks additionally give secure access to PCs and bolster single login office.

The utilization of biometrics innovation is utilized to distinguish DNA design for recognizing lawbreakers and so on.

6. Man-made consciousness 


The man-made consciousness is the tremendous field of computer science. The main role of man-made reasoning is to create machines like people. There are different procedures of AI used to take care of complex issues, for example, neural systems, master framework, and so forth. The master framework is a lot of projects. It has clarification module, input/yield interface, editorial manager, derivation motor, learning base, case history record, and so on. Various kinds of master frameworks are accessible:


  • Dendral : The Dendral is the well known master framework which is utilized to think about a lot of information and disclosure in science. 
  • Mycin : The mycin is a regressive tying master framework. It utilizes man-made brainpower to recognize the microbes causing different diseases, for example, bacteremia and meningitis and so forth. 
  • Puff :It is a demonstrative master framework for the translation of aspiratory work information. 


7. Therapeutic 


The computer is utilized in therapeutic science. It causes the specialists to make the activities effectively. Computers are valuable to emergency clinics; they can hold the patient's data in a sorted out manner. The computer enables individuals to store therapeutic history, the present wellbeing status of their families, and more can be effectively gotten to and query inside a couple of moments.

8. Installed framework 


The installed frameworks are utilized to control, screen, or help the activity of gear; it has inserted programming into equipment. These frameworks are utilized for preparing a fixed arrangement of pre-customized guidelines to control the hardware. The inserted frameworks communicate with the outer world through sensors and actuators. These frameworks are likewise found in mobile phones, advanced cameras, convenient computer games, number crunchers, individual computerized associates, microwaves, home security frameworks, clothes washers, and so on.

Installed framework

There are a few qualities of installed frameworks which are given beneath:

These frameworks are application explicit frameworks.

The installed frameworks have negligible or no UI.

These frameworks are proficient, spare our time and cost.

Inserted frameworks perform ongoing tasks, and they are planned in such a way to meet continuous imperatives.

They are otherwise called receptive frameworks, and they have a ceaseless response with the earth.

9. Banks 


The computer is broadly utilized in the financial field, for record keeping and keeping up records of clients. For the most part every bank gives the ATM office; the clients can be credited and charged their record at wherever in 24 hours with the assistance of their ATM card.

10. Utilization of computer in reenactment 


The computer reenactment demonstrates the conduct of the framework. The computer reproduction is utilized in science frameworks. It can serve plan, creation, and assessment of complex frameworks, and so forth. There are different fields in which recreation is utilized:

The computer reproduction is utilized when we give the preparation to pilot competitors.

It is utilized to test the wellbeing component in the new vehicle model.

There are some robot test systems which are utilized to structure different robots and Robot control calculations.

The Dynamic example of urban improvement that is reproduced with the assistance of urban reproduction model.

Saturday, July 20, 2019

Learn Computer Fundamentals Tutorial

What is Computer?

A computer is a machine that can be told to do arrangements of math or consistent activities naturally through computer programming. Current computers can pursue summed up sets of activities, called programs. These projects empower computers to play out an amazingly wide scope of undertakings. A "total" computer including the equipment, the working framework (principle programming), and fringe hardware required and utilized for "full" activity can be alluded to as a computer framework. This term should be utilized for a gathering of computers that are associated and cooperate, specifically a computer system or computer bunch.
Fundamental of Computer- What is Computer?


Computers are utilized as control frameworks for a wide assortment of mechanical and customer gadgets. This incorporates straightforward specific reason gadgets like microwaves and remote controls, processing plant gadgets, for example, modern robots and computer-helped structure, and furthermore broadly useful gadgets like PCs and cell phones, for example, cell phones. The Internet is kept running on computers and it associates a huge number of different computers and their clients.

Early computers were just considered as figuring gadgets. Since antiquated occasions, basic manual gadgets like the math device helped individuals in doing counts. From the get-go in the Industrial Revolution, some mechanical gadgets were worked to robotize long monotonous assignments, for example, managing designs for weavers. Progressively refined electrical machines did specific simple computations in the mid twentieth century. The main advanced electronic figuring machines were created during World War II. The speed, power, and flexibility of computers have been expanding drastically as far back as at that point.

Friday, June 28, 2019

TensorFlow Tutorial for Beginners

Brief Introduction About TensorFlow

Tensor flow is a distributed computing tool, which allows colossus neural networks to train over a distributed server. Tensor flow is a product of the Google brain team, and Google used tensor flow for its internal use. Used in google photos, google search and google cloud speech.

Introduction about Tensorflow

What is Tensor flow?

  • Tensor flow is an open source software library. This library used for data flow programming throughout the scope of tasks.
  • Tensor flow is a symbolic Math library, used for machine learning applications such as Neural Networks.
  • Tensor flow is a machine-learning library, suited for large-scale machine learning.
  • TensorFlow uses computational graphs/ data flow for numerical computations.
  • Google uses TensorFlow for Research and production.

History of TensorFlow

Distbelief is a previous version of tensorflow. Distbelief based on deep learning neural networks. Distbelief released in 2011. After updating the Distbelief, tensorflow come into existence. Tensorflow developed by Google Brain Team for the internal use of Google. TensorFlow released in 2015.

Characteristics of Tensorflow

Following are the characteristics of TensorFlow:
  • Tensor flow has C++ implementations of Machine learning, which is highly efficient. Besides, it has custom C++ operations.
  • Tensor flow runs on primary operating systems like Linux, Windows, and MacOS. Besides, it runs on a mobile operating system like Android, iOS.
  • The TF layers, Pretty tensor and Keras are the high-level API. High-level API’s runs on the top of the tensor flow.
  • For simple training routines, tensor flow provides simple API TF-slim (tensorflow.contrib.slim).
  • For the reduction of a cost function, optimization nodes search for parameters. Tensor flow provides the optimization nodes, which reduces the cost of function.
  • Tensor flow provides AutoDiff (Automatic Differentiating). AutoDiff automatically computes the slopes (gradients) of cost functions.
  • Tensor flow provides the visualization tool, called as TensorBoard. Through TensorBoard, user able to view learning curves and computation graph.
  • For the training of neural networks, tensor flow provides a small Python API called ‘TF.Learn’. It has a few lines of code.

Types of API, which Tensorflow supports

Tensor flow provides two kinds of API such as:
  1. TensorFlow core API
  2. A higher level of API

TensorFlow core API

TensorFlow core API is a low-level of API. This API used in low-level machine learning development. This API gives complete programming control. Besides, it provides a fine level of control. This API is suitable for machine learning Researchers.

A higher level of API

A higher level of API provides tf.layers and tf.contrib.learn API, which is more compact. These API present on the top of the tenser flow. Higher level API is easy to learn and use than TensorFlow core API. It makes the repeated task, smooth and more consistent between different users. The high-level API manages datasets, inference, estimators, and training.

What is Tensor?

A tensor is a central unit of data in tensorflow. Tensors are a generalization of Matrices, vectors, and scalars to an arbitrary number of indices. Matrices have exactly two indices, and vectors have single indices whereas scalars have no index.
Tensors are the inputs, outputs of tensor flow or multidimensional data array.
Mathematically tensor represents a physical entity that describes features by the magnitude and multiple directions.
Usually, tensors contain float values. Moreover, it carries strings in the form of byte arrays. Tensors travel among the nodes of computation graphs.
NumPy used for numerical computations, NumPy is a Python API.

What is TensorBoard?

For the visualization, Tensorflow provides the TensorBoard. This TensorBoard used to visualize the graph, to plot the quantitative metrics of the graph and pass the images through it.

Computational Graph or Data Flow Graph

In the computational graph, tensor flow operations arranged into graphs. Tensor flow builds a graph of ‘program logic’ in memory, that graph known as a computational graph. Tensor Flow uses the Data flow graph to represents the computations.
Computational graphs allow creating large scale neural networks as computing and distributed among several CPUs or GPUs (Graphical Processing Unit) similarly.
Nodes in the graph represent mathematical operations. A node represents the unit of computation. Operator: ‘+’ addition is the mathematical operation.
Edges in the graph represent a multi-dimensional data array called Tensors. Edges represent data consumed or produced by operation/ computation.
Input Tensor: X, Y
Output Tensor: Z
Example: Following tensor flow graph/ data flow graph/ computational graph represents
  1. Single node corresponding addition operator.
  2. Two incoming edges indicate the input to the operation.
  3. The One outgoing edge indicates the output of the computation.
Tensor Flow Graph Computational Graph Data Flow Graph
Data flow programming model has several advantages like compilation, Portability, Parallelism and Distributed execution.
Tensor flow grasps the advantages of data flow while executing the program. Let us study them in brief:

Parallelism:

Explicit edges used to represent the dependencies between operations. The system can easily find out the operations, which executes in parallel.

Distributed Execution:

Edges used to indicate the values/ data set or tensors travel in a graph. Explicit edges used to show the values that flow between operations. Tensor flow partitions the single program code (data flow graph) among multiple devices such as CPUs, GPUs, and TPUs, attached with different machines. Tensor flow provides necessary communication co-ordinations between devices.

Portability:

Data flow graphs are not language dependent. So that the program code represented using, data flow graphs are language independent.
For example: if you build data flow graph in Python and stored in Saved-Model and restore in C++ program.

Compilation:

Tensor flow has XLA compiler. For the generation of the faster code, XLA compiler uses the information present in the data flow graph.  Example: By using together adjacent operations.

What is the Default Computational Graph?

When we are experimenting something, it is very common to run the same commands repeatedly. That will result in default graphs containing in many duplicates nodes especially when we are working with jupyter or Python shell. Solution to this is to restart the jupyter kernel or reset the default graph.

Tensor Flow Program Elements

Let us see the elements of the Tensorflow program.
  1. Constant: The value, which does not change.
  1. Placeholder: The Placeholder allows the value to assigned later.
  1. Variable: A Variable is the value that can change. It’s value is not fix. it may or may not varry.
  1. Session: A Session is an element of tensor flow and session runs to evaluate the nodes.A session called as Tensor flow Runtime.
  1. feed_dict parameter: A feed_dict parameter instructs to the tensor, to pass the actual value to the placeholder.

Phases of Computational Graph

There are four phases of Computational Graphs.
  1. Construction Phase
  2. Execution Phase
  3. Initialization Phase
  4. Initialization and Execution Phase

Products build using TensorFlow

Following some products make using TensorFlow:

1. Teachable Machine

This teachable machine developed by Google Creative Labs. Teachable Machine build using Tensorflow. It uses tensorflow.js that allows the user to use the computer camera and teach live in the browser.

2. Nsynth Super

Nsynth super developed by Google Creative Labs. Nsynth is one of the best projects. This project allows the user to create new music, by using entirely new sounds. Those unique sounds created using the Nsynth algorithm.

3. Giorgio Camthat

Giorgio Camthat project used tensorflow. This project allows the user to create new music just by clicking on the images.

4. Rank Brain

Rank Brain is developed by Google. For the search ranking on the www.google.com, Rank brain deploys the deep neural nets on large-scale.
The rank brain is a part of the search algorithm. It sorts billions of pages and finds the most relevant one.

5. Deep Speech

Deep speech project developed by Mozilla. This model can learn speech from spectrogram. There is another project, which generates strokes based on the user’s handwriting style — moreover, these strokes by using neural networks.

Advantages of Tensorflow

Following points indicates the advantages of Tensorflow:
  1. Responsive Constructs: Tensorflow has responsive constructs. The user can easily visualize every graph. Moreover user able to visualize each part of the graph.
  2. Platform Flexibility/ Cross Platform: Tensorflow is flexible with any platform. A tensorflow is a modular library. Tensorflow has some standalone parts, and some mingle/ consolidated part.
  3. Easily Trainable: For distributed computing, Tensorflow is easily trainable on CPU and GPU.
  4. Auto Differentiation Capability: Tensorflow has auto differentiation capabilities. Auto differentiation capability helps in gradient-based machine learning algorithms. To obtain the graph extension, the user can compute the derivation of values concerning other value. This process results in a graph extension.
  5. Supports to threads, queue, and asynchronous computation: the Tensorflow supports asynchronous calculations. It supports to the concept of threads and queue.
  6. Open source and Customizable: The Tensorflow is an open source library. Tensorflow is customizable means; it can modify any suite or separate task.

Disadvantages of Tensorflow

TensorFlow has some limitations:
  1. GPU memory conflicts: TensorFlow has some memory conflicts. These conflicts occurred only in GPU (Graphical Processing Unit) memory when Theano imported in the same scope. When imports in other scope conflicts do not occur.
  1. No Support for OpenCL : Tensorflow does not support for OpenCL.
  1. Need to have prior knowledge of Machine Learning, advanced Calculus and linear algebra: For understanding the concepts of tensorflow, the user must have a good understanding of Google Machine Learning. Moreover, the user must be clear with the ideas of advanced calculus and linear algebra.

Applications of TensorFlow

Following are the applications of Tensorflow:
  • Speech Recognition System
  • Image/ Video Recognition
  • Self-Driving Cars
  • Text Summarization
  • Sentiment Analysis
  • Google translate

Monday, January 28, 2019

A Beginners Guide to Java JDBC

Introduction to JDBC in Java

Java Database Connectivity is a standard Java API used to connect Java application with Database. Java JDBC is used to communicate with the different type of Databases like Oracle, MS Access, My SQL and SQL Server. JDBC can also define as the platform-independent interface between a relational database and Java programming. It allows a java program to execute the SQL statement and retrieve the result from the database. JDBC uses drivers to connect with database. 

Different Types of JDBC Driver in Java 

Java JDBC

1. JDBC-ODBC Bridge Driver
2. Natïve Driver
3. Network Protocol Driver
4. Thin Driver

Why should we use JDBC?

There is some critical point which explains why we should use JDBC.

1. JDBC API is Standard API. We can communicate with any Database without
revising our Application, i.e. it is Database Independent API.
2. JDBC Drivers developed in Java, and hence JDBC Concept is applicable for any
Platform. i.e., JDBC is Platform Independent Technology.
3. By using JDBC API, we can perform basic CRUD Operations very efficiently.
C ➔ Create (Insert)
 R ➔ Retrieve (Select)
 U ➔ Update (Update)
 D ➔ Delete (Delete)
4. We can also perform Complex Operations like inner joins, Outer joins, calling
Stored Procedures, etc. very quickly by using JDBC API.
5. JDBC API supported by many vendors and they developed multiple Products
based on JDBC API.

Advantages of JDBC:

1. Provide present enterprise information.
2. Automatically Creates an XML structure of data from the database.
3. No content conversion required.
4. Query and Stored procedure supported.
5. We can use JDBC for both Synchronous and Asynchronous processing.
6. Supports modules.
7. Zero Configuration for Network Computers.
8. Full Access to Metadata.
9. Database Connection Identified by URL.
10. It does not require an installation.

Monday, January 21, 2019

How Java Servlet Works?

Features of Java Servlet

There are 5 Features of Servlet are as Follow:
Portable: Servlet uses Java Programming language, and as we know java is portable language, so servlet is also portable.
Efficient: Servlets invocation is highly skilled as compared to any CGI programs.
Robust: JVM manages Servlet. That’s why Servlet is robust.
Performance: Servlet creates a thread for each request, so the performance of servlet is better than CGI.
Secure: Because it uses java language, so servlet is safe.

How Servlet Works?

Whenever a request comes, it received by the servlet, and then they forward the request to the web container. A Web container is responsible for handling the request by creating the new thread. Container creates multiple threads to execute various requests.

How Java Servlet Works?


Let’s understand the working of Servlet –
1. The User sends a request by clicking a link for a servlet.
2. Then, the container finds the servlet and Create two instances.
  a.HttpServletRequest
  b.HttpServletResponse
3. After this, the container creates a thread for executing the request. So they call the servlet’s service() method and passes the instances as arguments.
4.Based on the HTTPRequest method sent by client, service( ) method decides which servlet method, doGet() or doPost() to call. 
5. Then, to respond to the client, servlet uses response instance to write the response.
6.After the service( ) method is completed, container call the destroy( ) method. And the request and response instance are prepared for garbage collection.

Servlet API

there are 2 packages of java servlet API are as follow:

1.javax.servlet

This package contains several classes and interfaces that describe and define bonds between a class and environment for an object.

Interface: -

ServletResponse
ServletRequest
RequestDispatcher
ServletConfig
Servlet

Class: -

GenericServlet
ServletRequestWrapper
ServletResponseWrapper
ServletInputStream
ServletOutputStream

Exception

ServletException
UnavailableException

2.javax.servlet.http

This package contains several classes and interfaces that describe and define bonds between a servlet class running under HTTP protocol and environment for an object.

Interface:- 

HttpServletRequest
HttpServletResponse
HttpSession
HttpSessionContext
HttpSessionListener

Class: -

Cookie
HttpServlet
HttpServletRequestWrapper
HttpServletResponseWrapper
HttpSessionEvent




Thursday, January 17, 2019

16 Best On-Page SEO Techniques for Improve Search Ranking

16 On Page SEO Activities for Improve Search Ranking

On Page SEO including proper headings, proper keyword placement, ensuring content quality, and paying attention to many other factors.
16 On-Page SEO Techniques That'll Boost Your Rankings

1) website structure:

A website’s technical structure plays a central role in determining its success or failure. SEO professionals can develop content and customer-centric websites that are also accessible and attractive to search engines.


2) Meta Title:

Meta title is very important role play in search engine optimization. The title length should be 50 to 65 characters. Meta title display SERP.

3) Post Permalink Structure:

Your URL is displayed is one of the most important factors of On-page SEO. It is important to correctly display your URL with use of target keyword and should also avoid using special characters, symbols, brackets, commas, etc. within the actual URL.

4) Heading Tags:

Heading tags are mainly used to highlight various headings, sub-headings, and important Loading Word-press, the title tag is set at H1. You are not supposed to use any more than H1 tags anywhere in the article.

5) Keyword Density:

Your keyword density should be around 1.5% percent with a mix of LSI keywords. You need to keep one thing in priority that your first and last paragraph should contain your main keyword.

6) Meta Tags:

Your each web page must need to have unique and relevant meta description because that is one of the most effective On-page SEO. Along with search engines' pick up on keywords, user’s click on the post is equally important. Your meta descriptions need to be more user-friendly and relevant to the post.

7) Images:

Attractive and relevant Images are effective part to drive traffic to your post from image searches. To make your blog post more focused and targeted, you can add keywords in the “image title” and the “alt text” too. As much as your image can stick more users around you, that is more liking to increase your overall rank.

8) Original Content:

Your content should be original and use your main keywords in your content. Not over-optimized the content and take care of keyword density, keyword proximity, keyword prominence.

9) Internal liking:

To make your reader spend more time on your blog, you can generate interlinking of blog posts and it can also lead other pages of your site to the high rank. Internal links that are relevant to the original post show search engines that you are providing extra information beyond what is being displayed in the content.

10) External Linking:

Along with internal linking, external linking is also a great idea for generating more traffic to your website. You are only supported to generate external link building when the external website is relevant to your post. Always choose the trusted website for external linking.

11) XML and Html sitemaps: 

The XML Site map is used to identify our web site pages are index or not. XML site map google understand but does not understand the user. User understandable site map is HTML site map.

12) Robots.txt: 

Robots main aim is to read our website data and stored in the search engine database. When search engine crawlers come to your site it will be looking for some special file. i.e, call roboat.txt file. This file tells to search engine spiders which pages of your site should be index and which pages of your site should be ignored.

13) Move to HTTPS:

Move to HTTPS due to security reason and Google also considers it as a ranking factor and give you the better rankings to competitive keywords early.

14) Mobile Friendly:

This time is mobile time so your website should be mobile friendly and open easily on mobile. So make sure website should be mobile friendly.

15) Fast Loading Speed:

Your website should be loading fast. Because the user likes a fast loading website. If your website loading fast then you can gain more visitors. If you want to check your speed then use tools like GTMetrix, Google Developer tools.

16) Google analytics and webmasters:


Google analytics main aim is a track record of website like how many visitors visit from the site by using which keyword, which landing page and also identify what type of users visits from the site linkage group, gender etc and also identify which country of user visit from the site like USA, Canada, India etc.

Google Webmasters is used to checking crawl errors, index status searches queries and also identify how many backlinks to your site, internal links to your sites and also identify search queries, clicks, impressions etc.