Showing posts with label Software Development. Show all posts
Showing posts with label Software Development. Show all posts

Thursday 26 December 2019

Hadoop - Understanding Hadoop Architecture


Hadoop is an open source framework written in java that allows distributed processing of large datasets across clusters of computers.
Hadoop is designed to scale up from single server to thousands of machines and each have local-computation and storage.

Hadoop Architecture have 4 modules.

Understanding Hadoop Architecture
  1. Hadoop Common: These are Java libraries which provides filesystem and OS level abstractions which are required to start Hadoop.
  2. Hadoop YARN: This is used for job scheduling and cluster resource management.
  3. Hadoop Distributed File System: It provides high throughput access to application data and is suitable for applications that have large data sets.
  4. Hadoop MapReduce: This is YARN-based system for parallel processing of large data sets.

Question: What is MapReduce?
MapReduce is a software framework for easily writing applications which process big amounts of data in-parallel on large clusters. It consits of master JobTracker and slave TaskTracker per cluster. The JobTracker is responsible for resource management and schedule the task. TaskTracker is responsibel for execute the task.




Question: How Does HadoopwWork at very basic level?
  1. Job Submission by client to Hadoop.
  2. Input and output files are in "distributed file system" and with use of "Hadoop Common files" Initialization the hadoop.
  3. Execute of map and reduce functions.
  4. Scheduling the task by TaskTracker.
  5. Execution the task by JobTracker.

Monday 16 December 2019

What is CPU Usage and Memory Usage?

What is CPU Usage and Memory Usage

CPU Usage- It is the "amount of time" a CPU was used for processing the given instructions.


Memory Usage- It is the "amount of RAM" was used for processing the given instructions

Entry Processes- It is number of scripts are running at a single time. One entry process take fraction of a second to complete. So in 10 entry process you can have 10-30 visitors.

Number of Processes- It is number of process(script) can run in one time. One process take time till the execution of script.

I/O Usage- It is speed of data transfer between the hard disk and the RAM.



Question: Is high CPU usage bad?
If the CPU usage is around 100%, this means that your computer is trying to do more work than it has the capacity. Always CPU usage must be less than 90%, If so increase the CPU.




Monday 29 January 2018

phpmailer gmail - PHP MAILER setting to send email through Gmail

PHP MAILER setting to send email through Gmail

Step 1:
Download a recent version of PHPMailer.

Step 1:
Use Following code to send an email from Gmail Account.

 
// Import PHPMailer classes into the global namespace
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

//Load composer's autoloader
require 'vendor/autoload.php';

$mail = new PHPMailer(true);                              // Passing `true` enables exceptions
try {
    //Server settings
    $mail->SMTPDebug = 2;                                 // Enable verbose debug output
    $mail->isSMTP();                                      // Set mailer to use SMTP
    $mail->Host = 'smtp1.example.com;smtp2.example.com';  // Specify main and backup SMTP servers
    $mail->SMTPAuth = true;                               // Enable SMTP authentication
    $mail->Username = 'user@example.com';                 // SMTP username
    $mail->Password = 'secret';                           // SMTP password
    $mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
    $mail->Port = 587;                                    // TCP port to connect to

    //Email Sender
    $mail->setFrom('from@example.com', 'Mailer');

    //Recipients
    $mail->addAddress('joe@example.net', 'Joe User');     // Add a recipient
    $mail->addAddress('ellen@example.com');               // Name is optional
    $mail->addReplyTo('info@example.com', 'Information');
    $mail->addCC('cc@example.com');
    $mail->addBCC('bcc@example.com');

    //Attachments (IF there is attachment then only include)
    $mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
    $mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name

    //Content
    $mail->isHTML(true);                                  // Set email format to HTML (true) 
    $mail->Subject = 'Here is the subject';
    $mail->Body    = 'This is the HTML message body';
    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

    $mail->send();
    echo 'Message has been sent';
} catch (Exception $e) {
    echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}

If you get similar to following Error
Please log in via your web browser and then try again.
5.7.14 Please log in via your web browser and then try again. 5.7.14 Learn more at 5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 fr13sm3613053pdb.81

If Yes, 
whether you have "turned on 2-Step Verification" OR Google need Verification that you want to use your gmail as SMTP credential.

You can fix this in couple of minutes using below link:
https://support.google.com/mail/answer/78754

If any issue, please comment below in comment box:



