نوشته شده توسط : افشین رفوآ

آموزش PHP

 

متدهای جادویی در PHP

PHP شامل تعدادی از متدهاییست که با نام ” متدهای جادویی ” شناخته میشن.این متدها با دو زیر خط (Underline یا underscore) شروع میشن.این متدها در جاهای مختلف استفاده میشن و خیلی مفید هستن.در ادامه نگاهی میکنیم به متهای جدویی در PHP .

 

متد سازنده کلاس یا __construct()

اگر با برنامه نویسی شیء گرا در PHP آشنا باشید حتمن با این متد کار کردید.این متد هنگامی که یک نمونه از یک کلاس ساخته میشه اجرا خواهد شد.مثال زیر رو در نظر بگیرید :

class Animal{

function __construct()

{

echo 'Animal';

}

}

$animal = new Animal();

// output : Animal 

در کلاس Animal یک متد ایجاد کردیم با نام __construct() و در این متد رشته Animal رو نمایش دادیم. هنگامی که از کلاس Animal یک نمونه ایجاد میکنیم تابع __construct() اجرا میشه و رشته Animal در خروجی نمایش داده میشه.

متد مخرب یا __destruct()

این متد برعکی متد __construct عمل میکنه.یعنی هنگامی که کلاس میخواد از حافظه خارج بشه این متد اجرا میشه.

مثال :

class DB{

…..

function __destruct()

{

$db->disconnect();

}

…..

}

$db = new DB();

unset($db); 

در کلاس بالا هنگامی که تابع unset میخواد کلاس $animal رو از حافظه خارج کنه متد __destruct() اجرا میشه و ارتباط با دیتابیس قطع میشه.

Overloading در PHP

در PHP واژه Overloading به معنی ایجاد متدها و متغیرهای داینامیک است. این متدها و متغیر ها به وسیله متدهای جادویی یا Magic Methods ساخته میشن.

ساخت متغیرهای داینامیک در PHP

متد __set

این متد برای ایجاد متغیرهای داینامیک استفاده میشه.متغیرهایی که یا داخل کلاس وجود ندارن یا متغیرهایی که در خارج از کلاس بهشون دسترسی نداریم.

مثال :

class Car

{

private $vars = array() ;

function __set($name , $value)

{

$this->vars[$name] = $value ;

}

}

$car = new Car();

$car->wheel = 4 ;

$car ->color = 'red';

$car->name = 'BMW'; 

برای داشتن متغیرهای داینامیک بهترین راه استفاده از آرایه هاست. در کلاس Car یک آرایه با نام $vars ایجاد کردیم . دسترسی به آرایه $var به صورت Private تعریف شده یعنی در بیرون از کلاس به این آرایه دسترسی نداریم.سپس با متد __set متغیر $var رو مقدار دهی میکنیم.متد __set دو پارامتر میگیره.اولی نام کلید (key) و دومی مقدار (value) .

هنگامی که شما از کد زیر استفاده میکنید :

$car->color = 'red'; 

در حقیقت دارین ار زیر رو انجام میدید :

$car->vars['color'] = 'red'; 

همینطور که میبینید استفاده از متد __set خیلی میتونه در کار با کلاسها به ما کمک کنه.

متد __get()

هنگامی که از متد __set برای ایجاد متغیرهای داینامیک در کلاس استفاده میکنیم نیاز داریم که بتونیم به این متغیرهای داینامیک دسترسی داشته باشیم و از مقادیر این متغیرها استفاده کنیم.با استفاده از متد __get به راحتی میتونیم این ار رو انجام بدیم.

class Car

{

private $vars = array() ;

function __set($name , $value)

{

$this->vars[$name] = $value ;

}

function __get($name)

{

return $this->vars[$name];

}

}

$car = new Car();

//set values

$car->wheel = 4 ;

$car ->color = 'red';

$car->name = 'BMW';

// Get values

echo $car->color ; 

متد __get یک پارامتر میگیره که این پارامتر در اصل نام متغیرمونه. هنگامی که از کد :

echo $car->color ; 

استفاده میکنیم در حقیقت کد زیر در پشت صحنه اتفاق میافته :

echo $car->vars['color'] ; 

ساخت متدهای داینامیک در PHP

در قسمت قبل دیدید که چطوری میتونیم در PHP متغیرهای داینامیک بسازیم و یاد گرفتیم که چطوری از مقادیرشون استفاده کنیم.در این قسمت خواهیم فهمید چطوری میتونیم متد ها یا توابع داینامیک رو با استفاده از متدهای جادویی در PHP پیاده سازی کنیم .

   __call متد جادویی

