Programming/jsp2014. 4. 29. 17:15
Servlet과 같이 상속을 받아서 쓰는게 아니기에
테스트에도 용이한 일반적인 클래스를 사용한 설계기법(?)에 대한 거창한 이름

2000년에 만들어진 용어라는데..
대학에서 처음 자바 배울때 이런 용어는 들어본적이 없다는게 함정...
머.. 그 당시에 JSP 한게 아니니...

[링크 : http://ko.wikipedia.org/wiki/Plain_Old_Java_Object]
[링크 : http://en.wikipedia.org/wiki/Plain_Old_Java_Object]

'Programming > jsp' 카테고리의 다른 글

JSP 서블릿 매핑  (0) 2014.05.08
EL(Expression Language)$와 #  (0) 2014.04.30
thread-safe singleton  (0) 2014.04.25
oreilly fileupload/multipart 라이브러리(jar)  (0) 2014.04.24
context.xml을 이용한 dbcp  (0) 2014.04.24
Posted by 구차니
끄앙.. 다시 공부하려니 머리가 복작복작 ㅠㅠ

데이터베이스는 집합에 기반을 두고 있다.
그렇기에 각각의 항목들은 순서가 존재하지 않으며
원하는 값을 꺼내기 위한 조건에 따라 키들이 분류된다.

음.. 이렇게 정리되는게 맞으려나?




슈퍼키/super key
슈퍼키는 단독으로는 유일하게 구분할 수 없으나
복수개의 튜플을 이용하여 유일하게 구분할 수 있는 경우에 대한 키이다.

후보키/candidate key
후보키는 슈퍼키중 바꿀수 없는 항목을 의미한다.
어떻게 보면.. 슈퍼키에는 구분에 필요한 최소 튜플 이상이 포함되어 있을수 있는데
후보키에는 최소한의 튜플만 포함되는 식

후보키들은 유일성(uniqueness)과 최소성(minimality)를  만족해야 한다.
유일성 - 릴레이션에 있는 모든 투플에 대해 한가지 결과만 나와야 하고
최소성 - 복수개의 어트리뷰트로 구성시 모든 튜플이 유일하게 식별하는데 필요한 최소한의 어트리뷰트로 구성되어야 함
[링크 : http://hidingzz.tistory.com/733]

대리키/alternate key
대리는 기본키로 가능한 후보들 중에 키본키로 선택되지 않는 슈퍼키를 의미한다.

기본키/primary key
기본키는 유일하게 식별되는 하나의 튜플로 이뤄진 키이다.
테이블에서 유일한 값을 지니는 id나 시퀀스를 의미한다. (주민등록 번호나 고유 시리얼 번호)

외래키/foreign key
테이블-테이블의 관계에서 연관을 이어주는 값이다.
일반적으로 부모 테이블-자식 테이블이 있을경우(하위 연관성?)
자식 테이블에 부모 테이블의 기본키나 슈퍼키가 삽입되어 부모테이블과의 join을 통해
하나의 제대로 된 데이터를 추출하는데 쓰여진다.

[링크 : http://ko.wikipedia.org/wiki/키본_키] primary key
[링크 : http://ko.wikipedia.org/wiki/후보_키] candidate key
[링크 : http://ko.wikipedia.org/wiki/슈퍼_키] super key
[링크 : http://ko.wikipedia.org/wiki/대리_키] alternate key
[링크 : http://ko.wikipedia.org/wiki/외래_키] foreign key 




ACID는
원자성(Atomicity)
일관성(Consistency)
고립성(Isolation)
지속성(Durability)
의 약자로  DB 트랜잭션의 안전한 수행 보장을 위한 성질을 가르키는 약어인데..
튜플관련해서도 원자성/일관성 등은 나오니.. 묘하게 헷갈리는 기분... 
[링크 : http://ko.wikipedia.org/wiki/ACID ]

'Programming > 데이터베이스' 카테고리의 다른 글

데이터베이스 1:n 관계 구현  (0) 2016.02.29
CRUD  (0) 2014.05.17
카티젼 프로덕트, join  (0) 2014.04.26
database 1:N 구성?  (0) 2014.04.15
3-tier 구성?  (0) 2014.04.14
Posted by 구차니
Programming/web 관련2014. 4. 27. 21:11
2GB / php5 / mysql5.0 지원 무료 홈페이지

특이(?)하게도 일단은..
리투아니아와 사이프러스로.. 해외 업체(?)라고 해야하려나?
국내에서는 이제

우비 100MB
미리내 50MB 정도 밖에 안 남은것과는 대조되는 듯...



[링크 : http://www.hostinger.kr/]
[링크 : http://www.hostinger.kr/free-hosting]

'Programming > web 관련' 카테고리의 다른 글

post 방식과 get 방식의 차이점(cache)  (0) 2014.05.15
sql designer(web)  (0) 2014.05.11
ie8 과 크롬의 html 태그 파싱 차이점  (0) 2014.04.10
NoSQL  (0) 2014.04.09
w3c 규격 번역  (0) 2014.03.17
Posted by 구차니
카티젼 프로덕트는 join 연산을 위한 방법으로
두개의 테이블에 연관성을 통해
하나의 테이블로 합쳐 결과를 얻어내게 한다.

[링크 : http://gap85.tistory.com/29]
[링크 : http://ask.nate.com/qna/view.html?n=8987877]


예전 학부시절 DB수업 시간 들었던
1NF(Normal Form)
2NF 3NF 같은게 바로 이러한 카티젼 프로덕트를 위해 테이블이
중복된 내용이나 누락된 내용 없이 분할되었는지를 증면하는 것이었다!!!
[링크 : http://en.wikipedia.org/wiki/Database_normalization]

그리고 외래키(foreign key)는 이런 분할된 테이블에
다른 테이블의 연관을 얻어내기 위한 데이터이다.

In the context of relational databases, a foreign key is a field (or collection of fields) in one table that uniquely identifies a row of another table.[1][2][3] In other words, a foreign key is a column or a combination of columns that is used to establish and enforce a link between two tables.

The table containing the foreign key is called the referencing or child table, and the table containing the candidate key is called the referenced or parent table.


[링크 : http://en.wikipedia.org/wiki/Foreign_key

끄응.. 볼게 드럽게 많네 ㅠㅠ
학창시절 열심히 안한 업보인가 ㅠㅠ
[링크 : http://en.wikipedia.org/wiki/Candidate_key]
[링크 : http://en.wikipedia.org/wiki/Superkey]

일대다 / 다대일 / 다대다 관계는
이러한 조인에 따른 데이터의 결합 방식으로
하나의 항목에 복수개의 데이터가 붙을수 있는데 
[링크 : http://loopypapa.tistory.com/entry/SQL-일대일-일대다-다대다-관계]
[링크 : http://dimdim.tistory.com/entry/SQL-JOIN-정리-Inner-Join-Outer-Join]

이경우 프로그램에서는 리스트등을 통해 복수개의 데이터를 연관지어 사용하면 된다.
[링크 : http://antop.tistory.com/27]  java code/jsp?

'Programming > 데이터베이스' 카테고리의 다른 글

데이터베이스 1:n 관계 구현  (0) 2016.02.29
CRUD  (0) 2014.05.17
데이터베이스 - 키 관련  (0) 2014.04.28
database 1:N 구성?  (0) 2014.04.15
3-tier 구성?  (0) 2014.04.14
Posted by 구차니
Programming/jsp2014. 4. 25. 17:13
로그인 로직을 싱글톤으로 사용시 
과연 thread-safe할까? 라는 생각에 검색해보니 똭!

결론은 일반 싱글톤은 당연히 thread-safe하지 않으니
synchronized 등으로 동기화를 하거나(퍼포먼스 저하..)

ThreadLocal로 쓰레드별 로컬 변수로 생성하거나 등으로 회피를 하는 것으로 보인다.
[링크 : http://docs.oracle.com/javase/7/docs/api/java/lang/ThreadLocal.html]



[링크 : http://www.javaservice.net/~java/bbs/read.cgi?m=devtip&b=javatip&c=r_p&n=1028393658]
  [링크 : http://www.cs.umd.edu/~pugh/java/memoryModel/DCL-performance.html] << 원문
[링크 : http://levin01.tistory.com/307] << 부분 번역
[링크 : http://en.wikipedia.org/wiki/Singleton_pattern#Example

'Programming > jsp' 카테고리의 다른 글

EL(Expression Language)$와 #  (0) 2014.04.30
POJO - Plain Old Java Object  (0) 2014.04.29
oreilly fileupload/multipart 라이브러리(jar)  (0) 2014.04.24
context.xml을 이용한 dbcp  (0) 2014.04.24
dbcp와 ORA-12518  (0) 2014.04.24
Posted by 구차니
Programming/jsp2014. 4. 24. 16:41
jsp 수업중에 사용한 라이브러리
apache commons에서 upload 라이브러리가 있지만
oreilly에서 공개한 이게 더 좋다고 하니 머.. 일단 링크 저장

[링크 : http://www.servlets.com/cos/]

'Programming > jsp' 카테고리의 다른 글

POJO - Plain Old Java Object  (0) 2014.04.29
thread-safe singleton  (0) 2014.04.25
context.xml을 이용한 dbcp  (0) 2014.04.24
dbcp와 ORA-12518  (0) 2014.04.24
eclipse quantumDB CSV 파일 import  (0) 2014.04.23
Posted by 구차니
Programming/jsp2014. 4. 24. 16:39

'Programming > jsp' 카테고리의 다른 글

thread-safe singleton  (0) 2014.04.25
oreilly fileupload/multipart 라이브러리(jar)  (0) 2014.04.24
dbcp와 ORA-12518  (0) 2014.04.24
eclipse quantumDB CSV 파일 import  (0) 2014.04.23
tomcat war deploy  (0) 2014.04.23
Posted by 구차니
Programming/jsp2014. 4. 24. 01:17
ORA-12518 에러는 oracle 리스너에서 접속을 거부하는 상황에 대한 에러코드이다.
[링크 : http://mindsteeper.tistory.com/180]

아마도.. dbcp를 사용하면
아래와 같이 기본값으로 8개의 최대 접속이 생성이 되는데
오라클 리스너에서 하나의 아이피에서 몇개 이상의 동시 접속(세션)을 막아둬서
저런 오류가 발생하는게 아닐려나?

[링크 : http://commons.apache.org/proper/commons-dbcp/configuration.html]

일단.. 저런 문제가 발생하는 도중에도
eclipse/quantumDB에서 접속은 문제가 없는 것 봐서는...
dbcp의 문제일 가능성이 높을것으로 추측된다.


tomcat에서 연동시 context.xml 에 maxActive와 maxIdel이 500, 100 이었는데 줄여주니 접속이 된다.
<Context>
<Resource name="jdbc/OracleDB" auth="Container" type="javax.sql.DataSource"
username="user" password="pass" driverClassName="oracle.jdbc.driver.OracleDriver"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" url="jdbc:oracle:thin:@serverip:port:dbname"
maxActive="5" maxIdle="2" />
</Context> 
[링크 : http://gangzzang.tistory.com/120]

'Programming > jsp' 카테고리의 다른 글

oreilly fileupload/multipart 라이브러리(jar)  (0) 2014.04.24
context.xml을 이용한 dbcp  (0) 2014.04.24
eclipse quantumDB CSV 파일 import  (0) 2014.04.23
tomcat war deploy  (0) 2014.04.23
javax.servlet.http cannot be resolved?!?!  (0) 2014.04.23
Posted by 구차니
Programming/jsp2014. 4. 23. 23:31
원하는 테이블에 우클릭으로 import를 하고
CSV를 선택하면


해당 테이블에 CSV 파일 포맷에 따라 입력이 가능한 것 같은데...


대한민국 우편번호/주소를 입력하려고 했더니
3MB에 못미치는 파일을 입력하는데 어마어마한 시간이 걸리고..
나중에 켜놓고 돌아와서 보니 삽입안된게 더 많은데다
테이블 다시 확인해보니.. 타임아웃으로 롤백되었는지 입력된게 하나도 없다 ㅠㅠ


그래도 어떻게 잘 사용해 보면 넣을순 있을것 같으니.. 조금 더 찾아 봐야지 ㅠㅠ


----
일단.. column이 문제인것 같아서
고심하다.. 'Ignore header row column names, import columns in order' 옵션을 꺼주었더니 된다!!!
해석하자면 'row column 헤더의 이름을 무시함, columns 순서대로 입력함' 인데


우편번호에서 SEQ를 ID로 변경하여 ZIPCODE와 동일하게 만들어주고


간략하게 import 하니 들어갔다!!!!!

 
원격지 서버로 우편번호 2.3M 짜리 CSV 파일을


대략 7분 만에 넣는데 성공!

 

'Programming > jsp' 카테고리의 다른 글

context.xml을 이용한 dbcp  (0) 2014.04.24
dbcp와 ORA-12518  (0) 2014.04.24
tomcat war deploy  (0) 2014.04.23
javax.servlet.http cannot be resolved?!?!  (0) 2014.04.23
apache commons / beanutils , logging, digester  (0) 2014.04.18
Posted by 구차니
Programming/jsp2014. 4. 23. 15:21
eclipse를 쓰면 간단한데..
tomcat 자체 관리페이지에서도 가능하고
수작업으로도 가능은 하다고 한다.

음.. 일단 server.xml 에 role을 정해줘서 하는건 안된다
그럼.. local/remote에서 war 를 넣는건 불가능.. ㅠㅠ

[링크 : http://www.manydesigns.com/en/portofino/portofino3/3_1_x/installation-guide/deploying-on-tomcat]

'Programming > jsp' 카테고리의 다른 글

dbcp와 ORA-12518  (0) 2014.04.24
eclipse quantumDB CSV 파일 import  (0) 2014.04.23
javax.servlet.http cannot be resolved?!?!  (0) 2014.04.23
apache commons / beanutils , logging, digester  (0) 2014.04.18
maven  (0) 2014.04.18
Posted by 구차니