Why Does Your Website’s Speed Matter?

Introduction

Nothing is more frustrating than a slow website. Not only it is bad for end users, but it’s also very bad for website owners. In the day and age, we live in, having a website is a necessity not only for businesses but also for anyone who wants to share useful information with the world. Whether they are photographers trying to showcase their work, artists trying to make their voice heard, stay-at-home moms, providing DIY tutorials or teachers who want to share their knowledge, it’s of crucial importance to have a website that’s effective. One of the key factors that make a website effective is speed.

Why Does Your Website’s Speed Matter?

Speed can make or break a website. It affects your traffic, page views, conversions, sales, and your overall reputation. By making it faster, you can improve your business or your fan base and help it grow. Studies have shown:

  • 47 percent of people expect a website to load in less than two seconds.>
  • 40 percent of people are very likely to leave a website if it takes more than three seconds to load.

Therefore, website speed plays a very important role in making your business successful. It should be one of your top priorities if you want to stand out from your competition. By speeding up your website, not only will you yield positive results in terms of page views and conversions, but you will also provide your visitors with a better user experience.

A great user experience is a key to building a strong customer base and building a strong brand. If your website takes forever to load, then what’s the point of having an awesome website in terms of its other elements, when people aren’t even likely to stay and check it out? Therefore, by not making sure your website loads fast, you risk losing a lot of customers or followers and, thus, a lot of revenue.

Moreover, your website speed is very important for your SEO. If your website loads fast, your ranking in search engines will be higher. This is because Google prefers fast websites, and it rewards them by ranking them higher in search engine results. Apart from speed, the user experience is another factor in Google’s ranking algorithm. So, by boosting the speed of your website and improving your user experience, you will eventually improve your SEO ranking.

As a result, you’ll get higher traffic and attract more quality leads that you can convert into customers, ultimately increasing your sales and generating more revenue.

How to Test Your Website’s Speed?

  • PageSpeed Insights is Google’s free tool for testing your website speed and it is very easy to use. All you need to do is enter the URL of your website and the tool will analyze its content and generate suggestions on how to make your website faster.
  • Pingdom is also a very useful tool that not only tests your website speed, but also reviews and grades your website’s performance. It also tracks your website’s performance history, so you can have insight into any potential changes regarding your website speed.
  • YSlow is a tool that tests your website speed and offers advice on how to improve it. It can also provide you with a Chrome extension for checking the speed of your website.

15 Ways to Speed Up Your Website

There are many ways to speed up your website, making it truly effective and successful. Following are several of the easiest and most effective ways to speed up your website and make your every effort pay off in the long run.

Upgrade Your Web Hosting Plan

Many people opt for cheap web hosting planswhen they are first creating a website, so they choose shared hosting. Over time, they provide more content and their websites grow, ultimately slowing down. If that is your case, the best choice would be to upgrade your web hosting plan. Upgrading your web hosting plan is the simplest and easiest way to improve the speed of your website.

If you have shared hosting, you should either move to a VPS or dedicated option. Either way, you will notice a significant difference in your website speed. Making a decision between the two options depends on your own business needs, so make sure you explore both of the options carefully and thoroughly.

Here’s just a quick note on both of them. VPS (Virtual Private Servers) hosting is perhaps the best option to go for, since it uses multiple servers for content distribution (sometimes even hundreds of servers). It is also a scalable solution and appeals most to small and medium businesses, as well as bloggers.

On the other hand, with dedicated servers, you get full control, since you get dedicated resources. You don’t have to share RAM, CPU, bandwidth or anything else since all of the resources are dedicated only to you. Also, the bandwidth limits are higher but, since you don’t have multiple computers, this hosting option is a lot less flexible. However, it is much more expensive than VPS hosting.

Enable Browser Caching

Enabling caching can improve your website speed significantly and give visitors to your site a more rewarding user experience. Caching refers to the process of storing static files, such as HTML documents, media files, images, CSS and JavaScript files, for easier and faster access, so that the database does not have to retrieve each and every file every time there is a new request. The more requests are being made to your server, the more time it will take for your website to load.

When someone visits your website, the elements on the web page they are trying to access are automatically downloaded and stored on their hard drive in a cache (temporary storage). That way, the next time they visit your website, their browser will load the requested web page very quickly, without having to send an HTTP request to the server again.

However, caching works for repeat visitors only, since, obviously, first-time visitors don’t have a cached and stored version of your website. Nevertheless, enabling full caching for your website can reduce your page load time from 2.4 to 0.9 seconds. This is due to the fact that there may be 30 or more different components that need to be stored in the user’s cache the first time they visit your website, but only a few components need to be downloaded for subsequent visits.

Depending on the website platform you’re using, there are different ways to enable browser caching. For example, if you’re using WordPress, the easiest way to enable caching is to install a plugin. The best WordPress caching plugins are W3 Total Cache, which is the most popular performance plugin, and WP Super Cache, which is best for websites with high traffic and underpowered servers.

If you are using Drupal as your CMS, you should use the Varnish Cache software for leveraging browser caching. If Joomla is your CMS, you can enable browser caching in your Joomla dashboard: go to System > Global configuration and click on the System tab. You’ll see the Cache label under the Cache settings label, where you click to open the drop-down menu and choose the option ON – Conservative Caching from the list. Click save and go to Extensions > Plugin Manager, where you can enable the System – Cache plugin.

You can also enable browser caching at the server level, that is, integrate caching into your server-side scripting, which is something your web developer can help you with.

Static resources that are stored in a cache should have a caching lifetime of at least one week. You can set that by adding Expires Headers and setting them to a minimum of one week and a maximum of one year. The best option is to set late expiry times for static resources that aren’t updated frequently and short expiry times for resources that are updated on a regular basis.

Expires Headers tell the browser whether a particular file needs to be requested from a server or from the browser’s cache. They also tell the browser how long it needs to store those files in the cache so that they’re not downloaded again during subsequent visits.

Enable Gzip Compression

If you’ve ever compressed files on your computer as ZIP files, then you must know how much that method can reduce the size of files. Gzip compression works exactly the same, except with website pages. It’s the best and most effective compression method that can considerably minimize HTTP requests and reduce response time, sometimes by as much as 70 percent.

By enabling Gzip compression, your website’s files will automatically be compressed in a ZIP file. This will significantly reduce their size and boost the speed of your website. A lot of bandwidth will be saved and the page load time of your website will be improved. When someone visits your website, the compressed files will be unzipped automatically so the content can be accessed.

