일반적인 자바 개발시 예외처리하는 것은 그리 간단하지 않다.


HelloAndroid를 통해서 어떻게 예외처리가 되는지 간단하게 알아보자.

package com.min.hello;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class HelloAndroid extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        int i=0;
        int j=3/i;
        TextView tv = new TextView(this);
        tv.setText("\n\n\n\n\n한글이 될랑가? ");
        setContentView(tv);

    }
}

이 소스의 중간에 i 값을 0으로 지정하고, j 값에 3을 i로 나누도록 해보자.

당연히 0으로 나누기 때문에 ArithmeticException이 발생하게 될 것이다.


그럼 수행해서 결과를 확인해 보자.

음~~ 당연히 오류가 나는데, 예쁜 예외 메시지 창에 결과가 나타난다.

앞으로 개발하면서 이런 화면은 나오면 안되겠지만...


물론 try-catch 구문으로 묶어주게 되면 아무런 메시지도 나오지 않게 된다.

Posted by tuning-java
,

이제 직접 안드로이드 애플리케이션을 만들어 보자.


이클립스에서 create Project를 누르고 안드로이드 프로젝트를 누른다음,

다음과 같이 설정한다.

Project name : HelloAndroid - 일반 eclipse 프로젝트와 동일한 프로젝트 이름

Package name :  com.min.hello - 자바에서 사용하는 패키지와 같은 의미의 패키지 이름.
모든 어플리케이션이 이 폴더밑에 있어야 하며, 모든 시스템에 설치된 패키지의 이름과 절대 같으면 안된다.(유일해야만 한다.)

Activity name : HelloAndroid - 자동으로 껍데기 (보통 스텁이라고 부르는) 클래스 파일의 이름을 지정한다.
이 클래스는 안드로이드 activity class의 자식 클래스여야만 한다.

Application name : My first Android - 보통 사람들이 읽기 쉬운 어플리케이션 이름을 여기에 지정한다.


이제 Finish를 누르면 자동으로 프로젝트가 생성된다.

생성된 프로젝트는 다음과 같은 구조를 가진다.

많이도 생성된다. - -;


가장 먼저 봐야 하는건 HelloAndroid.java이다. 해당 파일을 열어보자.

package com.min.hello;

import android.app.Activity;
import android.os.Bundle;

public class HelloAndroid extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
    }
}

아까 이야기한대로 Activity 클래스의 상속을 받았다.

그리고 onCreate메소드를 오버라이드 했다.


이 상태에서 안드로이드를 실행해 보자.

(실행 방법은 앞에 설명했으므로, 생략한다. 참고로 안드로이드 에뮬레이터가 실행 상태라면 그냥 다시 이클립스에서 실행하면 된다.

에뮬레이터를 다시 실행할 필요는 없다.)



실행하면 "Hello World, HelloAndroid"라는 메시지가 나타난다.

오~ 신기하다...


아무것도 한게 없는데...


저 메시지는 어디에서 지정하는 것일까?


안드로이드는 두가지 방법의 화면 레이아웃 구조를 갖고 있다.

한가지는 자바 코드에서 구성하는 방법과 다른 한 가지는 XML파일에서 구성하는 방법이다.

HelloAndroid 이클립스 프로젝트의 res 폴더 -> layout 폴더 -> main.xml파일을 열어보면 다음과 같이 되어 있는 것을 확인할 수 있다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Hello World, HelloAndroid"
    />
</LinearLayout>

뭐가 뭔진 아직 잘 모르겠지만, 중간에 TextView라고 되어 있는 부분이 있다. 가로와 세로 크기를 지정하고 text를 지정했다.

이 text 부분에 Hello World, HelloAndroid가 바로 에뮬레이터에서 나타난 그 메시지이다.


그럼 이번에는 저 방식이 아닌 자바 소스에서 지정하는 방법을 알아보자.

package com.min.hello;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class HelloAndroid extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        TextView tv = new TextView(this);
        tv.setText("\n\n\n\n한글이 될랑가? ");
        setContentView(tv);
    }

}

이렇게 하고 다시 한번 실행해보자.

줄바꿈 처리를 하기 위해서 \n을 사용했다.

