لیست آخرین مطالب

2009-11-18

GWT 2.0 Release Candidate 1 (قسمت 1)

با عرضه GWT 2 RC1 توسعه دهندگان GWT می توانند از امکانات جدید GWT 2 استفاده کنند (البته این نسخه هنوز نسخه نهایی نمی باشد و تیم GWT پیشنهاد کرده است از این نسخه برای تولید استفاده نشود). علاوه براین Google Plugin for Eclipse 1.2 RC1 نیز عرضه شده است که امکانات زیادی برای توسعه با استفاده از GWT 2 در خود دارد.

قابلیت های جدید قابل توجه در GWT 2:

In-Browser Development Mode:
در نسخه های قبل از GWT 2 ، حالت hosted یک مرورگر خاص به نام "مرورگر hosted" را بمنظور debug کدهای جاوا در اختیار توسعه دهنده قرار می داد ، این روش توسعه دهندگان را محدود می کرد (برای مثال استفاده از debugger های جاوااسکریپت یا نمایش فایل های فلش درون
"مرورگر hosted" امکان پذیر نبود). در GWT 2 صفحات وب درون مرورگرهای مشهور و شناخته شده ای(IE ، Firefox و...) که قرار است دیده شوند debug می شوند (نه درون "مرورگر hosted"). حالت development با استفاده از پلاگ این های مخصوص برای هر مرورگر که "Google Web Toolkit Developer Plugin" نام دارد به توسعه دهنده این امکان را می دهد در زمان توسعه و بمنظور debug از مرورگر مورد علاقه خود استفاده کند.

Developer-guided Code Splitting:
قابلیت code spliting با استفاده از
GWT.runAsync بهمراه گزارش های کامپایل (The Story of Your Compile) به توسعه دهندگان امکان می دهد مقدارقابل توجهی از کدهای GWT خود را بمنظورافزایش سرعت start up برنامه به چندین قسمت تقسیم کنند. تصور کنید که برای مشاهده یک فیلم ابتدا باید تمام آن فیلم را دانلود کنید. در حال حاضراکثر برنامه های AJAX رفتار اینچنینی دارند ، با استفاده از قابلیت code spliting می توانید فقط کمترین میزان اسکریپت مورد نیاز برای اجرای برنامه را در start up برنامه بارگزاری کنید سپس بر اساس در خواست های کاربر اسکریپت های باقی مانده برنامه بارگزاری خواهد شد.

ادامه دارد...

شاد باشید.

2009-11-16

How can I limit the number of rows in Oracle

Hi

Oracle DBMS does not have any clause (likt limit clause in MySQL) for limiting the number of return rows.
Oracle has a system attribute ROWNUM for each record returned. We can use this attribute for this purpose.

You can try following query:

SELECT name , family , addrees FROM (
SELECT
rownum AS r , name , family , addrees
FROM tbl_student
)
WHERE r >= 6 AND r <= 7

have nice days.

2009-11-13

تالار GWT در سایت برنامه نویس




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

شاد باشید.

2009-11-12

زبان برنامه نویسی Go

گوگل یک زبان برنامه نویسی جدید به نام Go عرضه کرده است. در سایت رسمی این زبان برنامه نویسی ، برروی شش قابلیت اصلی این زبان تاکید شده است و از این زبان بعنوان یک زبان سیستمی یاد شده است.

1- سادگی
package main
import "fmt"

func main() {
fmt.Printf("Hello, سلام")
}

2- سرعت
کامپایلرهای Go کدهای سریع با سرعت بالا تولید می کنند. یک عملیات build در کسری از ثانیه انجام می شود در حالی که برنامه کامپایل شده تقریبا با سرعتی قابل قیاس با کدهای c یا c++ اجرا می شود.

3- امن
Go یک زبان type safe و memory safe می باشد.

4- همزمانی
Go تولید سیستم ها و سرورها در قالب مجموعه ای از فرایند های بهم مرتبط سبک ( lightweight communicating processes) را پیشنهاد می کند.

5- سرگرمی
Go امکاناتی شبیه زبان های پویا دارد (garbage collection ، گرامر ساده ، run-time reflection و...) اما اطمینان یک زبان استاتیک را بهمراه دارد.