You can install Gzip compression on your website with the use of a proper compression plugin for your CMS, but you can also very easily do it manually. There are two ways to manually add Gzip compression to your website. The first one is to add the following code to your .htaccess file if you want to compress text, JavaScript, HTML, CSS or XML:

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

If you want to compress certain file types by extension, add the following code to your .htaccess file:

<files *.html>
SetOutputFilter DEFLATE
</files>

The second way to manually add Gzip compression to your website is to add the following code to the top of your HTTP or PHP page:

<?php if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'],'gzip')) ob_start("ob_gzhandler"); else ob_start();?>

Remove Unnecessary Plugins

Every plugin you add requires resources to be able to run. However, more resources lead to a slower website. If you have some plugins installed that you no longer use or find unnecessary, you should deactivate and delete them. Not only can too many plugins slow down your website, but they can also cause security issues and crashes.

You can easily identify which plugins are slowing down your website by selectively disabling them and then measuring server performance. If you created a website using WordPress as your CMS, for instance, you can install the P3 (Plugin Performance Profiler) plugin, which is the best and most useful diagnostic plugin available.

This plugin will show you exactly which plugins are affecting the performance of your website so that you can decide whether they’re unnecessary and should be removed or confirm they’re providing you with actual benefits. If the latter happens to be your case, you can try and keep them only on the pages on your website where you think they are absolutely necessary. You may also want to find alternate plugins to replace them or even code the content of such plugins into the theme of your website.

By removing unnecessary plugins, you can considerably improve your page load time and speed up your website. However, you should know that when it comes to plugins, it’s not just a matter of the number of plugins. You can have 50 plugins and still have a faster website than someone who installed 10 plugins on their site. The number of plugins is important, but there’s something in their quality as well. For instance, social sharing plugins can greatly affect your page load time, so you may want to consider embedding social media buttons into the source code of your website theme.

Therefore, you should avoid plugins that load a lot of scripts and a lot of styles, perform many remote requests and overwhelm every page on your website by adding a lot of database queries. Of course, plugins contribute to the functionality of your website and there are quite a lot of them that can help you improve it. But you should definitely keep only those you find absolutely necessary.

Note: If you’re using Drupal or Joomla, for example, you have no plugins to deal with in the first place. So you can speed up your website by disabling modules or adding speed optimization extensions. The best advice for Drupal is to never run more than 50 modules. Only run those that are absolutely necessary for the functionality of your website.

As for Joomla, make sure you check out the following extensions, as each of them can boost your website speed: JQuery EasyLLFJJavascript Async and Defer and ScriptsDown.

Minimize HTTP Requests

Websites can be slow because of too many HTTP requests. When someone visits your website, they request certain files. Their web browser requests those files from your server by using the HTTP protocol. These files include HTML files, CSS and JavaScript files. If you have a lot of them, there will be a lot of HTTP requests and your website will ultimately get slowed down.

This is why you should minimize HTTP requests. There are some excellent ways to do this.

  • Combine CSS, JS scripts and HTML files together.
  • Use CSS instead of images whenever possible.
  • Reduce the number of elements on every web page.
  • Install a caching plugin.
  • Reduce redirects, which create additional HTTP requests to your server and increase your page load time.

For instance, if your website is responsive, mobile users that visit your website will be redirected to the responsive version of it. You can take two actions to ensure those kinds of redirects don’t slow down your website. You can either set up an HTTP redirect to directly send mobile users to a device-specific URL without any additional redirects or set up a JavaScript redirect to identify a mobile-equivalent URL and redirect mobile users to it. However, the latter option can cause latency, because a web page needs to be downloaded first on the client side of redirection before JavaScript can be executed and redirection can take place.

Enable HTTP Keep-Alive

When your web server receives an HTTP request from your website visitor’s browser, that is, when a visitor requests a certain file, the browser asks the server for a permission to download the file. It does so for each and every file individually. This takes up a lot of bandwidth and memory, not to mention that it uses more processing power. Eventually, it causes a lot of load on your server and slows down your website.

You can make your website faster by enabling HTTP Keep-Alive, which will create a single open connection for multiple file requests to your server, thus greatly speeding up your website. Simply put, the server tells the browser it can download multiple files at the same time, without putting too much load on the server. When the number of connections to your server is limited, a lot of bandwidth will be saved.

You can enable HTTP Keep-Alive by copying and pasting the following code into your .htaccess file:

<IfModule mod_headers.c>
Header set Connection keep-alive
</IfModule>

Minify JavaScript and CSS Files

If you have a ton of JavaScript and CSS files on your website, there will be a lot of HTTP requests when your website visitors want to access certain files. Since their web browser will treat those files individually, those numerous HTTP requests will considerably slow down your website.

While minimizing (minifying) HTTP requests and enabling HTTP, Keep-Alive can greatly improve your website speed. You should consider minifying JavaScript and CSS files since this can also significantly speed up your website. By putting all JavaScript files into one single JavaScript file, as well as putting all CSS files into one CSS file, you will reduce their number. This will reduce the number of HTTP requests and speed up your website.

There are many minifying tools you can try, but you may want to start with a free and very easy-to-use WillPeavy plugin that can help you quickly minify HTML, CSS and JavaScript files. BWP Minify (Better WordPress Minify) is also a great plugin that can help you combine and minify your JavaScript and CSS files, but it’s a plugin for WordPress only.

Optimize Your Images

Images take up a lot of bandwidth. When they’re not optimized, meaning they are large in size, they use a lot of server resources and take more time to load. When your images are not optimized, your website can be much slower.

Therefore, consider reducing the size of your images without negatively affecting their quality. You can accomplish this by using a plugin that can compress your images and ensure they don’t lose quality in the process.

If you use WordPress, try WP Smush, a plugin that will automatically compress your images the moment you upload them to your media library. On the other hand, if you use Drupal or Joomla as your CMS, check out Kraken, which is also a great tool for compressing images.

Furthermore, consider using CSS sprites, as they can also greatly speed up your website. A sprite is one file that contains all of your images. You can create sprites with the use of CSS, which can specify coordinates and hide everything in an image except the section you need. Therefore, all of your images will be put in one single place and your web pages will load much faster since one big image can load faster than a lot of small images.

When you optimize your images, apart from their size, you need to focus on their format and the src attribute, which is the URL of the image. You should stick with the JPEG format, while PNG is also good, but not fully supported by older browsers.

When it comes to the src attribute, you need to make sure the code is right. Avoid empty image src codes. Namely, the code for an image in HTML includes the following:

<img src=””>