이렇게 해보니 간단하게 한글도 처리되는 안드로이드 어플리케이션이 만들어 졌다.


여기에 있는 setContentView() 메소드에 대해서 잠깐 알아보자.

이 메소드는 Activity 클래스에서 반드시 실행되어야 한다. 만약 이 메소드가 실행되지 않으면, 아무런 데이터도 화면에 뿌려지지 않는다.



참고 : 이 내용은 http://code.google.com/android/index.html 의 내용을 참조하여 작성되었음.

Posted by tuning-java
,

맨날 무슨 언어든 배우기 시작하면 헬로월드부터 찍는다.

나도 당근 이것부터 시작해 볼 작정이다. 일단 제공된 샘플을 돌려보는걸 해보자.


가장 먼저 이클립스에서 New Project... 을 선택한다.

그러면 Android가 추가되어 있는데, 추가된 안드로이드 프로젝트를 선택하자.


다음화면에서 아래 그림과 같이 Create project from existing source를 선택하고, Browse를 해서 HelloActivity를 선택한다.

 

Finish를 누르면 새로운 프로젝트가 추가될 것이다.


이제 프로젝트 import 작업은 끝났고, 해당 이클립스 프로젝트의 root를 선택한후 오른쪽 마우스를 눌러서

Run As... 후 Android Application을 누르면 안드로이드 에뮬레이터가 뜨게되고, 아래의 그림과 같이

Hello World와 에디터가 나타나게 된다.

참고로... 처음 실행하게 되면 화면이 작동되는데 시간이 좀 걸린다.

Posted by tuning-java
,

일단 다운로드는 요령껏 받자.

다운로드 받기 전에 시스템 요구사항을 간단히 알아보자.

지원 OS는 윈도 XP, 비스타, 맥 OS 10.4.8 이상, 리눅스 만 된다.

지원되는 개발환경은 이클립스 3.2,3.3에 JDT와 WST 플러그인 포함.

JDK5와 6 (JRE만 깔았으면 안된단다...)

추가로 안드로이드 개발 툴즈 플러그인도 있다.

시스템 요구사항이 정확하게 본인의 PC와 맞는다면 다운로드 받은 파일의 압축을 풀자.

압축을 풀면, 다음과 같은 폴더와 파일들이 있다.

/docs
/samples
/tools
이상은 폴더 목록...

android.jar 및 기타 파일들

압축을 풀면 그냥 다 되는게 아니고,

환경 설정을 해야 한다.


참고로 나는 D:\GoogleAndroid 에 압축을 풀었다.

윈도우의 시스템 환경을 열어서 "시스템 환경변수"에서 path에 D:\GoogleAndroid\tools 디렉토리를 추가한다.

(설마 개발자분이 이 설정을 하는 방법을 모를리는 없으니, 자세한 방법은 일단 패쑤)


이제 이클립스 플러그인을 추가하자.

이클립스 플러그인을 추가하는 방법은 모르는 분들이 많으실테니,

상세하게 알려주겠다.


  1. 이클립스를 기동해서 Help -> Software Updates > Find and Install 을 클릭한다.
  2. 화면이 뜨면 아래와 같은 화면에서 아래에 있는 new features 어쩌구가 있는걸 선택하고 다음으로 넘어간다.
  3. 그 다음화면에서 오른쪽 구석탱이에 있는 New Remote Site...을 클릭한다.
  4. 이름은 아무거나 입력하고 URL은 다음의 URL을 입력한다.
    https://dl-ssl.google.com/android/eclipse/
  5. 그 다음에 finish를 누르면 Update manager가 뜨고 선택하는 화면이 나타나는데 그 화면에서 체크 박스를 누르고 Finish 버튼을 누른다.
  6. 그 다음에 Accept하고 install 을 누르면, 이클립스를 껐다가 키라고 하는데, 재시작 버튼을 Yes를 누르면 이클립스가 재기동된다.
  7. 아직도 끝난게 아니다. 이클립스에서 Windows --> Preferences를 눌러서 Android를 눌러보자. 그러면 경로 입력 창이 뜨는데, 거기서 안드로이드 압축이 풀려 있는 D:\GoogleAndroid 를 입력하면 기본적인 모든 설정은 끝난다.

