일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스
- 알고리즘
- application layer
- allocationSize
- API
- compgen
- DTO
- 파이썬
- @SubscribeMapping
- 편향된 지수
- 백준
- m:n
- JDBC
- 메모리 구조
- 쉘 스크립트
- 오블완
- @Autowired
- JPA
- 컴파일 타임 상수
- 기본키 전략
- 쿠키
- 커밋 되돌리기
- 티스토리챌린지
- 리눅스
- intelij spring config
- mysql
- BindingResult
- Git
- spring
- 런타임 상수
- Today
- Total
목록전체 글 (104)
둘셋 개발!

헥사곤 패턴이란? 사진에서 보다시피 아키텍처 모양이 육각형이어서 헥사곤 패턴이다. port와 Adapter을 사용하여 레이어 간의 원치않은 종속성을 피할 수 있고, 중심부에 비즈니스 핵심 코어 코드를 캡슐화하고 외부 시스템(Adapter)과는 port를 통해 연결되기 때문에 비즈니스 로직 변경으로 인한 사용자 인터페이스 코드 변경, 반대로 사용자 인터페이스 코드 변경으로 인한 비즈니스 로직 변경을 막을 수 있다. (유연한 설계) 단순히 스프링 프로젝트를 하면 Controller -> Service -> Repositroy 이렇게 참조하는 형태가 가장 흔하다. 여기서 헥사곤 패턴을 적용시키면 Controller가 사용자 요청을 받고 비즈니스 로직을 처리하려면 바로 Service를 의존하는 것이 아니라 Po..

Intro. 스프링부트가 아닌 스프링으로 프로젝트를 하고 있다. tomcat을 다운받아서 실행시키고 배포환경설정은 블로그를 참고했다. 따라서 하긴 했지만, 배포 시 문제가 생겼을 때 대응하지 못할 것 같아 그 설정들을 자세히 알아보기로 했다. Artifacts tomcat을 실행시킬 때 배포 환경 설정은 Deployment에서 한다. Deployment으로 들어가면 artifact를 선택할 수 있다. 위 그림에서 연필모양을 클릭하면 선택한 artifact를 수정할 수 있다. 보면 알겠지만 project settings로 들어가도 나온다. (시험삼아 많이 만들어놓았다 ㅎ) '+ 버튼'을 누르면 Arifact를 추가할 수 있다. 나는 war로 배포를 할 것이기 때문에 Web ApplicationExplode..

어댑터 패턴이란기존의 구축되어 있는 클래스들 끼리 호환하려고 할 때, 코드변경 없이 어댑터로 호환가능하게 해주는 행동패턴이다. 공교롭게도 바로 제 앞에 어댑터 패턴 예시가 있어서 '젠더'를 예시로 들어보겠습니다.맥북 노트북에 usb를 꼽을 수가 없다. 맥북에는 c타입만 연결할 수 있기 때문이다. 그래서 usb를 연결하려면 input 구멍은 usb타입, output 구멍은 c타입인 젠더가 필요하다. 바로 이 젠더가 어댑터 역할을 하는 것이다. usb나 노트북을 변경하지 않아도 간편하게 연결할 수 있다. 그리고 외부 API를 사용하고자 할 때 어댑터를 사용하면, 외부 API가 바뀌더라도 어댑터만 수정하면 코드 수정을 대폭 줄일 수 있다. 결국 변화가 생겼을 때 코드수정을 많이 하지 않고 유연하게 개발하기 위..

옵저버 패턴이란 옵저버는 관찰자라는 말이다. 옵저버가 관찰하고 있는 대상의 상태가 변하면, 관찰 대상(=발행자)는 자신을 관찰하고 있는 옵저버들에게 메시지를 전달하고 옵저버들은 그 메시지를 받아 조치를 취하는 행위 패턴이다. 유튜브로 예시로 들면 이해하기 편하다. - 구독자 == 옵저버 == 관찰자 - 유튜버 == 발행자 == 관찰 대상 - '관찰하다' == '구독한다' 구독자들이 유튜버를 구독하면, 유튜버가 동영상을 업로드할 시에 알림을 받을 수 있듯 옵저버가 주체자를 관찰하도록 하고 주체자의 상태가 변하면 옵저버는 관련 메시지를 받을 수 있다. - IPublisher: 관찰 대상 (주체자) 인터페이스 - Publisher: 관찰 대상 클래스 - ISubscriber: 관찰자 인터페이스 - Subscr..