Bootstrap In Angular: How to Use In Project

Bootstrap In Angular: How to Use In Project

Step by Step Guide for Adding Bootstrap in Angular Project:

Hi Everyone,

There is very simple steps only you need to follow,

There is two way you can include bootstrap 3 or bootstrap 4 in your angular project.

So here we will go through first way step-wise, following are steps mentioned below,

Step1 – > Directly include bootstrap link in you index.html.

for example,

index.html

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>HamaraBharat</title>
  <base href="/">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="favicon.ico">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
  
</head>
<body>
  <app-root></app-root>
</body>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</html>

And now you can see the effect of bootstrap properties in your project.

You just try below code to see whether now it’s working or not.

app.component.html

<form>
  <div class="form-group">
    <label for="exampleInputEmail1">Email address</label>
    <input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Enter email">
    <small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
  </div>
  <div class="form-group">
    <label for="exampleInputPassword1">Password</label>
    <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
  </div>
  <div class="form-check">
    <input type="checkbox" class="form-check-input" id="exampleCheck1">
    <label class="form-check-label" for="exampleCheck1">Check me out</label>
  </div>
  <button type="submit" class="btn btn-primary">Submit</button>
</form>

Yeah, it’s working see the result below

Step2 -> Second process to include the bootstrap in your angular project that is install bootstrap in your project locally to use.

Either include file location of bootstrap in angular.json file like below,

"styles": [
              "src/styles.css",
              "node_modules/bootstrap/dist/css/bootstrap.min.css"
            ],
            "scripts": [
              "node_modules/jquery/dist/jquery.slim.min.js",
              "node_modules/bootstrap/dist/js/bootstrap.min.js"
            ]

Or you can directly include file location in style.css and main.js.

For Example,

style.css or style.scss

@import "../node_modules/bootstrap/dist/css/bootstrap.min.css";

main.js

@import "../node_modules/bootstrap/dist/js/bootstrap.min.js";

Always remember the point if you are using jquery in angular project then include jquery file location before bootstrap js file location.

Step3 – > Try with the same html code we used in app.component.html to see the effect.

Step4 – > Now you need rebuild the angular project using below command

ng build

And run the ng server to see the output in browser.

That’s all, if you having any doubt then feel free to mention in comment box.

Thanks.

Recommended Post: Run Python Script in Java

Follow Us: Facebook, Twitter, Instagram

Echarts in angular project

Echarts in angular project

Here you will get the idea, how we can design any chart in angular with the help of echarts baidu script.

Step1 – > first you need to run below mentioned command to include echarts dependency locally like,

npm install echarts --save
npm install angular2-echarts --save

Step2 – > Now you have to include below code in angular.json file so that you can use echarts in your angular project

angular.json

"scripts": [
"./node_modules/echarts/dist/echarts-en.js",
"./node_modules/echarts/dist/echarts-en.min.js"
]

Step3 – > Now, you need import AngularEchartsModule module in your app.module.ts file.

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import {AngularEchartsModule} from 'node_modules/angular2-echarts';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    AngularEchartsModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

Step4 – > See the below echarts script that i have design for Pie Chart from echarts editor like,

app.component.ts.

import { Component} from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {

  echartsIntance: any;
  pieChart1 = {
          backgroundColor: ['#2B2222'],
          title: {
              x: 'center',
              textStyle: {
                  color: '#fff'
              }
          },
          color: ['#a9a9a9', '#ffa500', '#FF0000'],
          tooltip: {
              trigger: 'item',
              formatter: "{a} <br/>{b}:{c}({d}%)" //{c}-for count and ({d}%)- for calculate % of total count
          },
          legend: {
              orient: 'horizontal',
              top: 5,
              left: 2,
              textStyle: {
                  color: '#fff'
              },
              // x : 'left',
              data: ['file 1', 'File 2', 'File 3']
          },
          toolbox: {
              show: true,
              backgroundColor: 'lightblue',
              orient: 'vertical',
              top: 30,
              feature: {
                  dataView: {
                      show: false,
                      title: 'Data View',
                      readOnly: true
                  },
                  restore: { show: true },
                  saveAsImage: { show: true }
              }
          },

          series: [
              {
                  name: 'Error Count',
                  type: 'pie',
                  radius: '55%',
                  center: ['50%', '60%'],
                  //include label to show count and % inside
                  label: {
                      normal: {
                          formatter: ' {c} ({d}%)',
                          position: 'inside'
                      }
                  },
                  data: [
                      { value: 660, name: 'File 1' },
                      { value: 300, name: 'File 2' },
                      { value: 20, name: 'File 3' }
                  ]

              }
          ]

      }

}

