TIL 210607

박수빈·2021년 6월 7일
0

TIL

목록 보기
6/25
post-thumbnail

백준

15655

n과 m,,, 혹시 직접 조합과 순열을 구현하는게 빠르려나 싶었는데, itertools 내장 라이브러리를 사용하는 것이 속도가 훨 빠르게 나온다. 그래서 그냥 정렬 후 조합했다. 참고한 블로그!

15657

비내림 차순, 중복가능 이라서 combinations_with_replacement를 이용해서 해줬당 라이브러리 만만세



SpringBoot

스프링 DB 접근 기술

이걸 3일을 쪼개 듣네,,

스프링 데이터 JPA

SpringDataJpaMemberRepository.java

인터페이스 파일. 이렇게만 하면 spring container에 알아서 빈이 생긴다

SpringConfig.java

config도 이렇게 간단해진다. 테스트 돌려보면 끝나버린다

JpaRepository에 이미 구현되어있는게 많아서 그렇다.
하지만 공부할때는 JPA를 먼저하고! 데이터 jpa를 써보는게 좋은게, 데이터 jpa는 jpa를 도와주는 도구일 뿐이라고 한당

AOP

AOP가 필요한 상황

시간을 측정해야할 때! 시간은 핵심 관심 사항이 아니라, 공통 관심 사항이다.

매번 이렇게 로직을 짤 수 없는 노릇. 그래서 AOP를 사용한다.

AOP

Aspect Oriented Programming
공통 관심 사항(cross-cutting concern)과 핵심 관심 사항(core concern)을 분리해준다

AOP 적용하기

TimeTraceAop.java

AOP 파일에는 @Aspect 어노테이션이 필요하다
@Around 어노테이션은 어디에 실행시킬건지 적어주는 부분으로, 이미지와 같이 적으면 hello.hellospring 패키지 하위의 모든 파일에 해당된다.

config 파일에 등록해주고! 아니 근데 이렇게 하니까 스프링 빈에 '순환 종속성' 문제가 생겨서,, 그냥 aop 클래스에 @Component 해줬다.

이렇게 촤라락 실행 목록과 시간이 뜬다. 병목을 바로 찾을 수 있다.

꼼지락 🐥

인프런 강의가 끝났다.. 다시 책으로 돌아가서 탐구를 조금하고, 다시 도커를 해보던가.. 자바 공부를 하던가 해야겠다.
근데 문득, 기술이나 현업공부는 내년에도 공들여 할 수 있고, 시간이 없어도 시간을 내서 할텐데 언어는 우선순위가 밀릴테니까 지금 hsk공부를 해볼까. 문득 그런 생각이 들었다. 언어 욕심은 아무튼 끝이 없다..

profile
개발자가 되고 싶은 학부생의 꼼지락 기록

0개의 댓글