일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정적팩토리메서드
- Atomicity
- 스프링
- Spring
- 토비의 스프링
- jpa no session
- 도커 이미지 빌드
- kotlin 리팩터링
- 자바 필터
- 소프트웨어의 품격
- jpa lazy
- 스프링di
- 스프링부트 도커
- 기능적 요구사항
- 동적파라미터
- spring formatter
- method refetence
- ioc컨테이너
- 스프링 시큐리티 설정
- 비기능적 요구사항
- java predicate
- 수정자주입
- IOC
- 스프링시큐리티
- 스프링 포매터
- 그래프큐엘
- fetch join
- open-session-in-view
- kotlin ::
- 생성자주입
- Today
- Total
목록전체 글 (109)
공부기록
Model @Controller public class BasicModelViewController { @RequestMapping(value = "/welcome-model-map") public String welcome(ModelMap model){ model.put("name", "XYZ"); return "welcome-model-map"; } } ModelAndView @Controller public class BasicModelViewController { @RequestMapping(value = "/welcome-model-view") public ModelAndView welcome(ModelMap model){ model.put("name","XYZ"); return new Mode..
개요 은행을 생각해보자. 계좌이체, 대출승인 같은 핵심 기능들이 있을 것이다. 이 핵심기능 안에는 각각 로깅이나 트랜잭션 처리와 같은 부가기능이 존재할 것이다. 각각의 핵심기능을 바라볼 때는 로깅이나 트랜잭션 또한 중복되지 않고 핵심기능 안에 속해있지만, 이걸 횡단으로 바라보면 로깅이나 트랜잭션은 중복된 코드다. 그래서 AOP(Aspect-Oriented Programming == 관점지향프로그래밍) 라 부른다. AOP는 이런 부가기능의 중복을 제거하기 위해 존재한다. 용어정리 타깃 : 부가기능을 부여할 대상. 핵심기능을 담은 클래스일 수도 있지만, 다른 부가기능을 제공하는 프록시 오브젝트일 수도 있다. 어드바이스 : 타깃에게 제공할 부가기능을 담은 모듈. 메소드 전반에 걸쳐 참여할 수도 있지만(Meth..

setInterval을 이용해 1초마다 시간을 갱신해서 출력하는 코드. 재사용이 불가능하다. 다음과 같이 재사용 가능하게끔 컴포넌트를 분리시키자.

이와 같은 Comment 컴포넌트가 있다. 컴포넌트 내에서 쓰인 UserInfo나 Avatar는 재사용되기 힘들다. 다음과 같이 작게 쪼개보자 먼저 Avatar 컴포넌트부터 분리해냈다. 좀 더 일반적이고 Avatar 관점에서 바라봤을 때 어울리는 이름으로 바꿔보자. {props.author...} => {props.user...} 이제 UserInfo도 분리해보자. UserInfo컴포넌트에 Avatar가 사용되므로 UserInfo컴포넌트에 Avatar를 포함시켜준다. 이제 UserInfo와 Avatar는 재사용 가능한 컴포넌트가 됐다.