레이블이 JAR인 게시물을 표시합니다. 모든 게시물 표시
레이블이 JAR인 게시물을 표시합니다. 모든 게시물 표시

2013년 8월 8일 목요일

오라클자바커뮤니티에서 설립한 오엔제이프로그래밍 실무교육센터, iPhone 하이브리드 앱 개발 실무과정(평일야간) 개강확정

iPhone 하이브리드 앱 개발 실무과정

오라클자바커뮤니티에서 설립한 오엔제이프로그래밍 실무교육센터
(오라클SQL, 튜닝, 힌트,자바프레임워크, 안드로이드, 아이폰, 닷넷 실무전문 강의)  

강좌명iPhone 하이브리드 앱 개발 실무과정(평일야간)
교재본원 자체교재 무료지원
강좌 일정08월21일(수) ~ 09월09일(월)((평일야간) 19:00~22:00, 14일) 총 42시간
강의 장소[B강의장]구로디지털단지역2번 출구-> 미니스톱끼고 우회전 -> 100m 직진 후 골목길 끝에서 이마트방향 우회전 -> 50m 직진 후 우체국 옆골목으로 길건너서 직진 -> 150미터 직진 후 JnK 타워에서 우회전 -> 50미터 직진 후 우측에 코오롱빌란트2차 803호 (구로구 구로3동 222-8 코오롱디지털타워 빌란트2차 803호)
[약도보기]
수강절차- 강좌내용 확인
- 전화 또는 홈페이지(www.onjprogramming.co.kr)를 통한 수강지원 및 수강료 결제(무통장입금, 온라인 카드결제)
- 고용보험 가입자(재직자)인 경우 고용보험환급 관련 서류 제출
- 수강전 : 커리큘럼 및 장소에 대해 다시 한번 공지
- 교육 전 설문 작성(간단한 개발 경력, 수강 목적, 강좌진행방식 등)
- 강좌 수강
- 수강후 : 교육 후 설문 작성
수강료580,000원
- 맥북무료지원
고용보험 환급(50~80% 환급)
[고용주환급]대기업:17만원 전후,중소기업:216,968원
[개인수강지원(개인환급)]정규직 464,000원 ,비정규직:전액환급

재직자 내일배움카드 : 정부지원금 80% 자기부담금 20%
(구 능력개발카드 명칭이 내일배움카드로 변경 / 연간 총한도 200만원)

* 휴강 :법정공휴일
수강료
입금안내
- 온/오프라인 카드결제, 계좌이체(수강안내->입금안내 참조)
문의사항02-851-4790 번으로 연락 부탁 드립니다.
교육개요본강좌는 아이폰과 아이팟 터치용 앱 개발을 위한 실용적인 경험을 제공하며. 쉽게 따라 해 볼 수 있도록 구성된 여러 샘플 예제를 통해서 Xcode 도구 사용법, 오브젝티브-C, 코어 프레임워크 등을 배우게 된다. 자신도 모르는 사이에 앱 개발에 필요한 기술은 물론이고 아이튠즈 앱스토어에 앱을 제출하는 과정도 알게 된다. 아이폰 프로그래밍에 첫 발을 내딛는 입문자 혹은 랭귀지 개발자에게 적합한 교육이다.