Friday 27 October 2017

Zoho terminology

Zoho terminology

Question: What is Zoho?
Zoho is a division of ZOHO Corporation A US-based company that has been creating and selling cutting edge software solutions since 1996.


Question: What do you meant by Zoho CRM?
Zoho CRM is an On-demand Customer Relationship Management (CRM) software for managing your customer relations.
Zoho CRM helps streamline your organization-wide sales, marketing, customer support, and inventory management functions in a single system.


Question: What is a project in Zoho?
Projects is an online project management app that helps you plan your work and keep track of your progress.
It also lets the people in the project communicate easily, discuss ideas, and stay updated.


Question: What is a Zoho Doc?
It Online Document Management System where you can store all your files securely in a centralized location, and access anywhere online.
It is the homepage for all your documents, spreadsheets, presentations, pictures, music, videos, etc.


Question: What is Zoho connect?
Zoho Connect is an enterprise social networking software application that allows people to connect with their colleagues, share ideas, and disseminate information. Users can also post messages, leave comments, share files, and conduct real-time


Question: What is Zoho inventory?
Zoho Inventory is cloud-based inventory management software that helps you create and manage both your sales and purchase orders, and track your inventory. You can integrate it with online sales channels like Amazon, eBay, and Etsy, as well as shopping carts like Shopify and more.


Question: What is a Zoho Sheet?
Zoho Sheet is an online spreadsheet application that lets you create, edit and share spreadsheets.
It can be used to work with large amount of data, functions, formulas and charts.
It is a great online productivity application which businesses find extremely useful for collaboration.


Question: What is the Zoho Show?
Zoho Show is an online-presentation tool that can be used by anyone with a Zoho account.
You can use Zoho Show to create presentations and access them from anywhere using a browser and an Internet connection.


Question: What is Zoho Assist program?
Zoho Assist is an online remote support and access platform for small and mid-sized businesses that can empower every app to become more trustworthy at absolutely no cost.


Question: What is Zoho book?
Zoho Books is an easy-to-use, online accounting software designed for small businesses to manage their finances and stay on top of their cash flow.


Question: What is a project management software?
Project management software is software used for project planning, scheduling, resource allocation and change management.
It allows project managers (PMs), stakeholders and users to control costs and manage budgeting, quality management and documentation and also may be used as an administration system.


Tuesday 5 September 2017

Microdata in HTML5

Microdata in HTML5

Question: What is Microdata in HTML5?
Microdata is a way to provide additional semantics in your web application.


Question: What is use of Microdata?
  1. Define your own customized elements.
  2. Define custom properties.
  3. We use itemscope and itemprop attribute



Question: Give sample URL of Microdata?
    
        <div itemscope="">
Web Site <span itemprop="name">Web technology experts</span>.</div>
<div itemscope="">
Domain URL is <span itemprop="name">http://web-technology-experts-notes.in</span>.</div>




Question: What are different attributes of Microdata?
Attribute Description
itemscope The itemscope attribute is a boolean attribute that tells there are Microdata on this page.
itemtype It is valid URL which defines the item.
itemid Global identifier for the item.
itemprop Property of the item.
itemref List of additional elements to crawl.



Question: What are the importance of microdata in SEO?
Schema is a specific vocabulary of tags (microdata) that you can add to your HTML to improve the way your page is represented in SERPs.


Question: What is full form of SERPs?
A search engine results page (SERP) is the page displayed by a search engine in response.


Question: What does schema org do?
Schema.org is a joint effort, in the spirit of sitemaps.org, to improve the web by creating a structured data markup schema supported by major search engines.


Question: What is Google schema?
Schema.org is the centralized home on the web for the Schema project, a collaboration between Google, Bing and Yahoo! to standardize structured markup.


Question: What is rich snippets in Google?
Rich Snippets is the term to describe structured data markup that site can add to their HTML, which in turn allow search engines to better understand.


Question: What are rich cards Google?
These "rich results" are facilitated by the addition of structured data markup to web pages, either in the form of content items ("such as articles, recipes, or movies") or lists.


Validate Icalendar File or URL




Question: What is Desktop iCalendar?
Desktop iCalendar is a handy desktop calendar for Windows. It stays on your desktop and shows the days of the current month have the events. It can be sync with Google Calendar OR Yahoo Calendar. You can share the calendars with your family and friends with use of the Google OR Yahoo. File format of iCalendar is .ics.