When there is no source inside the quotation marks, the browser makes a request to the directory of the page or to the page itself, which can cause a lot of load on your servers and even corrupt your data. Therefore, make sure you always include the “src attribute” with a valid URL.

Change Your Website Theme

The theme of your website can also affect your website speed. No matter how good your server configuration is, if your website theme has a complex code, your website will load sluggishly. It’s not uncommon, especially in WordPress, to change nothing but your website’s theme, only to find there’s a big increase in page load time.

Therefore, consider changing your website theme and make performance one of the priorities when choosing a theme, instead of only looking at aesthetics. You can check the page speed of a particular theme’s demo with the help of one of the tools for testing website speed so you can see how quickly the theme runs.

Use a CDN

CDN (Content Delivery Network) is a network of multiple servers located around the world that deliver web content to end users according to their geographic location. A CDN can host the static files of your website in order to deliver them more efficiently and reduce bandwidth and your server load.

With a CDN, the requested web content will be delivered to end users much quicker, since a CDN will use a server closest to users to deliver the files they request. As a result, not only will there be no latency, but your website will also become much faster. This is due because your visitors will access your cache instead of requesting files directly from your server.

Therefore, by using a CDN, you’ll save a lot of bandwidth and significantly improve your page load time and website speed. You can store your CSS and JavaScript files on a CDN, as well as images, videos, PDFs and other types of uploaded content.

Using a CDN can be very expensive, but it comes with quite a lot of benefits, so it’s worth every dime, especially if you happen to use a lot of bandwidth. So, if you have a large website and a lot of visitors, a CDN is your way to go.

Reduce External Scripts

External scripts that you add to your website in the form of JavaScript codes make HTTP requests every time your web pages load. As you already know, this slows down your website. Those external scripts can be external commenting systems, pop-up boxes, external fonts, website analytics services, social media boxes, such as Facebook “like my page” box, and many more.

Although you should certainly not eliminate all your external scripts, you should reduce them, as that will help you speed up your website. You can use Pingdom, for instance, to check which external scripts are taking the longest to load and, if they happen to be unnecessary, you can eliminate them.

If you embed videos and other multimedia files from websites which happen to be slow, your website speed can be negatively affected. To improve your page load time, make sure you request external files only from fast and reliable websites. You may also want to consider limiting the number of external requests your website makes altogether.

Fix Broken Links

Broken links in your content cannot slow down your website, but they can greatly affect user experience, so you should pay close attention to all of them. However, broken links in your CSS, JavaScript and image URLs can negatively affect your website speed. Scan your links on a regular basis and fix broken ones as soon as you notice them.

Broken links are most commonly found in image source files, which happens when the URL is wrong. These links can easily be overlooked, especially when the size of a certain image is defined as very small. When there’s a broken link in your image, that is, when a 404 error appears, that broken link creates a wasted response from an HTTP request, which makes your website slower. The browser attempts to download an image that’s not available, so your web page spends more time trying to download the image, slowing down your website.

Broken links can also be found in the CSS link tags in the head of your HTML documents. Just as with image files, if your CSS file is not where you have linked to, an HTTP request will result in a useless response and it will return with a 404 code. It’s especially important to regularly check for broken links if you use a lot of external CSS files since they can be moved and result in a 404 error.

If there’s a broken link in the JavaScript source URL, your website can also be slowed down as with image source files and CSS links. But the browser may also try to interpret JavaScript and cause not only increased download time, but also bad script interactions. When the browser attempts to load a 404 page instead of JavaScript, all the other downloads stop until the loading of a 404 page is complete. This is why you should always put your JavaScript at the bottom of your HTML documents (right before the closing </body> tag), which is especially important when there are broken links involved.

You can check for broken links with WordPress Broken Link Checker for free.

However, sometimes broken links aren’t caught by broken link checkers, so the best way to check for them is to regularly look at your server logs. There are several tools you can use to scan for URLs that are getting 404 errors to see which pages are causing them and then take action to fix them immediately.

Disable Hotlinking

If you don’t disable hotlinking, you allow people to use the content that’s hosted on your server for their own websites. By allowing them to practically use your servers and your content for their websites, you’ll get a lot of server load for no reason.

This is why you should disable hotlinking and prevent people from stealing your server resources. However, in order to do that, you need to add the necessary code to your server. There are some tools that can help you generate the right code, but your web hosting provider can also help you with this.

Hotlinking usually involves images and other multimedia files, which generally take up a lot of bandwidth. Therefore, if you run a website with few to no images, disabling hotlinking will actually not affect your website speed.

Speaking of hotlinking, you should not just disable it, but you should avoid it altogether. Instead of linking to images on someone’s website, load them on your own server. You may think that image links will save you a lot of bandwidth, but they can actually slow down your website if the website with the image you linked to is slow and unreliable. What’s more, they may experience downtime or crash, so always load every image on your own server before you link to them.

Use a Reliable CMS

A CMS (Content Management System) is critical to your website’s functionality and performance. The best and most reliable CMS you can use is definitely WordPress, but there are also other excellent CMSs, such as Drupal and Joomla. If you use any of these as your website platform, you’ll do right by your site’s performance.

However, if you use some other less popular CMS or even something that you built on your own, you risk having a website that is very slow. In order to avoid this, make sure you conduct thorough research and choose a CMS that’s reliable and best suits your needs.

What’s also vital when it comes to your CMS is to regularly check for the latest updates. Make sure your website’s scripts are up-to-date since new versions are constantly popping up with the goal of improving websites and making them faster. Therefore, upgrade your website’s scripts on a regular basis. But always make sure you have your backup files in place first.

Optimize Your Database

Optimizing your database is yet another very effective way to speed up your website. This is something you should do on a regular basis, especially if you use WordPress or some other CMS that relies a lot on database usage.

When you use such a CMS or even some complex plugins, the data in your database increases and your website becomes slower. This is especially true for plugins that save user data, statistics and logs, as they can take up a lot of data storage. Before you know it, your database will become filled with trackbacks, pingbacks, post revisions, trash items and unapproved comments, which can make your website significantly slower.

Therefore, clean your database on a regular basis, but always make sure you back up your files first. Never do anything with your database before backing it up. There are many plugins that can help you optimize your database, so do your research and find proper ones for the CMS you use.

used GCM(Google Cloud Messaging) for sending the push notification to Android devices,

Initially, we have used GCM(Google Cloud Messaging) for sending the push notification to Android devices, and now Google has been launched Firebase Cloud Messaging(FCM), the newer version of GCM with more features.

Basically, FCM is new Cloud Messaging Services by Google under the Firebase brand, which inherits the GCM’s core infrastructure, plus SDKs and new features to make Cloud Messaging development easier.

