hm (3)

1 minute read

끄적끄적 서치/복습하면서

프로그래밍

프로그래밍은 절차이다. 절차 복잡을 단순화 하기 위해 구조적인(그룹핑) 프로그래밍을 했다. 구조적인 프로그래밍에서 인간 사고 체계 방식으로 개선하기 위해 객체지향 프로그래밍이 탄생했다.

함수

함수는 반복되는 부분을 해결해주는 것. API는 함수가 아니다. 하지만 함수는 API가 될 수 있다. 함수에서 어떤 대상을 간접적인 도구로 쓰인다면 API가 될 수 있고, 코드 집중화, 나눌목적으로 사용한다면 함수이다.

함수가 인터페이스로만 사용하는 것이 아니고 인터페이스 함수로 만들 수 있따.

Controller가 잘 실행되고 있는가?

확인하기 위해 Logger.debug이 있다

Private static final Logger LOGGER = LoggerFactory.getLogger(Controller.class);

SVN

Trunk
프로젝트에서 가장 중심이 되는 디렉토리
Branch
Trunk에서 뻗어져 나온 나뭇가지
Tag
버전별 소스코드를 따로 저장하는 공간
Merge
Trunk에서 분기된 Brach를 다시 Trunk로 합치는 작업

SeRE->Upade

매핑

두 집합의 원소들 간의 대응 관계. 연관성을 관계하여 연결시켜주는 의미.

의존성 주입의 장점

프로그래밍에서 구성요소간의 의존 관계가 소스코드 내부가 아닌 외부 설정파일 등을 통해 정의하게 하는 디자인 패턴 중 하나.

장점

의존 관계 설정이 컴파일시가 아닌 실행시에 이루어져 모듈간의 결합도가 낮아진다.

작성된 모듈을 여러곳에서 소스코드의 수정없이 사용이 가능하다. 모의 객체등을 이용한 단위 테스트의 편의성.

클린코드

  1. 좋은 함수의 조건 중 하나
    • 한 가지 일을 잘하는 것
  2. 코드로 가장 추상적인 개념을 위로 저차원 함수를 아래로 배치

  3. 단위 테스트
    • 함수 하나가 개념 하나만 테스트 하도록. 개념당 assert의 수는 최소로.

결합도 (의존도)

  • 어떤 모듈이 다른 모듈에 의존하는 정도

응집도

  • 한 클래스 또는 모듈이 특정 목적 또는 역할을 얼마나 일관되게 지원하는지 나타내는 척도

응집도가 높으면?

새로 연관된 기능이 묶어진다.

JPA

@EmbededId
단순한 하나의 복합키
@IdClass
복합키를 통한 식별관계 매핑이

Java Enum

: 클래스처럼 보이게 하는 상수

Public enum Type { a,b,c,d } 관련 있는 상수들을 모아 심볼릭한 명칭의 집합으로 정의한 것.

Enum을 통해 얻는 장점

: 문자열과 비교해 IDE의 적극적인 지원을 받을 수 있다.
자동완성, 오타 검증, 텍스트 리팩토링등 허용 가능한 값들을 제한.
리팩토링시 변경 범위가 최소화