일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 도메인 주도 개발 시작하기
- 기술면접
- 인프런백기선
- java
- 혼공SQL
- CleanCode
- jpa
- 이팩티브 자바
- MariaDB
- 이펙티브 자바
- 스프링부트와AWS로혼자구현하는웹서비스
- 클린코드
- 자바
- 인덱스
- 자바예외
- 자료구조
- mysql
- 자바스터디
- 네트워크
- 인프런김영한
- SQL쿡북
- vue.js
- 알고리즘
- react
- 알고리즘분석
- DDD
- AWS RDS
- 이펙티브자바
- AWS
- aop
- Today
- Total
목록IT서적 (37)
기록이 힘이다.

주요 엔터티는 개념 모델링 단계에서 이력 엔터티를 고려하는 것이 현실적으로 효율적이다. 원천 데이터를 먼저 명확하게 설계해야 한다는 점을 염두에 두어야 한다. 이는 마치 정규화를 한 후에 비정규화를 하는 것과 같은 이치다. 실무에서 주로 사용하는 방법으로 논리 모델링이 끝난 이후나 물리 모델링 기간에 이력 데이터를 설계하는 것이다. 필자는 이 방법을 사용하지 않는데, 이럭 데이터 관리 방법에 따라 모델 구조가 바뀔 수 있기 때문이다. 또 한가지 중요하게 고려할 점은 모델링 기간이다. 본질 데이터를 먼저 정의하고 이력 데이터를 나중에 정의하는 프로세스는 시간이 오래 걸린다. 이력데이터를 설계하는 두 가지 방법은 이력 데이터를 별도의 엔터티에서 관리하는 방법이 있으며, 이력 데이터와 원천 데이터를 함께 관리..

식별자 속성과 비식별자 속성 사원 엔터티에서 사원번호 속성은 주 식별자다. 그리고 사원주민등록번호 속성은 대리 식별자며 소속부서번호 속성은 외래 식별자다. 따라서 사원번호.사원주민등록번호 속성은 식별자 속성이고 사원명.입사일자.소속부서번호.퇴사일자.휴대전화번호 속성은 비식별자 속성이다. 후보 식별자 주 식별자가 될 가능성이 있는 식별자를 의미한다. 모든 식별자는 주 식별자가 될 수 있는 후보이므로, 식별자와 후보 식별자는 사실상 동일어다. 후보 식별자가 업무 식별자보다 더 넓은 개념이다. 주 식별자 주 식별자는 엔터티에 하나만 존재하는 대표 식별자다. 흔히 주 식별자와 주 키라는 용어는 동일하게 사용한다. PK는 테이블에 지정된 물리적인 제약을 의미한다. 이에 반해 주 식별자는 논리적으로 인스턴스를 식별..

데이터 모델을 제대로 설계하기 위한 근본적인 해결책은 정규화뿐이다. 시스템에 따라 정규화가 필요없을 수 있지만, 그건 필요에 따른 선택일 뿐이며, 이마저도 원칙에 바탕을 둔 선택이다. 정규화란? 식별자에 종속된 유사한 속성들을 모으고, 종속되지 않은 독립적인 속성들은 분리하여 속성을 명확히 구별하는 것이 정규화다. 정규화를 수행하는 것은 중복 속성을 제거하기 위함이지 액세스 성능을 최적화하기 위함은 아니다. 정규화를 하면 엔터티는 분해되고 중복 속성은 제거되기 때문에 데이터를 추출할 때 성능이 떨어질 수 있다. 더이상 추가할 속성이 없는 모델보다, 제거할 속성이 없는 모델이 완벽한 모델이다. 중복을 최대한 제거하는 과정이 정규화다. 함수 종속이란? 함수 종속은 관계형 모델을 설계할 때 가장 중요한 데이터..