6- Open Source

هدف اصلی گوگل از ارائه این زبان برنامه نویسی برطرف کردن مشکلات فعلی زبان های برنامه نویسی رایج مانند جاوا و C++ بوده است. این زبان برنامه نویسی سرعت توسعه بالای زبان های پویا (Python ، Javascript و...) را بهمراه کارایی و اطمینان زبان های کامپایلری (c ، c++ و...) در کنار قابلیت های دیگری نظیر کامپایل سریع ، dependency management ، parallel computation و ... فراهم کرده است.

نکته جالب این است که کامپایلرهای Go فقط از دو سیستم عامل (Linux, Mac OS X) پشتیبانی می کند.

شاد باشید.

2009-11-11

استفاده از کلاس Cipher در پروژه های Eclipse

سلام

امروز به یک مشکل تازه توی Eclipse برخوردم. یک پروژه جدید از نوع Java Project from existing Ant Buildfile ایجاد کردم سپس آدرس Ant Buildfile پروژه را وارد کردم. درون این پروژه من از کلاس javax.crypto.Cipher و کلاس های مر تبط با آن برای انجام کارهای مربوط به encryption و decryption استفاده کرده بودم. وقتی پروژه را اجرا می کردم به error زیر برمی خوردم:

[java] Exception in thread "main" java.lang.Error: Unresolved compilation problems:
[java] The import javax.crypto cannot be resolved
[java] The import javax.crypto cannot be resolved
...


برای حل این مشکل کافی است در پنجره Project Explorer برروی پروژه خود راست کلیک کنید و برروی گزینه Properties کلیک کنید سپس برروی گزینه Java Build Path کلیک کنید و از بین تب های سمت راست تب Libraries را انتخاب کنید و سپس برروی گزینه Add External Jar کلیک کنید ، در محلی که JRE برروی سیستم شما نصب شده است به دایرکتوری lib بروید و فایل jce.jar را انتخاب کرده و برروی دکمه Open کلیک کنید و در نهایت برروی دکمه OK کلیک کنید.

اگر برنامه خود را مجددا اجرا کنید دیگر به این error بر نمی خورید.

شاد باشید.

2009-11-04

اجرای Tomcat برروی Windows 7

سلام
امروز وقتی می خواستم برای اولین بار Tomcat را روی Windows 7 نصب کنم به یک مشکل بر خوردم. Tomcat (نسخه 6.0.20) بدون هیچ مشکلی نصب شد ولی زمانی که بعد اتمام مراحل نصب می خواستم سرویس Tomcat را اجرا کنم پیغام زیر را دریافت می کردم.

windows could not start the Apache tomcat ... service-specific error code 0.

پس از کمی جستجو در Google در یک مطلب راه حل ساده ای برای رفع این مشکل پیدا کردم. در این مطلب آمده بود مشکل از اینجا است که JRE نمی تواند فایل msvcr71.dll را پیدا کند یا اینکه Tomcat به آن دسترسی ندارد.
راه حل ساده پیشنهادی در این مطلب ، کپی کردن فایل مورد نظر (که درون فولدر JRE قرار دارد) درون فولدر bin محل نصب Tomcat بود.

شاد باشد.


2009-11-03

اجرای مستقیم دستورات جاوااسکریپت با استفاده از SWT Browser Widget

اگر به یاد باشه در پست Web Browser در جاوا یک کامپوننت SWT را معرفی کردیم که بعنوان یک Web Browser می توانست صفحات HTML و جاوااسکریپت را نمایش دهد.
این کامپوننت (widget) قبلیت این را دارد که دستورات جاوااسکریپت را مستقیما اجرا کند. برای مثال دستور جاوااسکریپت :

alert(”1″);
را با استفاده از این کامپوننت (widget) اجرا می کنیم:



package testcode;

/**

*
* @author Saeed Zarinfam
*/
import org.eclipse.swt.SWT;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.browser.ProgressEvent;
import org.eclipse.swt.browser.ProgressListener;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;

import org.eclipse.swt.widgets.Shell;