참고 : 이 내용은 http://code.google.com/android/index.html 의 내용을 참조하여 작성되었음.

Posted by tuning-java
,

Android(이하 안드로이드)는 모바일 디바이스를 개발하기 위한 구글에서 만든 OS, 미들웨어, 어플리케이션의 집합이다.

고로 구글폰에서 사용할 수 있는 어플리케이션을 맹글 수 있다.


안드로이드의 홈페이지는 http://code.google.com/android/index.html 이며, 홈페이지를 통해서 여러가지 정보 및 동영상을 볼 수 있다.


안드로이드 개발을 위해서는 SDK를 다운로드 받아야 하는데, 초기 화면의 우측 상단 구석에 "Download Android"를 클릭해서 자신의 개발 환경에 맞는 도구를 선택하면 된다.

일반적으로 Windows에서 사용을 하므로, 앞으로의 설명도 모두 Windows 기반하에서 개발하는 방법에 대해서 정리하겠다.

안드로이드는 자바 언어를 사용하는데 Sun의 JDK가 아닌 Dalvik 이라는 가상 머신상에서 돌아가도록 되어 있다. 그래서 .dex 라는 파일을 통해서 실행하게 된다.


안드로이드의 주요 특징은

  • 어플리케이션 프레임웍이며
  • Dalvik VM을 사용하고
  • Webkit 이라는 엔진에 기반을 둔 통합 브라우져를 사용한다.
  • 그리고 OpenGL ES 1.0스펙을 따르는 2D, 3D 를 지원하고
  • SQLite라는 데이터 저장소를 사용하며,
  • MPEG4, MP3, JPG,GIF등의 미디어 지원을 한다.
  • 하드웨어에 의존적이긴 하지만 GSM 전화 기술과
  • 블루투스, EDGE, 3G, WiFi 기술과
  • 이클립스 상에서 수행할 수 있는 개발 환경을 지원한다. 물론 에뮬레이터와 디버깅 툴, 메모리 및 성능 프로파일링, 이클립스 플러그인도 여기에 포함되어 있다.

이제 대충 알아봤으면 위에 있는 홈페이지에 연결하여 SDK를 다운로드 하자.


참고 : 이 내용은 http://code.google.com/android/index.html 의 내용을 참조하여 작성되었음.

Posted by tuning-java
,

http://developer.yahoo.com/yui/examples/

야후 홈페이지와 동일한 화면을 만들고 싶으면,
이 사이트를 방문해보기 바랍니다.

AJAX를 구현하기 위한 좋은 툴이죠...

예제들을 보면서 여기저기 구경하세요.


Posted by tuning-java
,
SWT기반으로 개발하다보면 이것 저것 API가 생소하여

막히는 부분이 많이 생긴다.

http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/CatalogSWT-JFace-Eclipse.htm

이 사이트의 샘플을 통해서 각 API의 사용법을 익힌다면,

SWT는 쉽게 개발할 수 있다.
Posted by tuning-java
,

GWT를 사용하다보면 Frame 객체를 사용할 경우가 있다.

이때, border는 아무리 css에 적용을 해도, 지워지지 않는다.

아무래도 버그인듯 하다.

그에 대한 해결책은 다음과 같다.

com.google.gwt.user.client.DOM.setIntAttribute(frame.getElement(), "frameBorder", 0);

만약 끝의 숫자를 1로 하면, border가 나타난다.

Posted by tuning-java
,
http://code.google.com/webtoolkit/documentation/com.google.gwt.doc.DeveloperGuide.UserInterface.WidgetGallery.html


GWT에서 현재 제공중인 위젯들의 모음은

위의 URL에서 확인할 수 있다.

그런데, 실제 API에서 제공하는 위젯들을 구현해 보면,

거기에 있는 예제 그림과 많이 틀리다...


동일하게 하려면, CSS를 적용해야 하는데,

http://code.google.com/webtoolkit/documentation/examples/desktopclone/

요 소스와

http://code.google.com/webtoolkit/documentation/examples/kitchensink/

요 소스를 분석하면, 어떻게 CSS가 적용되어 있는지 확인이 가능하다.
Posted by tuning-java
,