با استفاده از متد __call میتونیم توابعی به صورت داینامیک بسازیم.این تابع دو مقدار میگیره اولی نام متد و دومی پارامترهای تابع مورد نظر رو میگیره. برای درک بهتر به مثال زیر دقت کنید :

مثال : فرض کنید شما یک کلاس برای کار با دیتابیس نوشتید.خیلی خوبه که در کلاس شما توابعی باشه تا به صورت مستقیم با فیلدهای جدول شما در ارتباط باشه.مثلا هنگامی که میخواید با استفاده از فیلد ID درون دیتابیس جستجو کنید تابعی داشته باشید به صورت findByID یا اگر جستوجوی شما بر اساس فیلد name باشه با تابع findByName بتونید دستور SQL مورد نظر رو اجرا کنید.برای این کار دوراه دارید.

اول اینکه به ازای هر فیلد جدولتون یک تابع بسازید مثلا :

class Database

{

…

function findByID($id)

{

$sql = " SELECT * FROM users WHERE id = $id";

return $this->db->query($sql);

}

function findByName($name)

{

$sql = "SELECT * FROM users WHERE name = $name";

return $this->db->query($sql);

}

}

فرض کنید تعداد فیلدهای جدول شما زیاد باشه. استفاده از این روش کار منطقی نیست.

حالا ببینیم روش دوم برای این کار چیه.

روش دوم استفاده از متد جادویی __call

class Database

{

function __call($method , $args)

{

$field =strtolower( substr($method , 6 , strlen($methods) – ۶)) ;

$sql = "SELECT * FROM $this->table WHERE $field = $args[0] " ;

return $this->db->query($sql);

}

}

$db = new Database();

$db->findByID(10);

$db->findByName('saeed');

حالا ببینیم متد جادویی __call چه کاری انجام میده که میتونیم متدهای داینامیک بسازیم.

همینطور که در بالا گفتم این متد دو پارامتر میگیره.اولی نام تارع و دومی آرایه ای از پارامترهایی که باید به تابع داینامیک پاس بشن.مثال بالا یک مثال کاملا عملی برای استفاده از متد __call بود که در خیلی جاها کاربرد داره.

$field =strtolower( substr($method , 6 , strlen($methods) – ۶)) ; 

در خط بالا ابتدا از متغیر $method قسمت findBy رو حذف کردیم.رشته ای که باقی میمونه نام فیلد جدولمونه.سپس به حروف کوچک تبدیلش کردیم و داخل دستور SQL ازش استفاده کردیم.

با این کار به تعداد فیلدهای جدول راه هست برای جستو توی دیتابیس!!

متد جادویی __callStatic

این تابع از PHP نسخه ۵٫۳ معرفی شد. دقیقا مثل __call استفاده میشه اما همینطور که از نامش مشخصه برای متدهای static کاربرد داره.

گاهی اوقات ممکنه لازم داشته باشیم یک شیء رو به یک رشته تبدیل کنیم.اگر بخواید با دستور echo یک شیء رو در خورجی چاپ کنید یک خطا اتفاق میافته :

$car = new Car();

echo $car;

// fatal error: Object of class Car could not be converted to string

متد __toString()

این زمانی اجرا میشه که بخوایم یک شیء رو در خروجی نمایش بدیم.

class Car

{

function __toString()

{

return get_class();

}

}

$car = new Car();

echo $car ; // Car

اگر داخل کلاس متد __toString() رو پیاده سازی کرده باشیم هنگامی که با دستور echo شیء $car رو میخوایم توی خروجی نمایش بدیم با خطا مواجه نمیشیم.در مثال بالا هنگامی که دستور echo $car; اجرا میشه تابع get_class() اجرا میشه.

باد آوری : تابع get_class() نام کلاس جاری رو بر میگردونه.

Serialization

Serialization به تبدیل یک شیء یا یک آرایه به رشته گفته میشه.از Serialization برای نگهداری اشاء در فایل یا دیتابیس استفاده میشه.هنگامی یک شیء رو به حالت اول برگردونیم Unserialize گفته میشه.هنگامی یک کلاس رو serialize میکنیم تمام متغیرها و اعضای کلاس ذخیره خواهند شد.اما مشکلی که هست اینه که ممکنه نخواسته باشیم مثلا متغیری که کانکشن دیتابیس رو تگهداری میکنه هم ذخیره یشه.برای این کار از متد __sleep() استفاده میکنیم.

متد جادویی __sleep()

این متد هنگامی اجرا میشه که تابعserialize() رو بخوایم روی شیء اجرا کنیم.داخل این متد میتونیم مشخص کنیم که چه متغیرهایی از کلاس اجازه دارن serialize بشن.این متد باید یک آرایه رو برگردونه.

مثال :

class My

{

public $a;

public $b;

function __construct(){

$this->b = 'salam';

$this->a = 'a';

}

function __sleep()

{

//return get_object_vars($this);

return array('b');

}

}

$m = new My();

$a = (serialize($m));

var_dump(unserialize($a));

/*خروجی :

object(My)#2 (2) { ["a"]=> NULL ["b"]=> string(5) "salam" }

*/

همینطور که میبینید در خروجی کد بالا فقط متغیر $b دارای مقدار هست.این به این خاطره که آرایه ای که در متد __sleep() برگردانده شده فقط شامل متغیر b هست.

return array('b'); 

این هط میگه که هنگام serialize کلاس My فقط متغیر b حق ذخیره شدن رو داره.

متد __wakeup()

این متد هنگامی اجرا میشه که تابع unserialize() اجرا میشه.به عنوان مثال اگر هنگام serizalize یک شیء اتصال به دیتابیس رو بسته باشید داخل متد __wakeup میتونید این اتصال رو دوباره برقرار کنید.

class Database {

//...

public function __wakeup() {

// reconnect to the network

$this->connect();

}

//...

}

متد __invoke()

این متد هنگامی اجرا میشه که بخواید از یک شیء به عنوان یک تابع استفاده کنید.

 

خروجی بالا به شکل زیره :

__invoke method. $x = 5

متد جادویی __autoload()

متدهایی که در قسمت قبل آموزشش رو مشاهده کردید همگی در کلاسها قابل استفاده بودن. تابع __autoload یک تابع مستقل محسوب میشه.این تابع برای لود مستقیم کلاسها به کار میره.هنگامی که میخواید از یک کلاس یک شیء ایجاد کنید ابتدا نیاز هست که با دستور include یا require کلاس مورد نظر رو لود کنیم.

require 'classes/database.class.php';

$db = new Database();

با استفاده از تابع __autoload از require کردن های زیاد راحت میشیم.

در مثال بالا تمام کلاسهای پروژه ما در پوشه classes نگهداری میشن.

function __autoload($classname)

{

$class = 'classes/'.strtolower($classname).'.class.php';

require $class;

} 

با استفاده از تابع بالا در هر جای پروژه میتونیم به صورت خودکار کلاسها رو لود کنیم.

$db = new Database();

حرف آخر

متدهای جادویی در PHP خیلی مفید هستن و انعطاف زیادی به برنامه نویسی شیء گرا میدن.با استفاده از این متدها لذت برنامه نویسی شیء گرا دوچندان میشه.

اگر دقت کرده باشید در مقاله بالا سعی کردم ازاصطلاحات ساده برای دوستانی که اول راه هستند و با برنامه نویسی شیء گرا آشنایی زیادی ندارن استفاده کنم.مثلا یک جا از کلمه “متد (Method) ” و جای دیگه از کلمه ” تابع (function) ” استفاده کردم.منظورم از این کار این بوده که به کسانی که اول راه شیء گرایی هستن بفهمونم این ها فقط “اصطلاح” ـه و ممکنه در جاهای مختلف نامهای مختلفی داشته باشه.هنگامی که یک تابع در یک کلاس قرار میگیره به اصلاح بهش میگن ” متد ” اما مهم نیست بهش چی میگن مهم اینه که “تابع” همون “متد” ـه.

مهم درک مفهوم شیء گرایی هست و لطفا ذهن خودتون رو درگیر این اصطلاحات نکنید.



:: بازدید از این مطلب : 156
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : پنج شنبه 25 اسفند 1390 | نظرات ()
نوشته شده توسط : افشین رفوآ

آموزش UML

 

بیشتر بدانید:

UML زبان استاندارد جهانی برای مدل‌سازی
سطح : مقدماتی

با كمی اغماض می‌توان ادعا كرد كه در ميان شاخه‌های مختلف مهندسی در هركدام كه دارای قدمت بيشتری است، همگرايی بيشتری در اتخاذ روش و ابزار برای انجام اعمال نسبتاً مشابه از ميان متخصصان و متوليان آن رشته وجود دارد. به طور مثال در حال حاضر برای اجرای يك سازه در هر نقطه از دنيا، مهندسين عمران از يك روند همسان با توالی مشابه شامل:
الف)توليد طرح عمرانی
ب)پياده‌سازی نقشه
ج)محاسبات سازه‌ای
د)اجرا استفاده می‌كنند
ولی در رشته نوپايی چون مهندسی نرم‌افزار، گاه چنان روش‌ها متفاوت است كه از ديد يك ناظر خارجی، دو تيم نرم‌افزاری مختلف كه هر دو قصد توليد محصولی مشابه را دارند، دو تيم در رشته‌های متفاوت به نظر بيايند. يكی از علل وجود تمايز در توليد نرم‌افزار ميزان تخصص نيرو و زمان به پياده‌سازی می‌باشد.بدين معنا كه در نزد بسياری از برنامه‌نويسان توليد نرم‌افزار معادل است با توليد كد. ولی از نظر بعضی ديگر توليد كد تنها بخشی از توليد نرم‌افزار است كه در بسياری از موارد حتی منابع و زمان. اختصاص داده شده به آن در طول پروسه.توليد نرم‌افزار كمتر از50% می‌باشد.

از يك ديدگاه كلی، پروسه توليد نرم‌افزار را می‌توان به دو بخش كلی شامل:
الف)تحليل و طراحی ب)پياده‌سازی تقسيم كرد. از ديدگاه دسته اول، برنامه‌سازان، تحليل و طراحی صرفاً فهم ذهنی مساله می‌باشد كه دقيقا پس از آن بايستی اقدام به پياده‌سازی كرد. در حاليكه در نظر دسته دوم، فاز تحليل و طراحی پر اهميت‌تر از فاز دوم می‌باشد كه بايستی برای انجام آن از متدولوژی‌ها و روش‌های استاندارد استفاده كرد. UML يك زبان مدلسازی می‌باشد كه در فاز تحليل و طراحی مورد استفاده قرار می‌گيرد.

مدل‌سازی (Modelling) چيست؟
مدل‌سازی يكی از تكنيك‌های ذهنی بشر می‌باشد كه نه تنها برای اهداف علمی، بلكه برای انجام امور روزمره بشر به دفعات مورد استفاده قرار می‌گيرد. مدل‌سازی به طور كلی يعنی شبيه‌سازی يك محيط با اندازه‌های متفاوت و از محيط واقعی و احتمالا مواد و مصالحی متمايز از جنس مواد و مصالح محيط مدل شده. در مدل‌سازی ابتدا اجزای محيط واقعی انتخاب شده و متناسب با هدف مورد نظر از مدل‌سازی خصوصياتی از هريك از اجزای واقعی انتزاع می‌شود، يعنی به ازای هزيك از اجزای محيط واقعی يك موجوديت تجريدی ساخته می‌شود و با برقراری ارتباطی مشابه با ارتباط اجزای واقعی، در ميان موجوديت‌های تجريدی، محيط واقعی مدل می‌شود. برای روشن شدن مثالی می‌زنيم:

فرض كنيم قصد داشته باشيم در فاز طراحی يك اتومبيل ميزان موفقيت هوا در مقابل اتومبيل در حال حركت را بسنجيم يكی از راه‌ها برای انجام اين آزمايش، ساخت يك اتومبيل واقعی، راندن و سپس اندازه‌گيری مقاومت هوا می‌باشد كه انجام اينكار اگرچه ما را به هدف می‌رساند، ولی دارای هزينه بالاييست چرا كه بايستی ابتدا ماشين ساخته شود، سپس مورد آزمايش قرار گيرد.در اين صورت اگر در آزمايش به نتيجه مورد نظر نرسيم، بايستی دوباره طراحی را تغيير داد، و پس از ساخت يك نمونه واقعی ديگر آزمايش را تكرار كنيم و اين روند آنقدر ادامه پيدا كند تا طراحی مناسب برای اتومبيلی با خصوصيات مورد نظر شكل گيرد. می‌بينيم كه چنين روشی بسيار پرهزينه است و اين هزينه هم شامل هزينه‌های اقتصادی است و هم هزينه‌های زمانی، چون علاوه بر اين كه در هر مرحله آزمايش بايستی اتومبيل با صرف هزينه بالا ساخته شود، زمان ساخت آن نيز طول خواهد كشيد.

ولی متخصصان برای انجام چنين آزمايشی به مدل روی می‌آورند. يعنی يك جسم فيزيكی كوچك با خصوصيات آئروديناميكی لحاظ شده در طراحی اتومبيل، ساخته می‌شود و با قرار دادن آن در يك تونل باد، حركت اتومبيل در فضای واقعی را شبيه سازی می‌كنند و بدين طريق ميزان مقاومت هوا را می‌سنجند.

نكات مورد توجه در اين مدل‌سازی، يكی اندازه مدل و ديگری خصوصيات آن می‌باشد. مدل بسيار ساده و كوچك می‌باشد و از طرفی تنها خصوصيت آئروديناميكی اتومبيل در مدل لحاظ می‌شود. چرا كه هدف ما از مدل‌سازی تنها بررسی خصوصيات آئروديناميكی اتومبيل است و مدل الزاماً نبايستی از جنبه‌های ديگر، شباهتی به اتومبيل واقعی داشته باشد. مثلا در ساخت چنين مدلی به هيچ‌وجه به استحكام اجزا و يا زيبايی مدل توجه نمی‌شود چون بررسی چنين خصوصياتی خارج از هدف اين مدلسازی خاص است.

مثال بالاتنها يك جنبه از مدل‌سازی را بيان می‌كند و آن جنبه شناختExploration می‌باشد. يعنی در مدلسازی‌های مشابه مدل‌سازی فوق‌الذكر، هدف از مدل‌سازی تنها شناخت محيط مورد مدل می‌باشد. يك جنبه ديگر از مدل‌سازی تبيين (specitication) می‌باشد. يعنی گاه برای معرفی و ارائه خصوصيات يك موجوديت واقعی يك مدل از آن ارائه می‌شود. نقشه جغرافيايی مثال خوبی است كه اين جنبه از مدل‌سازی را مورد نظر دارد.

پس می‌توان گفت كه هدف از مدل‌سازی دو چيز می‌باشد:
الف)شناخت(exploration)
ب)تبيين(specification)
تدریس UML
كه بر اساس تعريف مسئله، مدل‌سازی يكی يا هردو هدف را در نظر می‌گيرد.

نكته ديگری كه بايستی در مدل‌سازی توجه كرد، روش (methodo logy) ساخت يك مدل می‌باشد. در بعضی موارد مدل چيز بسيار ساده‌ای است و به راحتی ساخته می‌شود. ولی در بعضی از موارد مدل خود بسيار پيچيده می‌باشد هر چند از نظر منطقی غيرممكن می‌نمايد ولی می‌توان ادعا كرد كه در بعضی موارد مدل پيچيده‌تر از موجوديت واقعی است. زمينه‌ای كه اين ادعا را در آن مصداق فراوان دارد، نرم‌افزار می‌باشد. بنابراين در شاخه‌ای از مهندسی كه مدل‌سازی حائز اهميت فراوان می‌باشد قطعا روش‌های استانداردی برای ساختن مدل وجود دارد. در نرم‌افزار، روش‌های توليد نرم‌افزار مانند SSAPM ,RUP,USDP, در واقع روش‌های مدل‌سازی می‌باشند. هر روش مدل‌سازی طبيعتا نيازمند مصالحی برای ساخت مدل می‌باشد كه در روش‌های مدل‌سازی نرم‌افزاری مصالح لازم برای توليد مدل، زبان‌های مدل‌سازی می‌باشند.

UML چيست؟
Unified Modelling Language يك زبان مدل‌سازی است كه درسال 1995 به وسيله شركت Rational معرفی شد. UML يك زبان شی‌گراست يعنی اجزا اين زبان متناسب با مفاهيم به كاررفته و پارادايم شی‌گرائی طراحی شده‌اند.

پس از ارائه مفاهيم شی‌گرائی در ابتدای دهه 80 ميلادی به تدريج روش‌های شی‌گرائی توليد نرم‌افزار به وسيله افراد و سازمان‌های مختلف ارائه گرديد. اين روش‌ها در برگيرنده يك مجموعه علائم برای بيان مفاهيم و ايده‌ها از يك سو و يك طرح كاری برای توليد نرم‌افزار از سوی ديگر بود كه از مهم‌ترين اين روش‌ها می‌توان به OMT,BOOCH,OOSE…. اشاره كرد.