Question: What is use of iCalendar?
iCalendar is a computer file format which allows Internet users to send meeting requests and tasks to other Internet users, via facebook, email. Recipients of the iCalendar data file can respond to the sender easily or counter propose another meeting date/time


Question: Why need of Validate the Icalendar?
When we validate, It make sure us that we are sharing correct and valid file. Also it make sure recipients will get the  task/events once they get.


Question: How to validate Icalendar File OR code snippt.
http://severinghaus.org/projects/icv/


Question: What are Development Tools for Validate Icalender.
Language Library
C/C++ libical
Java iCal4J
Python vObject
Ruby iCalendar
Ruby RiCal

Friday 14 July 2017

Download the Azure SDK for PHP and upload the video in Azure

Download the Azure SDK for PHP and upload the video in Azure

Download the Azure SDK for PHP

  1. Install Git. (If already, move to next)
  2. Create composer.json and add following contents.
    {
             "require": {
               "microsoft/azure-storage": "*"
             }
           }
  3. Download composer.phar in your project root.
  4. Execute following Command.
    php composer.phar install
  5. It will download the Library, which I have tested.



Upload the Media in Azure

  1. Include following files:
    use WindowsAzure\Common\ServicesBuilder;
    use MicrosoftAzure\Storage\Common\ServiceException;
    require_once 'azure/vendor/autoload.php';
  2. Get the Credentials
    $azureUserName='XXXXXXXXXXXX';
    $azureKey='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
    $containter='XXXXXXXXX';
    
  3. Set the Credentias
    $connectionString = "DefaultEndpointsProtocol=http;AccountName={$azureUserName};AccountKey={$azureKey}";
    $blobRestProxy = ServicesBuilder::getInstance()->createBlobService($connectionString);
  4. Upload the File in Azure
    $blobName='textFile.txt';
    $content = fopen('../data/test6.txt', "r");
    try    {
                
                $blobRestProxy->createBlockBlob($containter, $blobName, $content);
                echo 'Uploaded successfully';
            }
            catch(ServiceException $e){
                $code = $e->getCode();
              $e->getMessage();
    
            }

Monday 1 May 2017

What is Web Server?

What is Web Server