변한게 별로 없을 것이라 생각하고...

일단 예전에 정리해 놓은것을 올려놓겠다.

출처는 Googlipse 홈페이지.


I know you don't have time to read a manual with dozens of pages. So here is a shortest manual possible for Googlipse.

여러분들이 여러 페이지의 메뉴얼을 읽을 시간이 없다는걸 저도 알고 있습니다. 그래서, Googlipse에 대한 가장 짧은 메뉴얼이 여기 있습니다.


Requirements:
요구사항 :

      Googlipse requires Eclipse 3.2 with WebTools Platform 1.5 running on a Java 1.5 VM. You need to separately install Google Web Toolkit.

      Googlipse 는 자바 1.5 VM에서 작동되고, 웹툴 플랫폼 1.5가 설치되어 있는 Eclipse 3.2가 필요합니다. GWT는 따로 설치해 놓으셔야 하구요.


Installation:
설치:

(*) Drop the com.googlipse.gwt_.jar file in your eclipse\plugins folder
(*) Open Eclipse. Select Window->Preferences->Googlipse and set GWT home to the directory where you have installed the Google Web Toolkit.
(*) You are all set to code.


(*) com.googlipse.gwt_.jar 파일을 eclipse\plugins 폴더에 떨궈 놓으세요.
(*) Eclipse를 엽니다. Window->Preferences->Googlipse 를 선택하고 GWT home 위치를 여러분이 GWT를 설치한 디렉토리로 설정하세요.
(*) 이제 모든 준비는 끝났지요.

Adding Googlipse to your project:
      Googlipse is implemented as a WTP Facet. When creating a new Dynamic Web Project, select Googlipse in the Project Facets page. If you already have a Dynamic Web Project, you can add Googlipse facet by selecting Project->Properties->Project Facets(Please make sure you don't have gwt-user.jar in your classpath). In case you didn't like Googlipse, you can remove the facet.

Googlipse를 프로젝트에 추가하기:
      Googlipse는 WTP Facet로 구혔되었습니다. 새로운 Dynamic Web Project때에는, Project Facets페이지에서 Googlipse를 선택하세요. 이미 Dynamic Web Project가 있을 경우에는, Project->Properties->Project Facets를 선택해서 Googlipse facet를 추가할 수 있습니다. (gwt-user.jar가 클래스패스에 없는지 꼭 확인하시구요). Googlipse가 마음에 안드시면, facet을 삭제하실 수 있습니다.


Creating a Module:
      Once you have a Dynamic Web Project with Googlipse facet, you can add a new module by File->New->Other->Googlipse->Gwt Module. Modules can be created only in valid java packages (default package is not allowed). Either you can type in the package (with project & source folder) in the location field or you can select it by clicking Browse button. You can also click the Create button to create a new package. Next type in the name of the module. Click Finish, you will have all the artifacts for the module generated.

모듈 생성 :
      Googlipse facet을 사용하는 Dynamic Web Project 이 있을 경우에는 , File->New->Other->Googlipse->Gwt Module을 통해서 새로운 모듈을 추가할 수 있습니다. 모듈은 적합한 자바 패키지를 사용하였을 경우에만 추가 됩니다. (기본 패키지는 불가함). 패키지에서 location 필드를 입력하거나 Browse 버튼을 선택해서 패키지를 선택할 수 있습니다. Create 버튼을 클릭해서 새로운 패키지를 만들 수도 있습니다. 그 다음에는 모듈 이름을 입력합니다. Finish를 누르면, 모듈과 관련된 모든 결과물들이 만들어집니다.


Adding a Remote Service:
      Note :A Remote Service will be created only in a module. So if you don't have a module, you need to create one using the New Module wizard, before this step. You can select File->New->Other->Googlipse->Gwt Remote Service. Click the Browse button and select the module (the gwt.xml file). Type the name and uri for the service and click Finish. Now the artifacts for the remote service will be generated. Entries are added to web.xml and gwt.xml


리모트 서비스 생성:
      노트 : 리모트 서비스는 모듈에서만 추가가 됩니다.그래서 모듈이 없으면, 이 단계 이전에 신규 모듈 위저드를 사용해서 하나 생성해야 합니다. File->New->Other->Googlipse->Gwt Remote Service를 선택하세요. Browse 버튼을 누르고, 모듈을 선택하세요 (gwt.xml파일 선택). 서비스를 위한 이름과 uri를 입력한 후 Finish버튼을 클릭하세요. 리모트 서비스를 위한 결과물들이 만들어집니다. 이러한 엔트리들은 web.xml과 gwt.xml에 추가가 됩니다.

Adding a Remote Service method:
      You can open the RemoteService interface and add/change methods in it. You need to provide the implementation of those methods in RemoteServiceImpl class, but thanks to Googlipse, you don't have to do anything in RemoteServiceAsync. Googlipse will automatically update the corresponding Async file whenever a RemoteService interface is changed.

리모트 서비스 메소드 추가하기 :
      리모트 서비스 인터페이스 파일을 열어서 메소드를 추가하고 삭제할 수 있습니다. 여러분은 RemoteServiceImpl 클래스를 구현해서 이 메소드의 내용을 채워야하지만, Googlipse 덕분에 RemoteServiceAsync를 구현할 필요는 없습니다. Googlipse 에서 자동으로 RemoteService 인터페이스가 변경되었을때 Async파일을 수정해 주기 때문입니다.  

Calling a method using Remote Service:
      The utility class in the Remote service should help you in making the remote call.

MyRemoteServiceAsync async = MyRemoteService.Util.getInstance();
async.makeRemoteCall(param1, param2, callback);

리모트 서비스를 사용하여 메소드 호출하기 :
      리모트 서비스에 있는 유틸리티클래스는 여러분이 리모트 호출을 만드는 것을 도와주도록 되어 있습니다.
.
MyRemoteServiceAsync async = MyRemoteService.Util.getInstance();
async.makeRemoteCall(param1, param2, callback);

Running/Debugging a Gwt Application:
      Select Run->Run/Debug to activate the Lauch configuration dialog box. Double Click "Gwt Application". In the main page, you can select the Project & Module you want to run. In the parameters page you can select the parameters such as port and log level. Click Run to execute the GwtShell & bring up your application. The laucher will add the jar files & all the source folders in the project to your application.


Gwt 애플리케이션을 실행 및 디버그하기 :
      Run->Run/Debug 를 선택해서 실행 설정 다이얼로그 박스를 띄우시기 바랍니다. 여기서 "Gwt Application"을 더블클릭합니다. 메인 화면에서, 실행을 원하시는 Project & Module 선택하세요. 매개변수 페이지에서는 포트나 로그레벨과 같은 설정을 변경합니다. Run을 선택하셔서 GwtShell을 수행하시고, 여러분의 애플리케이션을 수행시키세요. 런쳐는 jar파일과 여러분의 애플리케이션의 프로젝트에 있는 모든 소스 폴더를 포함하여 실행하게 됩니다.

Deploying in external servers:
      You have to launch GWT app in the hosted mode, as said above, and click 'Compile/Browse' button to do the compilation. After than, you can add the project to any external server configured thru Eclipse-WTP, just as the way you used to deploy the normal Dynamic Web Application.


외부 서버에 설치하기 :
      GWT 애플리케이션을 hosted mode로 실행하셔야 합니다. 컴파일을 하기 위해서  'Compile/Browse' 버튼을 클릭하세요. 그 다음에는, 여러분은 어떠한 서버라도 Eclipse-WTP를 통해서 일반 웹 애플리케이션을 디플로이 하는 방식처럼 외부 서버에 프로젝트를 추가할 수 있습니다.


Creating a war:
      Compile the module as said in the above step. Select File->Export->Export as war. Follow the wizard. No more ant tasks :-)

war 파일 만들기:
      위의 단계에서 사용된 모듈을 컴파일 하시기 바랍니다. 그 다음 File->Export->Export as war를 선택하세요. 위저드를 실행시키면, 더이상의 ant 태스크는 필요가 없게 됩니다. :-)
Posted by tuning-java
,
http://www.cypal.in/studio

예전에는 Googlipse 라는 이름으로 제공된 툴인데,
이름이 싸이팔 스튜디오라는 이름으로 바뀌었다.