This tutorial is useful for the PHP developers who want to send FCM(Firebase Cloud Messaging) notifications by using PHP.

To send GCM messages you basically required two things:

  • Authorization key
  • Device Token

You can get Authorization key(api_key) available in Firebase Console -> Project Settings -> CLOUD MESSAGING -> Server key, and device token you can get at the time of registering or logging by the android users through API.

PHP Function to Send Push Notification by Using FCM(Firebase Cloud Messaging)

function push_notification_android($device_id,$message){

    //API URL of FCM
    $url = 'https://fcm.googleapis.com/fcm/send';

    /*api_key available in:
    Firebase Console -> Project Settings -> CLOUD MESSAGING -> Server key*/    $api_key = 'AAAAKZLje1I:APbGQDw8FD...TjmtuINVB-g';
                
    $fields = array (
        'registration_ids' => array (
                $device_id
        ),
        'data' => array (
                "message" => $message
        )
    );

    //header includes Content type and api key
    $headers = array(
        'Content-Type:application/json',
        'Authorization:key='.$api_key
    );
                
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
    $result = curl_exec($ch);
    if ($result === FALSE) {
        die('FCM Send Error: ' . curl_error($ch));
    }
    curl_close($ch);
    return $result;
}

Array Functions

  • array_change_key_case — Changes the case of all keys in an array
  • array_chunk — Split an array into chunks
  • array_column — Return the values from a single column in the input array
  • array_combine — Creates an array by using one array for keys and another for its values
  • array_count_values — Counts all the values of an array
  • array_diff_assoc — Computes the difference of arrays with additional index check
  • array_diff_key — Computes the difference of arrays using keys for comparison
  • array_diff_uassoc — Computes the difference of arrays with additional index check which is performed by a user supplied callback function
  • array_diff_ukey — Computes the difference of arrays using a callback function on the keys for comparison
  • array_diff — Computes the difference of arrays
  • array_fill_keys — Fill an array with values, specifying keys
  • array_fill — Fill an array with values
  • array_filter — Filters elements of an array using a callback function
  • array_flip — Exchanges all keys with their associated values in an array
  • array_intersect_assoc — Computes the intersection of arrays with additional index check
  • array_intersect_key — Computes the intersection of arrays using keys for comparison
  • array_intersect_uassoc — Computes the intersection of arrays with additional index check, compares indexes by a callback function
  • array_intersect_ukey — Computes the intersection of arrays using a callback function on the keys for comparison
  • array_intersect — Computes the intersection of arrays
  • array_key_exists — Checks if the given key or index exists in the array
  • array_key_first — Gets the first key of an array
  • array_key_last — Gets the last key of an array
  • array_keys — Return all the keys or a subset of the keys of an array
  • array_map — Applies the callback to the elements of the given arrays
  • array_merge_recursive — Merge one or more arrays recursively
  • array_merge — Merge one or more arrays
  • array_multisort — Sort multiple or multi-dimensional arrays
  • array_pad — Pad array to the specified length with a value
  • array_pop — Pop the element off the end of array
  • array_product — Calculate the product of values in an array
  • array_push — Push one or more elements onto the end of array
  • array_rand — Pick one or more random keys out of an array
  • array_reduce — Iteratively reduce the array to a single value using a callback function
  • array_replace_recursive — Replaces elements from passed arrays into the first array recursively
  • array_replace — Replaces elements from passed arrays into the first array
  • array_reverse — Return an array with elements in reverse order
  • array_search — Searches the array for a given value and returns the first corresponding key if successful
  • array_shift — Shift an element off the beginning of array
  • array_slice — Extract a slice of the array
  • array_splice — Remove a portion of the array and replace it with something else
  • array_sum — Calculate the sum of values in an array
  • array_udiff_assoc — Computes the difference of arrays with additional index check, compares data by a callback function
  • array_udiff_uassoc — Computes the difference of arrays with additional index check, compares data and indexes by a callback function
  • array_udiff — Computes the difference of arrays by using a callback function for data comparison
  • array_uintersect_assoc — Computes the intersection of arrays with additional index check, compares data by a callback function
  • array_uintersect_uassoc — Computes the intersection of arrays with additional index check, compares data and indexes by separate callback functions
  • array_uintersect — Computes the intersection of arrays, compares data by a callback function
  • array_unique — Removes duplicate values from an array
  • array_unshift — Prepend one or more elements to the beginning of an array
  • array_values — Return all the values of an array
  • array_walk_recursive — Apply a user function recursively to every member of an array
  • array_walk — Apply a user supplied function to every member of an array
  • array — Create an array
  • arsort — Sort an array in reverse order and maintain index association
  • asort — Sort an array and maintain index association
  • compact — Create array containing variables and their values
  • count — Count all elements in an array, or something in an object
  • current — Return the current element in an array
  • each — Return the current key and value pair from an array and advance the array cursor
  • end — Set the internal pointer of an array to its last element
  • extract — Import variables into the current symbol table from an array
  • in_array — Checks if a value exists in an array
  • key_exists — Alias of array_key_exists
  • key — Fetch a key from an array
  • krsort — Sort an array by key in reverse order
  • ksort — Sort an array by key
  • list — Assign variables as if they were an array
  • natcasesort — Sort an array using a case insensitive “natural order” algorithm
  • natsort — Sort an array using a “natural order” algorithm
  • next — Advance the internal pointer of an array
  • pos — Alias of current
  • prev — Rewind the internal array pointer
  • range — Create an array containing a range of elements
  • reset — Set the internal pointer of an array to its first element
  • rsort — Sort an array in reverse order
  • shuffle — Shuffle an array
  • sizeof — Alias of count
  • sort — Sort an array
  • uasort — Sort an array with a user-defined comparison function and maintain index association
  • uksort — Sort an array by keys using a user-defined comparison function
  • usort — Sort an array by values using a user-defined comparison function

date in php

Returns a string formatted according to the given format string using the given integer timestamp or the current time if no timestamp is given. In other words, timestamp is optional and defaults to the value of time().

Parameters ¶

format

The format of the outputted date string. See the formatting options below. There are also severalpredefined date constants that may be used instead, so for example DATE_RSS contains the format string ‘D, d M Y H:i:s’.