/*
* http://www.eclipse.org/swt/snippets/
*/
public class NewMain {

public static void main(String[] args) {
final Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
final Browser browser = new Browser(shell, SWT.NONE);
if (browser != null) {
browser.setUrl("http://www.google.com");
browser.addProgressListener(new ProgressListener() {

@Override
public void completed(ProgressEvent event) {
System.out.println("Page loaded");
System.out.println
(browser.execute("alert(\"1\");"));
}

@Override
public void changed(ProgressEvent event) {
}
});

}
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}


2009-10-27

همايش رقابت و فراگيري جاوا يا Java Contest & Acquisition League



سلام
همايش رقابت و فراگيري جاوا يا Java Contest & Acquisition League از تاریخ 88/08/07 الي 88/08/08 برگزار می شود.
به نظر من جدا از چگونگی برگزاری و سطح کیفی این همایش ، در بدترین حالت هم برگزاری این نوع همایش ها و مسابقات کار بسیار خوبی است. یکی دیگر از جنبه های مثبت این همایش قرارگیری رقابت و آموزش در کنار یکدیگر است.
نکته جالب توجه دیگری که نظر بنده را جلب کرد ، برگزاری همایش در زمینه کیفیت نرم افزار است. مبحثی که اکثر شرکت های نرم افزاری به آن بی توجه هستند.

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

اطلاعات بیشتر

شاد باشید.

2009-10-22

2 سال گذشت ...

سلام
2 سال پیش بود که این وبلاگ راه اندازی شد. هدف اصلی راه اندازی این ویلاگ ، ثبت تجربیات در زمینه جاوا و تکنولوژی های مرتبط با آن بود.
امیدوارم تمام کسانی که از این وبلاگ دیدن کردند ، مطالب کاربردی و خوبی دیده باشند. توی این 2 سال 134 مطلب در زمینه های مختلف پست شده است.

شاد باشید.

2009-10-18

در مورد خريد شركت Sun توسط Oracle و آينده Netbeans

سلام
چندين ماه از بحث خريد شركت Sun توسط Oracle مي گذرد. مطالب زيادي درباره آينده محصولات سخت افزاري و نرم افزاري شركت Sun منشر شده است ولي كماكان تمامي آنها گمانه زني مي باشد.



براي من بعنوان يكي از كاربران و علاقه مندان به Netbeans ، آينده Netbeans و Netbeans Platform مهم مي باشد. تحليل شخصي من اين است كه بدلايلي كه در ادامه مطلب ذكر مي كنم Oracle چاره اي جز زنده نگه داشتن Netbeans ندارد. Netbeans داراي ويژگي هاي منحصر بفردي است كه از جنبه هاي زيادي زنده نگه داشتن آن و ادامه توسعه آن براي Oracle منافع زيادي دارد:
  1. Netbeans طراحي و معماري مدرن و خوش ساختي دارد و مي تواند براحتي بستري با Performance بالا و امكانات زياد براي محصولات Oracle بنا كند (SQL Developer ، JDeveloper و...).
  2. طبق گمانه زني ها به احتمال خيلي زياد Oracle سرمايه گزاري زيادي برروي توسعه JDK خواهد كرد و Netbeans بعنوان يكي از بهترين best practice ها برروي JDK آينده روشني خواهد داشت.
  3. اگر Oracle بخواهد وارد مبارزه IDE هاي جاوا شود بهترين گزينه براي رقابت با Eclipse در ميان IDE هاي موجود در جاوا ، Netbeans مي باشد كه بدليل محبوبيت زياد و قابليت هاي خوب تنها IDE موجود در بازار است كه در مبارزه با Eclipse جان سالم بدر برده است.
  4. بسياري از محصولات اراكل (SQL Developer ، JDeveloper و...) از مشكلاتي مانند كارايي پايين ، حجم فيزكي بالا و... رنج مي برند در حالي كه كارايي مناسب و حجم فيزيكي فوق العاده پايين از مزيت هاي Netbeans Platform مي باشد.
در نهايت پيش بيني من اين است كه قرار دادن محصولاتي نظيرSQL Developer ، JDeveloper و... برروي Netbeans Platform و يا تبديل آنها به پلاگ اين هاي Netbeans هم هزينه زيادي براي Oracle ندارد و هم آينده محصولات Oracle را روشن تر خواهد كرد.

شاد باشيد.