Step5 – > Next include below code in your app.component.html,

<div echarts [options]="pieChart1" style="width:800px;height:400px;"> </div>

Remember you must have to provide width and height in order to get the design otherwise you will not get the result.

Step6 – > Next if you are already running server then stop the server using Ctrl+shift+Alt .Because Sometimes you will not get design.

And so rebuild using ng build then start the server using ng serve command.

So now in my case, i got the design like

If you have any doubt then feel free to mention in comment box.

Thanks.

ngx-bootstrap datepicker in angular

ngx-bootstrap datepicker in angular

Hi Everyone,

You will learn here how to include ngx-datepicker in our Angular project with few example.

Step1 -> run the command to include dependency in your angular project as mentioned below,

ng add ngx-bootstrap --component datepicker

Step2 -> it is necessary to include bootstrap in project for style effect.

a) if you are using bootstrap 3 then include either

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
 in your style.css file

or install bootstrap locally using command mentioned below,

npm install bootstrap@3 --save

and include below mentioned line of code in style.css file

@import "~bootstrap/dist/css/bootstrap.min.css" 

b) if you are using bootstrap 4 then include either,

style.css

<link rel="stylesheet" ref="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"> 

or also you can install bootstrap locally using command mentioned below and include below mentioned line of code in style.css file,

@import "~bootstrap/dist/css/bootstrap.min.css";

Step3 ->Here you need to import BsDatepickerModule in app.module.ts file and include in @NgModule as below so that you can access the library.

app.module.ts

import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; 
// RECOMMENDED 
import { BsDatepickerModule } from 'ngx-bootstrap/datepicker'; 
// NOT RECOMMENDED (Angular 9 doesn't support this kind of import) 
import { BsDatepickerModule } from 'ngx-bootstrap';
@NgModule({ 
imports: [ BrowserAnimationsModule, BsDatepickerModule.forRoot()] 
}) 
export class AppModule(){}

Step4 -> Now see the code below written in html file,

app.component.html

<div class="row">
<div class="col-xs-12 col-12 col-md-4 form-group">
<input type="text" placeholder="Datepicker" class="form-control"bsDatepicker>
</div>
<div class="col-xs-12 col-12 col-md-4 form-group">
<input type="text" placeholder="Daterangepicker" class="form-control" bsDaterangepicker>
</div>
</div>

Note the points, first div for normal date picker and second div we are using for date-range selection from calendar so that we can see both the example at the same time.

step 5 -> you can also pass already selected min and max date in calendar like,

app.component.html

<input class="form-control drange" bsDaterangepicker [(ngModel)]="bsRangeValue"> 

app.component.ts

import { Component} from '@angular/core';
@Component({ selector: 'app-my-dashboard',
 templateUrl: './my-dashboard.component.html', 
styleUrls: ['./my-dashboard.component.css']
})
export class MyDashboardComponent  {
bsValue = new Date();
bsRangeValue: Date[];
maxDate = new Date();
constructor() { 
this.maxDate.setDate(this.maxDate.getDate()); //current date
this.bsValue.setDate(this.bsValue.getDate() - 120); // 120 days back date
this.bsRangeValue = [this.bsValue, this.maxDate]; //we will see date range //from last 120 days to current</p>
}
}

