Archive

Archive for the ‘selvabalaji’ Category

Back to Yuvan Shankar Raja

August 18, 2016 Leave a comment

Solli Tholaiyen Ma Lyrics From Yakkai

Movie : Yakkai
Song : Solli Tholaiyen Ma Lyrics
Music : Yuvan Shankar Raja
Singer : Dhanush
Lyrics : Vignesh Sivv

Kaana Poona Kadhala
Naana Kenji Kekkuren
Poona Poguthu Kadhala
Solli Tholiyen Ma
Veena Neram Poguthu
En Maanam Kappal Erudhu
Thaana Vandhu Kaadhala
Solli Tholaiyen Ma

Nee Ok Solli Tholanja
Thara Kuthu Poduven
Illa Venam Solla Thuninja
Solo Song ah Paduven

Unakku Wait Panni
En Body Weak Aaguthu
Basement Shake Aguthu
Heart-u Break Aguthu
Loveahh Sollaathathaale
Nenju Lock Aaguthu
Current Illatha
Oor Pola Dark Aguthu

Vaaram Onnula
Kanavula Vandha
Vaaram Rendula
Manasulla Vandha
Moonam Varame
Rathathilayum Neethan
Ada En Maa En Maa

Nalla Pakkura
Koocha Padamanee
Nalla Illikira
Loveh Solla Mattum
Yenma Moraikkura
Sariye Illamaa
Ada Poo Ma Poo Maa

No No Summa Sonnenamma
Unakkaga Poranthavan
Nan Mattum Thanma
Un Kooda Vazhave
Thinam Thorum Saguren
Kaapathu Kadhala
Solli Tholaiyenma

Poona Poguthu Kadhala
Solli Tholiyen Ma

Unakku Wait Panni
Wait Panni
Wait Panni
Unakku Wait Panni
En Body Weak Aaguthu
Basement Shake Aguthu
Heart-u Break Aguthu
Loveahh Sollaathathaale
Nenju Lock Aaguthu
Current Illatha
Oor Pola Dark Aguthu

 

PHP Access Modifiers

PHP access modifiers are used to set access rights with PHP classes and their members that is the functions and variables defined within the class scope. In PHP, there are some keywords representing these access modifiers. These keywords will be added with PHP classes and its members.

PHP keywords as Access Control Modifiers

Now, let us have a look into the following list to know about the possible PHP keywords used as access modifiers.

  1. public – class or its members defined with this access modifier will be publicly accessible from anywhere, even from outside the scope of the class.
  2. private – class members with this keyword will be accessed within the class itself. It protects members from outside class access with the reference of the class instance.
  3. protected – same as private, except by allowing sub classes to access protected super class members.
  4. abstract – This keyword can be used only for PHP classes and its functions. For containing abstract functions, a PHP class should be an abstract class.
  5. final – It prevents sub classes to override super class members defined with final keyword.

Access modifiers Usage with PHP Classes, Class Members

Based on the possibility of applying the above list of PHP access modifiers, we can classify them. The following tabular column specify which keyword could be applied where in classes,functions or methods.

Access modifier classes functions variable
public Not Applicable Applicable Applicable
private Not Applicable Applicable Applicable
protected Not Applicable Applicable Applicable
abstract Applicable Applicable Not Applicable
final Applicable Applicable Not Applicable

public Access Modifier

Before introducing access modifiers in PHP, all classes and its members are treated aspublic by default. Still, for PHP classes without specifying any access modifiers, then it will be treated as public.

If we specify public,private or protected for a PHP class, then it will cause parse error. For example, if we define a class as,

public class  {
...
...
}

Then, the following parse error will be displayed to the browser.

Parse error: syntax error, unexpected 'public' (T_PUBLIC) in ...

Similarly, class functions without any access modifiers, will be treated as public functions. But, it is good programming practice to specify those functions as public for better understanding.

Unlike PHP classes and functions, we need to specify access modifiers for PHP class variables explicitly. For example, the following code is invalid, which will cause PHP parse error.

class Books {
$categories = array("puzzles","pull back","remote","soft");
...
}

And, the valid code for defining classes with public variables are follows.

class Books {
public $categories = array("puzzles","pull back","remote","soft");
...
}

private Access Modifier

We can state this keyword only for class variables and function, but not for class itself, as like as public modifier. PHP class members defined as private cannot be accessed directly by using its instance. For example,

class Books {
private $categories = array("puzzles","pull back","remote","soft");

public function getbooksCategories() {
return $this->categories;
}
}
$objbooks = new Books();
print "<pre>";
print_r($objbooks->categories); // invalid
print_r($objbooks->getbooksCategories());
print "</pre>";

In the above program, Books class contains an private variable and a public function. Accessing this private variable by using Books class instance with the line,

print_r($objbooks->categories); // invalid

