Saturday, September 22, 2012

Java 13ம் பாடம். மெத்தட்ஸ்(methods)


 

 

அடுத்ததாக நாம் பார்க்க இருப்பது மெத்தட்ஸ் பற்றி . ஒவ்வொரு கிளாஸிலும் வேரியபிள்ஸ் மற்றும் மெத்தட்ஸ் இருக்கும் என்பதை அறிவோம்.

இதில் மெத்தட் ஆனது நான்கு பகுதிகளை கொண்டுள்ளது. அவையாவன

  1. மெத்தட் பெயர்
  2. மெத்தட் திருப்பி அனுப்பும் இனம்(return type)
  3. பராமீட்டர்ஸ் தொகுதி(parameters list)
  4. method body.

 

பொதுவாக மெத்தட் signature எனப்படுவது மெத்தட் பெயர், மெத்தட் திருப்பி அனுப்பும் இனம் மற்றும் பராமீட்டர்ஸ் தொகுதி ஆகியவை இணைந்த்ததாகும். ஜாவாவில் வெவ்வேறு மெத்தட்கள் ஒரே பெயரில் இருக்க முடியும்.ஆனால் அவை ஏற்கும் பராமீட்டர்ஸ் தொகுதி வேறுபடும். இது method overloading எனப்படுகின்றது.

 

Syntax:

 

Returntype methodname (type1 arg1, type2 arg2, type3 arg3….)

{

       //body of the method

}

 

Method திருப்பி அனுப்பும் இனமானது primitive type ஆகவோ அல்லது class பெயராகவோ இருக்கலாம். ஒரு மெத்தட் ஆனது எந்த மதிப்பையும் திருப்பி அனுப்பாமலும் இருக்கலாம் .அப்பொழுது return type ஆனது void என குறிப்பிடப்படுகின்றது.

 

Parameter list ஆனது variable declaration தொகுப்பாகும். பராமீட்டர் இல்லாமலே ஒரு மெத்தட் அழைக்கப்படலாம்.

 

 

 

 

நிரல்:

 

class Box

{

    double width;

    double height;

    double depth;

   

    double volume()

    {

        return width*height*depth;

    }

    void setdim(double w, double h, double d)

    {

        width=w;

        height=h;

        depth=d;

    }

}

public class BoxDemo {

 

  

    public static void main(String[] args) {

       

        Box mybox1=new Box();

        Box mybox2=new Box();

        double vol;

       

     mybox1.setdim(10,20,15);  

     mybox2.setdim(3,6,9);

    

    

     vol=mybox1.volume();

     System.out.println("volume is" + vol);

    

     vol=mybox2.volume();

     System.out.println("volume is" + vol);

       

    }

}

மேலே உள்ள நிரலில் Box class ஆனது இரு மெத்தட்களை கொண்டுள்ளது . முதலில் உள்ளது volume(). இது அழைக்கப்படும் பொழுது எந்த parameterம் அனுப்பபட வில்லை.அதே நேரத்தில் volume கணக்கிடப்பட்டு double type value ஆனது திருப்பி அனுப்பபடுகின்றது. இரண்டாவதாக உள்ள மெத்தட் setdim ஆகும் இதற்கு மூன்று double மதிப்புகள் அனுப்பபடுகின்றது. இந்த மெத்தட் எந்த மதிப்பையும் திருப்பி அனுப்பவில்லை எனவே void  என குறிப்பிடப்பட்டுள்ளது.

 

 

 

 
ads Udanz

Thursday, September 20, 2012

Spaghetti code என்றால் என்ன?


 

படிப்பதற்கு கடினமான code அதாவது கீழே வர வேண்டிய coding மேலாகவோ அல்லது மேலே வர வேண்டிய coding கீழாகவோ இருக்கும். நிரலின் ஒரு பகுதியானது வேறொரு பகுதிக்கு அடிக்கடி skip செய்யப்பட்டிருக்கும். பொதுவாக goto statement உபயோகித்து எழுதப்படும் நிரல்கள் spaghetti code எனப்படுகின்றது.

ஒரு கின்னம் நிறைய noodles வைத்துக் கொண்டு noodle ஒன்றின் அடுத்த முனையை தேட முயல்வது போல் தான் spaghetti coding அமைப்பும்.

நிரல் முறையில் இது bad programming practice ஆக எடுத்துக் கொள்ளப் படுகின்றது. நிரலில் பிழை என்றால் எங்கே பிழை என்பது அறிவது கடினமாகும். Modern programming மொழிகளில் goto கிடையாது. Sub routines உபயோகம், மொத்த கோடிங்கை பகுதியாக(in to sections) பிரித்தல் மூலம் spaghetti coding ஆனதை தவிர்க்கலாம்.

 

 
ads Udanz

Tuesday, September 11, 2012

Java interview tips-ஜாவாவில் main method ஆனது public static void ஆக இருப்பதேன்?

-
 

 

