During learn and experience

معرفی GWT(آموزشی قسمت 1)

معرفی GWT
تولید برنامه های تحت وب با تکنیک AJAX کاری بسیار دشوار است بدلیل اینکه هسته اصلی تکنیک AJAX بروی Javascript بنا شده است و برنامه نویسی با زبان Javascript کاری دشوار و بسیار مستعد خطا می باشد و همچنین بدلیل اینکه تکنیک AJAX از ترکیب جند تکنولوزی (HTML ، Javascript ، CSS و...) بوجود آمده است دارای گستردگی مطالب می باشد این ذلایل باعث شده اند تکنیک AJAX به ذات روش پیچیده ای برای تولید برنامه های تحت وب باشد .
GWT یک چارچوب توسعه نرم افزار متن باز براساس تکنولوژی جاوا است که به توسعه دهندگان اجازه می دهد به راحتی برنامه های تحت وب با تکنیک AJAX تولید کنند .
با استفاده از GWT شما به راحتی می توانید برنامه های AJAX با کارایی بالا را با استفاده از زبان برنامه نویسی جاوا تولید و عیب یابی کنید زمانی که برنامه شما با استفاده از زبان برنامه نویسی جاوا آماده شد کامپایلر GWT آن را به کدهای Javascript کامپایل می کند .
مزایای GWT
  • استفاده از ابزارها و محیطهای توسعه زبان برنامه نویسی جاوا که باعث کاهش زمان توسعه نرم افزار می شود .
  • تولید کدهای Javascript بهینه شده توسط کامپایلر GWT بدون درگیری و شناختی از برنامه نویسی با Javascript.
  • تولید نرم افزارهای تحت وب سازگار با تمامی مرورگرهای وب موجود در بازار (Firefox , IE , Safari , Opera , …)
  • استفاده از ابزارهای تست جاوا که باعث راحتی و تسریع در عملیات عیب یابی نرم افزار می شود .
  • در اختار قرار داشتن مجموعه وسیعی از اجزاء رابط گرافیکی کاربر و همچنین قابلیت توسعه و استفاده مجدد آنها .
  • مکانیزم ساده فراخوانی توابع از راه دور (Remote Procedure Call) برای برنامه های AJAX .
  • وجود Javascript Natice Interface (JSNI) که سبب می شود توسعه دهندگان بتوانند از کدهای Javascript موجود در کدهای GWT به راحتی استفاده کنند .
  • مدیریت تاریخچه (History) مرورگر که به برنامه های AJAX وضعیت خود را مدیریت کنند و نیز به کاربر اجازه استفاده از دکمه back مرورگر را می دهد .
  • امکان تولید نرم افزار با پشتیبانی از چند زبان (Internationalization)
  • امکان استفاده از برنامه های AJAX بصورت Offline (در حال توسعه )
تدریس دوره کاربردی برنامه نویسی Ajax با استفاده از Google Web Toolkit

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

طراحی و تولید سایت با روش AJAX

سلام
شما می توانید با تماس با مسئول سایت (zarinfam.s@gmail.com) درخواست مشاوره و یا تولید یک وب سایت ویا یک نرم افزار را بدهید .
برای مشاهده برنامه نمونه بر روی لینک زیر کلیک کنید :
برنامه نمونه (Demo)

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

پیشنهادات و انتقادات

سلام
شما می توانید پیشنهادات و انتقادات خود را برای بهبود سایت و بالا بردن کیفیت آن در قسمت نظرات کاربران این مطلب ثبت کنید .


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

چالشی برای تفکر


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

شک ، من را به تحقیق وا می دارد
شک باعث محک زدن اعتقادات من می شود
شک این توانایی را به من می دهد که راه درست را از را غلط بشناسد
شک به من اجازه می شود در دایره بسته تفکرات محدودی باقی نمانم و با سایرتفکرات نیز آشنا شوم

شک اعتبار ایمان من است

پس من در دایره ای خود را محصور نمی کنم و اسم آن را ایمان نمیگذارم ، درستی تفکرات خود را به چالش می کشم تا در صورت درست بودن بر ایمانم افروده شود و در صورت نادرست بودن راه خود را اصلاح کنم



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

روشنگری

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

امانوئل کانت فیلسوف شهیر آلمانی (در رساله روشنگری چیست ؟)
۰۸ فروردين ۸۷ ، ۱۰:۴۴ ۲ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

How to install Netbeans IDE on linux ?

Hi
I had some problems for installing Netbeans IDE on linux . This link was very useful for me :

http://wiki.netbeans.org/InstallingNetbeans6.0OnFedora7
۱۶ بهمن ۸۶ ، ۰۸:۵۲ ۰ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

TIOBE Programming Community

Hi

This is useful site for comparing programming language popularity .

TIOBE Programming Community
۱۵ بهمن ۸۶ ، ۰۷:۳۹ ۰ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

آدمهای بزرگ

برای انسانهای بزرگ هیچ بن بستی وجود ندارد ، زیرا آنان بر این باورند که :
یا راهی خواهم یافت و یا راهی خواهم ساخت
۰۲ بهمن ۸۶ ، ۰۷:۴۹ ۴ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

Change jvm heap size

Hi

We can change jvm heap size with following runtime parameter :

java -Xms -Xmx

example :

java -Xms32m -Xmx512m

you can see these links for more parameter(switch) :

http://performance.netbeans.org/howto/jvmswitches/index.html
http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp
http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html
۲۳ دی ۸۶ ، ۱۲:۵۹ ۰ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

دلبستگی به دنیا