예전 사이트 주소는
http://www.googlipse.com/
이다.

이 툴을 사용하면 손쉽게 이클립스 상에서 GWT를 개발할 수 있다.
Posted by tuning-java
,

Google에서 GWT (Google Web Toolkit)을 공개 했다.

왜 했을까 ?

원문 출처 : http://code.google.com/webtoolkit/overview.html



What is Google Web Toolkit?
구글 웹 툴킷이 뭔가 ?

Google Web Toolkit (GWT) is an open source Java development framework that lets you escape the matrix of technologies that make writing AJAX applications so difficult and error prone. With GWT, you can develop and debug AJAX applications in the Java language using the Java development tools of your choice. When you deploy your application to production, the GWT compiler to translates your Java application to browser-compliant JavaScript and HTML.

GWT는 오픈소스 자바 개발 프레임웍이며, AJAX개발을 쉽게 할 수 있도록 도와준다. GWT로 AJAX를 개발하고 디버그할 수 있으며, 당신이 사용중인 자바 개발 툴을 사용할 수 있다. 당신의 어플리케이션은 프로덕션으로 만들때, GWT 컴파일러는 당신의 자바 어플리케이션을 브라우져에서 사용가능한 자바스크립트와 HTML로 번역해준다.

Here's the GWT development cycle:

GWT 개발 사이클을보면 다음과 같다.

  1. Use your favorite Java IDE to write and debug an application in the Java language, using as many (or as few) GWT libraries as you find useful.

    당신이 좋아하는 자바 IDE에서 자바언어로 어플리케이션을 만들고 디버그해라. 최대한 많은 GWT 라이브러리를 사용해서.
  2. Use GWT's Java-to-JavaScript compiler to distill your application into a set of JavaScript and HTML files that you can serve with any web server.

    GWT의 자바 to 자바스크립트를 사용해서 당신의 어플리케이션을 자바스트립트 셋과 HTML파릴로 만들어라. 그러면 어떠한 웹서버에서도 사용이 가능해진다.
  3. Confirm that your application works in each browser that you want to support, which usually takes no additional work.

    당신이 만든 어플리케이션이 여러 브라우져에서 수행되는지를 확인해 보라. 아마도 추가적인 일을 할것이 없을 것이다.
       

Why Translate Java Code to JavaScript ?
왜 자바코드를 자바스크립트로 변환해야 하는가 ?

Java technologies offer a productive development plaform, and with GWT, they can instantly become the basis of your AJAX development platform as well. Here are some of the benefits of developing with GWT:
자바 기술은 생산성 좋은 개발 플렛폼을 제공하고, GWT를 이용하면 AJAX 개발 플렛폼에서 개발을 쉽게 할 수 있다. GWT의 장점은 다음과 같다.

  • You can use all of your favorite Java development tools (Eclipse, IntelliJ, JProfiler, JUnit) for AJAX development.

    당신이 좋아하는 AJAX개발을 위해서 자바 개발툴을 사용할 수 있다.(이클립스, 인텔리J, J프로파일러(이건 프로파일런데...), J유닛(이건 테스트 툴인데)
  • Static type checking in the Java language boosts productivity while reducing errors.

    자바 언어의 정적 타입 체크 기능으로 에러를 줄이고 생산성을 향상 시킬 수 있다.
  • Common JavaScript errors (typos, type mismatches) are easily caught at compile time rather than by users at runtime.

    실행시에 에러를 잡아내는 것 보다 컴파일시에 일반적인 자바 스크립트 에러를 쉽게 잡아낼 수 있다.
  • Code prompting/completion is widely available.

    코드 프롬프팅 및 완료가 가능하다.
  • Automated Java refactoring is pretty snazzy these days.

    자동화된 자바 리펙토링이 쉽도록 되어 있다.
  • Java-based OO designs are easier to communicate and understand, thus making your AJAX code base more comprehensible with less documentation.

    자바 기반의 객체지향 디자인은 커뮤니케이션하고 이해하기에 쉽도록 되어 있기 때문에, 당신의 AJAX코드 기반으로 반드는 것은 문서화 작업을 적게하고 이해하기가 쉽다.
Posted by tuning-java
,