Queston: What is Web Server?
A Web server is a program that uses HTTP to serve the data in form Web pages to users.
When client (like browser OR App), hit an http URL (like http://www.web-technology-experts-notes.in/2016/08/what-is-rtmp-rtmpt-rtmpe-rtmpte-and-rtmps-protocol.html), An request goes to Web Server (domain's server), Web server execute the request and return the data.
Note: Dedicated computers and appliances may be referred to as Web servers as well.


Queston: Giv example of Web Server?
A computer can be converted to web server, for this they need to connect to the internet install the web server software.
Following are web server software.
  1. Apache HTTP Server
  2. Microsoft Internet Information Services (IIS)
  3. Apache Tomcat
  4. Nginx
  5. Oracle iPlanet Web Server
  6. Lighttpd
  7. Mobile Web Server
  8. Mongoose (web server)
  9. Jetty
  10. Wamp Server
  11. Boa web server
  12. CERN httpd
  13. Gunicorn
  14. Kloxo-MR
  15. Roxen
  16. AOLserver
  17. Tornado (web server)
  18. Adobe JRun
  19. Hiawatha (web server)
  20. enhydra
  21. WEBrick



Question: What is the difference between web server and application server?
  1. Web Server is a server that serves content to the web using http/https protocol.
    Application server you can write the business login and It can also be work like web server.
  2. Web Server is used for serve the content whereas application server is used for hosts and exposes business logic and processes.



Question: Why port 80 for web services?
Hypertext Transfer Protocol, port 80 is the port (default port) that the server "listens to" or expects to receive from a Web client.
A port can be specified in the range from 0-65536 on the NCSA server.
However, the server administrator configures the server so that only one port number can be recognized.


Question: What is default port for https?
443


Question: What are the different ports used in Web Development?
  1. 20 FTP (File Transfer Protocol)
  2. 21 SFTP (Secure File Transfer Protocol)
  3. 22 Secure Shell (SSH) Connection
  4. 23 Shell connection like ssh but its not reliable.
  5. 25 Simple Mail Transfer Protocol (SMTP)
  6. 50 Hypertext Transfer Protocol (HTTP)
  7. 110 Post Office Protocol (POP)
  8. 143 Internet Message Access Protocol (IMAP)
  9. 443 Hypertext Transfer Protocol over SSL/TLS (HTTPS)
  10. 989 FTP over TLS/SSL



Thursday 27 April 2017

Azure Blob storage Architecture

 Azure Blob storage

Question: What is Azure Blob storage?
Azure Blob storage is a service that stores unstructured large data in the cloud in form of objects/blob.
Blob storage can store any type of file like image, video OR text etc.
Stored data can be accessed through HTTP or HTTPS.


Question: What is Blob?
It is large file like an image, video or binary data.


Question: Why Blob Storage are used?
  1. Streaming Audio/Video.
  2. Storing data for backup and restore.
  3. Store heavy data like images, audio and videos.
  4. Access the data in browser.
  5. Storing files for distributed access.



Question: What is structure of Blob storage?
An account can have one OR More container.
User can store the data in container.
For Example:
One Account 
    Movies (Container 1)
        movie1.mp4 (Blob data)
        movie2.mp4 (Blob data)
        movie3.mp4 (Blob data)

    videos (Container 2)
        video1.mp4 (Blob data)
        video1.mp4 (Blob data)
        video1.mp4 (Blob data)

    photos (Container 3)
        photo1.jpg (Blob data)
        photo2.jpg (Blob data)
        photo3.jpg (Blob data)
        photo4.jpg (Blob data)



Question: How to get azure client Libraries (using composer)?
  1. 1. Create a folder where you want to download the library.
  2. Install composer (If not) php -r "readfile('https://getcomposer.org/installer');" | php
  3. Create a composer.json (with following data)
    {
       "require": {
         "microsoft/windowsazure": "^0.4"
       }
     }
  4. Download the library with following command.
    php composer.phar install



Question: Give a tutorial from where i can do list/add/update/delete the azure blob data?
https://docs.microsoft.com/en-us/azure/storage/storage-php-how-to-use-blobs


Question: In how many programming language code is available?
  1. .NET
  2. Java
  3. Node.js
  4. C++
  5. Python
  6. P?HP
  7. Ruby
  8. iOS
  9. Xamarin



Question: What is mount in linux?
Mounting a filesystem means making the particular filesystem accessible.
When mounting a filesystem it does not matter if the filesystem is a hard disk partition, CD-ROM, floppy, or USB storage device.


Question: Differences between Azure Block Blob and Page Blob?
Block blobs are for your discrete storage objects like jpg's, log files, etc.
Page blobs are for random read/write storage, such as VHD's. Max size 1TB.


Question: What is the maximum length of an Azure blob name?
1024 max character.


Monday 13 March 2017

IMAP Gmail read messages details from inbox

IMAP Gmail read messages details

Check that IMAP is turned on
If Not, Please enable.


Library Code

/** functions used for getting message **/
function flattenParts($messageParts, $flattenedParts = array(), $prefix = '', $index = 1, $fullPrefix = true) {

    foreach($messageParts as $part) {
        $flattenedParts[$prefix.$index] = $part;
        if(isset($part->parts)) {
            if($part->type == 2) {
                $flattenedParts = flattenParts($part->parts, $flattenedParts, $prefix.$index.'.', 0, false);
            }
            elseif($fullPrefix) {
                $flattenedParts = flattenParts($part->parts, $flattenedParts, $prefix.$index.'.');
            }
            else {
                $flattenedParts = flattenParts($part->parts, $flattenedParts, $prefix);
            }
            unset($flattenedParts[$prefix.$index]->parts);
        }
        $index++;
    }

    return $flattenedParts;
           
}


function getPart($con, $messageNumber, $partNumber, $encoding) {
   
    $data = imap_fetchbody($con, $messageNumber, $partNumber);
    switch($encoding) {
        case 0:
            return $data;
            break; // 7BIT
        case 1:
            return $data;
            break;// 8BIT
        case 2:
            return $data; // BINARY
            break;
        case 3:
            return base64_decode($data);  // BASE64
            break;
        case 4:
            return quoted_printable_decode($data); // QUOTED_PRINTABLE
            break;
        case 5:
            return $data; // OTHER
            break;
    }   
   
}


function getFilenameFromPart($part) {

    $filename = '';
   
    if($part->ifdparameters) {
        foreach($part->dparameters as $object) {
            if(strtolower($object->attribute) == 'filename') {
                $filename = $object->value;
            }
        }
    }

    if(!$filename && $part->ifparameters) {
        foreach($part->parameters as $object) {
            if(strtolower($object->attribute) == 'name') {
                $filename = $object->value;
            }
        }
    }
   
    return $filename;
   
}

/** functions used for getting message **/



How to read specific message
$username = 'mygmail@gmail.com'; //Gmail address
$password = 'gma12#@c'; //Gmail password
error_reporting(0);

 $bodyId=35; //This is message Id

 //Read Message from indebox
    $hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
   
   //Read Message from Trash
    // $hostname = '{imap.gmail.com:993/imap/ssl}[Gmail]/Trash';
 
   //Read Message from Sent
 //$hostname = '{imap.gmail.com:993/imap/ssl}[Gmail]/Sent Mail';




$con = imap_open($hostname, $username, $password);
$messageNumber = $bodyId;
$structure = imap_fetchstructure($con, $messageNumber);
//pr($structure);die;

$message='';
if(!empty($structure->parts)){
 
 $flattenedParts = flattenParts($structure->parts); 
 foreach($flattenedParts as $partNumber => $part) {  
  switch($part->type) {
     
   case 0:
    // the HTML or plain text part of the email
    $message = getPart($con, $messageNumber, $partNumber, $part->encoding);
    // now do something with the message, e.g. render it
      
   break;
    
   case 1:
    // multi-part headers, can ignore
    
   break;
   case 2:
    // attached message headers, can ignore
   break;
    
   case 3: // application
   case 4: // audio
   case 5: // image
   case 6: // video
   case 7: // other
   //pr($part);
   //echo "
$$$$$";
    $filename = getFilenameFromPart($part);
    if($filename) {
     // it's an attachment
     $attachment = getPart($con, $messageNumber, $partNumber, $part->encoding);
        if (empty($filename))
      $filename = $filename;
       
     if (empty($filename))
      $filename = time() . ".dat";
     $folder = "attachment";
     if (!is_dir($folder)) {
      mkdir($folder);
     }
     $fp = fopen("./" . $folder . "/" . $messageNumber . "-" . $filename, "w+");
     fwrite($fp, $filename);
     fclose($fp);
     // now do something with the attachment, e.g. save it somewhere
     $message.='

' . $messageNumber . '-' . $filename . '
'; } break; } } }else{ $message = getPart($con, $messageNumber, 1, $structure->encoding); } if($message){ $message=$message; } echo $message; imap_close($con, CL_EXPUNGE);



Monday 20 February 2017

Rational Unified Process (RUP) methodology

Rational Unified Process (RUP) methodology

Question: What is RUP methodology?
RUP is a software development process from Rational, a division of IBM.


It divides the development process into four distinct phases that each involve business modeling, analysis and design, implementation, testing, and deployment. Question: What are four phases in RUP?
  1. Inception
  2. Elaboration
  3. Construction
  4. Transition
Question: What is Inception?
In this, development team determine if the project is worth pursuing? and what resources will be needed?.


Question: What is Elaboration?
Evaluation of The projects architecture and required resources.
Developers consider possible applications of the software and costs associated with the development.


Question: What is Construction?
The project is developed and completed.
The software is designed, written, and tested.


Question: What is Transition?
The software is released to the public. Final adjustments or updates are made based on feedback from end users


Wednesday 21 September 2016

How to add Meta Tags for Linkedin

How to add Meta Tags for Linkedin

When you share your website OR Website pages into Linkedin, Everything should looks great like title, description, image and link on title. So that sharing can attract linkedin users to your website by clicking on link.

For this You have to integrate Open Graph Tags into your websites.  same as your might have integrte for Facebook Open Graph OR Twitter card.

Adding Meta tags into website is quite simple, See below.

1) Add following attribute in HTML tag
prefix="og: http://ogp.me/ns#"

2) Add Following tags between <head> and </head>.
 
    <meta property="og:title" content="This is title" />
    <meta property="og:description" content="This is description" />
    <meta property="og:url" content="http://example.com/link" />
    <meta property="og:image" content="http://example.com/images/backImg.jpg" />
    <meta property="og:type" content="website" /> 
    

Now please update the data as per your website page.

If you want to Good picture quality inside Linkedin Post OR Want to embed video. PLease look below:
http://ogp.me/#types