Xcode와 인터페이스 빌더 사용법, 오브젝티브-C를 이용한 모델-뷰-컨트롤러 구조, 데이터 입력 인터페이스 구현 및 입력 데이터 핸들링, 다양한 예제를 빌드를 통해 일반적으로 발생하는 문제 해결법, 앱스토어와 임시 배포에 필요한 요구 사항, 아이폰 가속도계, 근접 센서, 아이폰의 설정 앱 핸들링,이후 아이폰에서의 SQLite 활용, SQLite 관리 도구 활용, 실전에서 활용 가능한 최적화 기법 등의 내용을 배우게 됩니다.
교육목표- MAC 사용방법 실습
- Objective-C 프로그램 언어 이해
- Xcode와 인터페이스 빌더 사용법
- 오브젝티브-C를 이용한 모델-뷰-컨트롤러 구조 이해
- 데이터 입력 인터페이스 구현 및 입력 이헤
- 데이터 핸들링 이해
- 앱스토어와 임시 배포에 필요한 요구 사항
- UIKit프레임웍 이해
- 프로토콜, 델리게이트의 이해
- NSXMLParser
- 웹서버와 GET, POST 방식의 통신
- 임베디드 기기를 위한 SQLite 최적화
- SQLite 활용, SQLite 관리 도구 활용 이해
- SQLite 실전에서 활용 가능한 최적화 기법 이해
- 하이브리드앱 개발
교육대상-Objective-C 활용분야에 관심이 있는 자
-Cocoa / Xcode / iPhone 기반 애플리케이션/스마트폰 개발자
-SQLite 개발자
-SDK APP 개발자 
선수학습- c, c++
-프로그래밍 초보자
 



아이폰 개발 준비- MAC에 대한 개요와 이해
- MAC 사용방법 실습
- 개발자 라이센스 등록 절차 및 인증서 등록
- 앱의 다양한 배포방법(adHoc, Appstore, OTA)
objective-c- objective-c의 개요
- 콘솔창에서 클래스 만들고 gcc로 컴파일하기
- iPhone에 대한 개요과 구조 설명, Xcode 사용방법
- 메모리 관리(수동메모리관리)
- Foundation 프레임웍 개요
- UIKit프레임웍의 개요
- 세터와 게터 만들기
- 프로퍼티에 대한 이해, 점연산자
- 프로퍼티 속성
- 메시지 전달 방식에 대한 이해
- 프로토콜, 델리게이트의 이해 및 실습
iPhone SDK- Xcode에서 프로젝트 설정
- NSLog 및 출력 서식 사용하기
- 인터페이스 빌더, IBOutlet, IBAction에 대해 이해하기
- Immutable, Mutable 클래스의 차이
- MVC, Delegate, SingleTon, Target Action 패턴 이해
- 아이폰의 샌드박스구조에 대한 이해 및 파일처리
- UIButton, UILabel, UIImmageView 실습
- UISwitch, Webkit, UISegmetedControl 실습
- UITextField, UITextView, UISlider 실습
- main 구조파헤치기
- UIApplication 라이프 사이클 이해하기
- UIViewController , UIView 라이프 사이클 이해하기
- UIAlertView, UIActionSheet 실습
- UIPickerView 커스터마이징
- TableView 커스터마이징
- TableView Cell 커스터마이징
- UIKit Frameowork 와 Interface builder의 개연성 이해하기
- NSXMLParser
- 웹서버와 GET, POST 방식의 통신 구현
- Navigation Template 구현하기
- NSConnection을 이용한 ASynchronous 통신
SQLite3- Sqlite3 사용실습
- Sqlite3 사용실습
실무 하이브리드앱 개발- 하이브리드앱 개발
- 하이브리드앱 개발
- 하이브리드앱 개발
 

[ORACLEJAVANEW.KR]Struts DispacthAction 클래스

Struts DispacthAction 클래스 DispacthAction 클래스


오라클자바커뮤니티에서 설립한 오엔제이프로그래밍 실무교육센터
(오라클SQL, 튜닝, 힌트,자바프레임워크, 안드로이드, 아이폰, 닷넷 실무전문 강의)  


액션의 경우 하나의 클래스에 관련된 action이 정의 되어 있는 것이 좋은 방법인데  DispacthAction 클래스는 관련된 action은 하나의 클래스에 관리하는 방법을 제공 합니다.

DispacthAction 클래스는 추상 클래스 이므로 사용하기 위해서는 액션 클래스에서 오버라이드 해야 하며 DispacthAction 클래스에서는 어느 action이 불리어져야 하는지를 관리 하기 위해 hidden request parameter를 관리 합니다.

DispacthAction 을 상속 받은 하위 클래스로 넘어오는 hidden parameter는 스트럿츠 설정 파일에 있는 <action> 요소의 parameter 라는 속성의 값이 넘어 오게 됩니다.

