oracle quiz3 DB_ORACLE

http://www.oracleclub.com/article/52177

with cal as
(
select '1900' + level - 1 as year
from   dual
connect by level <= 400
)

select year, mod(year, 4), mod(year, 100), mod(year, 400), 
       decode(0, mod(year,400), 'Y', mod(year, 100), 'N', mod(year, 4), 'Y', 'N') syear
from   cal
;



oracle quiz2 DB_ORACLE

http://www.oracleclub.com/article/53582

with data as(
select 60 weight, 170 height  from dual
union all select 70 weight, 170 height  from dual
union all select 80 weight, 170 height  from dual
union all select 90 weight, 170 height  from dual
union all select 100 weight, 170 height  from dual

)


select case 
        when 90 < t and t < 110
        then '정상'
        when 110 < t and t < 120
        then '과체중'
        when 120< t and t < 140
        then '비만'
        when 140 < t 
        then '저체중'
        else
            '기타'
       end result, t
from
(select 
          (height -100)*0.9 normal, 
          weight,
          round(weight*100/((height -100)*0.9)) t
from data);


oracle quiz1 DB_ORACLE


oracle query 퀴즈 게시판에 올라온 문제에 대해 

시간이 날때 마다 조금씩 풀이를 해볼려고 한다.



WITH code AS(
SELECT 1 cd, 'PC' nm FROM dual
UNION ALL SELECT 2, 'Monitor' FROM dual
UNION ALL SELECT 3, 'NoteBook' FROM dual
),

calendar AS(
SELECT '20111201' dt FROM dual
UNION ALL
SELECT '20111202' dt FROM dual
UNION ALL
SELECT '20111203' dt FROM dual
UNION ALL
SELECT '20111204' dt FROM dual
UNION ALL
SELECT '20111205' dt FROM dual
)

, data AS
(
SELECT '20111201' dt, 1 cd, 10 v FROM dual
UNION ALL SELECT '20111201', 2, 20 FROM dual
UNION ALL SELECT '20111201', 2, 21 FROM dual
UNION ALL SELECT '20111201', 2, 22 FROM dual
UNION ALL SELECT '20111201', 3, 30 FROM dual
UNION ALL SELECT '20111202', 1, 10 FROM dual
UNION ALL SELECT '20111202', 3, 30 FROM dual
UNION ALL SELECT '20111204', 1, 10 FROM dual
UNION ALL SELECT '20111204', 2, 40 FROM dual
UNION ALL SELECT '20111205', 3, 50 FROM dual
)


select decode(GROUPING(aa.nm), 0, aa.nm, '일별소계')nm, aa.dt, nvl(sum(b.v), 0) score
from (select a.cd, a.nm, b.dt
        from code a,
             calendar b) aa, data b
     where aa.dt = b.dt(+)
       and aa.cd = b.cd(+)
     group by ROLLUP( aa.nm), aa.dt
     order by aa.dt, aa.nm


cubic test 간략한 테스트 TDD


Cubic Test
View에 테스트 자동화 도구
예를 들어 고객 입력 페이지에 대한 test를 한다고 가정할 경우
고객 입력 페이지에서 고객의 정보를 입력한다
고객정보에는 이름 / 전화번호 / 핸드폰번호 / 주소 / 성별 / 나이 / 
                    가입경로 / 취미 / 관심 분야 등등이 있을 것이다.
즉 화면에서 테스트를 한번 하려면 해당 페이지에서 입력해야할 것들을
손으로 다 입력해야 한다는 의미이다.

실력이 좋아서 한번에 완벽하게 개발을 하면 좋겠지만 그렇지 모한게 현실.

cubic test를 통해 테스트 시나리오는 저장해 놓으면 같은 테스트를 반복적으로
자동화 시킬수가 있다.

밑의 시나리오는 google의 검색창에서 "connect by start with 실행계획" 으로
검색을 했을시 검색 결과에 "호룰루룰루" 라는 단어가 포함되어 있으면 성공으로
간주하겠다는 의미이다.

제약사항이 한가지 있는데 firefox 3대 버전에서만 지원해준다. 
잘쓰고 있던 firefox7에서 동작을 하지 않아 다운그레이드를 감행했다.



1.우선 Cubic test plugin 설치



2.설치할 Cubic test plugin 


3.설치할 Cubic test plugin 목록들



4.설치가 완료되면 new cubic test project를 통해 테스트 시나리오는 작성한다

   작성하는 방법은 스크린샷을 보면 대략적으로 이해가 가능하다


5.실행되는 모습(실행은 run을 통해서)



6.검색된 화면을 보면 "호룰루룰루"라는 단어가 보인다.



7.정상적으로 5steps에 대한 테스트가 fail 없이 끝난것을 확인할 수 있다.


돌려본 결과 조금 무겁다는 느낌이 들긴 했지만 그래도 잘 사용하면 유용하겠다는 

생각이 들었다.


Ant 간략한 사용 예제 Build

목적 : Eclipse에서 기본적으로 사용되는 ant bulid 파일을
         실제 배포시에 어떻게 적용하는지 코드로 간략하게 실습

지금까지 다른사람이 작성한 build 파일을 갖고 배포만 해보고
대략적인 형식만 알고 있을 뿐 실제 해본적이 없어, 시간있을  때 간략하게라도 해보자는 의도로
만들어봤습니다.

목적은 간단합니다.

제가 사용하는 pc의 Eclipse의 workspace는 D:에 있는 데
build를 통해 E:에 컴파일하여 작동하게 하는 것입니다.

1.build.xml 파일
 src폴더의 java만 복사하도록 설정을 했습니다.
 txt파일을 하나 일부러 넣어놔서 실제 복사되지 않도록 테스트를 해봤습니다.



2.복사된 java 파일. 같은 폴더에 있던 txt 파일은 복사되지 않은 것을 확인할수 있습니다.



3.mkdir로 생성된 classes 폴더와 컴파일된 class 파일


간략한 예제

1 2 3 4 5 6 7 8 9