본문 바로가기
728x90
반응형
SMALL

2020/015

AOP - 필요할 때 마다 알아서 해 줄테니 넌 핵심 로직에 집중해 AOP (Aspect Oriented Programming) - 관점지향 프로그래밍 다중 상속이 불가능한 Java에서 기능을 구현하는 핵심 기능 코드와 공통 기능 코드가 섞여 있어서 효율성이 떨어짐 핵심기능과 공통기능을 분리 시켜놓고, 공통 기능을 필요로 하는 핵식 기능들에서 사용하는 방식을 말합니다. AOP 주요 용어 Aspect: 공통 기능 Advice: Aspect의 기능 자체 Aspect를 공통 기능이라고 크게 묶었다면 Advice는 그 안의 세부적인 주요 기능이라고 생각하면 됨 Joinpoint: Advice를 적용해야 하는 부분 (ex. 메서드) Pointcut: Joinpoint의 부분으로 실제 Advice가 적용된 부분 Weaving: Advice를 핵심 기능에 적용하는 행위 Spring .. 2020. 1. 31.
[MySQL] 실행계획 옵티마이저 쿼리를 최적으로 실행하기 위해 테이블의 데이터가 어떤 형태로 분포되어 저장되어 있는지 통계 정보를 참조하고 실행계획을 만들어 낸다. 대부분의 DBMS는 비용기반 최적화(Coast-based optimizer, CBO)방법을 이용한다. 아주 오래전 예전 오라클에서는 규칙기반 최적화(Rule-based optimizer, RBO)을 이용하기도 했다. (현재는 거의 사용하지 않는 방법) ​ 통계정보 CBO에서 가장 중요한 것은 통계정보다. 오라클의 경우 통계정보가 상당히 정적이고 수집에 많은 시간이 소요되기 때문에 통계 정보만 따로 백업하기도 한다. MySQL에서 관리되는 통계정보는 대략의 레코드 건수와 인덱스의 유니크한 값의 개수 정도이다. Memory 테이블은 별도 통계 정보가 없으며, MyIS.. 2020. 1. 31.
[책리뷰] 리부팅 - 2020.01.31 리부팅 국내도서 저자 : 전옥표 출판 : 중앙북스 2019.08.22 상세보기 2020년 첫번째 책의 제목은 #리부팅 이다. ​ IT업계 종사자로 매우 친숙한 단어이다. 어린시절 컴퓨터의 '컴' 도 모를 때 뭔가 잘 안된다 싶으면 하는 것. 리부팅. (진짜 안될 땐 포맷을...) ​ 우리의 삶도 리부팅이 가능할까? 삶에서도 리부팅이 필요하다. 책에서 이야기하는 리부팅이란 완전히 껐다 키는 정도의 리부팅은 아니며 혜민스님의 책에서 이야기 했던 #관점 과 동일하다. ​ 잠시 멈추고 한발짝 뒤로 물러나 현재의 나를 관찰하는 것 여러 관점으로 자신의 모습과 주변 상황을 파악하고 생각하고 숨고르기를 하는 것 숨고르기가 끝나면 나의 가치관에 따라 나아가야 할 방향을 결정하고 나아가는 것 그리고 그 방향이 맞는지 수.. 2020. 1. 31.
Spring Boot - setupMultipart(ManagedServlet.java:170) 잘 동작하던 녀석이 Server 에 deploy 하면 아래와 같은 오류를 내뱉으며 startup 이 안된다. 이상하네? 개발장비에서는 잘 동작하고 있는데.... 왜이럴까? ​오류 내용을 자세히 살펴보면 이유를 설명해 준다. Caused by: java.lang.NullPointerException: null at io.undertow.servlet.core.ManagedServlet.setupMultipart(ManagedServlet.java:107) 이걸 보고 바로 감이 왔어야 하는데 감이 안와서 삽질을 좀 했다. 최근에 개발한 첨부파일 upload/download 기능이 있는데 application-dev.yml 에 upload와 관련된 설정이 있다. servlet: multipart: locati.. 2020. 1. 21.
728x90
반응형
LIST