엔터티 정의방법 - 원천 데이터인가? - 스스로 존재하는 최초의 데이터이다. - 고객이나 사용자가 직접 입력함으로써 생성된다. 즉 화면에서 입력한다. 반면에 가공 데이터는 주로 프로그램에 의해 생성된다. 배치 프로그램이나 데이터 복제 프로그램에 의해 생성된다. 원천 데이터끼리는 관계가 활발하게 존재하는 반면, 원천 데이터와 가공 엔터티, 또는 가공 엔터티끼리는 참조 무결성 관계가 거의 존재하지 않는다. 원천 데이터는 정규화를 철저히 수행해야 하는 데이터다. 가공 데이터는 비정규화가 비교적 빈번하게 수행된다. 꼭 필요하지 않은 실체화된 뷰는 자원을 낭비하고, 성능을 저하시킬 수 있으므로 가공 데이터와 마찬가지로 주의가 필요하다. 가공 엔터티에 사용된 값은 원천 엔터티의 값이 바뀌면 수정해야 한다. 데이터 ..
진짜 웹 서버가 하는 일 1. 커넥션을 맺는다 -- 클라이언트의 접속을 받아들이거나, 원치 않는 클라이언트라면 닫는다. 2. 요청을 받는다 -- HTTP 요청 메시지를 네트워크로부터 읽어 들인다. 3. 요청을 처리한다 -- 요청 메시지를 해석하고 행동을 취한다. 4. 리소스에 접근한다 -- 메시지에서 지정한 리소스에 접근한다. 5. 응답을 만든다 -- 올바른 헤더를 포함한 HTTP 응답 메시지를 생성한다. 6. 응답을 보낸다 -- 응답을 클라이언트에게 돌려준다. 7. 트랜잭션을 로그로 남긴다 -- 로그파일에 트랜잭션 완료에 대한 기록을 남긴다. 웹 서버는 리소스 서버다. 그들은 HTML 페이지나 JPEG 이미지 같은 미리 만들어진 콘텐츠를 제공하며, 마찬가지로 서버 위에서 동작하는 리소스 생성 애플리케이..
메서드 메서드 설명 메시지 본문이 있는가? GET 서버에서 어떤 문서를 가져온다. 없음 HEAD 서버에서 어떤 문서에 대해 헤더만 가져온다. 없음 POST 서버가 처리해야 할 데이터를 보낸다. 있음 PUT 서버에 요청 메시지의 본문을 저장한다. 있음 TRACE 메시지가 프락시를 거쳐 서버에 도달하는 과정을 추적한다. 없음 OPTIONS 서버가 어떤 메서드를 수행할 수 있는지 확인한다. 없음 DELETE 서버에서 문서를 제거한다. 없음 위와 같은 사유로 인해 코드를 짤 때 , POST의 경우로 controller에서 다음과 같은 처리를 한다. @ResponseBody 상태코드 전체범위 정의된 범위 분류 100-199 100-101 정보 200-299 200-206 성공 300-399 300-305 리다이렉..
기술이사님이 추천해주셔서 읽게 된 책이다. 내용은 이전에 본 책들에서 나온 것들도 중복되어 가독성 있게 빠르게 읽을 수 있었다. 무엇보다 중요한 것은 마지막 부분에서 많이 나온 것 같다. 특히나 이번에 주도적으로 프로젝트 진행을 맡게 되면서 아래의 팁이 많은 영감을 주는 계기가 되었다. TIP 60 : 팀을 기능 중심으로 조직하라 자율적인 팀을 여럿 만들고 리더십 없이 그냥 제멋대로 내버려두면 재앙이 벌어진다. 프로젝트에는 기술을 담당하는 수석과 관리를 담당하는 수석 이렇게 최소한 두 우두머리가 필요하다. 기술 수석: 개발 철학과 스타일을 정하며 팀에 책임을 할당하고, 사람들 사이의 피할 수 없는 토론을 중재한다. 중복을 찾아내고 직교성을 늘이려고 노력한다. 관리수석: 팀이 필요로 하는 자원을 계획하고,..

도서 대출 시스템 1. 요구사항 정의 2. 이벤트 스토밍을 통한 마이크로서비스 도출 3. 외부 아키텍처 정의 4. 내부 아키텍처 정의 5. JHipster를 이용한 아키텍처 구성 1. 요구사항 정의 사용자 관리 및 로그인 사용자를 등록한다. 등록 시 사내 HR(Human Resource) 시스템에 의해 검증된다. 특정 사용자는 사서의 역할을 부여받는다. 사용자는 시스템 사용을 위해 로그인하거나 로그아웃할 수 있다. 도서 관리 사서는 도서분류정보를 등록/수정/삭제한다. 사서는 입고된 도서를 분류하고 등록/수정/삭제한다. 일반적인 도서는 도서공급사에 의해 공급된다. 각 도서는 대출할 수 있는 수량(재고)이 있으며, 대출/반납에 의해 재고가 조정된다. 도서 대출 및 반납 사용자는 도서를 검색한다. 사용자는 베..