본문 바로가기
반응형

전체 글140

[Git] git add . 반영 안됨. git add . 를 해도 반영이 되지 않는다. 이유는 docker 파일 위치에 있어서 안됐던 것이다 :(git add . 는 현재 디렉토리 이하의 변경 사항을 스테이징 영역에 추가하는 것을 의미한다.   위치를 이동하고 다시 git add . 를 하니 반영되었다. 2024. 4. 26.
[Spring] 스프링 핵심 원리 - 기본편 > 섹션 8. 빈 생명주기 콜백 인프런 김영한 강사님의 [스프링 핵심 원리 - 기본편] 섹션8. 빈 생명주기 콜백에 대한 요점 정리를 하였다. 목차 1.스프링 빈 이벤트 라이프 사이클 2.빈 생명주기 콜백 3가지 방법 1.스프링 빈 이벤트 라이프 사이클 스프링 빈의 이벤트 라이프 사이클은 다음과 같다. 스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입 -> 초기화 콜백 -> 사용 -> 소멸전 콜백 -> 스프링 종료 데이터베이스 커넥션 풀이나, 네트워크 소켓의 경우, 애플리케이션 시작 시점에 필요한 연결을 하고 애플리케이션 종료 시점에 종료하는 작업이 필요하다. 이를 위해 객체의 초기화와 종료 작업인 빈 생명주기 콜백 3가지에 대해 알아보려한다. 2.빈 생명주기 콜백 3가지 방법 2-1. 인터페이스 InitializingBe.. 2024. 4. 12.
[Spring] 스프링 핵심 원리 - 기본편 > 섹션 7. 의존관계 자동 주입 인프런 김영한 강사님의 [스프링 핵심 원리 - 기본편] 섹션7. 의존관계 자동 주입에 대한 요점 정리를 하였다. 목차 1.의존관계 주입방법 2.조회 빈이 2개 이상일 경우 3.어노테이션 직접 만들기 1.의존관계 주입방법 의존관계 주입 방법에는 크게 4가지가 있다. 1. 생성자 주입 2. 수정자 주입(setter 주입) 3. 필드 주입 4. 일반 메서드 주입 이 중에서 생성자 주입을 기본으로 사용하자. 대부분의 의존관계 주입은 변하면 안되기 때문이다. 수정자 주입 방식은 다른 필드 값들도 주입해주어야 하므로 누락의 가능성이 있다. 필드 주입은 테스트하기 어렵고 @Configuration 같은 특별한 용도에서만 사용한다. 일반 메서드 주입은 한번에 여러 필드를 주입 받을 수 있지만 잘 사용하지 않는다. @C.. 2024. 4. 11.
[Spring] 스프링 핵심 원리 - 기본편 > 섹션 6. 컴포넌트 스캔 인프런 김영한 강사님의 [스프링 핵심 원리 - 기본편] > 섹션6. 컴포넌트 스캔에 대한 요점 정리를 하였다. 메서드에 @Bean 적용을 해야 하는 경우가 너무 많아질 경우가 있다. @Bean 적용 없이 동일하게 스프링 빈으로 등록하고 싶을 경우, 클래스에 @Component를 적용하고 DI를 위해서 생성자에 @Autowired를 적용한다. 그리고 @ComponentScan을 적용한 클래스를 만들면 된다. @ComponentScan은 이름 그대로 @Component 어노테이션을 적용한 클래스를 스캔해서 스프링 빈으로 등록한다. @Configuration @ComponentScan( excludeFilters = @Filter(type = FilterType.ANNOTATION, classes = Conf.. 2024. 4. 11.
[Spring] 스프링 핵심 원리 - 기본편 > 섹션 5. 싱글톤 컨테이너 인프런 김영한 강사님의 [스프링 핵심 원리 - 기본편] > 섹션5. 싱글톤 컨테이너에 대한 요점 정리를 하였다. public class AppConfig { public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } ... } 스프링이 없이 순수한 DI 컨테이너인 AppConfig는 클라이언트가 memberServiceImpl을 요청할 때 마다 새로운 memberServiceImpl을 생성하고 반환한다.(-> 메모리 낭비 발생) 이유는 스프링이 없는 순수한 DI 컨테이너는 싱글톤을 보장해주지 않기 때문이다. 객체를 1개만 생성하고 공유하도록 설계하는 스프링 컨테이너를 사용하자. 스프링 컨테이너는 객체 .. 2024. 4. 10.
[Spring] 스프링 핵심 원리 - 기본편 > 섹션3. 스프링 핵심 원리 이해2 - 객체 지향 원리 적용 인프런 김영한 강사님의 [스프링 핵심 원리 - 기본편] 섹션3. 스프링 핵심 원리 이해2 - 객체 지향 원리 적용에 대한 요점 정리, 강의 외 추가 코드 작성을 하였다. 고객이 제품을 주문하고 할인을 받는 내용이다. 할인 정책 요구사항 변경이 생겼다. 기존 고정 할인에서 정률(%) 할인으로 변경 요구사항이다. 이 요구사항은 다시 고정 할인으로 되돌릴 수도 있다. 할인에 대해 명세가 확정되지 않았다는 것이다. 이러한 상황에서 어떻게 객체 지향적으로 다형성, OCP, DIP를 만족시킬 수 있을지를 중점적으로 볼 것이다. 주문 생성시 제품에 할인을 적용하는데 할인이 바뀔 수 있게 구현해야한다. DiscountPolicy 인터페이스를 만들고 구체 클래스인 FixDiscountPolicy(고정 할인), RateD.. 2024. 4. 8.
[Git] git pull 오류시, 강제 git pull을 이용한 덮어쓰기 Git을 사용하다 보면 여러 가지 이유로 git pull 명령어가 예상대로 작동하지 않는 경우가 있다. 네트워크 문제, 충돌(conflict) 발생, 로컬 변경 사항 등 다양한 원인으로 인해 Git 작업 흐름에 지장을 받을 수 있다. 이러한 상황에서 강제로 git pull을 실행하여 원격 저장소(repository)의 내용을 강제로 동기화하는 방법은 크게 세 단계로 나누어 볼 수 있다. 1. git fetch로 받을 목록을 repository에서 업데이트 git fetch -all git fetch --all 명령어는 모든 원격 저장소와 브랜치의 최신 변경 사항을 로컬 저장소로 가져오지만, 실제 작업 디렉토리의 파일은 변경하지 않는다. 이 단계는 로컬 저장소의 정보를 최신 상태로 업데이트하며, 실제 파일.. 2024. 4. 8.
[MYSQL] TRUNCATE() 사용 이유 TRUNCATE() 사용방법은 다음과 같다. TRUNCATE(값, 버림할 자릿수) 자릿수를 버림해야할 경우 사용한다. TRUNCATE(값, 0): 소수점 제거 해줌 TRUNCATE(100.123, 0) -> 100 TRUNCATE(값, 1): 소수점 1자리수 미만은 버림 TRUNCATE(100.123, 1) -> 100.1 TRUNCATE(값, 2): 소수점 2자리수 미만은 버림 TRUNCATE(100.123, 2) -> 100.12 2024. 3. 25.

반응형
반응형