will cause PHP fatal error as,

Fatal error:  Cannot access private property Books::$categories in ...

But we can access class private variables via any public function of that class. In the above program we are getting the elements of $categories array variables via getbooksCategories() function defined as public.

Note that, all members of a class can be access within the class scope by using $this variable.

protected Access Modifier

This keyword is used in a PHP program which is using PHP inheritance. And, it is used to prevent access for PHP classes and its members from anywhere, except from inside the class itself or from inside its subclasses.
With this keyword, PHP classes and its members functions cannot be access directly from outside the classes and their subclasses, with the references of their instance.

Consider the following PHP program.

<?php
class Books {
protected $categories = array("puzzles","pull back","remote","soft");
protected $books = array(array("name"=>"Mechanical books","category"=>"pull back"),
array("name"=>"Jigsaw","category"=>"puzzles"),
array("name"=>"HiTech","category"=>"mech"),
array("name"=>"Teddy","category"=>"soft"),
array("name"=>"Baby","category"=>"soft"),
array("name"=>"Chinese","category"=>"puzzles"),
array("name"=>"Electronic","category"=>"remote"));
protected function getBooks() {
for($i=0;$i<count($this->nooks);$i++) {
$books_list[] = $this->books[$i]["name"];
}
return $books_list;
}
protected function getBooksByCategory($category) {
for($i=0;$i<count($this->books);$i++) {
if($this->books[$i]["category"]==$category) 
$books_list[] = $this->books[$i]["name"];
}
return $books_list;
}
}

class SoftBooks extends Books {
protected $category = "soft";
function getBooks() {
return $this->getBooksByCategory($this->category);
}
}

$objBooks = new Books();
$objSoftBooks = new Softbooks();
print "<pre>";
/**Invalid
print_r($objBooks->categories);
print_r($objSoftBooks->categories);
print_r($objBooks->getBooks());*/
print_r($objSoftBooks->getBooks());
print "</pre>";
?>
Categories: selvabalaji

Google Introduces Search Engine Apps : Springboard

springerboard

Springboard is designed and marketed towards business and enterprise users of Google’s productivity apps — particularly those that have to regularly sort and search through large numbers of documents and files.

Within the same announcement Google also announce a significant upgrade to Google Sites, which is a tool designed by the company for creating web pages. The update will allow users to easily pull in information from other Google apps, and features all fully responsive designs for all of its layouts.

Both Springboard and the upgrade to Sites are currently being tested amongst a select group of users in Google’s early adopter program. If you’re interested in getting an early look at Springboard you can sign up here. An official public release date was not mentioned in the announcement.

Overview of HADOOP

When we look into the structure of this framework , we find that it is divided into HDFS and MapReduce.
The two hands of Hadoop framework
i.e. HDFS and MapReduce are Hadoop Distributed File System- the storage hand and the processing hand respectively. This skeleton divides the total data into smaller blocks and circulate them in assemblage through the junctions called nodes in the network. The JAR is sent to the nodes where the data needs to be worked on. Here the nodes responsible for those data residing near them work faster in transferring them.

big-data
Hadoop  carries  four programs  of  study.

They  are :
-> Hadoop Common
-> HDFS
-> Hadoop YARN
-> Hadoop MapReduce

1. Hadoop common acts as the information centre that contains the collections of Hadoop libraries.
2. HDFS is the storage part of high band of frequencies.
3.The YARN organizes the properties that line up the user’s function in an assemblage.
4.MapReduce is the processor that processes all sets of data.

Hadoop is such a frame that can store and circulate huge data files without minimum error. Hence it is highly scalable.

1.This software costs very less for storing and performing computations on data in comparison with the traditional databases.
2.Accessing with different kinds of business solution data is done by Hadoop with ultimate comfort. It has been proving to be its best in decision making.
3.It helps in social media, emailing, log processing, data warehousing, error detection etc.
4. Since it maps the data wherever it is placed so Hadoop takes very less time in order to unfold any data. It hardly takes an hour to work on large petabytes of data. Hene, it is super fast.

Hence, the companies using Hadoop are able to gain far better insights. Whenever a data block goes from one node to another in the assemblage of the network, each  block gets copied to each node and even if the data is lost, we will always be having a backup copy of it. Hence, fault occurrence is really very low.

 

Retrieving Google Analytics Data to Build a KPI Dashboard

October 26, 2015 Leave a comment

Introduction

As we all know, many web projects are created in order to solve particular business needs. Any business requires data on how well it is going, how big the traffic of clients is, how many clients register, etc..

Google Analytics is an industry standard service to collect such data. The site webmaster puts a JavaScript tracker script in the pages to allow Google Analytics to collect the data for every time a page is loaded.

Google Analytics Charts