결국 DispacthAction 클래스를 상속 받은 하위 클래스는 execute() 메소드와 signature가 같은 많은 메소드(각각의 Action이 수행 해야 하는 메소드)를 정의해야 합니다.


=================================================================

1. Action 처리를 위한 DispatchAction클래스의 하위 클래스를 작성

public class UserRegistrationMultiAction extends DispatchAction {
...
}

2. 관계된 action을 구현 합니다.

public ActionForward processPage1( ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
...
}

public ActionForward processPage2(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
...
}


3. Action Mapping을 작성 합니다. 이때 paramter라는 속성에 “action” 이라고 줍니다. 이 action이라는 파라미터와 그 값(이건 JSP에서 넘어 옵니다)이 위에서 구현한 DispatchAction 클래스를 상속한 UserRegistrationMultiAction 클래스에 넘어 가게 됩니다.
즉 paramter인 action의 값이 수행 하고자 하는 action이 되는 것 입니다.

<action path="/userRegistrationMultiPage1"
type="strutsTutorial.UserRegistrationMultiAction"
name="userRegistrationForm"
attribute="user"
parameter="action"
input="/userRegistrationPage1.jsp">
...
</action>

<action path="/userRegistrationMultiPage2"
type="strutsTutorial.UserRegistrationMultiAction"
name="userRegistrationForm"
attribute="user"
parameter="action"
input="/userRegistrationPage2.jsp">
...
</action>

4. 이젠 JSP에서 action이라는 히든 텍스트를 만들어 Action이 일어 날 때 Action을 처리하는  클래스(UserRegistrationMultiAction ) 로 넘기게 됩니다.

userRegistrationPage1.jsp 에 포함된 히든 태그

<html:hidden property="action" value="processPage1"/>

userRegistrationPage2.jsp 에 포함된 히든 태그

<html:hidden property="action" value="processPage2"/> 

2013년 8월 5일 월요일

(자바프레임워크 스트럿츠, 자바교육,자바오라클교육)Struts 국제화 및 message/text의 한글화

국제화 및 VIEW의 message/text의 한글화


오라클자바커뮤니티에서 설립한 오엔제이프로그래밍 실무교육센터
(오라클SQL, 튜닝, 힌트,자바프레임워크, 안드로이드, 아이폰, 닷넷 실무전문 강의) 




국제화란 다양한 언어 및 지역을 지원하는 것을 말합니다. 즉 언어가 바뀌더라도 코드의 수정 없이 언어에 대한 것이 지원 되어야 하며 텍스트 요소, 메시지, 이미지 등을 소스 외부에 두어 다양한 환경 변화에 능동적으로 대처가 가능 해야 합니다.

자바 언어의 java.util.ResourceBundle은 주어진 지역에 다라 리소스를 따로 그룹핑 할 수 있는 기능을 제공 합니다. 이러한 리소스는 필드명, 버튼의 레이블, 상태를 나타내는 메시지등 인데 이미지 이름이나 에러 메시지 같은 것들도 해당 됩니다.

스트럿츠에서는 자바에서 제공 하는 리소스 번들을 사용하지 않는 대신 비슷한 기능을 하는 org.apache.struts.util.MessageResources와 이를 실제 구현한 하위 클래스인 org.apache.struts.util.PropertyMessageResources를 사용 합니다.

이전 강좌인 로그인 예제의 로그인 화면(login.jsp)의 경우 텍스트 글씨를 application.properties 에서 읽어 화면에 뿌려 주었던 것을 기억 하실 겁니다. 아마 이 파일 안에 메시지를 한글로 넣으신 분들은 한글이 깨지는 것을 보셨을 거구요…

이번에는 한글도 안 깨어지면서 다양한 언어에 따라 지원 할 수 있는 국제화에 대해 알아 보기로 하겠습니다.

주의) 리소스 번들 파일의 확장자는 .properties 이며, WEB-INF/classes 아래에 package 형태로 위치해 있어야 합니다.

web.xml에서 다음과 같이 선언 되었다면….