In the above code variable bsValue is from date time and variable maxDate is current date time.

And so variable bsRangeValue is setting date time from last 120 days till current date time.

For documentation, you can follow below mentioned official link,

https://valor-software.com/ngx-bootstrap/#/datepicker

Thanks…..

If you have any further any doubt, mention in comments we will try to help.

Run python script in java using ProcessBuilder

Run python script in java using ProcessBuilder

Hey guy’s, 

In this blog we are going to discuss the easiest steps to execute python script in Java and read the output of script.

Following are steps below,

Suppose we wanted to read output from python code inside out Java code,

Step1 : – First you must have Python install in our system so that you can play with this example.

Step2 : – For Example, suppose our python code is,

Script.py

import sys
a = 5
b = 6
c = a + b
sum = "sum of two number is :- "
print("-----------------",sum,"-------------------")
print(c)

Step3 : – Here, we will write java code in ReadPython file to read output from python script. See the below code,

ReadPython.java

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ReadPython {
public static void main(String[] args) throws IOException, InterruptedException {
String path = "C:\Users\Admin\Desktop\pythoncodetest/script.py";
ProcessBuilder pb = new ProcessBuilder("python","C:\Users\Admin\Desktop\pythoncodetest/script.py").inheritIO();
Process p = pb.start();
p.waitFor();
BufferedReader bfr = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
while ((line = bfr.readLine()) != null) {
System.out.println(line);
}
}
}

Step4 : – Run java code now to see the output in console.

For example,

Thanks….

If you have any doubt then let us know in comment box.

What is Career360.com, Reviews, Rating, Revenue Model

What is Careers360.com?


Career360 - A Career is a Life - Wishusucess

A data-enabled and technology-driven Educational Products and Services Company, Careers360.com seamlessly integrates millions of student and institutional data points with the user-generated preferences of its more than 15 million+ monthly visitors, to build sophisticated Prediction and Recommendation products for the students to explore and achieve career plans, based on their interests and abilities.

 

Revenue Model


  • Google Ad Sense
  • College Advertisements on their Website
  • Banner, Poster of the College on their website

Careers360 is a data driven educational products and services company. The registered company or the parent company owning the brand Careers360 is Pathfinder Publishing Private Limited (PPPL). PPPL originated with print media when it launched Careers360 English magazine in 2009, followed by the Hindi version in 2010. So, like any other print media, the B2B revenue is through advertising, and B2C revenue through the sale of magazine from stands and annual subscriptions. The majority of advertisers on Careers360 are educational institutions, coaching institutes and education loan provider banks or financing companies.

 

Company Details:


Company Name: Pathfinder Publishing Pvt Ltd.

CEO of Careers360: Maheshwer Peri

Facebook Page: Careers360

Instagram Account: Careers360

Twitter Account: Careers360

LinkedIn Account: Careers360

Alexa Global Rank: 2927

Alexa India Rank: 262

Revenue Per Year: $6M

 

About CEO: Maheshwer Peri


A passionate entrepreneur, Mahesh is a qualified CA, CMA and ACS. He started his career as an investment banker with SBI Capital Markets. He was associated with the Outlook group for 17 years and headed it for more than 10 years. Mahesh believes that the demographic dividend India seeks can turn into a nightmare if youth are not shown the right direction to maximize their capabilities. CAREERS360 is the result of his deep understanding of student issues, and the information gaps that need to be filled to help students take an informed career decision.

 


Recommended Post

Shiksha.com Revenue Model

List of Top Indian Search Engine for Students

 

 

 

What is Collegedunia.com, Revenue Model

What is Collegedunia Search Engine?


Collegedunia.com is an extensive search engine for the students, parents, and education industry players who are seeking information on higher education sector in India and abroad. One can rely on Collegedunia.com for getting most brief and relevant data on colleges and universities.