All that is done on front-end site, no PHP code is involved. In this article I cover retrieving access statistics data from Google Analytics using PHP.

Retrieving Google Analytics Data to Build a KPI Dashboard

Project owners and investors might need a dashboard or KPI progress page. Let’s see how to grab statistics from your Google Analytics account to s PHP backend in order to build a dashboard.

There are many statistics that represent the heartbeat of your project: number of visitors, bounce rate, percent of registrations, profit from every user, etc. These are called KPIs: the key performance indicators, each of which is a business metric used to evaluate factors that are crucial to the success of an organization.

KPIs differ from one company to another.  Some of these indicators can be seen in original Google Analytics reports: how many people came and how engaged they are in average. What your customer might want is to combine that data with revenue and profit data from your database and build a solid dashboard.

At this point you will realize that you need to retrieve Google Analytics data from your PHP scripts.
Hold on, Google Analytics is a complex data source, —entries can be queried by date and name.

You will find an couple of classes below that help to automate interaction with this service and return a simple number as result of your query. The code is based on Zend Framework 1, since it helps a lot to automate interaction with Google services (a technology called GData).

First, let’s create an abstract class to help us create classes to work with different Google Services (just replace XXX with your app or library name)

<?php

class XXX_Google_Wrapper_Abstract {

    public $gdClient; 
    
    protected $_listFeedsUrl;
    protected $_dataUrl;
    
    /**
     * Constructor for the class. Takes in user credentials and
     * generates the the authenticated client object.
     *
     * @param  string $email    The user's email address.
     * @param  string $password The user's password.
     * @return void
     */
    public function __construct( $email, $password, $service) {
        $client = Zend_Gdata_ClientLogin :: getHttpClient( $email, $password, $service);
        $this->gdClient = new Zend_Gdata( $client );
    }

    protected function __fetch($url) {
        $query = new Zend_Gdata_Query($url);
        $feed = $this->gdClient->getFeed($query);
        return $feed;
    }
    
    public function listFeeds() {
        return $this->__fetch($this->_listFeedsUrl);
    }
    
    public function fetchItems(array $params) {
        $url = $this->_dataUrl . '?' . http_build_query($params);
        return $this->__fetch($url);
    }
}

Now, we can use this parent class to create a class to work with Google Analytics:

<?php

class XXX_Google_Wrapper_Analytics extends XXX_Google_Wrapper_Abstract {
    protected $_listFeedsUrl = 'https://www.google.com' . '/analytics/feeds' . '/accounts/default';
    protected $_dataUrl = 'https://www.google.com' . '/analytics/feeds/data';
        
    public function __construct( $email, $password) {
        parent::__construct( $email, $password, 'analytics');
    }   
}

Both classes must be placed anywhere where your scripts can automatically load them. Zend Framework provides a simple naming convention to make it work automatically.

Google Analytics data is very flexible — e.g., you can grab total visits count, or visits of a page that contains a particular keyword in its URL. So we need one more abstract class, that we will use our Google Analytics wrapper to access any kind of required data:

<?php
abstract class Stats_Google_Analytics_Abstract {
    protected static
        $_wrapper,
        $_reportID;
    protected $_page;
        
    public function __construct() {
        
        if (!empty(self::$_wrapper)) return true;
        
        $config = Zend_Registry::get( 'config' ) -> toArray();
        $analyticsConfig = &$config[ 'google' ][ 'analytics' ];
        
        $email    = $analyticsConfig['email'];
        $password = $analyticsConfig['password'];
        self::$_reportID = $analyticsConfig['report']['id'];
        
        try {
            self::$_wrapper = new Sunny_Google_Wrapper_Analytics( $email, $password);
        }
        catch(Zend_Gdata_App_AuthException $e) {
            error_log( 'Zend_Gdata_App_AuthException: ' . $e->getMessage() );
            throw $e;
        }
    }
    
    public function fetchValue( $startDate, $endDate = null, array $additionalParams = null) {
        $list = $this->fetchAll( $startDate, $endDate, $additionalParams );
        $sum = array_sum($list);
        return $sum;
    }
    