formatcharacterDescriptionExample returned values
Day
dDay of the month, 2 digits with leading zeros01 to 31
DA textual representation of a day, three lettersMon through Sun
jDay of the month without leading zeros1 to 31
l(lowercase ‘L’)A full textual representation of the day of the weekSunday through Saturday
NISO-8601 numeric representation of the day of the week (added in PHP 5.1.0)1 (for Monday) through 7 (for Sunday)
SEnglish ordinal suffix for the day of the month, 2 charactersstndrd or th. Works well with j
wNumeric representation of the day of the week0 (for Sunday) through 6 (for Saturday)
zThe day of the year (starting from 0)0 through 365
Week
WISO-8601 week number of year, weeks starting on MondayExample: 42 (the 42nd week in the year)
Month
FA full textual representation of a month, such as January or MarchJanuary through December
mNumeric representation of a month, with leading zeros01 through 12
MA short textual representation of a month, three lettersJan through Dec
nNumeric representation of a month, without leading zeros1 through 12
tNumber of days in the given month28 through 31
Year
LWhether it’s a leap year1 if it is a leap year, 0otherwise.
oISO-8601 week-numbering year. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. (added in PHP 5.1.0)Examples: 1999or 2003
YA full numeric representation of a year, 4 digitsExamples: 1999or 2003
yA two digit representation of a yearExamples: 99 or 03
Time
aLowercase Ante meridiem and Post meridiemam or pm
AUppercase Ante meridiem and Post meridiemAM or PM
BSwatch Internet time000 through 999
g12-hour format of an hour without leading zeros1 through 12
G24-hour format of an hour without leading zeros0 through 23
h12-hour format of an hour with leading zeros01 through 12
H24-hour format of an hour with leading zeros00 through 23
iMinutes with leading zeros00 to 59
sSeconds, with leading zeros00 through 59
uMicroseconds (added in PHP 5.2.2). Note that date() will always generate000000 since it takes an integer parameter, whereas DateTime::format()does support microseconds if DateTime was created with microseconds.Example: 654321
vMilliseconds (added in PHP 7.0.0). Same note applies as for u.Example: 654
Timezone
eTimezone identifier (added in PHP 5.1.0)Examples: UTCGMTAtlantic/Azores
I (capital i)Whether or not the date is in daylight saving time1 if Daylight Saving Time, 0otherwise.
ODifference to Greenwich time (GMT) in hoursExample: +0200
PDifference to Greenwich time (GMT) with colon between hours and minutes (added in PHP 5.1.3)Example: +02:00
TTimezone abbreviationExamples: ESTMDT …
ZTimezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive.-43200 through 50400
Full Date/Time
cISO 8601 date (added in PHP 5)2004-02-12T15:19:21+00:00
r» RFC 2822 formatted dateExample: Thu, 21 Dec 2000 16:01:07 +0200
USeconds since the Unix Epoch (January 1 1970 00:00:00 GMT)See also time()

Unrecognized characters in the format string will be printed as-is. The Z format will always return 0 when using gmdate().

Note:

Since this function only accepts integer timestamps the u format character is only useful when using the date_format() function with user based timestamps created with date_create()

String function in php

  • addcslashes — Quote string with slashes in a C style
  • addslashes — Quote string with slashes
  • bin2hex — Convert binary data into hexadecimal representation
  • chop — Alias of rtrim
  • chr — Generate a single-byte string from a number
  • chunk_split — Split a string into smaller chunks
  • convert_cyr_string — Convert from one Cyrillic character set to another
  • convert_uudecode — Decode a uuencoded string
  • convert_uuencode — Uuencode a string
  • count_chars — Return information about characters used in a string
  • crc32 — Calculates the crc32 polynomial of a string
  • crypt — One-way string hashing
  • echo — Output one or more strings
  • explode — Split a string by a string
  • fprintf — Write a formatted string to a stream
  • get_html_translation_table — Returns the translation table used by htmlspecialchars and htmlentities
  • hebrev — Convert logical Hebrew text to visual text
  • hebrevc — Convert logical Hebrew text to visual text with newline conversion
  • hex2bin — Decodes a hexadecimally encoded binary string
  • html_entity_decode — Convert HTML entities to their corresponding characters
  • htmlentities — Convert all applicable characters to HTML entities
  • htmlspecialchars_decode — Convert special HTML entities back to characters
  • htmlspecialchars — Convert special characters to HTML entities
  • implode — Join array elements with a string
  • join — Alias of implode
  • lcfirst — Make a string’s first character lowercase
  • levenshtein — Calculate Levenshtein distance between two strings
  • localeconv — Get numeric formatting information
  • ltrim — Strip whitespace (or other characters) from the beginning of a string
  • md5_file — Calculates the md5 hash of a given file
  • md5 — Calculate the md5 hash of a string
  • metaphone — Calculate the metaphone key of a string
  • money_format — Formats a number as a currency string
  • nl_langinfo — Query language and locale information
  • nl2br — Inserts HTML line breaks before all newlines in a string
  • number_format — Format a number with grouped thousands
  • ord — Convert the first byte of a string to a value between 0 and 255
  • parse_str — Parses the string into variables
  • print — Output a string
  • printf — Output a formatted string
  • quoted_printable_decode — Convert a quoted-printable string to an 8 bit string
  • quoted_printable_encode — Convert a 8 bit string to a quoted-printable string
  • quotemeta — Quote meta characters
  • rtrim — Strip whitespace (or other characters) from the end of a string
  • setlocale — Set locale information
  • sha1_file — Calculate the sha1 hash of a file
  • sha1 — Calculate the sha1 hash of a string
  • similar_text — Calculate the similarity between two strings
  • soundex — Calculate the soundex key of a string
  • sprintf — Return a formatted string
  • sscanf — Parses input from a string according to a format
  • str_getcsv — Parse a CSV string into an array
  • str_ireplace — Case-insensitive version of str_replace
  • str_pad — Pad a string to a certain length with another string
  • str_repeat — Repeat a string
  • str_replace — Replace all occurrences of the search string with the replacement string
  • str_rot13 — Perform the rot13 transform on a string
  • str_shuffle — Randomly shuffles a string
  • str_split — Convert a string to an array
  • str_word_count — Return information about words used in a string
  • strcasecmp — Binary safe case-insensitive string comparison
  • strchr — Alias of strstr
  • strcmp — Binary safe string comparison
  • strcoll — Locale based string comparison
  • strcspn — Find length of initial segment not matching mask
  • strip_tags — Strip HTML and PHP tags from a string
  • stripcslashes — Un-quote string quoted with addcslashes
  • stripos — Find the position of the first occurrence of a case-insensitive substring in a string
  • stripslashes — Un-quotes a quoted string
  • stristr — Case-insensitive strstr
  • strlen — Get string length
  • strnatcasecmp — Case insensitive string comparisons using a “natural order” algorithm
  • strnatcmp — String comparisons using a “natural order” algorithm
  • strncasecmp — Binary safe case-insensitive string comparison of the first n characters
  • strncmp — Binary safe string comparison of the first n characters
  • strpbrk — Search a string for any of a set of characters
  • strpos — Find the position of the first occurrence of a substring in a string
  • strrchr — Find the last occurrence of a character in a string
  • strrev — Reverse a string
  • strripos — Find the position of the last occurrence of a case-insensitive substring in a string
  • strrpos — Find the position of the last occurrence of a substring in a string
  • strspn — Finds the length of the initial segment of a string consisting entirely of characters contained within a given mask
  • strstr — Find the first occurrence of a string
  • strtok — Tokenize string
  • strtolower — Make a string lowercase
  • strtoupper — Make a string uppercase
  • strtr — Translate characters or replace substrings
  • substr_compare — Binary safe comparison of two strings from an offset, up to length characters
  • substr_count — Count the number of substring occurrences
  • substr_replace — Replace text within a portion of a string
  • substr — Return part of a string
  • trim — Strip whitespace (or other characters) from the beginning and end of a string
  • ucfirst — Make a string’s first character uppercase
  • ucwords — Uppercase the first character of each word in a string
  • vfprintf — Write a formatted string to a stream
  • vprintf — Output a formatted string
  • vsprintf — Return a formatted string
  • wordwrap — Wraps a string to a given number of characters