بگذارید و بگذرید , ببینید و دل مبندید ، چشم بیندازید و دل مبازید که دیر یا زود باید گذاشت و گذشت.
۲۳ دی ۸۶ ، ۱۰:۳۱ ۴ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

Using apt to install one or more .deb files

Hi friends

First create a directory where you will place all your .deb files. For this example, I will use /home/debs. Copy all .deb files to this directory. Change into this directory:

cd /home/debs

Create a Packages.gz file with this command:

dpkg-scanpackages . /dev/null | gzip -c -9 > Packages.gz

Edit to your sources.list file and add a line like this:

deb file:///home/debs /

Update your package lists:

apt-get update

Now you can install your package with apt-get.

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

Access to the dom element on the client side in woodstock components

Hi friends

I had some problem with accessing to the dom element in Netbeans 6 visual web . my problem solved with this post from venky .

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

پذیرش تقدیر

خداوندا آرامشی عطا فرما
تا بپذیرم آنچه را تغییر نایافتنی است
شهامتی تا تغییر دهم آن چه را می توانم
و دانشی تا بدانم تفاوت آن دو را

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

owning side of the relationship in JPA

Hi friends

There are some peculiarities with bidirectional relationships in JPA. With all bidirectional relationship types, including one-to-one, there is always the concept of an owning side of the relationship. see this sample :

@Entity
public class CreditCard implements java.io.Serializable
{
@OneToOne(mappedBy="creditCard")
private Customer customer;

public Customer getCustomer( )
{
return this.customer;
}

public void setCustomer(Customer customer)
{
this.customer = customer;
}
}


@Entity
public class Customer implements java.io.Serializable
{
@OneToOne
(cascade={CascadeType.ALL})
@JoinColumn(name="CREDIT_CARD_ID")
private CreditCard creditCard;

public CreditCard getCreditCard( )
{
return creditCard;
}

public void setCreditCard(CreditCard card)
{
this.creditCard = card;
}
}

Although a setCustomer( ) method is available in the CreditCard bean class, it will not cause a
change in the persistent relationship if we set it. When we marked the @OneToOne relationship in the CreditCard bean class with the mappedBy( ) attribute, this designated the CreditCard entity as the inverse side of the relationship. This means that the Customer entity is the owning
side of the relationship.
If you wanted to associate a CreditCard instance with a different Customer , you would have to call setCreditCard( ) on the old Customer, passing in null, and then call setCreditCard( ) on the new Customer:

Customer newCust = em.find(Customer.class, newCustId);
CreditCard card = oldCustomer.getCreditCard( );
oldCustomer.setCreditCard(null);
newCust.setCreditCard(card);

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

دوست داشتن

دوست داشتن کسانی که دوستمان می‌دارند کار بزرگی نیست، مهم آن است آنهایی را که ما را دوست ندارند، دوست بداریم
۰۸ آذر ۸۶ ، ۰۹:۴۱ ۳ نظر موافقین ۱ مخالفین ۰
سعید زرین فام

تفریح


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

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

User Interface Prototype

Hi friends

User interface prototype is one of the most important artifact i have ever seen because this artifact is useful for almost all member of project team member . this artifact impact to the other artifact.
for example requirements specifiers can use this artifact for better gathering requirement of the project .
For creating user interface prototype we have to use Storyboard artifact and they have to be the same .

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

Create and run GWT project in Netbeans without using plugin

Hi friends

1. Create a directory named GWTSample (I will refer to it as GWT_Sample_DIR).
2. In the command prompt go to the GWT home and run following instruction :

applicationCreator.cmd -out GWT_Sample_DIR com.saeed.SampleGWT.client.HelloGWT

3. The above step will create the folder structure and generate several files in the GWT_Sample_DIR.
4. In the Netbeans create Java Project with Existing Source.
5. In the step 3 add GWT_Sample_DIR directory in source package folder.


6. Add 3
jar file from GWT home .
gwt-dev-windows.jar
gwt-servlet.jar
gwt-user.jar



7.
You can use Open in System like bellow image to use GWT .cmd file.




Tip :

Don’t run project from Run button in Netbeans for running project you must using xxx-shel.cmd.

Don’t care to package error in HelloGWT.java file .

please insert ur comment.

bye all






۲۵ آبان ۸۶ ، ۱۱:۵۱ ۰ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

What is difference between Discipline & Workflow?

Hi friends

RUP mentions that Discipline is a concept for organizing Software Engineering Process and says a discipline is a collection of related activities that are related to a major 'area of concern' within the overall project and it helps to us for better understanding and easily management the process .
But RUP mentions that Workflow is a tool for expressing Software Engineering Process and a Workflow is a sequence of activities that produces a result of observable value . Workflow is useful for better understanding our task .

please insert ur comment .

bye
۲۰ آبان ۸۶ ، ۲۱:۲۵ ۰ نظر موافقین ۰ مخالفین ۰
سعید زرین فام

Using @Lob in JPA

Hi friends

Sometimes we want to persist a java object or a binary file using JPA that require a lot of memory . for this purpose we can use @Lob annotation . for example we want to store an java object in the database .
in the Entity we must declare a property like below :

@Lob
@Basic(fetch=FetchType.LAZY)
private Serializable ob;

then we set ob property with my java object and then persist Entity .
When using @Lob it is best to mark the fetch type as lazy.

please insert ur comment

bye all
۱۴ آبان ۸۶ ، ۱۴:۴۰ ۰ نظر موافقین ۰ مخالفین ۰
سعید زرین فام