ஜாவாவில் main method ஆனது public static void ஆக இருப்பதேன்?
 

 

 மேற்கண்ட வினாவானது ஜாவா நேர்முகத்தேர்வில்  அடிக்கடி கேட்ப்படும் வினா.

 முதலில் main method ஆனது ஒரு நிரலில்  ivm(java virtual machine) முதலில் அழைக்கப்படும் method  ஆகும்.ஜாவாவின் main method, c மொழியின் main method போல் int value return செய்யும் வாய்ப்புகள் இல்லை . எப்போதும் இது எந்த மதிப்பையும் திருப்பி அனுப்பாது.

எனவே தான் இது void ஆக இருக்கின்றது.

Core java ஆனது இயக்கப்படும் போது ivm முதலில் main மெத்தடைத் தான் தேடும் இதில் syntax பிழையிருப்பின் No such method found :main என்ற பிழை சுட்ட்ப்படும்.

Static:

 ஜாவாவில் static அல்லாத methods  ஆனது  instance method ஆகும் . ஜாவாவில் பொதுவாக instance method ஆனது ஆப்ஜெக்ட் உருவாக்கப்பட்டு அதன் மூலமாகவே அழைக்கப்படும். Static method எனில் ஆப்ஜெக்ட் உருவாக்க தேவையில்லை.(static methods are class methods and these methods can be called directly with out creating object for the class).

எனவே தான் ivm இதை ஆப்ஜெக்ட் உருவாகாமல் அழைக்க முடிகின்றது.

Public:

Java ஆனது public, private, protected என சில மாடிஃப்யர்களை கொண்டுள்ளது. பொதுவாக பிரைவேட் என அறிவிக்கப்படும் மெத்தட்களை அந்த classன் வெளியே  அழைக்க முடியாது. Main method  ஆனது public என அறிவிக்கப்படுவதால் தான் jvm ஆனது

main மெத்தடை நேரடியாக அழைக்க முடிகின்றது.

 

சில குறிப்புகள்:

1.         ஒரு நிரலானது main methodல் இருந்து தான் இயங்க ஆரம்பிக்கின்றது.

2.         main method ஆனது public, static, void என்ற modifiers உடன் அழைக்கப்படவில்லை எனில் ஜாவா நிரல் இயங்காது.(this apply to only core java).

3.         main method ஆனது பிற மெத்தட்கள் மாதிரியே overload செய்ய முடியும்.எனினும் முதலில் அழைக்கப்படுவது கீழ்க்கண்ட signature கொண்ட மெத்தட் தான்.

      public static void main(String.. args)

 

     மீண்டும் அடுத்த கட்டுரையில் சந்திப்போம்.

    To read my articles in English please visit : http://programminginenglish.blogspot.in

 
ads Udanz

Sunday, September 9, 2012

Asp.net இணைய பக்கங்கள் உருவாக்கம்.(web pages creation)


 

Asp.net lesson-2.

 

Asp.net 4 ஆனது மொத்தம் மூன்று வகையான programming models

கொண்டுள்ளது.அவையாவன

Webpages,

web forms மற்றும் mvc(model,view,controller)

முதலில் இந்த வரிசையில் web pages உருவாக்கத்தை பற்றி பார்ப்போம்.

வெப் பக்கங்களை எளிதாக webmatrix என்னும் இலவச மென்பொருள்கொண்டு உருவாக்கலாம்.

இதை தரவிறக்க பின் வரும் சுட்டியை க்ளிக் செய்யவும்.


 

Web platform installer உபயோகம்.
 
Web platform installer launch செய்தவுடன் பின் வரும் திரையை பார்க்கலாம்.



 

Microsoft matrix பக்கத்தில் உள்ள add button க்ளிக் செய்து பின் install button கிளிக் செய்யவும்.

பின் நீங்கள் பின் வரும் திரையில் I accept என்பதை கிளிக் செய்யவும்.
 

இப்போது web matrix install ஆக ஆரம்பிக்கும்







.

Web matrix install ஆகியவுடன் பின் திரை காணலாம்
 

 

 

பின் வரும் திரையானது விண்டோஸ் 7 திரையாகும்
Web matrix இப்போது start menu வில் addஆகியிருக்கும்
.





.


இப்போது Microsoft web matrixஐ சொடுக்கியவுடன் கீழ் வரும் திரையை காணலாம்
 

.

Sites from Web gallery:

இணையத்தில் ஏற்கனவே asp.net மற்றும் php ஆகியவற்றில் உருவாக்கப்பட்டுள்ள open source coding நம் தளத்தில் open செய்து அதில் நாம் வேண்டிய மாறுதல்கள் செய்து வெப் பக்கங்களை உருவாக்க பயன் படுகின்றது.

Sites from templates:

நாமாகcoding எழுத விரும்பினால் இந்த option உபயோக்கிகலாம்.

Empty web site ஆகவோ அல்லது template உபயோகித்து கோடிங் எழுதவோ இதை உபயோகிக்கலாம்.


Web sites from folder:

நாம் ஏற்கனவே உருவக்கியுள்ள files உபயோகித்து இணைய பக்கங்கள் உருவக்க இந்த option உபயோகிக்கலாம்.