Laravel Release Process

At Laracon 2013 in Washington D.C., Taylor announced the first official release cycle for the framework.

The way releases are set up is that a new version of Laravel is released every six months, one around June and another at the end of each year. Bug fixes are provided for six months and security fixes for one year.

By having an official release cycle, it allows us end users to plan around when we need to perform upgrades and also the dev team a way of knowing what is coming and when. Since this announcement, all new releases have followed this schedule.

With the release of Laravel 5.1, a new cycle was added to offer long-term support. It includes bug fixes for two years and security fixes for three.

This means 5.1 will be the only LTS version available until the two-year mark ends, June 2017. At that point, another LTS version will be announced. Here is an outline for the release schedule:

Proposed Release Schedule

5.1 LTS – Jun 9, 2015

Bug fixes until June 2017, and security fixes until June 2018.

Laravel 5.2 – Dec 21, 2015

General release of 5.2 which includes 6 months of bug fixes, 1 year of security.

Laravel 5.3 – Aug 23, 2016

6 months of bug fixes, 1 year of security.

Laravel 5.4 – January 24, 2017

6 months of bug fixes, 1 year of security. Here is a look at the new features of Laravel 5.4

Laravel 5.5 LTS – August 30, 2017

This is the current LTS release. At this point, Laravel 5.1 will no longer receive bug fixes but will continue getting security fixes until June 2018. Check out the what’s new in Laravel 5.5 series to see all the new features in this release.

Laravel 5.6 – February 7th, 2018

6 months of bug fixes, 1 year of security. what’s new in Laravel 5.6.

Laravel 5.7 – September 4th, 2018

6 months of bug fixes, 1 year of security. Check out the what’s new in Laravel 5.7series to see all the new features in this release.

History of Laravel Releases

VersionReleaseBug Fixes UntilSecurity Fixes Until
V1June 2011
V2September 2011
v3February 2012
v4May 2013
5.0Feb 4th, 2015Aug 4th, 2015Feb 4th, 2016
5.1 (LTS)Jun 9th, 2015Jun 9th, 2017Jun 9th, 2018
5.2Dec 21st, 2015Jun 21st, 2016Dec 21st, 2016
5.3Aug 23rd, 2016Feb 23rd, 2017Aug 23rd, 2017
5.4Jan 24th, 2017Jul 24th, 2017Jan 24th, 2018
5.5 (LTS)Aug 30th, 2017Aug 30th, 2019Aug 30th, 2020
5.6Feb 7th, 2018Aug 7th, 2018Feb 7th, 2019
5.7Sep 4, 2018Feb 4th, 2019Sep 4th, 2019

Unit Testing – Test Case Preparation Guidelines

Unit testing is a Level of Testing where smallest part of individual unit / component (called unit) is tested to determine if they are fit for use.

The unit test cases writing and execution is done by the developer (not the tester) to make sure that individual units are working as expected. The smallest part of individual components like functions, procedures, classes, interfaces etc.
If we take a example of functions, when we pass input parameters to functions then check if the function should return a expected values. The main intention of this activity is to check whether units are working as per design and handling error and exception more neatly. The both positive and negative conditions should handle properly.

The white box testing is used to test the unit testing. This is very first step in level of testing and started before doing integration testing.

Unit Testing Test Case Preparation Guidelines:

1. Unit Test Plan/Cases should be made a separate deliverable. It should not be merged with other artifacts. Try to document all the probable test scenarios which encompasses uncommon and alternative flows. Once a project moves into construction phase, the developers have a tendency to catch only the success situations or the situations which has been coded.

2. Construction and Unit testing need to be made distinct phases and the deliverable need to be scheduled accordingly.

3. If Construction and UT are scheduled as a single phase, Unit testing results need to be made as a separate deliverable – This would help in filtering out any mistakes in the business flows at a nascent stage instead of in the integration testing or system testing which is more expensive.

4. Make use of the count of test cases planned, executed, passed, and failed to apprehend the progress and replicate Unit testing if required.

5. Try to include on-the-fly test cases that are developed while executing a pre-defined set of test cases.

Unit Testing Test Cases Preparation Guidelines Checklist:

Input Data Validation:

This section encompasses a range of checks that may be adopted generally to the data which is entered to an application system.

  1. Mandatory Fields testing
  2. Unique Field Values testing
  3. Null value testing
  4. Field accepts allowable characters only
  5. Negative values testing
  6. Field is limited to the field length specifications
  7. Improbable Value testing
  8. Garbage Value testing
  9. Check for inter- Field dependencies
  10. Equivalence Class Partitioning and boundary condition testing
  11. Ensure error notification and correction processing is robust

Date Validation:

This constitutes of a set of conditions to the date fields

  1. Various Date Formats
  2. US or UK Style Date Format
  3. Positive testing – valid dates
  4. Negative testing- invalid Dates like
  • Month does not accept 00 and 13 as values
  • Day do not contain 00 and 32 as its values
  • 28, 29, 30 are validated correctly.
  1. Check for the impact of Weekends and Bank Holidays if applicable
  2. Link between Leap Years and 29th February

Time Validation:

