본문 바로가기

전체 글47

2장 데이터 입출력 구현 데이터 베이스 개요 1. 데이터베이스 공동으로 사용될 데이터를 중복을 배제하여 통합하고, 저장장치에 저장하여 항상 사용할 수 있도록 운영하는 운영 데이터 (1) 데이터의 독립성 - 논리적 독립성 : DB와 애플리케이션을 독립시킴으로써 데이터의 논리적 구조 변경이 애플리케이션에 영향을 미치지 않음 - 물리적 독립성 : 애플리케이션과 보조 기억장치를 물리적으로 독립시킴, 디스크를 추가/변경해도 애플리케이션은 영향을 받지 않음 2. DBMS 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리하는 소프트웨어 (1) 필수기능 - 정의 기능 : 데이터의 형과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시하는 기능 - 조작 기능 : 데이터 검색, 갱신, 삭제, 삽입 기능을 위해 인터페이스 제공 - 제어.. 2021. 10. 4.
7장 애플리케이션 테스트 관리 애플리케이션 테스트 1. 애플리케이션 테스트 : 애플리케이션에 잠재되어 있는 결함을 찾아내는 일련의 행위 또는 절차이다. 2. 애플리케이션 테스트 기본 원리 - 완벽한 테스트 불가능 : 소프트웨어의 잠재적인 결함을 줄일 수 있지만 소프트웨어에 결함이 없다고 증명할 수는 없음 - 파레토 법칙 : 애플리케이션의 80%의 결함은 20%에 해당하는 코드에서 발생 - 살충제 패러독스 : 동일한 테스트 케이스로 동일한 테스트를 반복하는 것은 결함을 발견할 수 없음 - 테스팅은 정황에 의존 : 정황에 따라 테스트 결과가 달라질 수 있으므로, 정황에 따라 테스트를 다르게 진행해야 함 - 오류-부재의 궤변 : 아무리 결함이 적다고 해도 사용자의 요구사항을 만족하지 못한다면 해당 소프트웨어는 품질이 높다고 말할 수 없음 .. 2021. 10. 4.
6장 화면설계 사용자 인터페이스 1. 사용자 인터페이스 : 사용자와 시스템 간의 상호작용이 원활하게 이뤄지도록 도와주는 소프트웨어 2. 사용자 인터페이스 구분 - CLI (Command Line Interface) : 텍스트 대화형 인터페이스 - GUI (Graphical User Interface) : 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행하는 그래픽 환경의 인터페이스 - NUI (Natural User Interface) : 사용자의 말이나 행동으로 기기를 조작하는 인터페이스 3. 사용자 인터페이스의 기본 원칙 - 직관성 : 누구나 쉽게 이해하고 사용할 수 있어야 함 - 유효성 : 사용자의 목적을 정확하게 달성 - 학습성 : 누구나 쉽게 배우고 익힐 수 있어야 함 - 유연성 : 사용자의 요구사항을 최대한 .. 2021. 10. 4.
[Spring Data Jpa] Native query DTO Projection 1. Interface dto로 Projection - DTO public interface InterfaceDTO { // 규칙에 맞게 메소드 정의 (필드처럼 사용 가능) int getTableId(); String getName(); String getBrand(); } - JPA Repository (Pageable이 필요하다는 가정) Pageable로 페이징 가능, Pageable에 정의된 Sort방식 적용 가능!! (1) Page 객체로 받을 때 : countQuery 속성 꼭 필요!! interface dto가 가지고 있는 필드 명에 맞게 alias를 정의하면 자동으로 매칭됨 @Query(value= "SELECT tn.id as tableId, tn.name as name, tn.brand .. 2021. 7. 25.
[erwin] forward engineering Forward engineering 이란? "Forward engineering is the process of building from a high-level model or concept to build in complexities and lower-level details." "복잡한 하위 레벨의 디테일을 구축하기 위해 상위 모델을 만드는 작업" erwin의 경우로 생각해보면, erwin에서 생성한 Entity들을 sql ddl 문으로 변경시키는 것이다. Reverse engineering 이란? "Forward engineering is thus related to the term 'reverse engineering,’ where there is an effort to build backward.. 2021. 7. 2.
[Java] clone()에 대해서 목차 - Shallow Copy과 Deep Copy란? - Shallow Cloning - Deep Cloning - ( 번외 ) 배열의 Clone 1. Shallow Copy과 Deep Copy란? Shallow Copy (얕은 복사) : 원본 객체를 복사하여 새롭게 생성하지만 원본 객체 내의 참조자료유형 변수는 원본 객체가 가지고 있는 객체 변수와 동일하다. (기본자료유형에 대해선 deepcopy가 이루어진다.) Deep Copy (깊은 복사) : 원복 객체를 복사하는 것 뿐만 아니라, 원본 객체 내의 객체 변수들 까지도 완벽히 복사된다. Shallow Copy 그림설명 Deep Copy 그림 설명 2. Shallow Copy Java에서 객체에 대한 Clone() 메소드를 사용하려면 Clonable.. 2021. 5. 17.