본문 바로가기
반응형

전체 글67

[PT] 서킷 트레이닝 - 서킷 트레이닝 6 세트 (주 1~2회 수행) - 1) 어깨 - 숄더프레스 4kg 좌우 각 5회/동시 5회 총 10회 2) 삼두 - 오버헤드 트라이셉스 익스텐션 4kg 10회 3) 복근 - 데드버그 10회 4) 측면삼각근 - 사이드 레터럴 레이즈 10회 5) 하체 - 런지 좌우 12회 6) 하체 - 벤치런지 좌우 10회 세트간 쉬는시간 2분 30초 체지방 불태우기 좋은 운동 분발이 필요하다. 주 1회라도 꾸준하게 할 수 있기를 2022. 8. 6.
[Mockito] spyBean vs mockBean @MockBean : given에서 선언한 코드에서만 사용할 수 있음 @SpyBean : given에서 선언한 코드 외에는 전부 실제 객체의 것을 사용 이미 존재하는 Bean을 SpyBean으로 Wrapping한 형태 기본적인 개념은 조금 다르나 사용법은 @MockBean과 @SpyBean은 동일 간략한 특징은 - MockBean은 가짜객체이므로 given에서만 개발자의 모의코드를 지정할 수 있음 이에, 실제 데이터베이스 연동되는 로직이 있어도 가짜 객체이므로 연동되지 않음 - SpyBean은 진짜객체이므로, 특정 given에서 개발자의 모의코드를 지정할 수 있음, 대신 given이 아닌 행위에 대해서는 실제 객체로 동작, 이에 구현된 로직이 실제 수행되며, 데이터에비스 연동이 실제로 이루어짐 - 참고 .. 2022. 7. 10.
컴포넌트 스캔 1. @Component 애노테이션으로 스캔 대상 지정 1) @Component 스프링 빈 등록 어노테이션 클래스에 명시해주면 됨@Component public class MemberDao { //... } 2) @Component 빈 이름 기본 지정 : 클래스명을 사용하되 맨 앞글자만 소문자 @Component public class MemberDao { // --> bean name : memberDao //... } 직접 지정 : 빈 이름 직접 명시 @Component("mdao") public class MemberDao { // --> bean name : mdao //... } 2. @ComponentScan 애노테이션으로 스캔 설정 1) @ComponentScan 설정 정보 없이 @Compo.. 2022. 7. 10.
빈등록 조건 어노테이션 @Configuration public class CacheServiceConfiguration { @Bean @ConditionalOnExpression("'${cache.type}'=='local'") public LocalCache localCache() { return new LocalCache(); } @Bean @ConditionalOnBean(LocalCache.class) public TokenRepository tokenLocalRepository(){ return new TokenLocalRepository(localCache()); } @Bean @ConditionalOnMissingBean(LocalCache.class) public TokenRepository tokenRedisR.. 2022. 7. 7.
불고기맛 닭가슴살 야채볶음 - 재료 - 1) 닭가슴살 250g (2덩이) 2) 파프리카 1~2개, 송이버섯 1개, 양파 2개 (150~200g) 3) 카놀라유, 맛간장 3술, 굴소스 2술, 맛술 1.5술 4) 후추 or 허브솔트 - 순서 - 1) 닭가슴살 후추 숙성 (10분 이상) 2) 야채는 대충 썰자 3) 달군 후라이팬에 카놀라유 뿌리기 & 썰은 양파 먼저 투하 5분간 볶아 4) 양파가 살짝 반투명해지기 직전 버섯,파프리카 투하 5) 닭가슴살 투하 6) 양념 투하 (맛간장 3술, 굴소스 2술, 맛술 1.5술) 7) 대충 볶아 (중간중간 간보면서 닭가슴살 다 익혀질때까지 ㄱ) 8) 완성 ^_^ 플레이팅 시도 파프리카가 부족한듯 보임. 생 파프리카 투하 계란후라이 투하 맛은 생각보다(?) 괜찮은듯 얼마전 친구들과 떠난 완주 글램핑.. 2022. 7. 3.
[DI] 생성자 주입을 사용하자 DI 방식 종류는 1) 생성자 주입 2) setter 주입 3) 필드 주입 4) 일반 메서드 주입 위 4가지 중 1)생성자 주입으로 사용하자 왜? 1) final 키워드 작성 가능 == 불변 대부분 의존관계 주입은 한번 일어나고 애플리케이 종료시점까지 변경되면 안된다. setter와 메서드방식의 경우 public으로 지정하다보니 외부에서 실수로 개발자가 변경할 수 있는 위험요소가 있음 2) 의존관계 누락 방지 생성자는 인스턴스를 만들때, 당연히 위와 같이 컴파일 에러를 뱉음 (컴파일 오류는 세상에서 가장 빠르고 좋은 오류다) 그러나, setter 주입일 경우는? 현재 MemberService에서 Repository가 누락되었으나, 문제없이 생성자를 통해 인스턴스를 만들고, 주입받지 못한 memberSer.. 2022. 6. 21.
[DB_개공] 조인 주의 골테이블기준으로 안하고, 게임테이블을 기준으로 아우터조인을 하다보니 게임은 존재하지만 골이 안나온 경우까지 count되어서 오답이 나옴 정답은 골테이블기준 레프트 아우터 조인 혹은 기준상관없이 이너조인 2022. 6. 11.
@EventListener & @PostConstruct 애플리케이션을 실행할 때, 다른 리소스에서 호출하지 않고도 특정 메서드를 수행시키고 싶을 때 (예로, 초기 데이터를 저장하는 경우 등 초기화 작업 시) 다음 어노테이션 중 하나를 수행 시킬 메서드에 적용한다. 1) @EventListener(ApplicationReadyEvent.class) 2) @PostConstruct 1)의 경우 스프링 컨테이너가 완전히 초기화를 다 끝내고, 실행 준비가 되었을 때 발생하는 이벤트이다. 2)의 경우는 AOP같은 부분이 아직 처리되지 않은 시점에 호출 될 수 있어, 간혹 문제가 발생할 수 있음 가급적 1)를 쓰는게 좋을듯 싶다. @EventListener(ApplicationReadyEvent.class) public void initData() { log.info(.. 2022. 6. 9.
[백준] A와 B 2 https://www.acmicpc.net/problem/12919 12919번: A와 B 2 수빈이는 A와 B로만 이루어진 영어 단어 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수빈 www.acmicpc.net 완탐 문제 문자열 연산의 종류 2가지 문자열의 뒤에 A를 추가한다. 문자열의 뒤에 B를 추가하고 문자열을 뒤집는다. 이때, S를 T로 바꿀 수 있다는 말은 T를 거꾸로 S로도 바꿀 수 있냐는 의미 T를 S로 바꿀때 1) T 맨뒤가 A인 경우 - A를 뺀다 - 뒤집고 맨뒤가 B인 경우 B를 뺀다 (B가 아닌 경우는 고려X) 2) T 맨뒤가 B인 경우 - 뒤집.. 2022. 6. 2.
반응형