선스타....
My side/잡다한 이야기2008. 7. 11. 22:38
이게 뭥미..-_-
마소 6월호에 기사가 나왔길래 한번 알아보는 중에 모집 분야를 보게 되었다.
보면.. 컴퓨터 관련 전공학과 모집 하는곳이.. 몇군대나 되는지 살펴보자..
헐 무려 3군대다 3군대??
님 장난??
안에 내용을 살펴보면...
개발과 관련된 내용은 없다. 죄다 어시스트, 마케팅, 영업..
마소가 전체적으로 개발자를 위한 월간지 인데 이번 선스타 소개 기사는 잘못되어도 한참 잘못 되었다는 생각이 든다. -_-;;
저게 뭐냐. 죄다가 마케팅, 영업.. 개발자를 생각하는 학생 구독자의 입장에선 어디다가 지원 하라는거야. 저건 죄다 인문계 쪽 아닌가 ...
저 페이지로 가는링크가 .asp 라는건 더 웃겼다. sun 인데 -_-;;
마소 6월호에 기사가 나왔길래 한번 알아보는 중에 모집 분야를 보게 되었다.
이게 뭥미?
보면.. 컴퓨터 관련 전공학과 모집 하는곳이.. 몇군대나 되는지 살펴보자..
헐 무려 3군대다 3군대??
님 장난??
안에 내용을 살펴보면...
개발과 관련된 내용은 없다. 죄다 어시스트, 마케팅, 영업..
마소가 전체적으로 개발자를 위한 월간지 인데 이번 선스타 소개 기사는 잘못되어도 한참 잘못 되었다는 생각이 든다. -_-;;
저게 뭐냐. 죄다가 마케팅, 영업.. 개발자를 생각하는 학생 구독자의 입장에선 어디다가 지원 하라는거야. 저건 죄다 인문계 쪽 아닌가 ...
저 페이지로 가는링크가 .asp 라는건 더 웃겼다. sun 인데 -_-;;
클래스 계층 당 하나의 테이블.
퍼시스턴스/Hibernate32008. 7. 11. 17:18
클래스 상속을 매핑하는 가장 쉬운 방법은 하나의클래스 계층도에 대해 하나의 테이블을 할당 하는 경우.
모든 클래스들의 프로퍼티를 하나의 테이블에 매핑시키는 것으로,
CAREER 테이블은 Career 클래스, CompanyCareer 클래스 그리고 SchoolCareer 클래스가 갖는 모든 프로퍼티와 매핑될 칼럼을 가지고 있다.
클래스 상속 계층을 하나의 테이블에 넣는 방식은 다음과 같은 장점을 가진다.
장점
- 매핑이 간단하다.
- 성능이 좋다.
단점
- 하위 클래스의 프로퍼트와 매핑될 칼럼은 기본적으로 null이어야 한다.
- 새로운 하위 클래스가 추가될 경우 테이블을 변경해야 한다.
클래스 다이어 그램
테이터베이스 테이블
모든 클래스들의 프로퍼티를 하나의 테이블에 매핑시키는 것으로,
CAREER 테이블은 Career 클래스, CompanyCareer 클래스 그리고 SchoolCareer 클래스가 갖는 모든 프로퍼티와 매핑될 칼럼을 가지고 있다.
클래스 상속 계층을 하나의 테이블에 넣는 방식은 다음과 같은 장점을 가진다.
장점
- 매핑이 간단하다.
- 성능이 좋다.
단점
- 하위 클래스의 프로퍼트와 매핑될 칼럼은 기본적으로 null이어야 한다.
- 새로운 하위 클래스가 추가될 경우 테이블을 변경해야 한다.
<s:property value="name" />
에서 property 태그는 value의 값을 OGNL로 평가한다.
#표시가 없는 OGNL 표현식 name은 루트 오브젝트의 property이다.
스트럿츠2에서 루트 오브젝트는 value stack이고 value stack 상단에 액션이 있으므로 "name"은 항상 액션의 property가 된다.
JSP EL의 ${name}과 같다.
<s:property value="#session.user" />
루트 오브젝트가 아닌 세션 맵의 user를 참조할 때는 위와 같이 "#"을 붙여서 오브젝트 이름과 프라퍼티 또는 맵의 키를 사용해서 참조한다. 루트 오브젝트의 프라퍼티만 프라퍼티 이름만으로 참조 할 수 있다.
JSP EL의 ${sessionScope.user }와 같다.
스트럿츠 2 태그에서 %{...}가 OGNL의 표현식이다. 즉 %{...}내의 텍스트는 OGNL 표현식으로 평가된다.
%{name}이라 하면 문자열 name이 아니고 name을 OGNL 표현식으로 평가한다..
따라서 %{name}은 액션의 name의 프라퍼티 값이 된다.
출처 : 차세대 MVC 스트럿츠2 프로그래밍
http://www.ognl.org/
게시판 하단 페이지 숫자 처리.
전체 갯수는 count 로 해서 구해와서 lastPage를 구한다.
한 번에 10개씩 출력한다. (제목, 글쓴이, 시간)
티스토리 페이지 처리 처럼 구현.
전체 페이지 갯수가 1보다 작으면, 이전 페이지, 다음페이지 비활성화.
전체 페이지 갯수가 1보다 크면, 이전 페이지만 비 활성화, 마지막 페이지 도착하면 다음페이지 비활성화전체 페이지 갯수가 5보다 크면
이전 페이지 | 1 | 2 | 3 | 4 | 5 | ...마지막페이지 | 다음페이지.
이런 형식으로 시작.
다음페이지 이동으로 페이지 갯수가 늘어나면 보여주는 페이지 갯수를 한개씩 늘려주고
이전 페이지 | 1 ... | 2 ~~~~ 10 | ...마지막페이지 | 다음페이지
이런 형식으로 작성 하도록 한다.
스트럿츠2 태그로 작성하기 위해 노력중.
전체 갯수는 count 로 해서 구해와서 lastPage를 구한다.
한 번에 10개씩 출력한다. (제목, 글쓴이, 시간)
티스토리 페이지 처리 처럼 구현.
전체 페이지 갯수가 1보다 작으면, 이전 페이지, 다음페이지 비활성화.
전체 페이지 갯수가 1보다 크면, 이전 페이지만 비 활성화, 마지막 페이지 도착하면 다음페이지 비활성화전체 페이지 갯수가 5보다 크면
이전 페이지 | 1 | 2 | 3 | 4 | 5 | ...마지막페이지 | 다음페이지.
이런 형식으로 시작.
다음페이지 이동으로 페이지 갯수가 늘어나면 보여주는 페이지 갯수를 한개씩 늘려주고
이전 페이지 | 1 ... | 2 ~~~~ 10 | ...마지막페이지 | 다음페이지
이런 형식으로 작성 하도록 한다.
스트럿츠2 태그로 작성하기 위해 노력중.
AJax를 이용한 회원 가입시 ID 체크.
프로그래밍/웹 쪽2008. 7. 3. 11:40
사용할 자바 스크립트 파일.
ajax.js = 최범균님의 Ajax 프로그래밍에 있는 파일(ajax 연결 관련 및 이벤트 처리).
log.js = 로그 출력용 파일.
시나리오
text영역에 keyup 이벤트가 발생 했을 경우
text.value를 얻어 와서 ajax를 통해 실행 후 데이터베이스에 id 값이 있는지 없는지 비교.
스트럿츠2 + iBatis를 해서 개발중.
iBatis 소스
실행하게되면 반환 값으로 select 한 id 값을 얻어 올 수 있다.
struts2 소스
반환 값이 없으면 null 이 return 되기 때문에 이를 가지고 반환 값이 없으면 success를
반환값이 있으면 input을 리턴해서
각각 result에 매핑된 경로 대로 이동해서 값을 출력한다.
idCheckOK는 아이디를 사용 할 수 있습니다.
idCheck는 아이디를 사용할 수 없습니다를 각각 출력한다.
ajax.js = 최범균님의 Ajax 프로그래밍에 있는 파일(ajax 연결 관련 및 이벤트 처리).
log.js = 로그 출력용 파일.
시나리오
text영역에 keyup 이벤트가 발생 했을 경우
text.value를 얻어 와서 ajax를 통해 실행 후 데이터베이스에 id 값이 있는지 없는지 비교.
window.onload = function() {
var id = document.getElementById("id");
// 특정 요소에 keyup 리스너를 등록
ajax.Event.addListener(id, "keyup", idHandler, false);
}
// keyup이벤트가 발생하면 아래 메서드가 실행된다.
function idHandler(event) {
//log(document.regist.id.value);
var params = "id=" + document.regist.id.value;
new ajax.xhr.Request("registIdCheck.action", params, viewInfo, "GET");
}
//idHandler에서 실행된 결과를 idCheck란 id를 가진 요소에 출력해준다.
function viewInfo(req) {
if(req.readyState == 4) {
if(req.status == 200) {
var idCheck = document.getElementById("idCheck");
idCheck.innerHTML = req.responseText;
}
}
}
var id = document.getElementById("id");
// 특정 요소에 keyup 리스너를 등록
ajax.Event.addListener(id, "keyup", idHandler, false);
}
// keyup이벤트가 발생하면 아래 메서드가 실행된다.
function idHandler(event) {
//log(document.regist.id.value);
var params = "id=" + document.regist.id.value;
new ajax.xhr.Request("registIdCheck.action", params, viewInfo, "GET");
}
//idHandler에서 실행된 결과를 idCheck란 id를 가진 요소에 출력해준다.
function viewInfo(req) {
if(req.readyState == 4) {
if(req.status == 200) {
var idCheck = document.getElementById("idCheck");
idCheck.innerHTML = req.responseText;
}
}
}
스트럿츠2 + iBatis를 해서 개발중.
iBatis 소스
<select id="selectCheckUserId" parameterClass="string" resultClass="string">
SELECT id FROM member WHERE id = #id#
</select>
이렇게 해서 sqlMap.queryForObjec("selectCheckUserId", param);SELECT id FROM member WHERE id = #id#
</select>
실행하게되면 반환 값으로 select 한 id 값을 얻어 올 수 있다.
struts2 소스
@Override
public String execute() throws Exception {
if (registerService.selectCheckUserId(id) == true)
return SUCCESS;
return INPUT;
}
public String execute() throws Exception {
if (registerService.selectCheckUserId(id) == true)
return SUCCESS;
return INPUT;
}
반환 값이 없으면 null 이 return 되기 때문에 이를 가지고 반환 값이 없으면 success를
반환값이 있으면 input을 리턴해서
<action name="registIdCheck" class="net.DBLab.www.register.action.RegistIdCheck">
<result name="success">../html/register/idCheckOK.jsp</result>
<result name="input">../html/register/idCheck.jsp</result>
</action>
<result name="success">../html/register/idCheckOK.jsp</result>
<result name="input">../html/register/idCheck.jsp</result>
</action>
idCheckOK는 아이디를 사용 할 수 있습니다.
idCheck는 아이디를 사용할 수 없습니다를 각각 출력한다.
사용할 수 없을 경우
사용할 수 있을 경우
TC 걸을 분양 받았습니다.
My side/잡다한 이야기2008. 6. 26. 22:28
아아.. 안경 누님의 로망이랄까..-_-v
바탕화면도 이번에 바꿔서.. 아주 매력적인 바탕 화면.
바탕화면도 이번에 바꿔서.. 아주 매력적인 바탕 화면.
일본에서 사온 사케.
My side/잡다한 이야기2008. 6. 25. 00:14
http://j2k.naver.com/j2k_frame.php/korean/www.konishi.co.jp/html/catalog/sake/zoutou/sesibon.html
내일 먹을테다! -_-!
쿨쿨 사케~
내일 먹을테다! -_-!
쿨쿨 사케~
해보고 싶은거.
My side/잡다한 이야기2008. 6. 22. 21:12
병해충 이미지 검색 프로그램 웹 기반으로 변경해보는거.
RIA 기반으로 변경해서 웹에서도 동장 할 수 있게 해보고 싶다.
어차피 UI를 웹으로 바꾸면 되는거라서 그다지 어려울꺼 같지는 않다.
다음주 스프링 2.5랑 하이버네이트 책읽고 Ajax좀 봐야겠다. -_-ㅋ
dojo 프레임워크 번역서 좀 나왔으면 좋겠구낭 'ㅂ'
RIA 기반으로 변경해서 웹에서도 동장 할 수 있게 해보고 싶다.
어차피 UI를 웹으로 바꾸면 되는거라서 그다지 어려울꺼 같지는 않다.
다음주 스프링 2.5랑 하이버네이트 책읽고 Ajax좀 봐야겠다. -_-ㅋ
dojo 프레임워크 번역서 좀 나왔으면 좋겠구낭 'ㅂ'
properties 파일 한글 안깨지게 하기.
Java/이론..2008. 6. 21. 17:23
properties 는 iso-8859-1 인코딩방식을 쓰기 때문에 한글을 입력해서 나중에 쓸때 깨진다.
이클립스에서 이것을 안깨지고 보게 할려면.. 간단한 플러그인을 추가 하면 된다.
이클립스 find and install 메뉴에 가서
새로운 리모트 사이트를 추가 하는데.
이름은 간단하게 Properties
주소는 http://propedit.sourceforge.jp/eclipse/updates
이렇게 추가를 하고 업데이트를 하면
다운로드 받을수 있는 목록이 3가지 뜬다.
거기서 가운데껏만 빼고(3.1.x 버전용)
나머지 두개를 인스톨한 후 사용하면 된다.
http://cafe.naver.com/snp6th.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=422
참고 사이트
이클립스에서 이것을 안깨지고 보게 할려면.. 간단한 플러그인을 추가 하면 된다.
이클립스 find and install 메뉴에 가서
새로운 리모트 사이트를 추가 하는데.
이름은 간단하게 Properties
주소는 http://propedit.sourceforge.jp/eclipse/updates
이렇게 추가를 하고 업데이트를 하면
다운로드 받을수 있는 목록이 3가지 뜬다.
거기서 가운데껏만 빼고(3.1.x 버전용)
나머지 두개를 인스톨한 후 사용하면 된다.
http://cafe.naver.com/snp6th.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=422
참고 사이트
닌텐도 Wii
My side/잡다한 이야기2008. 6. 20. 21:04
질러 버렸어요!!!
내.. 이번에 질러버린 위군입니다. -_-..
빔을 빌려와서 빔 쏴서 하는중..
하루 했더니.. 어깨가 아프더군요 -_-ㅋ
타이틀은 일단 위 스포츠 한개 샀는데..
잼있네요. '-'
야구 하는데 150km의 강속구도 던졌다는...
대신 어깨가 아픕니다.-_-;;
위 포인트로 뽀글뽀글 사서 해봤는데 잼있네요 '-'
모두 지르세요!!!
빔을 빌려와서 빔 쏴서 하는중..
하루 했더니.. 어깨가 아프더군요 -_-ㅋ
타이틀은 일단 위 스포츠 한개 샀는데..
잼있네요. '-'
야구 하는데 150km의 강속구도 던졌다는...
대신 어깨가 아픕니다.-_-;;
위 포인트로 뽀글뽀글 사서 해봤는데 잼있네요 '-'
모두 지르세요!!!
볼링 하는 화면.