<!-- 아래는 스트러츠 Application에서 사용할 Message Resource들을 설정 -->
<!-- 확장자가 properties인 application.properties를 만들어 넣으면 된다 -->
<message-resources parameter="resources.application"/>

WEB-INF/classes/resources 아래 application.properties 파일이 존재하고 있어야 합니다.

application.properties 파일이 다음과 같다고 했을 때…
-----------------------------------------
login.title = Login
login.login = Login
login.reset = Cancel

prompt.id = 사용자아이디  :
prompt.password= 비밀번호 :

main.title=Main


###############################################3
error.id.required=<li>ID REQUIRED.</li>
error.pwd.required=<li>PASSWORD REQUIRED</li>
error.login.invalid=<li>ID/PASSWORD NOT CORRECT</li>

errors.header=<h3><font color="red">ERROR!</font></h3>
                  You must correct the following error(s) before proceeding:<UL>
errors.footer=</ul><hr>


아마도 아래처럼  login.jsp가 구성 되어 있다면 텍스트의 한글이 깨질것입니다.

나머지 부분은 생략 했습니다.

                <tr>
                        <!-- Submit 버튼과 Reset 버튼을 생성 -->
                        <!-- 버튼의 라벨은 application.properties에서 내용을 가져 옵니다 -->
                        <th></th>
                        <td>
                            <html:submit>
                                <bean:message key="login.login" />
                                  </html:submit>
                       
                            <html:reset>
                                <bean:message key="login.reset" />
                                  </html:reset>
                        </td>
                </tr>                               
-------------------------------------------

[실행 화면]

 


이번에는 한글 문제도 해결 하고 국제화 부분도 처리하도록 하겠습니다.


/WEB-INF/classes/resources 에 application_en.properties를 다음과 같이 만듭니다.


login.title = Login
login.login = Login
login.reset = Cancel

prompt.id = User ID  :
prompt.password= Password :

main.title=Main


###############################################3
error.id.required=<li>ID REQUIRED.</li>
error.pwd.required=<li>PASSWORD REQUIRED</li>
error.login.invalid=<li>ID/PASSWORD NOT CORRECT</li>

errors.header=<h3><font color="red">ERROR!</font></h3>
                  You must correct the following error(s) before proceeding:<UL>
errors.footer=</ul><hr>


이번에는 application.properties 를 만듭니다.


login.title = Login
login.login = Login
login.reset = Cancel

prompt.id = 사용자아이디  :
prompt.password= 비밀번호 :

main.title=Main


###############################################3
error.id.required=<li>ID REQUIRED.</li>
error.pwd.required=<li>PASSWORD REQUIRED</li>
error.login.invalid=<li>ID/PASSWORD NOT CORRECT</li>

errors.header=<h3><font color="red">ERROR!</font></h3>
                  You must correct the following error(s) before proceeding:<UL>
errors.footer=</ul><hr>


명령프롬프트를 실행 하여 다음처럼 하세요…
(native2ascii는 안에 있는 내용을 \uXXXX 형식인 유니코드로 바꾸어 자바 프로그램에서 한글로 읽어 낼 수가 있도록 해 줍니다. 혹시 궁금하신 분은 Java 강좌의 “Properties 파일에서 한글 읽기”를 참고하시기 바랍니다.)

D:\Tomcat-Project\Login\WEB-INF\classes\resources>native2ascii application.properties application_kr.properties

이 명령을 실행 하면 application_kr.properties 파일이 만들어 질겁니다. 그럼 application_kr.properties 파일을 열어 전체 내용을 복사하여 application.properties에 전체 붙여 넣습니다.

여기까지 수행 하면 파일은 총3개가 만들어 졌습니다.

Default인 application.properties
브라우저의 언어가 한국어일 때 저절로 호출되는 application_kr.properties
브라우저의 언어가 영어권일 때 저절로 호출되는 application_en.properties