This constitutes of a set of conditions to the time fields

  1. Various Time Formats like 12/24 hour format, AM/PM
  2. Positive testing- check for valid Times
  3. Negative testing- check for invalid Times
  4. Check for the impact of Weekends and business holidays

Postcode validation:

This constitutes of a set of conditions to the postcode fields

  1. Test for partial Postcode input and check for postcode format
  2. Testing for space/no space
  3. Check if there is option to enter address manually

System interfaces:

This constitutes of a set of conditions to the fields which are transferred between multiple application systems.

  1. Check if all fields/parameters on an interface are exercised properly
  2. All data fields need to work properly as per the validation List
  3. Security testing across automated Interfaces
  4. Check for the parent child relationships

Usability:

This constitutes of a set of conditions which helps to verify the usability of an application system.

  1. Check if the Layout is consistent with the design criteria
  2. Check for the Fonts, Colors, Sizes, etc.
  3. Test for Branding Guidelines
  4. Check if the window caption for every application has the name of the application and the window name
  5. Check for alignment
  6. Check if the screen is resizable and minimizable
  7. Spelling check
  8. Testing for default values if necessary
  9. Mandatory fields need to be highlighted with as asterisk symbol

Security:

This constitutes of a set of conditions which helps to verify the security of an application system.

  1. Negative testing- Password is not visible
  2. Access testing- multiple levels
  3. Positive testing- Change Password
  4. Error messages should not reveal any system information
  5. Check if SSL is correctly deployed
  6. Check if Lockout rules is applied
  7. Check if password saved in clear or encrypted?
  8. Verify the application with valid UserId and invalid UserIds
  9. Verify the application with valid password and various invalid passwords
  10. Check for access to the application by directly entering valid URL(s). System should ask for login details.
  11. Ensure Browser(s) does not remember Passwords

Logging, audit and trails:

This constitutes of a set of conditions which helps to verify the Audit Trails, System Logs, etc. of an application system.

  1. Check if the logs are saved for the specified period
  2. Check if the logs contain personal data
  3. Check if Admin functions are logged
  4. Check if user Lockout events are logged

Business application logic:

This constitutes of a set of conditions which helps to verify the application logic and business processing of an application system.

  1. Check if options for all available Products are explored
  2. Check for all Upgrade and Downgrade Paths and Options
  3. Verify upgrades and downgrades have been applied to billing, network, self-care etc
  4. Behavior on Cease/Disconnect/Termination
  5. Behavior on Equipment Failure
  6. Check rounding on Calculated Amounts
  7. Ensure full range of test accounts used, types/status/conditions
  8. Check if currency symbol is displayed as required
  9. Verify that duplicate records are not present.
  10. Use large or very large amounts/numbers where arithmetic is involved to check overflow, both in displayed and actual data forms

Reporting:

This section encompasses a set of checks that helps to verify reporting functionality offered by the system.

  1. All fields are available
  2. Adequate space should be available for fields
  3. Enable Scrolling and Panning
  4. Page Numbering gives indication of Report Size (N of M) and should enables access to mid/end points in Report
  5. Reports are exported correctly to Excel/Word documents
  6. Reports can be printed properly and all data appears correctly
  7. Check if all the pages in the report are accessible

Environment:

This section encompasses a set of checks that helps to verify environmental or equipment requirements for the AUT.

  1. Testing with all the browsers
  2. Testing by enabling and disenabling Java scripts

Email:

This section encompasses a set of checks that could be applied for verifying email capability

  1. Verify if confirmation message is provided when Email is sent
  2. Verify that the links provided in the emails function properly
  3. Verify that Reply to Address is correct
  4. Verify that Fonts, Size and alignment of texts in email are proper

Search criteria:

This section encompasses a set of checks on the Searching functionality of the application system.

  1. Verify that scroll bar is implemented
  2. Verify that alignment of the search results is proper
  3. Verify that valid results are displayed for any combination of search conditions.
  4. Verify that correct results are retrieved for AND/OR conditions
  5. Verify that results are displayed in alphabetical or specified order
  6. Verify that column headings are sortable

Conclusion:

In this article you learned all about Unit Testing test case preparation guidelines and checklists. I hope this will definitely help our developer friends to write down the Unit test cases. These test cases are definitely help white box testers to test your application.

Your feedback is important to us, please let us know your feedback in comments below. If you like the article and then please share it. You can also share your personal experiences if you have done this before.

Setting up WordPress and managing your website


WordPress powers almost 27 percent of the entire internet

WordPress has two zones: the front-end and the back-end.

The front end is what your visitors will see when they come to your website. Many of the tasks performed on the back-end will be visible on the front end, such as theme customizations, plugin functionality enhancements, and content publication. Actions can also be performed by you and your visitors directly from the front-end of the website, including commenting and social sharing.There are 72 translations of WordPress

The back end, also known as the WordPress dashboard, allows you to fully manage your site’s content, community, functionality, and design. It’s accessible only by users who have an account on your site. To access your WordPress dashboard, you need to type yourwebsite.com/wp-admin in the address bar of your browser and login using your WordPress username and password.

The dashboard

The Dashboard is the center of website administration. It consists of three main parts left-side menu, top toolbar and middle section. The left-hand column of your WordPress dashboard is where you’ll find all of your admin options and where most of your creative effort will be focused.

The left-side menu items include the following:

There are more than 47,000 WordPress plugins. Akismet is still the #1 downloaded pluginA premium WordPress theme has the average price of $40

  • Home takes you to your dashboard.
  • Updates show you any themes or plugins that need to be updated because a new version has been released. If WordPress itself is updated, you’ll see a number in a red circle next to this menu item.
  • Media shows every photo, video, and file you’ve uploaded as part of a post or page. You can also upload files directly to the media section.
  • Pages are usually evergreen, static web pages. Examples include the “About Us” section on a company website or the “Services” page.
  • Comments are what visitors comment on in response to one of your posts or pages. If you have comments, a number inside a red circle will appear next to this menu item.
  • Appearance contains themes, design, and features related to the appearance of your site.
  • Plugins are extra mini programs that help increase the functionality of your site. You can use plugins to turn your website into a membership site, add social media sharing, eliminate comment spam or just to do something cool or fancy with your graphics.
  • Settings are used for just about anything. It’s the first place you want to go when setting up a new site.

Design your site and make it look great

Man painting

The design of your website is essential, and people will form an opinion about your business based on the look and feel of it. Visitors will make an instant decision (in 3 seconds or less) whether to stay on your site or move on. To make an impact, it’s important to have great design.