Collegedunia.com Website Details
Collegedunia.com

Students can use Collegedunia.com as one stop destination to search about their dream college, available courses, admission process and lots more interactive tools to simplify the process of finding alma-mater. The website has the repository of more than 20,000 colleges and 6000 courses categorized in different streams like Management, Engineering, Medical, Arts and much more. One can classify colleges on the basis of location, ranking, ratings, fees and cutoff for different competitive exams.

 

Revenue Model


CollegeDunia earns revenue combination of lead generation (CPL) and banner ads. When a student apply to a institute through CollegeDunia and get admission into it, they receive a certain amount from the college authorities. Every month, the education portal get hits over 1 lakh and the traffic is increasing day by day.

 

Company Details:


Collegedunia Founder Name: Sahil Chalana

Company Info: Collegedunia Web Pvt. Ltd.

Founded Year: 2013

Facebook Page: Collegedunia

Twitter Account: Collegedunia

Alexa Rank: 2,236 Global Internet Traffic

Alexa Rank: 248 India Rank

Daily Unique Visitors: 131,731


Recommended Post:

Shiksha.com Revenue Model

List of Top Indian Search Engine for Students

 

IEEE – Institute of Electrical and Electronics Engineers Papers, Membership

IEEE – Institute of Electrical and Electronics Engineers Papers, Membership

Institute of Electrical and Electronics Engineer

IEEE is the world's largest association of technical professionals
Largest Association of Technical Professionals

 

Membership grades

IEEE - Institute of Electrical and Electronics Engineers Membership
IEEE - Institute of Electrical and Electronics Engineers Membership

Most IEEE members are electrical and electronics engineers, but the organization's wide scope of interests has attracted people in other disciplines are:

Other Disciplines

  • Computer Science
  • Software Engineering
  • Mechanical Engineering
  • Civil Engineering
  • Biology
  • Physics and
  • Mathematics

 

IEEE Membership

  • Student Members
  • Graduate Student Members
  • Members
  • Society Affiliates
  • Senior Members
  • Fellow Members
  • Honorary Members
  • Life Members, Life Senior Members

Any one can join the IEEE as a student member, professional member, or associate member. But hey have to qualify the membership criteria, In order to qualify for membership, the individual must fulfill certain academic or professional criteria and abide to the code of ethics and bylaws of the organization.

There are several categories and levels of IEEE membership and affiliation:

IEEE Student Members:

IEEE Student membership is available for a reduced fee to those who are enrolled in an accredited institution of higher education as undergraduate or graduate students in technology or engineering.

IEEE Graduate Student Members

Graduate Student Membership is discounted but members at this level have greater privileges than do Student Members.

IEEE Members

Ordinary or professional Membership requires that the individual have graduated from a technology or engineering program of an appropriately accredited institution of higher education or have demonstrated professional competence in technology or engineering through at least six years of professional work experience. An associate membership is available to an individual whose area of expertise falls outside the scope of the IEEE or who does not, at the time of enrollment, meet all the requirements for full membership. Students and Associates have all the privileges of members, except the right to vote and hold certain offices.

IEEE Society Affiliates

Some IEEE Societies also allow a person who is not an IEEE member to become a Society Affiliate of a particular Society within the IEEE, which allows a limited form of participation in the work of a particular IEEE Society.

IEEE Senior Members

Upon meeting certain requirements, a professional member can apply for Senior Membership, which is the highest level of recognition that a professional member can directly apply for. Applicants for Senior Member must have at least three letters of recommendation from Senior, Fellow, or Honorary members and fulfill other rigorous requirements of education, achievement, remarkable contribution, and experience in the field. The Senior Members are a selected group, and certain IEEE officer positions are available only to Senior (and Fellow) Members. Senior Membership is also one of the requirements for those who are nominated and elevated to the grade IEEE Fellow, a distinctive honor.

IEEE Fellow Members

The Fellow grade is the highest level of membership, conferred by the IEEE Board of Directors upon persons "with [extraordinary records] of accomplishments in any of the IEEE fields of interest". It cannot be applied for directly by the member; the candidate must be nominated by others, and of the Institute's voting membership no more than one in one thousand can be selected as Fellows in any given year.

IEEE Honorary Members

Individuals who are not IEEE members but have demonstrated exceptional contributions, such as being a recipient of an IEEE Medal of Honor, may receive Honorary Membership from the IEEE Board of Directors
Life Members, Life Senior Members and Life Fellows: Members who have reached the age of 65 and whose number of years of membership plus their age in years adds up to at least 100 are recognized as Life Members, Life Senior Members or Life Fellows, as appropriate.

 

IEEE produces over 30% of the world's literature in the electrical and electronics engineering and computer science fields
IEEE produces over 30% of the world's literature

Technical societies under the IEEE

There are Various technical areas are addressed by IEEE's 39 societies, each one focused on a certain knowledge area. They provide specialized publications, conferences, business networking and sometimes other services.

IEEE societies are:

  • IEEE Aerospace and Electronic Systems Society
  • IEEE Antennas & Propagation Society
  • IEEE Broadcast Technology Society
  • IEEE Circuits and Systems Society
  • IEEE Communications Society
  • IEEE Components, Packaging & Manufacturing Technology Society
  • IEEE Computational Intelligence Society
  • IEEE Computer Society
  • IEEE Consumer Electronics Society
  • IEEE Control Systems Society
  • IEEE Dielectrics & Electrical Insulation Society
  • IEEE Education Society
  • IEEE Electromagnetic Compatibility Society
  • IEEE Electron Devices Society
  • IEEE Engineering in Medicine and Biology Society
  • IEEE Geoscience and Remote Sensing Society
  • IEEE Industrial Electronics Society
  • IEEE Industry Applications Society
  • IEEE Information Theory Society
  • IEEE Instrumentation & Measurement Society
  • IEEE Intelligent Transportation Systems Society
  • IEEE Magnetics Society
  • IEEE Microwave Theory and Techniques Society
  • IEEE Nuclear and Plasma Sciences Society
  • IEEE Oceanic Engineering Society
  • IEEE Photonics Society
  • IEEE Power Electronics Society
  • IEEE Power & Energy Society
  • IEEE Product Safety Engineering Society
  • IEEE Professional Communication Society
  • IEEE Reliability Society
  • IEEE Robotics and Automation Society
  • IEEE Signal Processing Society
  • IEEE Society on Social Implications of Technology
  • IEEE Solid-State Circuits Society
  • IEEE Systems, Man & Cybernetics Society
  • IEEE Ultrasonics, Ferroelectrics & Frequency Control Society
  • IEEE Technology and Engineering Management Society
  • IEEE Vehicular Technology Society

 

IEEE Xplore Digital Library Free Paper, Projects, Impact Factors

Follow Us: FacebookInstagramTwitter

IEEE Xplore Digital Library – Free Papers, Projects, Impact Factor

IEEE Xplore Digital Library – Free Papers, Projects, Impact Factor

What is IEEE Xplore Digital Library?

IEEE Xplore Digital Library is a collection of all type of research paper like conference paper, journal articles, technical contents etc.

IEEE Xplore is a research database for discovery and access to journal articles - IEEE Xplore Digital Library
IEEE Xplore

IEEE Xplore Digital Library Meterails

IEEE Xplore Digital Library Publishers and Databases

 

IEEE Web Access

IEEE Xplore Digital Library Web Access
IEEE Xplore Web Access

 

IEEE Xplore Digital Library Documents
IEEE Xplore Documents

 

IEEE Xplore Digital Library and find bibliographic records
IEEE Xplore and find bibliographic records

 

IEEE - Institute of Electrical and Electronics Engineers Membership

Follow Us: FacebookInstagramTwitter

Gmail Catch More Malicious Attachments With the Help of Deep Learning

Gmail Catch More Malicious Attachments With the Help of Deep Learning

Gmail Malware Detection Works - Deep Learning

New Gmail malware detection works with deep learning to find malicious documents form the gmail mail attachments, Today Gmail accounts have become markedly vulnerable to malicious cyber activities. While corporate employees may be at greater risk of phishing scams, your personal inbox can also carry corrupted attachments that, when opened, could compromise your device.

DISTRIBUTING MALWARE BY attaching tainted documents to emails is one of the oldest tricks in the book. It's not just a theoretical risk—real attackers use malicious documents to infect targets all the time. So on top of its anti-spam and anti-phishing efforts, Gmail expanded its malware detection capabilities at the end of last year to include more tailored document monitoring. Good news, it's working.

Thus, a focus area for Google has been to block these attachments from reaching your inbox in the first place. The company has been developing its deep learning tech to work in conjunction with existing artificial intelligence (AI) and machine learning (ML) models to strengthen and improve its document detection capabilities.

 

How Gmail Malware Detection Works

By using Gmail, you essentially agree to the company’s terms of service that allows it to scan and process your attachments. The blog post claims that Google scours through ‘300 billion attachments each week’ to filter out spam, organised your email into categories and most importantly, to prevent malicious documents from reaching your inbox.

 

Since large volumes of data are involved, embracing technologies like AI and ML – that can analyse and learn faster than humans – becomes crucial. However, with techniques and tactics employed by hackers constantly evolving, existing security tools that leverage these technologies have to step up to keep up.

To this end, Gmail has been relying on deep learning to build a new generation of document scanners. These are designed to work in conjunction with existing AI and ML tools to improve Gmail’s document detection capabilities.

 

How does it work? The scanner uses a distinct TensorFlow deep-learning model trained with TFX (TensorFlow Extended) and a custom document analyser for each file type. With this, Gmail can interpret documents, identifying common patterns, deobfuscate content, and perform feature extraction.

Gmail Malware Detection Works - With Deep Learning

By combining different scanners that run in parallel with existing detection capabilities, it contributes to the final verdict of Gmail’s decision engine to block malicious documents.

 

Assessing Impact

First deployed at the end of 2019, Gmail has recorded a seemingly marginal increase in detection rate – about 10% – using the new deep learning-powered document scanner. However, it has registered a whopping 150% increase in the success rate of detection of what it calls “adversarial, bursty attacks”.

Gmail Mailware Detection Works - Deep Learning

Although promising, it does come with certain limitations as the company is still developing this technology. For one, it only scans Office documents. Also, the company has not addressed whether this deeper scanning method comes at the cost of users’ privacy.

Outlook

With cyberattacks getting more and more creative, we need to embrace technologies like AI, ML and deep learning to improve our cyber-readiness. What is more, with the rise of email, files and documents have become a popular way by hackers to trick users into installing malware on their devices. In fact, document-based malware can spread by merely viewing the wrong website, with the wrong browser installed on your system.

Although documents have emerged as one of the most common ways of spreading malware across the internet, there are still ways to limit – or even prevent – this from happening.

While we no longer solely depend on humans to keep a check of untoward behavior online, there is much to be discovered on the potential of technology to thwart such attacks. As expounded here, these technologies enable computers to gain the ability to learn and make predictions based on patterns that emerge from past data. This indicates that AI is capable of reacting to unseen cyber threats faster and in a more effective way.

 

 

Improving Malicious Document Detection in Gmail with Deep Learning

Follow Us: FacebookInstagramTwitter

How Do Search Engines Work | How Google, Yahoo, Bing Works

Have you ever wondered how many times per day you use Google or any other search engine to search the web?

Is it 5 times, 10 times or even sometimes more? Did you know that Google alone handles more than 2 trillion searches per year?

The numbers are huge. Search engines have become part of our daily life. We use them as a learning tool, a shopping tool, for fun and leisure but also for business.

Search engines are complex computer programs. It depends on the three processes: crawling, indexing, and ranking that search engines use to display search results to their users.

Before they even allow you to type a query and search the web, they have to do a lot of preparation work so that when you click “Search”, you are presented with a set of precise and quality results that answer your question or query.

What does ‘preparation work’ includes? Three main stages. The first stage is the process of discovering the information, the second stage is organizing the information, and the third stage is ranking.

This is generally known in the Internet World as Crawling, Indexing, and ranking.

Step 1: Crawling

Search engines have a number of computer programs called web crawlers (thus the word Crawling), that are responsible for finding information that is publicly available on the Internet.

To simplify a complicated process, it’s enough for you to know that the job of these software crawlers (also known as search engine spiders), is to scan the Internet and find the servers (also known as webservers) hosting websites.

They create a list of all the webservers to crawl, the number of websites hosted by each server and then start work.

They visit each website and by using different techniques, they try to find out how many pages they have, whether it is text content, images, videos or any other format (CSS, HTML, javascript, etc).

When visiting a website, besides taking note of the number of pages they also follow any links (either pointing to pages within the site or to external websites), and thus they discover more and more pages.

They do this continuously and they also keep track of changes made to a website so that they know when new pages are added or deleted, when links are updated, etc.

If you take into account that there are more than 130 trillion individual pages on the Internet today and on average thousands of new pages are published on a daily basis, you can imagine that this is a lot of work.

Why care about the crawling process?

Your first concern when optimizing your website for search engines is to ensure that they can access it correctly otherwise if they cannot ‘read’ your website, you shouldn’t expect much in terms of high rankings or search engine traffic.

As explained above, crawlers have a lot of work to do and you should try and make their job easier.

There are a number of things to do to make sure that crawlers can discover and access your website in the fastest possible way without problems.

Use Robots.txt to specify which pages of your website you don’t want crawlers to access. For example, pages like your admin or backend pages and other pages you don’t want to be publicly available on the Internet.
Big search engines like Google and Bing, have tools (aka Webmaster tools), you can use to give them more information about your website (number of pages, structure, etc) so that they don’t have to find it themselves.
Use an XML sitemap to list all important pages of your website so that the crawlers can know which pages to monitor for changes and which to ignore.

Step 2: Indexing

Crawling alone is not enough to build a search engine.

Information identified by the crawlers needs to be organized, sorted and stored so that it can be processed by the search engine algorithms before made available to the end-user.

This process is called Indexing.

Search engines don’t store all the information found on a page in their index but they keep things like: when it was created/updated, title and description of the page, type of content, associated keywords, incoming and outgoing links and a lot of other parameters that are needed by their algorithms.

Google likes to describe its index like the back of a book (a really big book).

Why care about the indexing process?

It’s very simple, if your website is not in their index, it will not appear for any searches.

This also implies that the more pages you have in the search engine indexes, the more are your chances of appearing in the search results when someone types a query.

Notice that I mentioned the word ‘appear in the search results’, which means in any position and not necessarily on the top positions or pages.

In order to appear in the first 5 positions of the SERPs (search engine results pages), you have to optimize your website for search engines using a process called Search Engine Optimization or SEO in short.

 

Step 3: Ranking

Search Engine Ranking Algorithms

The third and final step in the process is for search engines to decide which pages to show in the SERPS and in what order when someone types a query.

This is achieved through the use of search engine ranking algorithms.

In simple terms, these are pieces of software that have a number of rules that analyze what the user is looking for and what information to return.

These rules and decisions are made based on what information is available in their index.

How do search engine algorithms work?

Over the years search engine ranking algorithms have evolved and became really complex.

At the beginning (think 2001) it was as simple as matching the user’s query with the title of the page but this is no longer the case.

Google’s ranking algorithm takes into account more than 255 rules before making a decision and nobody knows for sure what these rules are.

And this includes Larry Page and Sergey Brin (Google’s founders), who created the original algorithm.