브라우저의 언어 설정이 한국어나 영어권이 아니면 default가 호출되며 한국어 이면 저절로 application_kr.properties 파일이 호출되며 영어권이면 application_en.properties 파일이 참조 됩니다. 그런데 _kr이 붙은 것과 default는 같은 내용으로 native2ascii 한 내용 입니다.(즉 한글을 디폴트로 했습니다.) 이 내용은 유니코드로 변환 한 것이기 때문에 한글이 깨지지 않고 나타납니다.

참고로 application_ke.properties 및 application.properties 의 내용은 아래와 같습니다.


login.title = Login
login.login = Login
login.reset = Cancel

prompt.id = \uc0ac\uc6a9\uc790\uc544\uc774\ub514  :
prompt.password= \ube44\ubc00\ubc88\ud638 :

main.title=Main


###############################################3
error.id.required=<li>ID REQUIRED.</li>
error.pwd.required=<li>PASSWORD REQUIRED</li>
error.login.invalid=<li>ID/PASSWORD NOT CORRECT</li>

errors.header=<h3><font color="red">ERROR!</font></h3>
                  You must correct the following error(s) before proceeding:<UL>
errors.footer=</ul><hr>


Tomcat을 종료 후 다시 시작 후 login.jsp를 실행 하시면 다음과 같은 결과를 얻을 수 있습니다. (사용자아이디 :, 비밀번호: 라고 한글이 잘 나타납니다.)

[결과]
 

혹시 한글이 아닌 영어가 나타나시는 분은 브라우저의 언어 설정이 영어로 되어 있어서 그러하니 도구  인터넷옵션  언어를 한글로 바꾸시기 바랍니다.

그럼 이번에는 브라우저의 언어 설정을 영어로 바꾸어 볼까요?

도구  인터넷옵션  언어를 클릭하시면 다이얼로그 창이 나타납니다.

여가서 영어가 없으신 분은 “추가”를 하셔서 영어를 추가 하시구요…

그런 다음 영어를 맨 위로 올리세요…(맨 위에 오는 언어가 기본이거든요) 

이젠 영어가 기본 언어로 설정 된 것입니다.

그런 다음 다시 login.jsp를 실행 하면(브라우저에서 reload 하세요)

아래와 같은 결과가 나타납니다. (이번엔 라벨이 User ID, Password 와 같이 영어로 나타 납니다.)

[결과]
 


이상 입니다. Native2ascii 명령 기억하시구여,,, 브라우저의 언어 설정에 따라 화면의 텍스트가 한글 또는 영어로 되는 것을 잊지 마세요…

2013년 8월 1일 목요일

java.util.HashMap 클래스 – 예제