Depending on the type of the website and the way you choose to build it, you will have some options as far as selecting a design for your site. If you decide to use CMS or web builder, you will be dealing with the pre-made theme and templates. Key things to keep in mind about your website design are the following:

  • Use clean design
  • Make sure it’s mobile optimized
  • Fit your site’s niche and goals
  • One or two columns layout is the best option
  • Use unique design elements
  • Make it easy to navigate

If you are looking for customized options using some of the platforms mentioned above or creating a website from scratch, you can turn to professional web designer/developer.Design for differentiated sections and eye-catching transitions to help user navigate and reward them based on their engagement levels, interests or the site depth into which they explore

Write and prepare your content

Content is information that will be presented on your site. It’s important to create and maintain useful, unique, and clear content so your visitors can easily understand your message. Poorly written and badly presented material can frustrate and discourage visitors from staying on your website or coming back.

There are two questions you have to consider when creating content:Create custom visuals and iconography that speaks directly to brand story and personality. Avoid arbitrary media and iconography. Again, keep it relevant

  • Is the content relevant and exciting to your audience?
  • How should the content be presented to your target audience?

Today, search engines reward (by ranking them higher) websites that make an effort to create quality content to educate people in their niche. You will have to make sure your content is: unique, relevant, legit, and current.

Once you have an overview of your website plan/sitemap, you can drill down to the specifics of the content you need to create for a website launch. It will be important to create evergreen content (content that will not be changing much and will appear on the static pages) and also important to have fresh content appearing on your website on a regular basis.

Test before and after launch

Soldier

Beta testing. Launching your website is an exciting process and people eager to get it live as soon as possible. With all the excitement, often people ignore the testing step. It’s critical you test your website before it goes live. The testing process can seem overwhelming, and you are not sure where to start. We are here to tell you that it’s not that complicated, you just have to check the following points carefully:

  • Content related materials (spelling, punctuation, etc.)
  • Design related elements (images, fonts, etc.)
  • Web development items ( live URLs, broken links, etc.)
  • Search engine optimization details ( title tags, meta data, etc.)
  • Network administrator areas (hosting, backup system, etc.)

Google Analytics
Even if you’re on a tight budget, you can use free tools like Google Analytics to get a lot of data on how your website is being used, including overlays of your pages to see what links people click on most as well as the ability to track conversion funnels

Post-launch. Once your website goes live, you need to have a strategy in place on what to do next and how to maintain your site. Here are some basic things to consider:

  • Prepare your site for promotion.
  • Prepare to measure website stats.
  • Find maintenance if and when needed.
  • Make sure you backup your site.
  • Collect visitor’s feedback.

AN OVERVIEW OF LEARNERS LICENSE IN INDIA

An Overview of Learners License in India

You must hold a valid Driving License to legally drive a vehicle on Indian roads. But first, you need to get a Learner’s License when you are learning to drive.

A Learner’s License is a document issued by your state Regional Transport Office (RTO). It acts as a provisional and restricted license. You must get a permanent Driving License once you’ve learnt how to drive a motor vehicle. To get a Learner’s License, one must be familiar with rules and regulations related to road safety.

In India, Learner’s License is issued to the candidate after passing a written or online test about road rules. After you get a Learner’s License, you will be allowed to practice driving on public roads provided you are accompanied by a person who holds a permanent Driving License. You must obtain a Learner’s License for the relevant class of vehicle before you can get a Driving License.

Types of Learner’s License in India

Driving License and Learner’s License in India are given based on the class of motor vehicle. The eligibility criteria changes depending upon the class of vehicle.

Here are some of the most common class of vehicles:

For Personal Use:

MC 50cc (Motorcycle 50cc) license class for Motorcycles with engine capacity of 50cc or less than 50cc
LMV–NT class license for Light Motor Vehicle used for non-transport purposes
FVG class license for Motorcycles of any engine capacity but with no gears, like Scooters and Mopeds
MC EX50CC class license for Motorcycles with a capacity of 50cc or more, Motorcycles with gear and Light Motor Vehicles (LMVs) including cars
MCWG or M/CYCL.WG class license for All types of Motorcycles including Motorcycle with gear

For Commercial Use:

HGMV class license for Heavy Goods Motor Vehicle
LMV–TR class license for Light Motor Vehicle used for commercial purposes
HPMV class license for All India driving permit for trucks and cars or open license/Heavy Passenger Motor Vehicle
LMV–NT class license Light Motor Vehicle for non-transport purposes
MGV class license for Medium Goods Vehicle

Eligibility Criteria for Getting Learner’s License

Eligibility criteria for Learning License differs depending on the class of motor vehicle and the type of learner’s license sought 

  • What is IoT?

    What is IoT?

    Internet of Things (IoT) is an ecosystem of connected physical objects that are accessible through the internet. The ‘thing’ in IoT could be a person with a heart monitor or an automobile with built-in-sensors, i.e. objects that have been assigned an IP address and have the ability to collect and transfer data over a network without manual assistance or intervention. The embedded technology in the objects helps them to interact with internal states or the external environment, which in turn affects the decisions taken.

    Why IoT?

    An article by Ashton published in the RFID Journal in 1999 said, “If we had computers that knew everything there was to know about things – using data they gathered without any help from us – we would be able to track and count everything, and greatly reduce waste, loss and cost. We would know when things needed replacing, repairing or recalling, and whether they were fresh or past their best. We need to empower computers with their own means of gathering information, so they can see, hear and smell the world for themselves, in all its random glory.” This is precisely what IoT platforms does for us. It enables devices/objects to observe, identify and understand a situation or the surroundings without being dependent on human help.



    What is the scope of IoT?

    Internet of Things can connect devices embedded in various systems to the internet. When devices/objects can represent themselves digitally, they can be controlled from anywhere. The connectivity then helps us capture more data from more places, ensuring more ways of increasing efficiency and improving safety and IoT security.

    IoT is a transformational force that can help companies improve performance through IoT analytics and IoT Security to deliver better results. Businesses in the utilities, oil & gas, insurance, manufacturing, transportation, infrastructure and retail sectors can reap the benefits of IoT by making more informed decisions, aided by the torrent of interactional and transactional data at their disposal.

    How can IoT help?

    IoT platforms can help organizations reduce cost through improved process efficiency, asset utilization and productivity. With improved tracking of devices/objects using sensors and connectivity, they can benefit from real-time insights and analytics, which would help them make smarter decisions. The growth and convergence of data, processes and things on the internet would make such connections more relevant and important, creating more opportunities for people, businesses and industries.

    %d bloggers like this: