20220624 TIL
·
Memorization
오늘은 실전 프로젝트 첫 날이다! 프로젝트에서 적용할 기술 스택에 대해 공부를 더 해 보자 일단 스프링 부트 기반으로 프로젝트를 진행하려 하는데, 내가 쓰고 싶은 기술, 쓰고자 하는 기술이 무엇인지 정도는 간단하게라도 정리해야겠다 https://spring.io/projects Spring | Projects Spring Framework Provides core support for dependency injection, transaction management, web apps, data access, messaging, and more. spring.io 위 링크를 참고하여 몇 개를 추려보도록 하자😅 Spring Boot 개발 설정이 까다로운 스프링의 단점을 보완하고자 만든 프로젝트 필요한 환경 설..
스프링 핵심 원리 - 기본편(빈 스코프)
·
Spring
스코프 : 빈이 존재할 수 있는 범위를 뜻한다 스프링의 스코프 종류 1. 싱글톤 : 스프링 컨테이너의 생성- 종료까지 유지 2. 프로토타입 : 프로토타입 빈의 생성과 의존관계 주입까지만 관여 3. 웹 관련 스코프: request ) 웹 요청이 들어오고 나갈 때 까지 유지 session ) 웹 세션이 생성-종료까지 유지 application ) servlet context와 같은 범위로 유지 밑줄 친 스코프를 주로 사용한다.. [프로토타입 스코프] 싱글톤 스코프는 생성된 빈을 요청할 시 동일한 빈을 반환한다 그러나 프로토타입 스코프의 빈은 스프링 컨테이너에 프로토타입 빈을 요청한 시점에 생성하고 의존관계를 주입한다 그리고 스프링 컨테이너는 프로토타입 빈을 클라이언트에 반환하고 관리하지 않는다😅. 즉 클라이..
스프링 핵심 원리 - 기본편(빈 생명주기 콜백)
·
Spring
애플리케이션 종료 시점에 연결을 모두 종료하기 위해 객체의 초기화와 종료 작업이 필요하다 스프링 빈은 객체를 생성한 다음 의존관계를 주입하는 라이프사이클을 가진다. (ex: Setter, Field Injection) 예외) 생성자 주입 초기화 작업은 의존관계 세팅이 완료된 후에 진행된다. 그 시점을 어떻게 알까? 👉스프링이 초기화 콜백으로 알려준다 ^^ 또한 스프링 컨테이너는 종료되기 직전에 소멸 콜백을 준다. 스프링 컨테이너 생성 - 스프링 빈 생성 - 의존관계 주입 - 초기화 콜백 - 사용 - 소멸전 콜백 - 스프링 종료 초기화 콜백 : 빈이 생성되고, 빈의 의존관계 주입이 완료된 후 호출 소멸전 콜백 : 빈이 소멸되기 직전에 호출 객체의 생성과 초기화를 분리하자 객체의 생성 : 메모리를 할당해 객..
스프링 핵심 원리 - 기본편(의존관계 자동 주입)
·
Spring
[스프링 의존관계 주입 방법] 1. 생성자를 통한 의존관계 주입 -> 주로 불변, 필수 의존관계에 사용된다. @Autowired public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) { System.out.println("memberRepository = " + memberRepository); System.out.println("discountPolicy = " + discountPolicy); this.memberRepository = memberRepository; this.discountPolicy = discountPolicy; } - 생성자 호출시점에 딱 한번만 호출되는것이 보장된다. *..
스프링 핵심 원리 - 기본편(컴포넌트 스캔과 의존관계 자동 주입)
·
Spring
스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 @ComponentScan이라는 기능을 제공한다. 또한 의존관계도 자동으로 주입하는 @Autorwired라는 기능을 제공한다. 생성자에 @Autowired를 넣어 의존관계를 주입해보자💨 @Component public class MemberServiceImpl implements MemberService{ private MemberRepository memberRepository; @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } [ComponentScan] 스프링 컨테이너가 @Compon..
백준 11053 - 가장 긴 증가하는 부분 수열
·
Algorithm
[접근방법] DP 문제인 것 같다! Bottom-up(반복문)👌 / Top-Down(재귀) 예시를 잘 생각해 내야 된다.. 문제가 짧다고 후딱 읽고 풀면! 틀린다. 그리하여 [생각해본 예시] 9 3 1 2 3 4 5 6 4 5 👉 ans : 6 [구현] 위 예시를 바탕으로 두려움에 떨며 이중 for문을 만들어 보았다. 단순히 이전 인덱스 값을 비교하면 원하는 값이 나오지 않을 것 같았다. ** DP를 모조리 1로 채워줬다. input으로 5, 5, 5, 5 이 들어가도 1을 반환해야 하기 때문에 1st for : i는 두 번째 원소부터 마지막까지 돌면서 2nd for : j를 i 이전 원소들로 지정해 자기자신(i)과 비교한다 ▶ 만약 j번째 원소(arr[j])가 i번째 원소(arr[i])보다 작다면 (증..