import java.util.*; 
public class HashMapTest { 
  public static void main(String args[]) { 
    Map map = new HashMap(); 
    Integer hana = new Integer(1); 
    for (int i=0, n = args.length; i<n; i++) { 
      String key = args[i]; 
      Integer freq = (Integer)map.get(key); 
      if (freq == null) { 
        freq = hana; 
      } 
    else { 
        int value = freq.intValue(); 
        freq = new Integer(value + 1); 
      } 
      map.put(key, freq); 
    } 
    System.out.println(map); 
    Map sortedMap = new TreeMap(map); 
    System.out.println(sortedMap); 
  } 


JAVA, JAR EXAMPLE(자바 JAR, 자바실무교육, 오라클자바실무, 오엔제이프로그래밍)

JAR 명령어는 UNIX TAR와 비슷해서 공부하기도 쉽습니다.

오라클자바커뮤니티에서 설립한 오엔제이프로그래밍 실무교육센터
(오라클SQL, 튜닝, 힌트,자바프레임워크, 안드로이드, 아이폰, 닷넷  실무전문 강의) 


Jar c|t|u|x[f][m][M][0][v] [jar파일의이름] [menifest] [-C directory] [files]
  Jar –I[jar]
  - 처음 Option의 첫번째 문자(기본적인 연산을 지정)
  c : 새로운 Jar Archive를 생성, 마지막인자로 입력파일등을 표시, 새롭게 생성된 JAR File 
      은 첫번째 엔트리로 META-INF/MENIFEST.MF 파일을 가지며 이파일은 JAR File의 
      내용을 나열하며 각각의 파일에 대한 메시지 요약을 포함한다.
  t : Jar Archive의 내용을 나열한다. 
  u : Jar Archive 파일의 내용을 갱신, 커맨드라인에 나열된 파일은 이 아카이브에 추가된다. 
      m 옵션과 같이 사용된 경우에는 지정된 메니페스트 정보를 Jar File 에 추가한다.
 x : JAR Archive의 내용을 추출한다.
 - 한정자 옵션(4개의 명령지정문 뒤에서 연산에 관한 자세한 정보를 제공)
 f: jar가  Command Line의 지정된 이름의 JAR File에 대해 수행되는 것임을 나타낸다. 
    지정되지 않으면 표준입력으로 JAR File을 읽고 표준출력으로 JAR File을 쓴다.
m : 메니페스트 템플릿이 코맨드라인에 지정되었음을 JAR 명령에게 알린다.,(c,u Option과
    함께사용)


M : jar가 기본 메니페스트 파일을 생성하지 않도록 함(c, u와 함께 사용)
v : 여러 가지 출력을 내보내도록 함
0 : jar가 압축 없이 파일을 JAR 아카이브에 저장 하도록 함 

첫번째 옵션이 f를 포함한다면 jar파일의 이름을 기술하며, m을 포함한다면 menifest파일이름을 기술한다. 만약 첫번째 Option이 f,m을 모두 포함한다면 이와 동일한 순서로 나열해야 한다. Files에는 JAR Archive에 포함시킬 파일을 나열한다.

** 추가옵션
-C Directory : Jar가 다음파일및 디렉토리를 처리하는중에 지정된 dir을 바꾸도록 한다. –C Option은 몇개라도 사용이 가능하며, 다음 –C Option이 올때까지 유효하다.
-I jarfile : c,t,u,x 대신 사용, Jar File의 파일구조등의 인덱스를 산출하도록, META-INF/INDEX.LIST 파일에 저장
 추후 자바인터프리터나 애플릿뷰어등이 알고리즘의 최적화하고 불필요한 Jar File을 다운로드 하지 않기 위해서 이 인덱스 정보를 이용활수 있다.



jar cvf hello.jar HelloWorld*.class
jar cf hello.jar HelloWorld*.class -> 위의 것과 동일하나 화면에 출력이 나타나지 않는다.
jar cmf myMenifest test.jar HelloWorld.class -> test.jar File을 만들면서 myMenifest 라는 파일의 내용을 MENIFEST.MF File에 첨가한다.
Jar ufm test.jar myMenifest -> 이미 만들어져 있는 test.jar File의 MENIFEST.MF File을 myMenifest 를 참조하여 갱신한다.
Jar umf myMenifest test.jar

D:\자바프로그래밍\예제>jar tvf hello.jar
    0 Fri Jun 28 19:07:24 KST 2002 META-INF/
    95 Wed Jul 03 00:08:38 KST 2002 META-INF/MANIFEST.MF
  430 Fri Jun 28 18:30:38 KST 2002 HelloWorld.class
D:\자바프로그래밍\예제>jar tf test.jar
META-INF/
META-INF/MANIFEST.MF
HelloWorld.class


D:\자바프로그래밍\예제>jar uf test.jar HelloWorld1.class

D:\자바프로그래밍\예제>jar uf test.jar HelloWorld2.class

D:\자바프로그래밍>jar cvf sample.jar -C 예제/  .  sample.jar file은 예제 dir에 생김

D:\자바프로그래밍\예제>jar tvf test.jar
    0 Fri Jun 28 19:07:24 KST 2002 META-INF/
    95 Wed Jul 03 00:08:38 KST 2002 META-INF/MANIFEST.MF
  430 Fri Jun 28 18:30:38 KST 2002 HelloWorld.class
  391 Fri Jun 28 17:35:00 KST 2002 HelloWorld1.class
  354 Fri Jun 28 17:35:00 KST 2002 HelloWorld2.class