    public function fetchAll($startDate, $endDate=null, array $additionalParams = null) {
        if (empty( $endDate )) {
            $endDate = $startDate;
        }
        $params = $additionalParams;
        $params['start-date']   = date('Y-m-d', strtotime( $startDate ));
        $params['end-date']     = date('Y-m-d', strtotime( $endDate ));
        $params['ids']          = self::$_reportID;
        
        try {
            $result = self::$_wrapper->fetchItems( $params );
        }
        catch(Exception $e) {
            error_log('Exception: ' . $e->getMessage());
            throw $e;
        }
        $dimensions = array();
        foreach ($result as $entry) {
            $extensions = $entry -> getExtensionElements();
            $attrs = array();
            foreach ($extensions as $extension) {
                $attributes = $extension -> getExtensionAttributes();
                $attrs[ $extension->rootElement ] = $attributes;
                $value  = $attributes[ 'value' ][ 'value' ];
                ${$extension -> rootElement} = $value;
            }
            
            if (empty($dimension)) {
                $dimension = null;
            }
            $dimensions[ $dimension ]  = $metric;
        }
        return $dimensions;
    }
    /**
     * Returns amount of unique visitors in the given time period
     * @param string $fromDate
     * @param string $toDate
     * @return int
     */
    public function count( $fromDate, $toDate = null) {
        $params = array(
            'metrics'       => 'ga:visits',
        );
        
        if (!empty($this->_page)) {
            $params['filters'] = 'ga:pagePath=~/'.$this->_page.'/*';
        }
        
        return $this->fetchValue( $fromDate, $toDate, $params );
    }
}
To make it work, your Zend Framework configuration file must include these settings:
google.analytics.email      = your@email.com
google.analytics.password   = YourPassword
google.analytics.report.id  = ga:12345
OK, all is ready. Let’s create a class to grab statistics about all page views from your account:
<?php

//yes, it's an empty class since everything is defined in the abstract class
class Stats_Google_Analytics_Visit_Total extends Stats_Google_Analytics_Abstract {
}

$startDate = '2014-01-01';
$endDate = '2015-10-15';
$tracker = new Stats_Google_Analytics_Visit_Total;
echo $tracker->count( $startDate, $endDate );
This how to count pages that contain ‘/admin/’ in their URL:
<?php

class Stats_Google_Analytics_Visit_Admin extends Stats_Google_Analytics_Abstract {

    protected $_page = 'admin';
}


$tracker = new Stats_Google_Analytics_Visit_Admin;
echo $tracker->count($startDate, $endDate);
As you can see, it’s that easy!
Categories: selvabalaji

INTERESTING PAGES IN FACEBOOK

March 15, 2014 Leave a comment

We use Facebook to share our toughs(whats on your mind??) , there are many important pages by Facebook to be noted.

# News room home page: link

FB

# KeyFacts: link

The Key factor mentions recent statistics, about the company, no.of employees, Board members and Head quarters for Facebook. It displays all the statistics about the Facebook report and statistical data til last quarter of the year.

# Products of Facebook: link

Th product of Facebook is been listed in product page these ‘n’ number of product is been used by Facebook. The tab is been included with products, timelines, group research, photo , videos and messenger.

#Photos and Broll: link

The Important photos events of particulars is been made album and released in this link.

# Developer Page in Facebook: link

If you are keen interested in developing an apps for Facebook this page is right for you. And get more announcements in this page by the Facebook CEO on the right corner (connected to Facebook blog).

# Carrier @ Facebook: Link

Search job in Facebook based on  countries and job search. This page is really interesting to learn about the responsibilities and requirements on described job position.

# Help @ Facebook: Link 

Bluetooth Paper Airplane Kit Is Ridiculously Cool

January 9, 2014 Leave a comment

Flying paper airplanes has never been this fun. PowerUp Toys’ latest product lets you add a new element of interactivity to the old-fashioned paper airplane by attaching a battery-powered propeller and rudder, which can be controlled using an iPhone app via Bluetooth. The PowerUp 3.0 Smartphone Controlled Paper Airplane Kit, currently being funded via a Kickstarter campaign, is due to hit the market in May for $50.

The PowerUp 3.0 Smartphone Controlled Paper Airplane Kit is the company’s third generation of this device; previous models lacked an accompanying app. The way it works is pretty simple: First, fold a paper airplane using the template provided. Next, attach the PowerUp module to the plane, and pair it with your phone. Then, it’s off into the wild blue yonder!

Kit Adds Propeller Power to Paper Airplane

The battery inside the PowerUp 3.0 will provide about 10 minutes of flying time, and recharges via microUSB in about 15 minutes. The app itself is pretty ingenious. Would-be pilots steer the airplane by tilting the iPhone left or right, and a gimbal shows you how level the plane is relative to the horizon. A throttle in the middle lets you adjust the speed of the propeller, and three gauges show the power output, battery life remaining, and signal strength between the plane and your phone.

In our brief hands-on time, the plane was very zippy; it flew past us in the blink of an eye. PowerUp says you’ll be able to control the plane to a range of about 60 yards. When it’s released in May, we’re certainly looking forward to taking it for a flight or two.

Get more from LAPTOP

Top 10 Tech Trends of 2014
Sony Xperia Z1s Wows with 20-MP Camera
12 Gadgets Ahead of Their Time

This article originally appeared on LAPTOP, a TechMediaNetwork company. Copyright 2014, all rights reserved. This material may not be published, broadcast, rewritten or redistributed.

Categories: selvabalaji
%d bloggers like this: