During learn and experience

لینک مثال های کاربردی CSS

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

۱۳ آذر ۸۷ ، ۱۱:۴۸ ۰ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

دانلود آخربن نسخه JDK و Netbeans برای ایرانی ها

سلام

ویرایش: بدلیل پایان اعتبار هاست و دومین لینک های زیر موجود نمی باشد.

سایت جاوافا (http://www.javafa.com/) با در نظر گرفتن نیاز توسعه دهندگان فارسی زبان، به یک مرجع خبری و آموزشی در زمینه زبان برنامه نویسی جاوا راه اندازی شده است.

می توانید بدون محدودیت از لینک زیر JDK (32 و 64 بیتی برای لینوکس و ویندوز) را دانلود کنید:

دانلود JDK

مطالب مرتبط:
دانلود Netbeans 6.5.1
۱۲ آذر ۸۷ ، ۰۸:۴۸ ۲ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

سازنده (constructor) بدون پارامتر برای کلاس های serializable در GWT

امروز به این error که توسط کامپایلر GWT صادر شد برخوردم :
Error: Type ‘com.saeed.SampleClass’ was not serializable and has no concrete serializable subtypes

درحالی کلاس SampleClass بصورت زیر تعریف شده بود :
public SampleClass  implements IsSerializable {
public String myStr;
public SampleClass(String str)
{

this.myStr = str;
}
}
در حالی که کلاس زیر بدون مشکل کامپایل شد :
public SampleClass  implements IsSerializable {
public String myStr;
}
بعد از کلی جستجو به این نکته برخوردم که : کلاسهای serializable در GWT باید سازنده (constructor) بدون پارامتر داشته باشند :
public SampleClass  implements IsSerializable {
public String myStr;
public SampleClass(String str){} public SampleClass(String str)
{

this.myStr = str;
}
}

شاد باشید

۱۰ آذر ۸۷ ، ۱۵:۴۸ ۰ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

هفته نامه شهروند امروز توقیف شد !!!

سلام

امروز با شنیدن خبر توقیف هفته نامه شهروند امروز خیلی ضد حال خوردم . البته جای شکرش باقی بود که از هفته دیگه پخش نمیشه (شماره این هفته منتشر شده) .
من بعنوان خواننده این نشریه فوق العاده ، به اندازه یک دانشگاه از این هفته نامه مطالب جامعه شناسی ، فرهنگی ، سینمایی و ... یاد گرفتم هفته نامه ای که به اندازه 50000 تومان مطلب داره ولی قیمتش 1500 تومان بود .
امیدوارم بروبچ شهروند امروز (همون بروبچ روزنامه شرق) نا امید نشن و بتونن به هر طریقی شده دوباره کار خودشونو ادامه بدن .

برای شما (بروبچ شهروند امروز) بهترین هارو آرزو می کنم و همیشه دعای خیر من پشت سرتونه (می دونم در برابر زحمات شما ناچیز) .
۱۸ آبان ۸۷ ، ۱۱:۳۲ ۰ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

یک نقاشی برای تفکر

من نمی دونم این نقاشی ساده اثر کیه ولی علارقم سادگی بی نهایت حرف برای جامعه امروز ما (حتی جهانی) داره .
اگر دوست داشتید بعد از فکر کردن درباره این نقاشی دیدگاه خودتون رو comment کنید .
۱۳ آبان ۸۷ ، ۰۹:۲۹ ۰ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

تقاضای یک بنده

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

از او خواستم مرا برای بدی هایی که کرده ام ببخشد و افرادی را که با بدی هایم رنجانده ام ، از من راضی گرداند .
به من گفت : ببخش تا بخشیده شوی و از تجربه هایت برای رفتارهای آینده ات مسیری درست کن تا ...


کلامش را به دیده منت گذاردم ودر دل بغیر از محبت نکاشتم و از تجربه هایی که دیگران در قالب مشکلات به من هدیه دادند تشکر کردم و هم اکنون در سایه لطفش و عشقی که به من هدیه داده ، باز از او می خواهم ...
۱۱ آبان ۸۷ ، ۱۶:۴۸ ۰ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

ایجاد فایل ها با استفاده از جاوا (Create file using Java)

با استفاده از کد زیر ، در زبان جاوا می توانید یک فایل ایجاد کنید .
import java.io.*;

public class CreateFile{
public static void main(String[] args) throws IOException{
File f;
f=new File("myfile.txt");
if(!f.exists()){
f.createNewFile();
}
}
}
----------------------------------------
مطالب مرتبط :
تغییر نام فایل ها با استفاده از جاوا (Rename file using Java)
----------------------------------------
۰۲ آبان ۸۷ ، ۱۴:۰۲ ۰ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

تغییر نام فایل ها با استفاده از جاوا (Rename file using Java)

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

package com.saeed.file;

import java.io.File;
import java.io.IOException;

public class RenameFile {

/**
* @author Saeed Zarinfam
*/
public static void main(String[] args) throws IOException {

File f = new File("c:\\test.txt");
f.renameTo(new File("c:\\testRename.txt"));

}

}
----------------------------------------
مطالب مرتبط :
ایجاد فایل ها با استفاده از جاوا (Create file using Java)
----------------------------------------
۰۱ آبان ۸۷ ، ۱۶:۵۸ ۰ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

اکثریت نادان و اقلیت خائن

اوریانا فالاچی روزنامه نگار برجسته ایتالیائی ، از وینستون چرچیل سئوال میکند ، آقای نخست وزیر شما چرا برای ایجاد یک دولت استعماری و دست نشانده به آنسوی اقیانوس هند میروید و دولت هند شرقی را بوجود می آورید ، اما این کار را نمیتوانید در بیخ گوشتان یعنی در کشور ایرلند که سالهاست با شما در جنگ وستیز است انجام بدهید ؟ وینستون چرچیل بعد از اندکی تامل پاسخ میدهد : برای انجام این کار به دو ابزار مهم احتیاج داریم که آن دو ابزار را در ایرلند در اختیار نداریم . روزنامه نگار میپرسد . آن دو ابزار چیست ؟ چرچیل پاسخ میدهد : اکثریت نادان و اقلیت خائن .

۲۳ مهر ۸۷ ، ۱۰:۵۳ ۲ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

تبدیل سریع تاریخ شمسی به میلادی و بلعکس

سلام
در سایت زیر برای کسانی که می خواهند به سرعت معادل میلادی تاریخ تولد خود را بدست بیاورند امکان جالبی آوردن شذه است :

http://www.taghvim.org/
----------------------------------------
مطالب مرتبط :
تقویم شمسی جاوا اسکریپت
مشاهده تقویم فارسی در ASP.NET
----------------------------------------
۲۳ مهر ۸۷ ، ۰۹:۴۰ ۰ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

لیست مخاطرات و ریسک ها در RUP (قسمت دوم)

انواع ریسک :

  1. ریسک های مستقیم : ریسک هایی هستند که تحت حوزه فعالیت ما می باشند وبرای ارائه راه حل برای کنترل آنها می توانیم از حوزه اختیارات خود استفاده کنیم .
  2. ریسک های غیرمستقیم : ریسک هایی هستند که تحت کنترل مستقیم ما نمی باشند و ارائه راه حل برای کنترل آنها نمی تواند مستقیم از سمت ما انجام شود .

استراتژی برخورد با ریسک :

  1. اجتناب از ریسک : سازماندهی مجدد پروژه بطوری که پروژه تحت تاثیر ریسک ها شناخته شده قرار نگیرد .
  2. انتقال ریسک : سازماندهی مجدد پروژه بطوری که مدیریت ریسک بر عهده چیزی یا کسی دیگر از اجزای پروژه باشد (مشتری و ...) این روش یک استراتژی خاص از نوع اجتناب از ریسک است .
  3. پذیرش ریسک : تصمیم به زندگی با ریسک بعنوان یک موضوع محتمل الوقوع . کنترل دلایل ریسک و تصمیم گیری درمورد اینکه اگر ریسک بوقوع پیوست چه طرحی برای کنترل ریسک باید اجرا شود و همچنین ارائه طرح های پیشگیرانه .
----------------------------------------
مطالب مرتبط :
لیست مخاطرات و ریسک ها در RUP (قسمت اول)
----------------------------------------

۲۳ مهر ۸۷ ، ۰۸:۲۷ ۰ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

گلشیفته فراهانی هم رفت .



سلام

شاید بازدید کنندگان این سایت عادت نداشته باشن به غیر از مطالب فنی و جملات بزرگان چیز دیگری توی این سایت ببینن ولی مدت زمانیه موضوع بازی گلشیفته فراهانی در هالیوود برام جالب شده و در این مدت همیشه پیگیر اخبارش بودم .
هنوز فیلم Body of Lies رو ندیدم ولی تقریبا مطمئنم با این سروصدایی که برپا شده بازی گلشیفته باید خیلی چشم گیر باشه .
من کاری به مسائل سیاسی و ... ندارم ولی توی این نوشته می خواهم درس هایی که از گلشیفته گرفتم مطرح کنم اگه شما هم نظرتون رو بگید خوشحال می شم :
  1. شهامت گلشیفته توی این قضیه فوق العاده تحسین بر انگیزه و برای من خیلی قابل احترام که یک نفر برای هدفی که بهش ایمان داره بتونه اینقدر فشار رو تحمل کنه .
  2. لباسی که گلشیفته توی مراسم فرش قرمز بر تن کرده بود از تمام جهات بیانگر بزرگ منشی و سادگی گلشیفته بود (که شاید کمتر کسی به این قضیه توجه کرده باشه )
  3. اینکه گلشیفته توی این مدت فقط تمرکز کرده بر روی کارش و کمتر مصاحبه سیاسی و ... می کنه نشان میده هدفش خیلی بزرگه (البته گذر زمان بیشتر مسائل رو شفاف میکنه )
  4. رفتار گلشیفته در آمریکا نشون میده از خیلی شرایط توی ایران ناراضی بوده ولی با این حال توی اون وضعیت هم تونسته توی فیلد کاری خودش در ایران جزو بهترین ها باشه و با کیفیت بالا کار کنه .
  5. ترس چیزیه که فکر می کنم برای گلشیفته معنی خاصی نداره و به همین دلیله اینقدر ایمانش در راه رسیدن به هدفش قویه .
  6. وجود حامی خوب در زندگی (همسر ، پدر ، مادر و...) می تونه برای انجام هر کاری (حتی بر خلاف عرف معمول) اعتماد به نفس انسان رو مضاعف کنه .
شاد باشید

نظر یادتون نره
۲۱ مهر ۸۷ ، ۱۸:۴۲ ۱ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

لیست مخاطرات و ریسک ها در RUP (قسمت اول)

لیست ریسک ها (Risk List) یک محصول (Artifact) در RUP می باشد که شامل یک لیست مرتب (بصورت نزولی) شده از ریسک ها و مخاطرات شناخته شده در پروژه است . این لیست همچنین شامل راه حل های احتمالی برای کاهش هر کدام از ریسک ها می باشد .

وظیفه تهیه این محصول بر عهده مدیر پروژه می باشد و در ابتدای فاز Inception تهیه می شود و در ادامه فازهای پروژه ویرایش می شود . پیشنهاد می شود حداقل در انتهای هر Iteration این محصول مورد بازبینی قرار گیرد.
این محصول یکی از مهمترین محصولات RUP می باشد و به هیچ وجه حذف آن از فرایند تولید نرم افزار توصیه نمی شود . در مورد اهمیت این محصول همین بس که این محصول بعنوان ورودی برای 18 فعالیت RUP معرفی شده است .
این محصول خروجی فعالیت های زیر در RUP می باشد :

1. تشخیص و ارزیابی ریسک ها (Identify and Access Risks)
2. ارزیابی وضعیت پروژه (Monitor Project Status)
----------------------------------------
مطالب مرتبط :
ادامه مطلب (قسمت دوم)
----------------------------------------
۱۶ مهر ۸۷ ، ۱۲:۲۸ ۰ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

تقویم شمسی جاوا اسکریپت

سلام

من مدت ها بود برای استفاده از تقویم شمسی در سمت کلاینت مشکل داشتم با اینکه در Java و .Net در سمت سرور این مشکل حل شده است ولی در سمت کلاینت من هنوز این مشکل را داشتم تا اینکه در آدرس زیر به یک تقویم شمسی که با استفاده از جاوا اسکریپت نوشته شده است بر خوردم :
http://hoomb.dnsalias.com/index.php?page=about

برای تشکر از زحمات آقای هومن بهمنش لازم دونستم حداقل یک لینک از وبلاگ به صفحه اصلی این پروژه بدهم .
----------------------------------------
مطالب مرتبط :
تبدیل سریع تاریخ شمسی به میلادی و بلعکس
مشاهده تقویم فارسی در ASP.NET
----------------------------------------
۲۴ شهریور ۸۷ ، ۱۱:۲۱ ۱ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

انزجار

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

۱۱ شهریور ۸۷ ، ۱۳:۰۰ ۲ نظر موافقین ۱ مخالفین ۰
سعید زرین فام

حل مشکل 'Authentication Required' در Firefox

سلام

در بسیاری از موارد برای اتصال به یک Domain با استفاده از Firefox فرم 'Authentication Required' نمایش داده می شود و پس از ورود نام کاربری و کلمه عبور اتصال به Domain مورد نظر صورت می گیرد .
مشکل در اینجا وجود دارد که پس از اتصال به Domain مورد نظر در حالی که هنوز Firefox را نبسته ایم باز فرم 'Authentication Required' نمایش داده می شود که این امر بسیار زمان گیر و خسته کننده می باشد در حالی که در IE این مشکل وجود ندارد .

برای حل این مشکل بعد از جستجو در این لینک با اعمال تغییر زیر مشکل من حل شد .

  1. در قسمت URL تایپ کنید about: config
  2. در صفحه نمایش داده شده در قسمت Filter تایپ کنید network.auth.use-sspi .
  3. مقدار این متغییر را از true به false تغییر دهید .
نکته : این راه حل ممکن است تبعات امنیتی داشته باشد .
۰۴ شهریور ۸۷ ، ۰۹:۰۵ ۰ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

مشکل استفاده از utf-8 در MySQL (????)

در پایگاه داده MySQL وقتی یک Schema با Chatrset=utf8 تعریف می کنیم و سپس می خواهیم اطلاعات فارسی را با استفاده از JDBC درون جداول آن اضافه کنیم پس از عملیات افزودن مشاهده می شود که اطلاعات اضافه شده به جدول بصورت ???? نمایش داده می شود. برای رفع این مشکل کافی است DatabaseURL را بصورت زیر بنویسیم :

jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8

تکه کد زیر نیز برای مثال در اختیار شما قرار دارد :

Properties pr = new Properties();
pr.put("user", "xxxxx");
pr.put("password", "xxxxx");
pr.put("characterEncoding", "utf-8");
pr.put("useUnicode", "true");

Connection connection = DriverManager.getConnectio
n("jdbc:mysql://localhost:3306/mydatabase", pr);
۲۹ تیر ۸۷ ، ۰۹:۴۵ ۲ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

مقایسه بین Swing و SWT

مقایسه بین Swing و SWT

حتما شما هم در مورد ابزارهای مشهور تولید رابط کاربری در جاوا (Swing ، SWT) شنیده اید در این مقاله بصورت کلی به مقایسه ای بین این دو ابزار و موارد کاربرد آنها می پردازیم.

Swing نسل دوم ابزار تولید رابط کاربری در JDK استاندارد است که توسط شرکت Sun Microsystems منتشر می شود . Swing برروی AWT (نسل اول ابزار تولید رابط کاربری ارائه شده توسط شرکت Sun Microsystems) بنا شده و هدف از توسعه آن تولید رابط کاربری پیچیده تر و سفارشی با ظاهر یکسان در پلتفرمها های مختلف می باشد .

SWT ابزار تولید رابط کاربری است که در ابتدا توسط شرکت IBM توسعه داده شد و هم اکنون توسط بنیاد Eclipse نگهداری و پشتیبانی می شود و هدف از توسه آن تولید ابزاری برای دسترسی به کدهای بومی کامپوننت های پلتفرم های مختلف است همچنین تولید رابط کاربری با کارایی (Performance) بالا و یکپارچگی عمیق با پلتفرم از دیگر اهداف توسعه این ابزار می باشد.

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

تفاوت های Swing و SWT

  • Swing برای نمایش کامپوننت های خود از کتابخانه های بومی سیستم عامل استفاده نمی کند و با استفاده از کتابخانه Java 2D آنها را رسم می کند ولی SWT کدهای بومی کتابخانه های GUI( مانند اشیاء GTK+ و اشیاء Motif )را با استفاده از JNI(java native interface) بسته بندی می کند و برای نمایش کامپوننت های خود از آنها استفاده می کند و در زمانی که کدهای بومی احتیاجات SWT را براورده نمی کنند همانند Swing کامپوننت های مورد نظر خود را با جاوا پیاده سازی می کند .

  • برنامه های تولید شده با SWT ساده تر از Swing می باشد.

  • وقف دادن SWT با سیستم عامل های جدید مشکلتر و زمانبرتر از Swing است بدلیل اینکه AWT (زیرساخت کتابخانه Swing)وابستگی کم و بسیار ساده به سیستم عامل دارد (به نسبت SWT)
  • Swing براساس معماری MVC پیاده سازی شده است در حالی که SWT اینطور نیست.
  • SWT سریعتر از Swing اجرا می شود و همچنین منابع سیستمی کمتری مصرف می کند (البته بصورت علمی برتری کارایی SWT به Swing ثابت نشده است و برتری ناچیز SWT در محیط ها و کاربردهای مختلف متغییر و گاها برتری وجود ندارد).
  • ظاهر (look and feel) کامپوننت های SWT شبیه کامپوننت های سیستم عاملی است که درون آن اجرا می شود ولی Swing می تواند برروی هر سیستم عاملی شکل مورد نظر شما را داشته باشد.
  • در SWT از automatic garbage collection استفاده نمی شود و باید همانند زبان c با استفاده از تابع dispose() حافظه تخصیص داده شده برگردانده شود که این امر برنامه های تولید شده توسط SWT را مستعد خطا می کند ولی Swing از automatic garbage collection استفاده می کند.
  • پیاده سازی SWT برای هر پلتفرم متفاوت است و برای هر پلتفرم باید jar فایل مخصوص به آن پلتفرم استفاده شود در حالی که Swing مستقل از پلتفرم است.
  • Swing توسعه دهنده را با جزئیات کمتر سیستمی درگیر می کند در حالی که SWT بلعکس است.

منابع :
http://en.wikipedia.org/wiki/Standard_Widget_Toolkit
http://en.wikipedia.org/wiki/Swing_(Java)
http://en.wikipedia.org/wiki/Abstract_Windowing_Toolkit
۲۱ خرداد ۸۷ ، ۲۳:۲۱ ۰ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

استفاده از فرمان applicationCreator (GWT)

تولید ساختار اولیه یک برنامه GWT با استفاده از فرمان applicationCreator:

با استفاده از فرمان applicationCreator شما می توانید ساختار اولیه یک برنامه GWT و اسکریپت های لازم برای اجرای برنامه در حالت hosted mode و کامپایل برنامه به جاوا اسکریپت را تولید کنید شما همچنین می توانید فایل های لازم برای کامپایل و اجرای پروژه را با استفاده از Eclipse IDE را نیز تولید کنید .

ساختار کلی این دستور بصورت زیر می باشد :

applicationCreator [-eclipse projectName] [-out dir] [-overwrite] [-ignore] …client.className

-eclipse

یک تنظیمات debug launch برای eclipse IDEتولید می کند .

-out

مشخص کننده دایرکتوری می باشد که می خواهیم فایلهای پرژه در آن ساخته شود (پیش فرض دایرکتوری جاری می باشد)

-overwrite

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

-ignore

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

className

نام پرو‍ه و همچنین نام artifact هایی که توسط applicationCreator بصورت خودکار تولید می شود.



مثال :

اگر دایرکتوری جاری ما Test باشد و دستور زیر را اجرامی کنیم :

applicationCreator com.saeed.client.TestApp
فایلها و دایرکتوری های زیر تولید می شود :

Created directory test\src

Created directory test\src\com\saeed

Created directory test\src\com\saeed\client

Created directory test\src\com\saeed\public

Created file test\src\com\saeed\TestApp.gwt.xml

Created file test\src\com\saeed\public\TestApp.html

Created file test\src\com\saeed\public\TestApp.css

Created file test\src\com\saeed\client\TestApp.java

Created file test\TestApp-shell

Created file test\TestApp-compile

همانطور که مشاهده می کنید بسته به نوع سیستم عامل شما دو قایل TestApp-shell و TestApp-compile تولید می شود که اولی برای اجرای برنامه در حالت hosted mode و دومی برای کامپایل کردن برنامه به Javascript است .

نکته : حتما باید package نهایی برای نام گذاری className برابر client باشد کوتاه ترین حالت می تواند client.className باشد .

نکته : اگر دستور زیر را اجرا کنیم :

applicationCreator -eclipse TestApp com.saeed.client.TestApp

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

Created file test\TestApp.launch

نکته : اگر می خواهید از دستورات GWT (مانند : applicationCreator )در تمامی دایرکتوری ها استفاده کنید مراحل زیر را انجام دهید .

راه حل ساده این است که دایرکتوری فرمان های GWT را بعنوان Path variable تعریف کنیم . برای این منظور در سیستم عامل ویندوز مراحل زیر را انجام دهید :

  • در قسمت Control Panel برروی System کلیک کنید .

  • در قسمت Advance برروی دکمه Environment Variables کلیک کنید .

  • در قسمت User Variables برروی متغییر PATH دوبار کلیک کنید .

  • متن C:\Program Files\GWT\gwt-windows-1.5.0 را به انتهای قسمت value اضافه کنید .


۱۴ خرداد ۸۷ ، ۱۱:۴۰ ۰ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

معماری GWT(آموزشی قسمت 2)

معماری برنامه های تولید شده با استفاده از GWT
معماری کلی برنامه های تولید شده توسط GWT بر اساس معماری Client-Server می باشد . در سمت کلاینت کدهای AJAX (Javascript , HTML , CSS )قرار دارند و در سمت سرور منطق برنامه که براساس مفاهیم Java-servlet پیاده سازی شده اند قرار دارد .زمانی که در سمت کلاینت کاربر با استفاده از رابط کاربری AJAX درخواست اطلاعاتی را از سمت سرور می کند قسمت فراخوانی توابع از راه دور (Remote Procedure Call) برنامه بصورت غیر همزمان (Asynchron)و بدون اینکه صفحه مرورگر referesh شود توابع پیاده سازی شده در سمت سرور را فراخوانی کرده و اطلاعات مورد نظر را از سمت سرور آورده و به کاربر نمایش می دهند . یکی از مزایای اصلی GWT در این است که دو جزء اصلی معماری Client-Server با استفاده از یک زبان برنامه نویسی (Java) تولید می شوند که این امر باعث بالاتر رفتن سرعت توسعه و همچنین تمرکز بیشتر برروی مفاهیمی مانند کیفیت ، تحلیل و ... می شود .
اجزای اصلی GWT
GWT شامل 4 جزء اساسی است که که این 4 جزء با همکاری یکدیگر سبب شده اند چهارچوبی (Framework) قدرتمند برای توسعه برنامه با تکنیک AJAX در اختیار توسعه دهندگان قرار بگیرد .

1. کامپایلر (Java-to-Javascript) : ما از این کامپایلر برای ترجمه برنامه های GWT نوشته شده خود (با زبان برنامه نویسی جاوا) به کدهای Javascript استفاده می کنیم . برنامه AJAX تولید شده فقط شامل صفحات HTML و کدهای Javascript می باشد که می تواند برروی سرور وب قرار بگیرد .
2. Hosted Web Browser (Hosted mode): این قسمت از معماری GWT در زمان توسعه و تست نرم افزار بسیار مفید است . Hosted Web Browser به توسعه دهنده این امکان را می دهد بدون اینکه برنامه خود را به کدهای Javascript کامپایل کند برنامه خود را اجرا کنند و خروجی را مشاهده نماید (به این نوع اجرا اصطلاحا اجرای برنامه در حالت Hosted mode می گویند ) . GWT برای این منظور یک مرورگر توکار مخصوص به خود را دارد.
3. نسخه شبیه سازی شده کتابخانه های زمان اجرای جاوا (JRE emulation library ( : این جرء معماری شامل پیاده سازی Javascript اکثر کلاسهای مورد استفاده در پکیجهای java.lang و java.util نسخه استاندارد جاوا برای استفاده در سمت کلاینت می باشد . نکته مهم این است که توسعه دهندگان در برنامه نویسی سمت سرور هیچ محدودیتی در استفاده از کتابخانه های مختلف جاوا ندارند .
4. کتابخانه رابط کاربری تحت وب (Web UI class library ) : این قسمت شامل مجموعه ای کامل از اجزا رابط کاربری مورد استفاده در وب مانند : دکمه ، فرم و... می باشد (که اصطلاحا widget نامیده می شود)

۱۲ خرداد ۸۷ ، ۰۸:۴۷ ۰ نظر موافقین ۰ مخالفین ۰
سعید زرین فام