개발/KH국비지원과정

[KH국비지원 웹개발자 과정] Day_34 키워드 Properties, ERDCloud 등

mabb 2022. 7. 28. 22:24
반응형

 안녕하세요. 삶의 질을 높이고자 노력하는 영차영차입니다.
드디어 국비지원 학원을 다니며 공부에 전념을 할 수 있게 되었습니다.
해당 포스팅은 강의 복기용으로 키워드를 기록하는 용도의 포스팅입니다.
--------------------------------------------------------------------------------------------------

-Properties
: Map을 파일로 저장하여 사용하기 편리하도록 만든 컬렉션이다.
*.properties 파일을 읽어들일 때 주로 사용함.
key = value의 형태로 데이터를 저장한다.
주로 DB접속정보나 쿼리문 등을 파일로 저장하여 코드에 직접 노출되지 않도록 하며 재사용성을 높이기 위해 사용함.
쿼리문을 프로퍼티스로 저장해놓고 가져다 쓰는게 참 좋은 것같음.
FileReader객체를 load해준 후 getProperty로 값을 가져온다.
프로퍼티스를 사용하는 JDBCTempate에서 프로퍼티스 객체를 만들고
FileReader로 파일을 읽고 prop .load함. getProperty("key")값
prop.load(fReader)
<resources.properties>
## driver info
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:xe
user=STUDENT
password=STUDENT

회사에서는 어떻게 쓰는지 -> 정보들을 properties파일들로 관리할 수가 있다.
<dev.properties>
<mysql.properties> 등으로 정보들을 저장한 후에 사용할 수 있다.

파일에 들어가는 파일들을 프로퍼티스 파일로 관리하면 한 눈에 보기 편하고 좋다! 보안측면으로도 조금 더 나음.
<query.properties>
프로퍼티스 안에 파일 = 사이에 띄어쓰기해도 가능하다.

실습 중 클로즈 때문에 동작이 잘 안 되는 경우들이 발생함. conn객체를 닫은 후 커밋을 진행하는 경우 등.

pstmt는 stmt만 닫아주어도 같이 닫아짐. 상속

코드는 항상 잘 정리해주어야 한다. 정리를 잘 하는 습관을 들이자.

이클립스) 변수의 상태를 확인하기. 디버거 뷰. 변수 뷰.

-데이터베이스 모델링
데이터베이스를 직접 만들기 위해 필요함.

DB모델링 유용한 사이트 www.erdcloud.com  

 

ERDCloud

Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool.

www.erdcloud.com


굉장히 편리하다. 논리적 모델링, 물리적 모델링을 순차적으로 하기 좋으며 만든 ERD를 SQL문으로 export해주는 기능이 있다. 굉장히 좋음.

엔티티 도출 실습)

인텔리제이를 만드는 회사가 getBrain이다. 코틀린도 동회사에서 제작하였다고 함.

ERD 동그라미는 없을수도 있음, 여러개면 까마귀발, 한개면 작대기

식별관계: 부모 엔티티의 주식별자가 자식 엔티티로 넘어갈 때 자식 엔티티의 주식별자 역할을 하는 것
비식별관계: 부모 엔티티의 주식별자가 자식 엔티티로 넘어갈 때 자식 엔티티의 기본 속성이 되는 것

카디널리티. M대N관계 지양

정규화 : 테이블을 나누는 것.
이유: ANOMALRY 삽입이상, 갱신이상, 삭제이상 등의 문제를 없애기 위해서. 무결성

1정규화: 모든 속성은 반드시 하나의 값을 가져야 한다. 여러 값을 가질 경우 테이블을 찢어서 새로 엔티티를 만듦.
2정규화: 일반 속성은 모든 주식별자에 대해 종속적이어야 한다. 일부 주식별자에게만 종속적인 속성은 따로 찢어서 새로 엔티티를 만듦
3정규화::엔티티의 일반속성끼리는 서로 종속적이지 않아야 한다. 주식별자가 아닌 일반속성끼리 종속적이면 찢어서 따로 엔티티를 만든다.

정규화는 문제점들을 해결해나가다보면 자연스럽게 하게 되어있다.

물리적모델링
1. DBMS벤더 사 결정
2. 데이터 타입 및 크기 결정. 업무 분석
3. 반정규화 - 테이블을 찢은게 별로일 때 다시 합침.
4.무결성, 제약조건 정의
5. 뷰, 인덱스 정의
6.데이터베이스 생성

논리 -> 물리
엔티티 -> 테이블
속성 -> 컬럼
주식별자 -> 기본키
외래식별자 -> 외래키
+뷰,인덱스,시퀀스 등

-반정규화(De-Nomalization)
정규화 완료 후 데이터 물리 모델링 과정 중 시스템의 성능 향상, 개발과정의 편의성, 운영의 단순화를 추구하여 중복을 감수하고 데이터 베이스의 성능을 향상시키는 것.  JOIN을 하면 속도가 느려지는 부분들이 이씩 때문에 정규화를 통한 무결성 유지도 중요하지만 다수 사용자가 이용하는 환경에서 일정 성능 이상을 유지하는 것도 중요하기 때문!

엔티티도출 실습문제 주말 숙제)

프로젝트는 + 서버, 화면단 등을 추가하여 규모가 더 커질 예정

강사님 마인드셋) 사람마다 받아들이는 속도와 양이 다름. 모두를 충족하기 위해서는 알려줄 수 있는 것을 다 알려주고 거기서 숙달된 사람들이 알려주는 등 선순환이 되어야함. IT는 취업을 해서도 계속 공부해야함. 끝이 없는 공부이므로 지금 이해하지 못해도 나중에 또 이해할 수 있으니 조급하지 않게 꾸준히 하는 것이 중요함.

앞으로 배울 것
J쿼리, 서블릿, JSP, 마이바티스, 스프링

 

반응형