* Mobile JQUERY * 

- www.gseek.kr 

 

1.  html tag
    <!doctype html> : 문서형식 지정.  html5로 작성된 웹문서를 의미
   utf-8 : 한글+영문+모든 언어 사용가능
   <span> : 인라인 엘리먼트를 그룹으로 묶을 때 사용.
   element 2종류 : 블럭레벨, 인라인레벨 엘리먼트
   <article> : main content 영역을 article일 한다.
   <fieldset> : n개의 filed(input)를 그룹으로 묶음
    <legend> : fieldset에 그룹으로 묶은 라인에 lable을 넣는다.
    <lable> : 시작장애인에게 lable내용을 읽어준다.
2. css
   -  * {..} : 모든 element에 css적용 
       hi { ...}
       .css_nm {..}
       #id {..}
       #id li {...} : id 하위의 li만 적용 (#id는 부모,  li:자식)
       #id1 > #id2 {..} : id 2개의 상하 구조는 (> : 부등호)를 추가해야 됨
       p + #id {..} : p elemet와 같은 level의 id의 css적용
       header ~ p {..} : header와 같은 level의 모든 p tag의 css적용
      #id li:nth-child(n) : id하위의 n번째 li 요소에 css적용
             (#id li:first-child, #id li:last-child, 
    - padding : box(table)내부의 텍스트와의 간격
       margin   : box(table)외부와 다른 영역(텍스트, table등)과의 간격
    - css. 속성
       float : 화면 크기에 따라서 유동적으로 해당 객체가 이동됨
       clear : float 속성을 제외(clear)시킨다.
       display : 블럭레벨 엘리먼트를 옆으로 이동될 수 있도록 해준다.
                     반대로도 가능
       display:none;  display:hidden
       . none : 객체의 위치가 아에 존재하지 않음
       . hidden : 객체가 안보여지지만 해당위치는 찾이하고 있음
     - position : 웹문서 안에 원하는 위치에 요소를 배치하기 위한 속성
        1. static    : 요소를 문서의 흐름대로 배치
        2. relative : 요소를 상대적으로 배치
        3. absolute : 문서의 흐름과는 상관 없이 배치
        4. fixed : 지정한 위치에 고정해서 배치

3. 웹폰트
    - 웹폰트 정의
       . 예를 들어, 나눔고딕은 windows system font가 아니다.
         그래서 html 작성시 나눔고딕 font를 적용하게 되면 일반 사용자들은 폰트가 깨진다.
         이럴 경우 font-face를 이용해서 나눔고딕.ttf를 download받아 자동 설치 될 수 있도록 한다.
       . 즉, 웹폰트라는건 웹상세 존재 하는 font를 download받아 내 pc에 설치 후 해당 html에 적용되어 
         웹site를 적용된 font를 기준으로 볼 수 있도록 해준다.
    - @font-face{font-family:"나눔고딕";  src:url("./font/나눔고딕.ttf");  format("truetype"); }

4. javascript
    - document.write("..") : document란, 현재 문서를 의미
    - document.getElementByTagName("div")[0].firstChild.nodeValue
    - var aa = document.getElementByTagName("div")[0];
       aa.innerHTML = "good~~";
    - 

5. jQuery
   - javascript보다 10~100배 정도 느리다.
   - <script src="//code.jquery.com/jquery-latest.min.js"></script> : min이란 소스가 압축되었다는 뜻
   - jQuery = $  : selector, 선택자
   - $("*") : document문서 전체 element 얻기
   - $('#id') = jQuery('#id') ; id에 대한 element 얻기
   - $(".id") 또는 $(".id1, .id2") : class id에 대한 element 얻기
   - $("span, #id1, .id2")
   - $("[name=id1], [name=id2]") : 
   - $("[name^=d]"); : name이 d로 시작하는 element 얻기
   - $("[name$=d]"); : name이 d로 끝나는 element 얻기
   - $("[name*=d]"); : name이 d로 포함된(like) element 얻기
   - $('[name~="id1"]'); : name이 id1이 아닌 element 얻기

6. Mobile jQuery
  - 기본 event 1
    var init = function() {...});
    $(document).bind('mobileinit', init); : 제이쿼리 모바일이 초기화 될 수행 
    $(document).bind('pageinit', init); : 페이지가 초기활 될 경우 init 수행
    $(document).read(init); : 모든 초기화가 완료된 경우 init수행
   - event 2 (아래는 모두 동일 event)
      var init = function() {  $('#btn').tap(function() {  .....  });
      var init = function() {  $('#btn').on(function() {  .....  });
      var init = function() {  $('#btn').click(function() {  .....  });
      var init = function() {  $('#btn').bind(function() {  .....  });
      $(document).bind('pageinit', init);
   - 버튼text변경
     . $('btn1').prop('value', '버튼명');
     . $('btn1').attr('value', '버튼명');
     . $('btn1').val('버튼명');
     . $('btn1').text('버튼명');
     . $('btn1').refresh(); //마지막에 refresh를 해줘야 됨
   - 버튼 option변경
     . $('btn1').button('option', 'iconpos', 'top');
   - class
     . <button class="...."></button>
     . 버튼 clss종류 : ui-btn, ui-icon-heart, ui-btn-icon-notext, ui-btn-inline, ui-shadow, ui-corner-all
     . div class 종류 : 
  - mobile용 jQuery include
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
<script src="http://code.jquery.com/jquery.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
   - option 및 option속성
     . data-role, data-icon, data-iconpos, data-enhanced, footer, data-iconshadow
         , data-thme, data-inline, data-mini, data-role, data-position
     . class : ui-content, ui-body, ui-bar ui-bar-a, ui-body ui-body-a, ui-corner-all, 
     . data-icon속성 : check, carat-r, carat-l, carat-u, carat-d, delete, info, false, gear, phone, heart, lock, shop, 
     . data-iconspos 속성 : left, right, left, bottom
     . data-iconshadow 속성 : true/false
     . data-inline 속성 : true/false
     . data-mini 속성:  true/false
     . data-role 속성 : button, listview , list-divider, 
     . data-position  속성 : fixed
     . data-them 속성 : a, b, 
     . data-clear-btn : true/false
     . placeholer : "내용"
     . data-divider-theme 속성 : a
     . data-autodividers  속성 : true/false
     . data-inset 속성 : true/false
     . data-filer  속성 : true/false

   - input
     . <input typ="...">
     . type 종류 : text, search, number, date, month, week, time, email, url, checkbox, 
   - div
     . class 종류 : ui-field-contain, 

   - jQuery Grid
     . 정의 : div와 class 속성을 이용해서 grid를 만든다.
     . <div class="ui-grid-a">
            <div class="ui-block-a" style="background-color:yellow">1블럭(열/컬럼)</div>
            <div class="ui-block-b" style="background-color:red">2블럭(열/컬럼)</div>
       </div>
   - 
   - 기본 body 구조
      <body>
             <div data-role="page">
                      <div data-role="header" data-position="fixed">...</div>
                      <div data-role="main"    class="ui-content">...</div>
                      <div data-role="footer" data-position="fixed">...</div>
             </div>
      </body>
   - 
   - 
   - 
   - 


2-1 : 9장 

Posted by 농부지기
,

Fenix FG-155D : 15만원

동영상(초보)
  - 조율기 https://www.youtube.com/watch?v=TS9aoTlkBC8
  - 박자,음표,쉼표 https://www.youtube.com/watch?v=kofAS_GeGRY
  - 반복기호 https://www.youtube.com/watch?v=DYT6H8EjQ68
  - 으뜸음 찾기 https://www.youtube.com/watch?v=IfI5N5BLyPo

  - 스트로크 https://www.youtube.com/watch?v=DcThK8ifrWc
  - 크로메틱연습 https://www.youtube.com/watch?v=ml4vRpBVdXI

  - 타보악보보는 법 https://www.youtube.com/watch?v=ml4vRpBVdXI

  - 왕초보강좌(1~12강)[꿀잼기타] https://www.youtube.com/channel/UC9AZOV7EiHCWMlZajXiuU4Q

  - 펜타토닉스케일 https://www.youtube.com/watch?v=xMsFw2ULiu8
  - 아르페지오(1~2강) https://www.youtube.com/watch?v=o9Sb1QN9WOE
                                    https://www.youtube.com/watch?v=RWinGt0IJEw

동아리
토마토(인천지역 여성 통기타 모임)
현사랑(안양지역 통기타 동아리)  - 01082149245 (경기도 안양시 만안구 안양로 344-1 (안양동))
안양5동 통기타 교실






악보 만들기
   - 악보만들기 https://www.youtube.com/watch?v=5FVeFw7Z2ek

기타 완초
  - 스트로크 연습 https://www.youtube.com/watch?v=pDlFXykXlao

  - 피킹연습(down/up), 손가락연습 (오부리킴) https://www.youtube.com/watch?v=yGqZ4s34fGw
  - 메이져에서 마이너 코드 만들기(오부리킴) https://www.youtube.com/watch?v=SKEwAADARoo
  - 슬로우고고 주법, 아르페지오 https://www.youtube.com/watch?v=igSlhJ8dt2g
  - 고고 주법 https://www.youtube.com/watch?v=XUjEjSXC9-s
  - 슬로우락, 아르페이지(+베이스런) https://www.youtube.com/watch?v=-fRHfWo626s

노래
  - 벚꽃엔딩(꿀잼기타)-초급-셔플-4분부터시작 https://www.youtube.com/watch?v=qjUJVyrdAyU&t=601s

 

 

나란한조
   - https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=lessonrachel&logNo=220853398312
   - https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=dullymusic&logNo=221093381129

5 도권
  - https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=dullymusic&logNo=221093381129

딸림조
  - https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=dullymusic&logNo=221093381129

버금딸림조
  - https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=dullymusic&logNo=221093381129

 

나란한조
  - http://www.schoolmusic.co.kr/kin/?var=view&question_no=15368&category=

음악
   - https://blog.naver.com/dkjs0523/221686814882  (STEP별 강의집 존재)
   - https://blog.naver.com/pgmfrm/221310440503 (STEP별 강의집 존재)

메이저,마이너
   - https://blog.naver.com/pgmfrm/221310440503 (STEP별 강의집 존재)
   - 
펜타토닉 (개념)
 - https://blog.naver.com/hongak2000/222517776654
  - https://blog.naver.com/dkjs0523/221686814882 (이미지) - 짱
 - https://music7.tistory.com/7   (설명잘되어 있음. 이해 됨)
  - https://blog.naver.com/dkjs0523/221686814882
  - https://blog.naver.com/mrleee/222150658219

  - https://music7.tistory.com/7
  - https://blog.daum.net/psljjh/4066
  - https://spmusic.tistory.com/793
펜타토닉 (기타연주연습)

* 펜타토닉(Pentatonic)의 의미
- Penta : 접두사로 '5'라는 숫자를 의미
- Tonic : '으뜸음'을 의미

따라서 '펜타토닉'이란 5개의 대표음으로 이루어진 음계를 말합니다.
즉, '도 레 미 파 솔 라' 중에서 반음계인 파, 시 를 뺀 '도 레 미 솔 라'의 음으로 구성됩니다.
* 메이져 펜타토닉 - 메이져 스케일에서 4번째와 7번째 음을 뺀 1, 2, 3, 5, 6번째의 다섯음을 구성음으로 합니다.
* 마이너 펜타토닉 - C메이져 펜타토닉 스케일의 6번째음(A, 라)를 근음으로 해서 다시 순서대로 배열하면
                           Am 펜타토닉 스케일이 됩니다.
                            즉 C메이져 펜타토닉과 Am 펜타토닉은 같은 구성음으로 이루어져 있습니다.

Posted by 농부지기
,

* color : 신프로의 색상표
1. 도형 점 선택/삭제 -> 선 : 원형으로 변경가능
2. 무료이미지 : https://pixabay.com,   https://www.flickr.com
3. 구글 : png 키워드 추가 (배경색없는 이미지)
4. 이미지 자르기 (도형 맞춰 자르기)
5. 이미지 다시 칠하기
6. 도형 -> copy + c -> v + image 
7. 도형 > 도형병합
8. 전환:페이지, 애니메이션:각객체 효과
9. 하이퍼링크 : 내문서,http,유튜브
10. 인포그래픽 : 
11. ppt : 예행연습
-----
1. 긴장완화 : 검지+약지 꽉 서로 누른다.(10초)
2. 세상에서 가장무서운거 : 벌래 -> ? -> 남앞에서 이야기 하는거
3.  재능, skill : ppt는 skill이다. 반복한습
4. 구조 : 3:3 tree 구조

Posted by 농부지기
,

엑셀 -gseek 강의 내용*
0. 인쇄
    - 머리글, 바닥글: 보기 -> 페이지레이아웃
                          페이지 레이아웃 -> 페이지 설정.더보기icon->머리긋/바닥글 tab
    - 인쇄자료 페이지 중앙에 인쇄 : 페이지 레이아웃 -> 페이지 설정.더보기icon->여백tab-> [v]가로,[v]세로
    - 예약어 : 디자인-> 여러icon   (예, &[날짜], &[페이지 번호])
    - 상단 Grid title을 매 페이지에 인쇄하기 : 페이지 레이아웃 -> 페이지 설정.더보기icon->시트tab->반복할행 선택
    - 특정행에서 페이지 나누기 :  페이지 레이아웃 ->나누기
0. 기타
    - 특수문자 입력 : ㅁ -> 한자 key -> Tab
    - ctrl+;   : 오늘일자 얻기
    - ctrl+shipt+; : 현재시각
    - 서식지우기 : 홈 -> 편집 -> 지우기
    - cell 맨 앞에 : ' 이면 문자형,  0 이면 숫자형 (예, 0  1/3 )
    - and, or 연산 :=and(조건1, 조건2), =or(조건1,조건2),  =AND($C4>=90,$E4>=70), =OR($C4>=90,$E4>=70)

0. 연산자
    - & : 문자 결합
    - 참조연산자 : 콜론(:) : 범위 연산자,   쉼표(,) : 결합연산자,  공백(array1 array2 ) : 교점연산자 (두개의 array의 교차점만 취함)
    - 주소 : 상대주소(예, C4, G6), 절대주소(예, $C$4, $G$6), 혼합주소:(예, C#3,$D4)
    - 셀이름 지정 후 계산 : =C4*D4*부가세율    (부가세율 cell에 이름 지정.  장점은 자동 절대주소가 됨)

0. 셀서식
   - # : 유효한 자리만 표시, 유효하지 않은 0은 표시하지 않음
   - 0 : 유효하지 않은 자리수는 0으로 표시 (또는 숫자 하나를 지칭)
   - @ : 문자 데이터의 표시위치를 지정
   - ,   : 서식 마지막에 쉼표(,)를 지정하면 오른쪽부터 3자리를 생략한다.
   - ;   : 하나의 cell 다향한 표시형식을 지정 시 구분자
   - _- : (언더라인, 빼기) 공백한칸 추가
   - 날짜 서식
     . yy, yyyyy : 연도,  
     . 월 -> m : 1~12,  mm : 01~12,  mmm : Jan ~ Dec
     . 일 -> d : 1~31, dd : 01~31, ddd : Sun ~ Sat, dddd : Sunday~Saturday
     . 요일 -> aaa : 요일을 월~일로 표시,    aaaa : 요일을 월요일~일요일로 표시
   - 예)
     . 이름 뒤에 님자 붙이기 : @"님"
     . 숫자뒤에 원 붙이기     : #"원"
     . 2019년 08월 15일 (목) : yyyy"년" mm"월" dd"일" (aaa)
     . #,##0;[빨강]-#,##0;#.00;@"님" : 양수인경우;음수인경우;0인경우;문자인경우
     . #,##0_-;[빨강]△#,##0_-;"-"_-;  : 양수인경우;음수인경우;0인경우
                                                          (참고, _- [믿줄 하이픈] : 한줄공백띄우기) 
                                                          (참고, 문자입력시 값이 살아짐)
     . 0"박"0"일" : 값이 45 일 경우 -> 4박 5일로 표시됨  (0이 숫자 하나를 뜻함)

0. & : 문자열 결합
    ~ : 예약특수문자, 문자열로 사용하고 싶은 경우에는 ~~(2개)로 사용
    substitute : 문자열 replace
    type(cell) : 해당 cell의 숫자,문자 구분값 return
   =ROW()    :  순번(seq) 
   =SUBTOTAL(3, $B$2:B36) : 필터후에도 순번(seq)가능
   필터 : 디자인->슬라이서 삽입
   주석 : =SUM(..) + N("주석내용")

0. OneDrive (ms)
    - https://onedrive.live.com/about/ko-kr


0. 조건부 서식
   - 위치 :홈 -> 스타일 -> 조건부서식
   - and, or 연산 :=and(조건1, 조건2), =or(조건1,조건2),  =AND($C4>=90,$E4>=70), =OR($C4>=90,$E4>=70)
   - 월비교 : =month($D4)=5

0. 데이터유형성검사
    - 위치 : 데이터 -> 데이터도구 -> 데이터유효성검사-> 데이터유효성검사
    - 콤보 설정하기 (1)
       . 종류1: 특정 cell array에 1기,2기,3기중 하나만 선택가능   : 특정cell 영역 선택 -> .. -> 설정tab -> 제한대상.[목록],  원본(1기,2기,3기)
       . 종류2: 특정 cell array에 엑셀에 존재하는 목록 선택가능 : 특정cell 영역 선택 -> .. -> 설정tab -> 제한대상.[목록],  원본(엑셀목록선택)
    - 콤보 설정하기 (2) -> 이미 입력되어 있는 값중에 잘 못 입력된 값 찾기
       . 종류3: 특정 cell array에 이미 1기,2기,3기,4기 값이 입력 되어 있는 경우 : 특정cell 영역 선택 -> .. -> 설정tab -> 제한대상.[목록],  원본(1기,2기,3기)
                     데이터 -> 데이터도구 -> 데이터유효성검사-> 잘못된 데이터 
    - 특정 범위만 가능
       . 종류4: 특정 cell array에 범위(0~100) 설정 : 특정cell 영역 선택 -> .. -> 설정tab -> 제한대상.[정수], 최소값[0], 최대값[100]
                    (참고, 설정 메시지 tab에서  풍선도움말 및 잘못된 값 입력시 메시지 내용 입력가능)
   - 특정 글자수만 가능
      . 종류5:정 cell array에 5자만 가능 : 특정cell 영역 선택 -> .. -> 설정tab ->제한대상.[텍스트 길이], 제한방법[=], 길이[5]
   - 자동 key 전환
       . 종류6: 특정 cell array에 자동영문key전환, 한글key전환 : 특정cell 영역 선택 -> .. -> IME모드 tab -> 모드[에서 선택]
   - 목록이름 설정 방법
       1. 여러row, cell에 목록기술
       2. 해당 cell array선택
       3. 수식 -> 이름정의   또는 excell A 열 위왼쪽에 이름 기술해도 됨
       4. 목록이름 보기 : 수식 -> 수식에서 사용
       5. 이 이름을 데이터 유혀성검사에서 사용 가능
            . 제한대상.[목록],  원본[=목록이름기술]   (즉, 원본란에 목록이름을 기술하거나 ..  수식->수식에서사용 클릭 해서 찾아도 됨)


0. 고급필터
    - 조건범위란 : 필터할 조건으로 별도 CELL에 기술. 이때 반드시 data array의 title명과 동일해야 됨
    - 조건범위 작성방법 : 
                           . and 필터인 경우, 2개의 조회조건을 cell에 기술하고, 선택시 2개의 열을 모두 한번에 선택
                           . or 필터 인 경우, 필터값지정시 서로 다른 row의 cell에 입력한다.
                           . 예, 구분:학습,  품명:테이블,자석
                           . 예, 대소비교인 경우,  거래일: >=2013-11-03, 거래일 : <=2013-11-11, 수량:>=50
                           . 예, 대소비교인 경우,  실기시험: >=70,  필기시험 : <=80
                           . 예, 이로 시작하는 문자열:  이*,   이로끝나는 문자열: *이
                           . 예, 성적에서 평균이상인 학생목록 :  평균:=D2>average($D$2:$D$30)
                                (예외적으로 함수가 들어가면 title명이 grid의 title명과 달라야 됨)

    - 데이트 > 고급
       :  목록범위 : 원자료 목록 (TITLE도 반드시 선택)
       :  조건범위 : 필터에 적용될 목록 (원자료목록의 title과 필터목록값으로 나열된 열 선택)
       : 만약, 목록범위가 10개 컬럼일 경우 이중 4개(즉, 일부컬럼만)만 필터후 copy할 수 도 있다.
       : 목록범위와 다른 sheet에 필터결과절를 보여주기
          . 기본적으로는 안됨
          . 고급필터 클릭 시  -> 결과필터sheet를 먼저 선택 하고 -> 고급필터를 클릭 하면 됨

0. 간트차트
    - 목록범위 선택 -> 삽입 -> 2차원가로막대형 -> 
0. 일반함수
     - IF : =IF(C4>60, "합격", "불합격"),  =IF (and(C4>60, C4<70), "합격", "불합겨")
     - SUMIF : =SUMIF(C4:C10, ">0", C4:C10)   : 0보다 큰값만 SUM
     - count함수 : COUNT, COUNTA, DCOUNT, DCOUNTA(특정조건에 대한 COUNT)
     - sum함수   : SUM, DSUM(특정조건에 대한 SUM)
     - LARGE(array, n)  : array영역에서 n번째 큰값 얻기
     - SMALL(array, n)  : array영역에서 n번째 작은값 얻기

1. =VLOOKUP(찾을값, 조견표, 가져올 열의인수, 옵션)
    - 정의 : 조견표상의 찾을값 PK가 첫번째 열로 나열된 경우.
    - 찾을값 : 마스터에서 찾을값 PK의 CELL
                    like문장 [ left(A4, 7) & "*" ] : 7개 문자까지는 동일하고 나머지값은 like처리
    - 조견표 : 상세 목록. 반드시 첫번재 열이 PK(기준열)가 됨
                    조견표영역은 찾은 후 'F4'를 눌러 변하지 않게 한다.
    - 가져올 열의인수 : 조견표상의 열 Index
    - 옵션 : TRUE:PK값이 동일, FALSE:PK값이 유사
                 1 : 절대평가(작거나 같은값중 최대값을 찾음)
                      (이때 조견표는 반드시 오름차순으로 해야 됨)
                      (사용예, 주로 대학교 평점구할때 사용)
                 1:상대평가가 가능
2. =HLOOKUP(찾을값, 조견표, 가져올 행의인수, 옵션)
    - 정의 : 조견표상의 찾을값 PK가 첫번째 행으로 나열된 경우

3. =INDEX(array, MATCH(lookup_value, lookup_array, match_type))
    - 정의 : 조견표상에 PK(기준열)가 첫번째 열이 아닌 경우
    - array : 얻고자 하는 값 열의 array+F4
    - lookup_value : 마스터에서 찾을값 PK의 CELL
    - lookup_array : 조견표의 PK(기준열)의 열의 array + F4 

3. = IFERROR(함수명(인자,,,,), "찾는값 없음")
     - 내부 함수에서 오류가 발생하면 처리

4. =IF문
    - 예) IF(F4="도매", 3, 4)

5. PIVOT
   1. 생성방법
       . 일반 표를 -> 삽입 > 표 로 변경 (ctrl + t)
       . 디자인 -> 피법 테이블로 요약

5. 매크로함수
   1. evaluate(cell) : 테스트로 되어있는 cell의 내용을 연산으로 수행 됨 (예, 3+4, 4+2, ...)
   2. get.cell( )

'유틸리티 > 문서 작성용 유틸리티' 카테고리의 다른 글

PPT(파워포인트)  (0) 2021.09.27
도움말 제작도구 - HTML Help Workshop  (0) 2019.10.02
Posted by 농부지기
,

forward   (앞으로)

※ 다음 동사를 과거분사(수동의 형용사= “~된, ~당한”)로 변신시켜보세요.
cook (요리하다) → 조리된 음식 cooked food
propose (제안하다) → 제안된 프로젝트 proposed project
crowd (붐비다) → 붐비는 마트 crowded mart
prefer (선호하다 ,…을 (더) 좋아하다) → 선호되는 방법 preferred means
 (means : 수단, 방법, 방도)
write (쓰다) → 서면 허가 written permission
block (막다) → 막힌 도로 blocked road
disappoint (실망시키다) → 실망한 얼굴 disappointed face
detail (상세히 알리다) → 상세한 계획 detailed plan
unlimit (제한하지 않다) → 무제한 이용unlimited access

※ 다음 동사를 현재분사(능동의 형용사= “~한, ~하는”)로 변신시켜보세요.
oppose (반대하다) → 반대 의견 opposing opinion
follow (따라가다) → 다음 날 following day
break (깨뜨리다) → 속보 breaking news
tire (피곤하게 하다) → 피곤한 일 tiring work
challenge (도전하다) → 힘든 일 challenging task
disappoint (실망시키다) → 실망스러운 결과 disappointing result
annoy (짜증나게 하다) → 짜증스러운 습관 annoying habit
worry (걱정하다) → 걱정스러운 전개상황 worrying development
surprise (놀라게 하다) → 놀라운 속도 surprising speed
demand (요구하다, 따지다) → 까다로운 상사 demanding supervisor

완료시제 - have[has] p.p. / had p.p.
수동태 - be + p.p.

ex) 동사에 –ing(~한, 하는)를 붙여 현재분사로 만들어보세요
turn (전환하다) → 전환점 turning point
develop (발전하다) → 개발도상국 developing country
open (열다) → 개업식 opening party
miss (잃어버리다) → 분실물 missing luggage
lead (이끌다) → 일류브랜드 leading brand

[ go –ing ] 밖으로 나가서 하는 활동
go shopping 쇼핑하러 가다, 물건을 사러가다
go jogging 조깅하러 가다
go hiking 하이킹하러 가다
go swimming 수영하러 가다
go surfing 서핑하러 가다
go skiing 스키타러 가다
[ go to ~ ] 그 외 활동
go to work 출근하다
go to school[college] 학교에 가다
go to church 교회에 가다
go to prison[jail] 감옥에 가다 (=수감되다)
go to bed 자다, 취침하다
go home 집에 가다
주의! go to home (X)
[ go to the ~ ] 듣는 사람도 알만한 곳
go to the bank 은행에 가다
go to the post office 우체국에 가다
go to the hospital 병원에 가다
go to the station 역에 가다
go to the airport 공항에 가다
go to the theater[movies] 극장에 가다
go to the doctor 병원에 가다, 의사의 진찰을 받다
go to the dentist 치과에 가다, 치료받으러 가다

[to부정사가 아님]
~하기를 고대하다 look forward to -ing
~에 반대하다 object to -ing
~에 익숙하다 used to -ing
~에 익숙하다 be accustomed to -ing
~에 전념하다 dedicated to -ing
         be committed to -ing
         be devoted to -ing
~에 공헌하다 contribute to -ing
~하는데 어려움을 겪다 have difficulty -ing
계속 ~하다 keep -ing
~하지 않을 수 없다 cannot help -ing
~하고 싶은 느낌이다 feel like -ing
~하느라 바쁘다 be busy -ing
~할 가치가 있다 be worth -ing
~하는데 시간(돈)을 쓰다 spend -ing
~할 수 없다 There is no -ing
~해도 소용없다 It is no use -ing
~하자마자 on -ing

[to부정사 관용적 표현]
be difficult to ~하기 어렵다
be hard to ~하기 어렵다
be easy to ~하기 쉽다
be possible to ~할 수 있다
be impossible to ~할 수 없다

be able to ~할 수 있다
be unable to ~할 수 없다
be due to ~할 예정이다
be eager to ~하고 싶어하다  (eager:열심인,간절히 바라는,열렬한)
be keen to ~하고 싶어하다   (keen:간절히..하고 싶은, ..을 열망하는)
be likely to ~일[할] 것 같다 (사실에 대한 예측)
be unlikely to ~일[할] 것 같지 않다
be ready to ~할 준비가 되어있다
be prepared to ~할 준비가 되어있다
be willing to 기꺼이 ~하다
be unwilling to ~하기가 내키지 않다

for a week (1주일 동안)
for days    (몇일동안)
for hours   (몇시간동안)
by ~ (늦어도 ~쯤에는, ~까지는)
by then (그때까지는)
by the time (그때쯤이면)
for, since ~동안, 이후로
just, only just, already, recently 지금 막, 방금, 벌써, 최근에
ever, so far, until now, up to now, yet 언제든, 한번이라도, 지금까지, 아직, 벌써
everywhere : 모든곳, 어디나
especially : 특히, 특별히
removal : 제거,철거, 없애기
accessibility : 접근, 접근하기쉬움 
audit : 회계, 감사
snippet : 작은정보
profile : 옆모습, 개요, 프로필
distrust : 불신
insist : 고집하다, 주장하다
quake : 지진, 몸이 떨리다. 
stuck   : 움직일수 없는, 갇힌
luggage : 짐, 수화물
whenever : ~할 때는 언제든, ~할때 마다(매번)
a new student : 신입생
a one-way ticket : 편도표
a new airport : 신공항


authorized : 
prevent : 막다,예방하다,방지하다
rural : 시골의, 지방의
plot : 구성, 음모



iteration : 반복,  interator : 반복자
stub : 토막, 꽁초, 몽당연필, 남은부분, 반쪽
skeleton : 뼈대, 골격, 해골
tomcat  : 수고양이
published : 공개
present : 현재의, 선물
specify  : 명시하다, 지정하다.
charms : 매력,매혹,매료
charge : 요금, 청구하다.
discharge : 허락하다, 해고하다, 석방하다.
chatter : 수다를 떨다, 재잘거리다
departure : 출발, 떠남, 출발(편)

Posted by 농부지기
,

[ Ant - 예제 및 설명 ]

 

<!-- 
     * KeiisWebservices.war : 파일 만드는 용도 
     * 로컬,개발,운영 다른점
       1. 경로
<property name="system" value="_local" />
<property name="system"    value="_dev" />
<property name="system"    value="_app" />
       2. 로컬         : war를  /JEUS6.0/webhome/autodeply/ 밑으로 복사한다.
             개발,운영 : war를 복사하지 않는다. (개발,운영서버에 배포)
          <copy file="${war.dir}/${war.name}" toFile="C:/TmaxSoft/JEUS6.0/webhome/autodeploy/${war.name}" overwrite="true"/> 
-->

1. Project
   - 정의      : ant build에 필수 tag. 단 하나만 존재 가능
   - name    : 프로젝트이름. ant이름
   - basedir : 모든 경로를 계산하기위한 기본 경로. 
               property에서 basedir속성 설정하면 오버라이드 되지만, 없는 경우 project의 basedir속성을 참조하게 됨
               상대경로는 빌드파일이 들어있는 폴더를 기준으로 결정 
   - default : target지정이 되지 않은 경우 기본적으로 수행되는 target값. 이 target이 project초기화의 일부로 수행됨
                                                                                                                           
2. Property
   - 정의 : 환경변수 설정
   - 종류 : environment : 시스템 환경변수 사용

3. target
   - 정의 : 빌드에 필요한 단계별 과정에 해당되는 단위.
          각 과정은 다른 과정과의 의존성을 가지고 있어서 이 의존성에 의거하여 수행순서가 정해진다.
          이 의존성을 나타내는 속성이 depends이다.
   - 예) <target nmame="A"/>
        <target nmame="B" depends="A"/>
        <target nmame="C" depends="B"/>
        <target nmame="D" depends="C,B,A"/>
    - depends : target D를 실행시킨다고 가정했을 경우에, 의존성 관계에 따라 C가 먼저수행된다.
                (depends대상이 여러개인 경우, 왼쪽에서 오른쪽 순서로 수행됨)
                C가 실행되려면 B가 먼저 선행되어야 하고, B를 실행하기 위해서는 A가 선행되어야 한다.
                target D에서 선언한 depends의 C,B,A가 아니라 각 target의 선행단계가 우선적으로 수행되므로
                결국 A->B->C->D의 순서로 target이 실행되어 진다.
                수행순서를 결정하기 위해 다양한 attrubute가 있지만 depends를 많이 쓴다.
                
3. task
   - 정의 : task는 target에 속하는 더 작은 일의 단위이다. (project > target > task)
          task가 될 수 있는 것은 다양하게 있는데, 위의 예시에서 사용하는 내용을 인용하자면
          clean업무를 하고자 하는 경우 delete를 사용해서 기존의 classes파일을 지우도록 상세 업무를 주고
          compile을 할 때는 지웠던 classes폴더를 다시 만들어 준 후에, javac를 이용하여 compile을 수행하고 있다.
   - 종류 : copy, delete, javac, javadoc, mkdir, jar(또는 tar, zip)

4. javac
   - 정의 : java compile명령어
   - 속성 : srcdir      : java파일이 위치한 경로를 지정
          destdir     : 컴파일 된 class파일이 위치할 경우
          encoding    : 소스파일의 인코딩 설정  
          debug       : 컴파일 시 디버그 정보를 보여줄 것인지 설정. 기본값은 off
          optimize    : 컴파일 시 소스 최적화 여부 설정. 기본값은 off. jdk1.3이후로는 해당 플래그가 필요없음. (컴파일 시 최저고하가 필요없으므로)
          deprecation : jdk버전 업 등의 이유로 사용 중단된 소스 코드(deprecation)를 컴파일 할 것인지를 물어보는 것. 기본값은 off
          verbose     : 컴파일 시 상세한 진행상황을 보여줄 것인지를 설정. 기본값은 off
          failonerror : 빌드에 실해하는 경우 컴파일 에러를 표시할 것인지 물어봄. 기본값은 true 
          includeAntRuntime : classpath에 ant의 runtime라이브러리를 포함시킬 것인지를 확인.
                              build,sysclasspath가 설정되어있지 않으면 기본값이 yes임
                              apache ant 매뉴얼에서는 false설정을 권장함.


<project name="KeiisWebservices(war)-1.7.9(app)" basedir="." default="java.xml.rename">
<property environment="env"/>
 
<property name="axis2.home"       value="${env.AXIS2_HOME}" />
<property name="proj.webinf"       value="../war/WEB-INF" />
<property name="src.main.dir"       value="webserver" />
<property name="src.sub.dir"        value="server" />
<property name="service.name"    value="KeiisWebservices" />

<property name="system"    value="_app" /> <!-- 운영 -->
<!-- <property name="system" value="_local" /> --> <!-- 로컬 -->
<!-- <property name="system"    value="_dev" />  --> <!-- 개발 -->

<property name="axis2.root.dir" value="axis2_war" />
<property name="war.dir"    value="${axis2.root.dir}/war${system}" />   <!-- war파일위치-->
<property name="war.name"    value="KeiisWebservices.war" />

<property name="dest.dir"           value="axis2_war/${service.name}/build" />
<property name="aar.dir"            value="aar" />                               <!-- .aar 기본생성될 경로 -->
<property name="dest.dir.classes"  value="${dest.dir}/classes" />

<property name="axis2.files.dir" value="axis2_war/axis2" />
<property name="axis2.web.xml.dir" value="axis2_war/axis2/WEB-INF/" />   <!-- web.xml 경로 -->
<property name="axis2.aar.dir" value="axis2_war/axis2/WEB-INF/services" /> <!-- axis2.war 내부에  .aar 파일 위치할 경로 -->
 
    <path id="build.class.path">
        <fileset dir="${proj.webinf}/lib">
            <include name="*.jar" />
        </fileset>
        <pathelement location="${dest.dir.classes}" />
    </path>
 
    <target name="clean">
        <delete dir="${dest.dir}" />
    </target>
 
    <target name="prepare">
        <mkdir dir="${dest.dir}" />
        <mkdir dir="${dest.dir.classes}" />
        <mkdir dir="${dest.dir.classes}/META-INF" />
     <mkdir dir="${aar.dir}" />
    </target>

<!-- CommonkeyList.java, web.xml  local/dev/app 에 맞게 copy -->
    <target name="java.xml.rename" depends="clean,prepare"> 
     <copy file="../src/${src.main.dir}/${src.sub.dir}/com/CommonkeyList.java${system}"  tofile="../src/${src.main.dir}/${src.sub.dir}/com/CommonkeyList.java" overwrite="true" />
     <copy file="${axis2.web.xml.dir}/web.xml${system}"    tofile="${axis2.web.xml.dir}/web.xml" overwrite="true" />
     <antcall target="generate.aar" />
    </target>

<!-- Webservices.aar 파일 생성 -->
    <target name="generate.aar">
        <copy file="META-INF/services.xml"  tofile="${dest.dir.classes}/META-INF/services.xml" overwrite="true" />
        <javac srcdir="../src" destdir="${dest.dir.classes}" includes="${src.main.dir}/${src.sub.dir}/**" classpathref="build.class.path"></javac>
        <jar basedir="${dest.dir.classes}" destfile="${aar.dir}/${service.name}.aar" />
     <antcall target="copy.aar" />
    </target>

<!-- 생성한 Webservices.aar 파일을 원하는 위치에 copy -->
<target name="copy.aar">
<echo message="COPY RESOURCE(S) TO JEUS DIR....." />
<copy file="${aar.dir}/${service.name}.aar" toFile="${axis2.aar.dir}/${service.name}.aar" overwrite="true"/>
<antcall target="generate.war" />
</target>

<!-- axis2.war 생성,  jeus폴더에 복사 안함-->
<target name="generate.war">
<jar basedir="${axis2.files.dir}" destfile="${war.dir}/${war.name}" />
<!-- 
<echo message="COPY RESOURCE(S) TO JEUS DIR....." />
<copy file="${war.local.dir}/${war.name}" toFile="C:/TmaxSoft/JEUS6.0/webhome/autodeploy/${war.name}" overwrite="true"/>
-->

</target>

</project>

Posted by 농부지기
,

[정규식-elements 설명]

 

1. 참고site : ( http://zvon.org/comp/r/tut-Regexp.html )

 

2. elements 설명
   ^ : ^who - 첫번째 시작 문자(열)찾기
   $ : who$ - 마지막 시작 문자(열)찾기
   \ : escape
        \$ - $는 정규식 특수기호 이지만 \를 앞쪽에 붙이면서 

               \다음으로 나오는 정규식기호를 단순한 문자로 인식하게 한다.
       ^\$ - 첫번재 시작문자 $를 찾아줌
       \$$ - 마지막 문자$를 찾아줌
       \\ - \문자를  찾아줌
   . : 모든 문자를 매칭
       ...... :  . 이 6개이면 6개 문자를 매칭 (6개 문자열로 반복됨)
        \..\. : \. - 문자 .을 매칭
                .   - 이때 . 은 어떠한 문자든 매칭
                \. - 문자. 을 매칭
                \..\. - . 과 . 을 매칭하고,  . 과 . 사이의 모든 문자를 매칭
   [ ] : [oyu] - 검색하려는 문자열중에서 o, y, u가 존재시 모두 매칭
       : [dH].  - 검색하려는 문자열중에서 d,H 가 존재 하는 모두 매칭 하면서 . 에 의해서 바로 다음문자 1개를 매칭
       : [owy][you] - 검색하려는 문자열중에서 o,w,y가 존재하면서 y,o,u가 존재 하는 문자열 매칭
   [ - ] : range
         : [C-K] - 검색하려는 문자열중에서 C~K 범위의 문자가 존재시 모두 매칭
         : [C-Ka-d2-6]  - 검색하려는 문자열중에서 C~K, a~d, 2~6 범위의 문자가 존재시 모두 매칭
   [ ^ ] : not (부정)
           : [^cdGHI45] - 검색하려는 문자열중에서 c,d,G,H,I,4,5가 아닌 문자가 존재 시 모두 매칭
           : [^W-Z]  - 검색하려는 문자열중에서 W~Z가 아닌 문자가 존재 시 모두 매칭
   ( ) : (on|use|rida) - 검색하려는 문자열중에서 on, use, rida 가 존재하는 문자열을 모두 매칭
         (Mon|Tues|Fri)day - 검색하려는 문자열중에서 Monday, Tuesday, Fridday가 존재하는 문자열을 모두 매칭
         ..(id|esd|nd)ay - 검색하려는 문자열중에서 .. 문자열2개와 iday,esday, nday 가 존재문자열을 모두 매칭
                                  (검색 문자열 : Monday Tuesday Friday)
   *, +, ? : 수량 (Quantifiers)
   * : 0~n : 0~n개 존재 시 매칭
       a*b : b앞쪽에 a가 0~n개 존재 시 매칭
       .*    : . (모든문자)가 0~n개 존재 시 매칭
      -A*- : "- 앞쪽"에 A가 0~n개 존재할 수 있고 "그 앞쪽에 -" 는 반드시 1개 존재 해야 됨
                (위 설명 재 해석 : -A*-에서 "- 앞쪽"이란 -> 맨 뒤에 있는 - 를 가리킴. 
                                                             "그 앞쪽에 -" 이란 -> 맨 앞쪽에 있는 -를 가리킴)
      [-@]* :  검색 문자열중에 -, @가 0~n개 존재 시 매칭

   + : 1~n : 1~n개 존재 시 매칭
        a+b : 검색 문자열중에서 b앞쪽에 a가 1~n개 존재 시 매칭
        \*+  : 검색 문자열중에서 *문자가 1~n개 존재 시 매칭
        -@+- : - - 사이에 @가 1~n개 존재 시 매칭
        [^ ]+ : 공백이 아닌것이 1~n개 존재 시 매칭 (즉, 공백이 하나도 없으면 매칭)(공백을 제외한 모든문자가 매칭)
   ? : 0 ~ 1개 존재 시 매칭
       a?b : b앞쪽에 a가 0~1개 존재 시 매칭
       -X?XX?X : - : 앞쪽에 - 존재하면서 
                       X? : X가 0~1개 존재
                       X : X가 1개 존재
                       X? : X가 0~1개 존재
                       X : 맨뒤에 X가 하나 존재
       -@?@?@?- : - : 앞쪽에 - 존재하면서 
                             @? : @가 0~1개 존재
                             @? : @가 0~1개 존재
                             @? : @가 0~1개 존재
                             - : 맨뒤에 -가 하나 존재
   { } : 1~n개 존재 시 매칭
        .{5} : 어떠한 문자든 5글자 존재 시 매칭
        [els]{1,3} : 검색 문자열중에서 e,l,s 가 1 또는 3개 일 경우 매칭
        [a-z]{3,}  : 검색 문자열중에서 a~z까지 3개 이상 문자일 경우 매칭
        AB{0,}A = AB*A
        AB{1,}A = AB+A
        AB{0,1}A = AB?A

   r.* : 검색 문자열중에서 r - r문자가 존재 하면서 
                                         .* - .이 0~n개 존재 시 매칭
   r.*? : 검색 문자열중에서 r - r문자가 존재 하면서 
                                         .* - 
                                         ? - 수량자 뒤에 ?가 오면 기존 ? (0~1) 에 의미가 달라짐
                                            - 그래서 *? 는  *는 0~1개 인데, 이때 뒤쪽 1은 버리고, 앞쪽 0만 취해서 
                                                r은 존재 하면서 뒤쪽 문자가 없는 문자 매칭 (즉, r문자 하나만 매칭)
   r.+ : 검색 문자열중에서 r - r문자가 존재 하면서 
                                         .+ - .이 1~n개 문자 존재 시 매칭
   r.+? : 검색 문자열중에서 r - r문자가 존재 하면서 
                                         .+ - 
                                         ? - 수량자 뒤에 ?가 오면 기존 ? (1~n)에 의미가 달라짐
                                            - 그래서 +?는  +는 1~n 개 인데, 이때 뒤쪽 n은 버리고, 앞쪽 1만 취해서
                                                r은 존재 하면서 뒤쪽 문자 1개 문자 매칭 
   r.?  : 
   r.?? : 

   w,W, d, D : character classes
   \w : word(단어), alphanumeric 문자들을 매칭
   \w* : alphanumeric 문자이 0~n개 존재 시 매칭
   [a-z]\w* : a~z문자열이 존재 하면서 alphanumeric 문자이 0~n개 존재 시 매칭
   \w{5}     : alphanumeric 문자가 5 존재 시 매칭
   \W        : not word(단어가 아님), alphanumeric 문자들이 아닌 경우 매칭
   \d         : digit(숫자)
   \D        : not digit(숫자가 아님)
   b, B : word boundery
   \b         : 
   \B         : 
   \A         : 시작
        \A...   : 시작에서 3개의 문자가 매칭
   \Z          : 마지막
        \Z...  : 마지막에서 3개의 문자가 매칭

   \w+(?=X) : \w+ : alphanumeric 문자들이 1~n개 존재 하면서
                     ?=   : 뒤쪽 문자(X)가 존재 하면 매칭.  단, 문자(X)는 선택에서는 제외
   \w+        : 
   \w+(?=\w) : \w+ : alphanumeric 문자들이 1~n개 존재 하면서
                       ?=   : 뒤쪽 alphanumeric 문자(\w)가 존재 하면 매칭.  단, alphanumeric  문자(\w)는 선택에서는 제외

                  

Posted by 농부지기
,

[ Java-Reflection 예제1 ]

 

1. Reflection 예제 3가지

    1. VO 객체를 LData 객체로 전환    (VO객체를 HashMap객체로 전환)

    2. LData값을 VO객채로 전환         (HashMap객체를 VO객체로 전환)

    3. LMultiData값을 VO객채로 전환  (HashMap array객체를 VO array객체로 전환)

 

2. 소스 예제 3가지

'자바(java) > Reflection (리플렉션)' 카테고리의 다른 글

Java.inflection-기초 소스  (0) 2017.02.20
Posted by 농부지기
,

* 웹서비스 SOAP방식-Server단 개발 (* 별도 war 배포방식) *

 

1. 별도 war 배포방식
   a. 정의
      1. 구글 검색을 통해서 Server단 개발방법을 보면 axis2를 배포하면서 웹서비스 목록을 보여주는 방식이다.
         예)http://egloos.zum.com/js7309/v/10644853
         하지만 이번 war배포방식은 기존 프로젝트와 관계 없이 별도 프로젝트를 생성해서 개발 후 war파일을 만들어 배포하면 된다.
         꼭 별도 프로젝트를 만들지 않고 기존 프로젝트 내부에 개발해도 된다.
   b. war를 만들기 위해 ant를 이용(아래에서 설명)
   
2. 웹서비스 server단 개발방법 및 절차
   a. 별도 Web Dynamic Project생성
      - Project생성도중  [ ] Aixs2 Web Services는 체크 안해도 된다.
   b. client단에서 호출시 필요한 자료를 전송해줄 server단 업무 소스(java)개발
      - 기본개발소스
        . Cmd : client단에서 soap을 이용해서 처음 호출 되는  server단 java source
        . Biz : server단 개발업무 소스
        . ReqeustVO : client에서 호출시 필요한 argument
        . ResponseVO : client단에서 호출시 넘겨받은 argument를 이용해

                            db에서 자료를 조회 후 setting할 VO. 이 vo를 client로 넘겨준다.
        . RecordVO : 만약, client단으로 자료를 넘겨줄 경우 여러레코드가 존재 할 경우 해당 되는 VO
   c. war파일을 만들기 위한 폴더 구조
      - soapWar - aar
                - axis2_war - axis2

                                      ....

                                      - WEB/INF/services

                                      ....
                            - EmpWebServices
                            - war_app
                            - war_dev
                            - war_local
                - META-INF
                - wsdl
                - ant_build_prod.xml
                  ant_build_dev.xml
                  ant_build_local.xml

3. war파일을 만들기 위한 폴더 구조 설명
      - soapWar - aar                        : war파일 만들기 전 웹서비스 aar 압축파일 위치하는 곳

                                                   이 aar압축파일 내부에 server단 class파일들이 포함되어 있다.
                - axis2_war - axis2          : axis2.war 파일을 압축해제된 폴더 및 파일들을 위치 시킴
                                      ....

                                      - WEB/INF/services : 배포될 aar파일 위치 (예, EmpWebServices.aar )

                                      ....

                            - EmpWebServices : 임시용. java 파일을 컴파일을 class파일을 들을 위치시킬 폴더
                            - war_prod       : 운영서버에 배포할 war파일이 위치할 폴더
                            - war_dev        : 개발서버에 배포할 war파일이 위치할 폴더
                            - war_local      : 로컬서버에 배포할 war파일이 위치할 폴더
                - META-INF                   : 웹서비스 목록 및 java package경로
                - wsdl                       : 임시용. server단 개발자에게 넘겨줄 wsdl을 위치시킬 폴더
                - ant_build_prod.xml         : 운영서버에 배포할 war파일 생성용 ant builder
                  ant_build_dev.xml          : 개발서버에 배포할 war파일 생성용 ant builder
                  ant_build_local.xml        : 로컬서버에 배포할 war파일 생성용 ant builder

 

4. 아래는 소스
   1. Server단 소스
   2. /META-INF/services.xml 파일
   3. /axis2_war/axis2/WEB-INF/web.xml
   4. ant_build_local.xml   (ant설명은 별도 카테고리에 존재)

 

5. ant파일 실행 과정
   1. java소스 컴파일시 필요한 jar파일 위치 설정
   2. class파일들이 위치할 필요한 폴더들 생성
   3. java소스 컴파일
   4. 컴파일된 class파일들을 *.aar 압축
   5. *.aar파일을 특정위치로 copy
   6. *.war압축파일 생성


6. Server단 소스

 

7. /META-INF/services.xml 파일 (웹서비스가 2개 인경우 예제)


8. /axis2_war/axis2/WEB-INF/web.xml


9. ant_build_local.xml

 

Posted by 농부지기
,

* 웹서비스 SOAP방식-Client기준 개발 *

 

0. 웹서비스 client개발방법 및 절차
   a. aixs.jar 파일 배포(lib폴더에 복사)
   b. 웹서비스 server단 개발자에게 wsdl파일을 받는다.
   c. wsdl을 이용해서 axis client생성 interface모듈을 자동생성 (보통 java소스 8~10개쯤 생성됨)
   d. client 업무단에서 interface모듈을 호출하는 java 개발

 

1. 웹서비스 Client란

    - 자료요청자 -> 자료수신자

      . 자료요청자 사이드를 Cllient안으로 본다.

      . 자료수신자 사이드를 Server단으로 본다.

 

2. axis jar배포

    - lib 폴더에  axis.jar 파일을 배포(copy)한다.

 

3. WSDL 받기

    - 웹서비스 서버단 개발 담당자가 WSDL을 만들어서 Client개발담당자에게 전달한다.

 

4. 웹서비스 Client interface모듈 자동생성

    ㄱ. 생성과정

       -> eclipse

       -> 전달받은 WSDL 파일 선택 -> 오른쪽 마우스 클릭

       -> Web Service -> Web Service Client

       -> Server runtime : Tomcat 또는 JEUS 선택

       -> Web service runtime : Apache Axis 또는  Apache Axis2 선택

                                        (Spring project이면 Apache CXF 2.x 선택)

   ㄴ. Client interface모듈 자동생성도중 이슈 및 해결방법

       - 오류내역 : Web service runtime 버전을 [Apache Axis2]로 선택 시 오류 발생 하는 경우

       - 해결방법

          a. 해당 프로젝트에서 Axis2 web service 모듈을 추가 한다.

             : eclipse -> Project -> 오른쪽 마우스 -> Properties

               -> Project Facets -> [v] Axis2 Web Services    선택 후 [적용]

          b.  위(a)작업도중 Axis2 web service 모듈을 추가가 안되는 경우

              Web service runtime -[Apache Axis] 를 선택 해서 Client interface 모듈을 생성한다.

              (참고, Axis2 버전으로 client모듈을 생성하는 경우에는 java소스의 package경로를 변경할 수 있지만

                       Axis  버전으로 client모듈을 생성하는 경우네느 java소스의 package경로를 변경할 수 없다.)

 

5. Client 개발 테스트 - proxy java class 사용 Sample

 

6. Client 개발 테스트 - stub java class 사용 Sample

Posted by 농부지기
,