----தொடரும்.
To read my articles in english visit:  http://programminginenglish.blogspot.in
 



 

.

 

 

 

.


 

 

---
 
ads Udanz

Friday, September 7, 2012

Web farm மற்றும் web garden என்ன வித்தியாசம்:?


Web farm மற்றும் web garden என்ன வித்தியாசம்:

Web farm மற்றும் web garden ஆகியவை ப்ராஜெக்ட் deployment பற்றிய விஷயங்கள் ஆகும்.முதலில் Web farm பற்றி பார்ப்போம்

வழக்கமாக ஒரு வெப்சைட் (ASP.NET) உருவாக்கிய பிறகு IIS சர்வரில் வைத்து host செய்வோம்.ஒரு ஒற்றை web சர்வரால் ஒரு பெரிய வெப் சைட்டை ஹொஸ்ட் செய்வது இயலாமல் போகும் போது multiple web server பயன் படுத்தப்படுகின்றது.இவையே Web farm எனப்படுகின்றது.இவ்வாறு ஹோஸ்ட் செய்யப்படும் போது load balancer பயன்படுத்தப்படுகின்றது.வெப் ரிகுவெஸ்ட் ஆனது லோட் பேலன்செரின் virtual ip முகவரியை அழைக்கின்றது. லோட் பேலன்செர் ஆனது எந்த சர்வரின் லோட் குறைவாக உள்ளதோ அதற்கு ரிகுவெஸ்ட் forward

செய்கின்றது.
.


 

இப்போது web garden பற்றி பார்ப்போம். IIS சர்வரானது ஒவ்வோரு ரிகுவெஸ்டையும் worker process மூலம் process செய்கின்றது.ஒவ்வோரு application pool ம் ஒவ்வோரு worker process கொண்டிருக்கும். Multiple worker processors கொண்டிருக்கும் application pool வெப் கார்டன்(web Garden) எனப்படும்.வெப் கார்டெனின் நண்மை ஆனது throughput performance மற்றும் application response time எனப்படுகின்றது. ஒவ்வோரு worker process ம் ஒவ்வோரு திரட்டும் சொந்த நிணைவக வெளியும் கொண்டிருக்கும்.

எனது கட்டுரைகளை ஆங்கிலத்தில் காண இங்கே click செய்யவும். programminginenglish.blogspot.in
 

 

 
ads Udanz

Friday, August 31, 2012

சி ஷார்ப்பில் டைப் இன்ஃபெரன்ஸ்(Type inference)


 

 

சி ஷார்ப் 3.0 விலிருந்து டைப் இன்ஃபெரன்ஸ் (Type inference) என்னும் புதிய கருத்து உட்புகுத்தப்பட்டுள்ளது.

 

முதலில் கீழ் காணும் இரு வரிகளை எடுத்துக் கொள்வோம்.

 

int i=10;

 

 

 

என்ற வரியானது

 

var i=10;

 

என்னும் வரிக்கு சமமானதாக சி ஷார்ப்பில் எடுத்துக் கொள்ளப்படுகின்றது.

 

சி# கம்பைலரானது வேரியபிள் I ன் இனத்தை அதற்கு மதிப்பிருத்தப்ப்படும் 10 ஐ கொண்டு integer ஆக எடுத்துக் கொள்கின்றது.இது பார்ப்பதற்கு vb யின் variant போல தோன்றினாலும் இது அதனிலிருந்து வேறுபட்டுள்ளதாகும்.

 

சி# கம்பைலரானது வேரியபிள் I ன் இனத்தை integer ஆக அதன் scope வரை எடுத்துக் கொள்ளும். அதாவது I என்ற வேரியபிளுக்கு integer தவிர வேறு டைப் மதிப்பை assign செய்ய இயலாது.

 

Var  என்ற keyword ஐ ஒரு மெத்தடுக்குள் அறிவிக்கப்படும் local variable களுக்கு மட்டுமே பயன் படுத்த முடியும்.class-wide வேரியபிள்களுக்கு var என்ற keyword உபயோகிக்க முடியாது.

மேலும் Var  keyword உடன் அறிவிக்கப்படும் வேரியபிளானது அதன் தொடக்க மதிப்பை null ஆக கொள்ள இயலாது.

 

 

 

உதாரண நிகழ்:

 Using System;

 

Class VarSample

{

static void Main(String[] args)

{

 

var item=”idli”;

var price=10;

var isFood=true;

 

Type itemType=item.GetType();

Type priceType=price.GetType();

Type isFoodType=isFood.GetType();

 

Console.WriteLine(“item is type of  “+itemType.ToString());

Console.WriteLine(“price is type of “+priceType.ToString());

Console.WriteLine(“isFood is type of “+isFoodType.ToString());

 

}

}

 
Output:

 

Item is type of System.String

Price is type of System.Int32

isFood is type of System.Bool

 

எனது கட்டுரைகளை ஆங்கிலத்தில் காண Programminginenglish.blogspot.in
 
 


 
ads Udanz