اگرچه داشتن يك روش استاندارد امری مطلوب است ولی تفاوت روش‌ها امريست طبيعی و با توجه به تفاوت فراوان در نوع مسائل می‌توان گفت كه حتی وجود روش‌های مختلف الزامی است چرا كه مثلا در يك پروژه بسيار بزرگ نمی‌توان همان روشی را به كار برد كه در يك پروژه كوچك. ولی زبان و مجموعه علائم از چنين قاعده‌ای پيروی نمی‌كند و داشتن يك زبان استاندارد امری بسيار مطلوب و از بعضی ديدگاه‌ها حتی الزامی می‌باشد. يكی از الزامات مهم در داشتن يك زبان استاندارد همگانی ناشی از نقشی است كه زبان در ارتباطات به عهده دارد. البته چندگونه‌بودن زبان خود مولد مشكلات متعددی است.

با هدف ارائه يك زبان استاندارد فراگير شركت Rational با گردآوری سه نفر از ارائه‌كنندگان معتبرترين روش‌های شی‌گرا يعنی Irar jacobson مبدع روش OOSE ,BOOCH مبدع روشی با همين نام، Rambaugh مبدع روش OMT و با اخذ نقاط قدرت سه روش فوق‌الذكر، يك زبان استاندارد به نامUML ارائه كرد. اين زبان پس از ارائه از سوی (Object Mamgement Group) كه يكی از معتبرترين سازمان جهانی در زمينه شی‌گرائی می‌باشد بعنوان يك استاندارد پذيرفته شد. پس از ارائه اين زبان و پذيرفته شدن آن به عنوان يك استاندارد جهانی در زمينه نرم‌افزار، علاوه پروسه اين زبان و ارائه متولوژی‌های مبتنی بر آن مانند usop و rup از سوی افراد و سازمان‌های مختلف، متخصصين در پی يافتن كاربرد اين زبان در زمينه‌های ديگر فنی و مخصوصی بر آمدند. برآيند اين تلاش‌ها در حال حاضر uml را به عنوان قدرتمندترين زبان مدل‌سازی در دنيای نرم‌افزار مطرح ساخته است.

آموزش UML



:: برچسب‌ها: آموزش UML , تدریس UML , دوره آموزشی UML , آموزش RUP , تدریس RUP ,
:: بازدید از این مطلب : 216
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : چهار شنبه 24 اسفند 1390 | نظرات ()
نوشته شده توسط : افشین رفوآ

آموزش جاوا

آموزش JAVA

 

اولين فنجان قهوه (قسمت اول از سوم)
آموزش جاوا




اولین فنجان شما از ] قهوهء[ جاوا ( برای  Microsoft Windows )

چند دستورالعمل  جزئی؛ برای اولین برنامه شما

 

 

                                                            

دستورالعمل های زیر به شما کمک میکنند اولین برنامهء جاوای خود را بنویسید. این دستورالعملها برای کاربران سیستمهای Microsoft Windows  ، که شامل Windows 9598/2000/ME/XP/NT 4.0 میشود ، نوشته شده. اول با کارهایی که قبل از نوشتن اولین برنامه باید انجام دهیم شروع میکنیم. سپس، با توضیح مراحل ساختن یک application ، مراحل ساختن یک applet و توضیحاتی در مورد error هایی که با آنها مواجه خواهید شد، به کار خود ادامه میدهیم.

 

1. کارهایی که اول باید انجام دهیم

 

2. ساختن اولین application شما

 الف. نوشتن یک فایل جاوا

  ب. compile کردن فایل

  پ. اجرای برنامه

 

3. ساختن اولین applet شما

 

4. بعدش چیکار کنیم!

 

  

 

1. کارهایی که اول باید انجام دهیم

برای نوشتن اولین برنامهء خود، به موارد زیر نیاز دارید :

1-  . The JavaTM 2 Platform, Standard Edition  شما میتوانید  SDK (Software Development Kit = بستهء توسعهء نرم افزار ) را از اینجا بگیرید. مواظب باشید که SDK را download میکنید، نه JRE .

2- یک ویرایشگر متن . در این مثال ما از NotePad استفاده خواهیم کرد. برای پیدا کردن NotePad ، در منوی Start ؛ Programs > Accessories > NotePad را  انتخاب کنید. اگر از ویرایشگر متن دیگری استفاده میکنید، باز هم میتوانید از این دستورالعملها استفاده کنید.

دو مورد بالا تمام چیزیست که شما برای نوشتن اولین برنامهء جاوای خود به آن نیاز دارید.


توجه: ممکن است که شما بخواهید برای نوشتن برنامهء خود از یک IDE (Integrated Development Environment)  استفاده کنید. شما میتوانید از  Java 2 SDK, Standard Edition v. 1.4 استفاده کنید که دربر دارندهء یک IDE به نام Sun™ ONE Studio 4, Community Edition که قبلا با نام ForteTM for JavaTM, Community Edition شناخته میشد، استفاده کنید. شما میتوانید این IDE را از اینجا بگیرید.



 

2. ساختن اولین application شما

اولین برنامهء شما،HelloWorldApp ، خیلی ساده به شما پیغام "Hello World!" را نشان میدهد. برای نوشتن این برنامه شما باید:

- یک فایل جاوا بنویسید. یک فایل جاوا تشکیل شده از متنی که به زبان برنامه نویسی جاوا نوشته شده؛ متنی که برای شما و دیگر برنامه نویسان جاوا قابل فهم باشد. شما میتوانید از هر ویرایشگر متنی برای نوشتن این برنامه استفاده کنید.

 

- Compile کردن فایل جاوا به bytecode . Compiler (javac) ، فایل شما را گرفته و متن آنرا به دستورالعملهایی تبدیل (ترجمه) میکند که قابل خواندن توسط "ماشین مجازی جاوا" (JVM = Java Virtual Machine) باشد. Compiler این دستورالعملها را به bytecode تبدیل میکند.

 

- اجرای برنامهء تبدیل شده به bytecode . مفسر جاوا (java interpreter) که روی کامپیوتر شما نسب شده، Java VM را پیاده سازی و اجرا میکند. این مفسر bytecode های شما میگیرد و با ترجمه کردن آنها به دستورالعملهایی که برای کامپیوتر شما قابل فهم هستند، آنها را اجرا میکند.

 

 

 

چرا bytecode ها چیزهای خوبی هستند!

احتمالا شنیده اید که با برنامه نویسی جاوا، میتوانید "یکبار بنویسید، هرجا میخواهید اجرا کنید." این بدان معنیست که در هنگام compile کردن برنامه، اطلاعات فقط برای استفاده از یک محیط (platform) خاص تولید نمیشوند. بلکه bytecodeها تولید میشوند که دستورالعملهایی برای استفادهء "ماشین مجازی جاوا"((JVM = Java Virtual Machine میباشند. در نتیجه اگر محیط شما –اعم از اینکه Windows ، UNIX،MacOS و یا یک Internet Browser باشد- دارای JVM باشد؛ میتواند bytecodeها را بخواند.

 

 


الف. نوشتن یک فایل جاوا.

برای ساختن اولین فایل جاوا، دو راه حل دارید:

- میتوانید فایل HelloWorldApp.java را روی کامپیوتر خود ریخته و از نوشتن دستورها خودداری کنید. سپس میتوانید مستقیما به قسمت ب بروید.

- یا، میتوانید دستورهای زیر را دنبال کنید:

1.NotePad را باز کنید و کدهای زیر را در آن وارد نمایید:

 

 

 

 

/**

 * The HelloWorldApp class implements an application that

 * displays “Hello World!” to the standard output.

 */

public class HelloWorldApp {

    public static void main(String[] args) {

        // Display “Hello World!”

        System.out.println(“Hello World!”);

    }

{

 

هنگام تایپ کردن مراقب باشید

همهء کدها را دقیقا همانطور که در بالا نوشته شده بنویسید. زیرا compiler و مفسر (interpreter) جاوا ، case-sensitive هستند؛ یعنی به کوچک یا بزرگ بودن حروف حساسند.

 HelloWorldApp   helloworldapp

 

 

2.این کد را در یک فایل ذخیره کنید. در menu bar، File > Save As را انتخاب کنید.

- در قسمت Save in  دایرکتوری را که میخواهید فایلتان را در آن ذخیره کنید؛ مشخص نمایید. در این مثال، دایرکتوری java در درایو c محل ذخیرهء فایل انتخاب شده.

- در قسمت  File name تایپ کنید : "HelloWorldApp.java" .

- در قسمت Save as type ، Text Document را انتخاب کنید.

 

 

 

حالا دکمهء Save را بزنید و از NotePad خارج شوید.

 

 



:: بازدید از این مطلب : 83
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : چهار شنبه 24 اسفند 1390 | نظرات ()
نوشته شده توسط : افشین رفوآ

آموزش SQL

 

خود آموز SQL به شما نحوه استفاده از SQL و دستیابی وکنترل داده ها را توسط آن در MY SQL,MS ACCESS ,SQL SERVER,  ORACLE, SYBASE,DB2  و دیگر سیستم های پایگاه داده ای آموزش میدهد.

SQL چیست؟

SQL بر پایه زبان پرس و جو ساخت یافته میباشد
SQL  به شما اجازه دستیابی و کنترل داده ها را می دهد
SQL یک استاندارد ANSI( انجمن استاندارد ملی آمریکا) میباشد.

SQL چه کاری انجام میدهد؟

SQL میتواند درخواستهای پیوسته یک پایگاه داده را اجرا کند
SQL متواند دوباره اطلاعات را از پایگاه داده پس بگیرد
SQL میتواند یک رکورد شامل اطلاعات را در پایگاه داده ذخیره کند
SQL متواند اطلاعات پایگاه داده را به روز رسانی کند
SQL میتواند هر قسمت از اطلاعات را از پاگاه داده اصلاح یا حذف کند
SQL میتواند یک پایگاه داده تازه بسازد
SQL میتواند جداول حاوی اطلاعات جدید را به پایگاه داده اضافه کند
SQL اجازه تنظیم جداول و شیوه دستیابی به اطلاعات و نحوه نمایش اطلاعات را میدهد.

SQL یک استاندارد است اما ...

با وجود آنکه SQL یک استاندارد است اما ورژن های مختلفی از آن وجود دارد

به هرحال SQL  یک استاندارد ANSI   میباشد و با آن مطابقت دارد و از تمام دستورات اصلی  از طریق مشابه پشتیبانی میکند مثل(SELECT,UPDATE ,DLELET,INSERT,WHERE) 
نکته : بسیاری از برنامه های پایگاه داده ای SQL شاخه های اختصاصی خودشان را به استاندارد SQL اضافه میککنند.

استفاده از SQL در وب سایت خود

اگر میخواهید وب سایتی بنویسید که از پایگاه داده اطلاعاتی را نمایش دهد به ابزار زیر احتیاج پیدا خواهی کرد:
یک برنامه RDBMS (MY SQL,SQL SERVER, MS ACCESS)
یک زبان سمت کاربر مانند PHP ,ASP,
SQL 
HTML/CSS

RDBMS (سیستم مدیریت پایگاه داده ای)

RDBMS  بر پایه RELATIONAL DATABASES MANAGEMENT SYSTEM  میباشد.


RDBMS  پایه ای برای  SQL  و تمام سیستم های پایگاه داده ای جدید(,SQL SERVER,  ORACLE, SYBASE,DB2  MYSQL,MS ACCESS   ) میباشد.


در RDBMS  داده ها و اطلاعات موجود در پایگاه داده در جداول ذخیره میگردد.


جدول یک مجموعه ای است از اطلاعات ثبت شده مرتبط و وابسته به هم که از ستون ها و ردیف ها تشکیل شده است.

 

 



:: بازدید از این مطلب : 106
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : چهار شنبه 24 اسفند 1390 | نظرات ()
نوشته شده توسط : افشین رفوآ

آموزش SQL Server

دو نوع سیستم دیتابیس داریم که در زیر به معرفی آنها می پردازیم:

 OLTP (online transaction processing).1

در این نوع سیستم بوسیله نرمال کردن داده ها (در مورد نرمال سازی دیتابیس در پست های بعدی توضیح داده خواهد شد ) بروز رسانی داده ها بسیار سریع و کوتاه خواهد شد. تعییرات زیاد در این نوع سیستم ها،پشتیبان گیری از دیتابیس را امری الزامی می سارد.سرعت خوب در اینگونه سیستم ها امری ضروری است. بنابراین در این نوع سیستم ها از ایندکس گذاری به وفور استفاده می شود.(در مورد ایندکس در پست های بعدی توضیح داده خواهد شد)از ایندکس گذاری به منظور دسترسی سریع به داده های جداول استفاده می شود.

OLAP (online analytical processing) .2

در این نوع سیستم ها بروز رسانی داده ها به ندرت انجام می شود. بنابراین پشتیبان گیری از دیتابیس به عنوان یک عمل نهایی تلقی می شود و کمتر انجام می شود. بیشتر پردازش مربوط به آنالیز داده های موجود می باشد. برخلاف سیستم های OLTP از طراحی استاندارد و نرمال سازی استفاده نمی شود. از ایندکس گذاری هم به ندرت استفاده می شود. در این نوع دیتابیس ها، معمولا یک یا دو جدول بزرگ وجود دارد بر خلاف OLTO که در آن چندین جدول با یکدیگر در ارتباط هستند.

 

با توجه به تعاریف مشخص است که ما از نوع اول (OLTP) در این دوره آموزشی استفاده می ک



:: بازدید از این مطلب : 236
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : دو شنبه 22 اسفند 1390 | نظرات ()