Things have changed a lot and now machine learning and computer programs are responsible for making decisions based on a number of parameters that are outside the boundaries of the content found on a web page.

To make it easier to understand, here is a simplified process of how search engines ranking factors work:

Step 1: Analyze User Query

The first step is for search engines to understand what kind of information the user is looking for.

To do that, they analyze the user’s query (search terms) by breaking it down into a number of meaningful keywords.

A keyword is a word that has a specific meaning and purpose.

For example, when you type “How to make a chocolate cake”, search engines know from the words how-to that you are looking for instructions on how to make a chocolate cake and thus the returned results will contain cooking websites with recipes.

If you search for “Buy refurbished ….”, they know from the words buy and refurbished that you are looking to buy something and the returned results will include eCommerce websites and online shops.

Machine learning has helped them associate related keywords together. For example, they know that the meaning of this query “how to change a light bulb” is the same as this “how to replace a light bulb”.

They are also clever enough to interpret spelling mistakes, understand plurals and in general extract the meaning of a query from natural language (either written or verbal in case of Voice search).

Step 2: Finding matching pages

The second step is to look into their index and decide which pages can provide the best answer for a given query.

This is a very important stage in the whole process for both search engines and web owners.

Search engines need to return the best possible results in the fastest possible way so that they keep their users happy and web owners want their websites to be picked up so that they get traffic and visits.

This is also the stage where good SEO techniques can influence the decision made by the algorithms.

To give you an idea of how matching works, these are the most important factors:

Title and content relevancy – how relevant is the title and content of the page with the user query.

Type of content – if the user is asking for images, the returned results will contain images and not text.

Quality of the content – content needs to be thorough, useful and informative, unbiased and cover both sites of a story.

Quality of the website – The overall quality of a website matters. Google will not show pages from websites that don’t meet their quality standards.

Date of publication – For news-related queries, Google wants to show the latest results so the date of publication is also taken into account.

The popularity of a page – This doesn’t have to do with how much traffic a website has but how other websites perceive the particular page.

A page that has a lot of references (backlinks), from other websites is considered to be more popular than other pages with no links and thus has more chances in getting picked up by the algorithms. This process is also known as Off-Page SEO.

Language of the page – Users are served pages in their language and it’s not always English.

Webpage Speed – Websites that load fast (think 2-3 seconds) have a small advantage compared to websites that are slow to load.

Device Type – Users searching on mobile are served mobile-friendly pages.

Location – Users searching for results in their area i.e. “Italian restaurants in Ohio” will be shown results related to their location.

That’s just the tip of the iceberg. As mentioned before, Google uses more than 255 factors in their algorithms to ensure that its users are happy with the results they get.

Why care how search engine ranking algorithms work?

In order to get traffic from search engines, your website needs to appear in the top positions on the first page of the results.

Appearing in the second or third page of the results will not get you any traffic at all.

Traffic is just one of the benefits of SEO, once you get to the top positions for keywords that make sense for your business, the added benefits are much more.

Knowing how search engines work can help you adjust your website and increase your rankings and traffic.

Conclusion

Search engines have become very complex computer programs. Their interface may be simple but the way they work and make decisions is far from simple.

The process starts with crawling and indexing. During this phase, the search engine crawlers gather as much information as possible for all the websites that are publicly available on the Internet.

They discover, process, sort and store this information in a format that can be used by search engine algorithms to make a decision and return the best possible results back to the user.

The amount of data they have to digest is enormous and the process is completely automated. Human intervention is only done in the process of designing the rules to be used by the various algorithms but even this step is gradually being replaced by computers through the help of artificial intelligence.

As a webmaster, your job is to make their crawling and indexing job easier by creating websites that have a simple and straightforward structure.

Once they can “read” your website without issues, you then need to ensure that you give them the right signals to help their search ranking algorithms, pick your website when a user types a relevant query (that’s SEO).