1.2 DAO의 분리 변수나 오브젝트 필드의 값은 그대로지만 오브젝트에 대한 설계와 이를 구현한 코드가 변함 = 소프트웨어는 끊임없이 변함 미래를 어떻게 대비할 것인가를 항상 염두! -> 분리와 확장을 고려한 설계 관심이 한 곳에 집중되도록 해야함 -> 관심사의 분리 UserDao의 관심사항 add() 매소드와 get() 메소드의 중복 코드를 확인하여 하나의 메소드로 추출 DB 종류와 접속 방법이 바뀌었을 경우 getConnection() 메소드만 수정하면 됨 변경사항에 대한 검증: 리팩토링과 테스트 중복된 코드를 추출하는 과정처럼 기능에는 영향이 없이 코드의 구조를 간결하게 변화하는 과정 = 리팩토링 DB 커넥션 만들기의 독립 UserDao 소스코드를 제공하지 않고도 고객이 원하는 DB 커넥션 생성 방..
FrameWork(프레임워크) 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조 소프트웨어의 특정 문제를 해결하기 위해 상호 협력하는 클래스와 인터페이스의 집합 반드시 써야하는 것과 내부적인 룰이 있음 예시: Spring, Angular JS, Django... Library(라이브러리) 소프트웨어 개발 시 사용되는 프로그램의 구성요소로, 공통으로 사용되는 특정 기능들을 모듈화 한 것 라이브러리 사용은 자유
HTTP HyperText Transfer Protocol - 통신을 주고받게 하는 가장 기초적인 프로토콜 서버에서 브라우저로 전송되는 정보가 암호화되지 않음 크롬으로 HTTP 사이트를 들어가면 '주의 요함' 경고창이 뜬다. 보통 80번 포트 사용 HTTPS HyperText Transfer Protocol Secure HTTP에 SSL(보안 소켓 계층)을 사용함으로써 보안 문제 해결 공개키 암호화 방식 사용 보통 443번 포트 사용
1장 오브젝트와 의존관계 자바의 객체지향 프로그래밍 -> 스프링이 스프링에서 가장 가치를 두는 것 오브젝트에 대한 관심 오브젝트간 관계, 사용, 소멸 전 과정 오브젝트의 설계 -> 객체지향 설계 재활용 가능한 설계방법 = 디자인 패턴 깔끔한 구조로 개선 = 리팩토링 오브젝트가 정상적으로 동작하는지 = 단위 테스트 스프링이 제공하는 것 오브젝트의 효과적인 설계, 구현, 사용 및 개선의 기준 객체지향 기술과 설계, 구현에 관한 실용적인 전략 검증된 베스트 프랙티스 오브젝트의 설계와 구현, 동작원리에 집중! 1.1 초난감 DAO DAO(Data Access Object): DB를 사용해 데이터를 조회하거나 조작하는 기능을 하게 만든 오브젝트 자바빈(JavaBean): 비주얼 툴에서 조작 가능한 컴포넌, 일반적..