Tuesday, December 12, 2023


Angular in Tamil part -5


Muthu karthikeyan, Madurai


ads Udanz

Saturday, November 18, 2023

மாங்கோ டிபி 12 முக்கிய கட்டளைகள்.

 



 

மாங்கோ டிபி என்பது கிராஸ் பிளாட்ஃபார்ம் , டாக்குமெண்ட் ஒரியண்டடு டேட்டா பேஸ் ஆகும். இது No sql டேட்டா பேஸ் வகையை சார்ந்தது. இது json டைப் டாக்குமெண்ட்களை பயன்படுத்துகின்றது. இதில் ஸ்கீமா ஆப்சனல் ஆகும்.

இது sql அடிப்படையிலான டேட்டா பேஸ் அல்ல. இதில் டேபிள்களை கலக்சன் என்றும் ரிக்கார்டுகளை டாக்குமெண்ட்கள் என்றும் அறிகின்றோம்.

12 முக்கிய கட்டளைகள்.

1.    என்னென்ன டேட்டா பேஸ்கள் என்பதை லிஸ்ட் செய்ய

     show dbs

2.    புதிதாக டேட்டா பேஸ் உருவாக்க

    use [name of database]

Example

use users

3.    ஆக்டிவ் ஆக உள்ள டேட்டா பேஸ் அல்லது கலக்சன்களை அறிய

 

Db

4.    புதிதாய் கலக்சன்களை உருவாக்க

  db.createCollection("[name of collection]")

Example

db.createCollection("customer")

5.    கலக்சன்களை காண்பிக்க

 

  show collections

6.      ஒரு கலக்சனில் டாக்குமெண்ட்களை இன்செர்ட் செய்ய

    db.[name of collection].insert({})

Example

db.customer.insert({"name": "Theodore", "gender": "M"})

           அர்ரேயாக இன்செர்ட் செய்ய

db.customer.insert([
    {"name": "Theodore", "gender": "M"},
    {"name": "Jane Doe", "gender": "F"},
    {"name", "John Doe", "gender": "M"}
])

7.      ஒரு கலக்சனில் உள்ள எல்லா டாக்குமெண்ட்களையும் காண்பிக்க

 

·         db.[collection Name].find()

or

db.[collection name].find().pretty() 

 

8.      ஒரு கலக்சனில் உள்ள எல்லா டாக்குமெண்ட்களிலும் குறிப்பிட்ட ஃபீல்டை மட்டும் காண்பிக்க

 

db.customer.find({},{id:1}).pretty()

 

மேலே உள்ளது ID ஃபீல்டை மட்டும் காண்பிக்கும் .

 

9.    $set மூலம் ஒரு டாக்குமெண்டை அப்டேட் செய்ய

 

       db.[name of collection].update({},{$set: {}})

Example

db.customer.update(
    {"name":"Theodore"}, 
    {$set: 
        {"name": "Theodore Kelechukwu Onyejiaku"}
    }
)

10. $rename மூலம் ஒரு ஃபீல்டை பெயர் மாற்ற

   db.customer.update(
    {"name": "Theodore Kelechukwu Onyejiaku"},
    {$rename: 
        {"gender":"sex"}
    }
)

11. $unset மூலம் ஒரு ஃபீல்டை அகற்ற

db.customer.update(
    {"name": "Theodore Kelechukwu Onyejiaku"},
    {$unset: 
        {"sex": 1}
    }
)

12.ஒரு கலக்சனில் இருந்து டாக்குமெண்டை அகற்ற

  • db.[name of collections].remove({})

or

  • db.[name of collections].remove({}, {justOne: true}) பொருந்துகின்ற டாக்குமெண்டை மட்டும் அகற்ற

.

Example

db.customer.remove({"name":"Jane Doe"})

நன்றி,

முத்து கார்த்திகேயன் , மதுரை.

 

 

            

ads Udanz

Thursday, August 17, 2023

PHP இல் பொருள் சார்ந்த நிரலாக்கம்-part2

 

ஃபங்க்சன் ஓவர் ரைடிங்க்

சைல்ட் கிளாசில் உள்ள ஃபங்க்சன்கள் அதே ஆர்க்க்யூமெண்ட் எண்ணிக்கையில் , அதே பெயருடன் பேரண்ட் கிளாசில் உள்ள ஃபங்க்சன்களை ஓவர் ரைட் செய்கின்றன.

பின் வரும் சான்று நிரலில் getTitle, getPrice ஆகிய ஃபங்க்சன்கள் ஓவர் ரைட் செய்யப்பட்டுள்ளன.

function getPrice() {

   echo $this->price . "<br/>";

   return $this->price;

}

  

function getTitle(){

   echo $this->title . "<br/>";

   return $this->title;

}

பப்ளிக் மெம்பர்கள்.

ஆக்சஸ் ஸ்பெசிஃபையர் குறிப்பிடா விட்டால் எல்லா ஃபங்கசன்கள் மற்றும் வேரியபிள்கள் டிஃபால்ட் ஆக பப்ளிக் ஆகும்.

அவையாவன பின் வரும் இடங்களில் ஆக்சஸ் செய்யப்படுகின்றது.

1.    அந்த கிளாசின் உள்ளே

2.    கிளாசின் வெளிப்புறம்.

3.    அந்த கிளாசின் சைல்ட் கிளாசில்.

ப்ரைவேட் மெம்பர்கள்
private என்ற ஸ்பெசிஃபையருடன் குறிப்பிடப்படும் வேரியபிள்கள்  மற்றும் ஃபங்க்சன்கள் அந்த கிளாசின் உட்புறம் மட்டுமே ஆக்சஸ் செய்ய இயலும்.

class MyClass {

   private $car = "skoda";

   $driver = "SRK";

  

   function __construct($par) {

      // Statements here run every time

      // an instance of the class

      // is created.

   }

  

   function myPublicFunction() {

      return("I'm visible!");

   }

  

   private function myPrivateFunction() {

      return("I'm  not visible outside!");

   }

}

 

ப்ரடெக்டட் மெம்பெர்கள்.

Protected என்ற ஸ்பெசிஃபையருடன் குறிப்பிடப்படும் வேரியபிள்கள் மற்றும் ஃபங்க்சன்கள் ப்ரடக்டெட் மெம்பர்கள் ஆகும்.

இவை.

அந்த கிளாசின் உள்ளே மற்றும் அதன் சைல்ட் கிளாஸ் ஆகியவற்றில் ஆக்சஸ் செய்ய இயலும்.

class MyClass {

   protected $car = "skoda";

   $driver = "SRK";

 

   function __construct($par) {

      // Statements here run every time

      // an instance of the class

      // is created.

   }

  

   function myPublicFunction() {

      return("I'm visible!");

   }

  

   protected function myPrivateFunction() {

      return("I'm  visible in child class!");

   }

}

 

இன்டெர்ஃபேஸ்.

இன்டெர்ஃபேசில் மெத்தட்களின் அறிவிப்பு மட்டுமிருக்கும். அவை ஒரு கிளாசால் இம்ப்லிமெண்ட் செய்யும் பொழுது அவற்றின் இம்ப்லிமெண்டேசன் இருக்கும்.

interface Mail {

   public function sendMail();

}

கிளாஸ் ஆனது

class Report implements Mail {

   // sendMail() Definition goes here

}

 

கான்ஸ்டண்ட்கள்.

ஒரு வேரியபிளில் உள்ள மதிப்பை மாற்ற இயலும் . ஆனால் ஒரு கான்ஸ்டண்டில் ஒரு தடவை மதிப்பிருத்தப்பட்டால் அதன் பின் மாற்ற இயலாது.

class MyClass {

   const requiredMargin = 1.7;

  

   function __construct($incomingValue) {

      // Statements here run every time

      // an instance of the class

      // is created.

   }

}

அப்ஸ்ட்ராக்ட் கிளாஸ்.

Abstract என்ற கீவேர்டுடன் குறிப்பிடப்படும் கிளாஸ்கள் அப்ஸ்ட்ராக்ட் கிளாஸ் ஆகும். இவற்றிற்கு ஆப்ஜெக்ட் உருவாக்க இயலாது. ஆனால் இந்த கிளாசை இன்ஹெரிட் செய்து அதற்கு ஆப்ஜெக்ட் உருவாக்கலாம்.

இதன் உள்ள அப்ஸ்ட்ராக்ட் மெத்தட்கள் மற்றும் இம்ப்லிமெண்டேசனுடன் கூடிய மெத்தட்கள் இரண்டுமே இருக்கலாம்.

abstract class MyAbstractClass {

   abstract function myAbstractFunction() {

   }

}

ஸ்டேட்டிக் கீவேர்டு:

ஓரு கிளாஸ் மெம்பரை static என்ற கீவேர்டுடன் குறிபிட்டால் அதை அதற்கு ஆப்ஜெக்ட் உருவாக்கமலேயே அனுக முடியும் அதாவது கிளாஸ் பெயர் கொண்டே அவற்றை ஆக்சஸ் செய்யலாம்.

<?php

   class Foo {

      public static $my_static = 'foo';

     

      public function staticValue() {

         return self::$my_static;

      }

   }

                   

   print Foo::$my_static . "\n";

   $foo = new Foo();

  

   print $foo->staticValue() . "\n";

?>              

 

ஃபைனல் கீவேர்டு

Final என்ற கீவேர்டுடன் அறிவிக்கபடும் ஃபங்க்சன்களை அதன் சைல்ட் கிளாசில் ஓவர் ரைட் செய்ய இயலாது.

ஃபைனல் கீவேர்டுடன் குறிப்பிடபடும் கிளாஸ்களை இன்ஹெரிட் செய்ய இயலாது.

<?php

 

   class BaseClass {

      public function test() {

         echo "BaseClass::test() called<br>";

      }

     

      final public function moreTesting() {

         echo "BaseClass::moreTesting() called<br>";

      }

   }

  

   class ChildClass extends BaseClass {

      public function moreTesting() {

         echo "ChildClass::moreTesting() called<br>";

      }

   }

?>

 

பேரண்ட் கன்ஸ்ட்ரக்டரை அழைத்தல்.

சைல்ட் கிளாசில் கன்ஸ்ட்ரக்டர்களை முதலில் இருந்து எழுதாமல் பேஸ் கன்ஸ்ட்ரகடரை அழைத்து விட்டு பின்பு கூடுதல் வரிகளை மட்டும் சேர்த்துக் கொள்ளலாம்.

class Name {

   var $_firstName;

   var $_lastName;

  

   function Name($first_name, $last_name) {

      $this->_firstName = $first_name;

      $this->_lastName = $last_name;

   }

  

   function toString() {

      return($this->_lastName .", " .$this->_firstName);

   }

}

class NameSub1 extends Name {

   var $_middleInitial;

  

   function NameSub1($first_name, $middle_initial, $last_name) {

      Name::Name($first_name, $last_name);

      $this->_middleInitial = $middle_initial;

   }

  

   function toString() {

      return(Name::toString() . " " . $this->_middleInitial);

   }

}

 

ஒரு கிளாசின் அதே பெயரை கன்ஸ்ட்ரக்டருக்கு வைக்கலாம். மேல் கண்ட நிரல் அதற்கு சான்றாக உள்ளது.

நன்றி

முத்து கார்த்திகேயன் ,மதுரை.

 

ads Udanz