반응형
Spring Bean의 생명 주기 Spring Bean은 다음과 같은 생명 주기를 갖습니다. 스프링 컨테이너 생성 => 스프링 빈 생성 => 의존 관계 주입(DI) => 초기화 콜백 => 사용 => 소멸전 콜백 => 스프링 종료 위 생명 주기를 보면 스프링 빈(Spring Bean)은 객체를 생성하고, 의존관계 주입이 다 끝난 후에야 필요한 데이터를 사용할 수 있는 준비가 완료 됩니다. 즉, 생성자가 호출되었을 때 스프링 빈은 초기화 전이고 DI(의존관계 주입)이 이루어 지고 나서야 스프링 빈이 초기화 됩니다. 초기화 작업은 의존관계 주입이 모두 완료되고 난 다음에 호출하게 되는데, 개발자가 의존관계 주입이 완료된 시점이 언제인지 알 수 있는 방법이 없습니다. 그래서 Spring은 다음과 같은 빈 생명주..
Spring이 나오기 이전엔 ? Java로 개발을 하던 초기에는 EJB(Enterprise Java Beans) 라는 기술을 사용했었습니다. 하지만 EJB는 이론적인 부분은 매력적이였지만 상당히 가격이 비쌌고, 복잡하고 어렵고 느리다는 단점이 있어 EJB로 개발하는 것은 지옥과 같다는 말이 나올 정도로 부정적인 말이 많았습니다. 그래서 차라리 EJB를 쓸 빠에는 POJO(Plain Old Java Object) 순수한 옛날 자바로 돌아가자라는 말이 나오기도 했었습니다. 그러다 EJB에 지친 개발자들이 오픈소스 프로젝트로 Spring이라는 오픈소스 기술을 개발하였고 이 Spring은 EJB의 복잡하고 어렵고 느리고 비싼 단점들을 개선하고 수 많은 편의기능들을 제공하여 Spring이라는 이름은 "EJB라는 ..
Solution.py 처음에는 permutations로 순열을 이용해 문제를 풀었는데 Lv2 답게 간단하게 문제가 풀릴일이 없이 효율성, 시간 초과로 실패했습니다. 이 문제를 풀기 위해서는 수학적으로 접근해야하는데, 먼저 맨 앞의 숫자가 1일 때, 1을 맨 앞의 원소로 갖는 순열은 [1, 2, 3] , [1, 3, 2] 로 총 두 가지 입니다. 이 경우의 수는 (n - 1)!을 계산했을 시 나올 수 있는 경우의 수가 됩니다. 파이썬의 math 모듈에서 factorial() 팩토리얼 메서드를 제공 해줍니다, 그 다음으로는 이 문제에서 k 번째 방법을 반환하라고 했는데, k의 수를 인덱스 값으로 변환하여 k - 1 을 해줘야합니다. k 번째에 있는 수를 구하기 위해서 (k - 1) // math.factor..
문제 설명 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 같은 방식으로 결정하려고 합니다. 해커톤 대회에 참가하는 모든 참가자들에게는 숫자들과 3가지의 연산문자(+, -, *) 만으로 이루어진 연산 수식이 전달되며, 참가자의 미션은 전달받은 수식에 포함된 연산자의 우선순위를 자유롭게 재정의하여 만들 수 있는 가장 큰 숫자를 제출하는 것입니다. 단, 연산자의 우선순위를 새로 정의할 때, 같은 순위의 연산자는 없어야 합니다. 즉, + > - > * 또는 - > * > + 등과 같이 연산자 우선순위를 정의할 수 있으나 +,* > - 또는 * > +,-처럼 2개 이상의 연산자..
Sping boot를 이용하면서 어플리케이션의 프론트 변경사항이 변경될 때서버를 종료했다 다시 시작했다 하는 건 상당히 귀찮다...;;하지만 이 귀찮은 부분을 spring-boot-devtools 라이브러리로 재시작하지 않고 페이지를 새로고침함으로써 변경사항을 반영시킬 수 있다. spring-boot-devtools 적용하기적용 방법은 정말 간단하다. 1. build.gradle에 의존성 추가아래의 코드를 build.gradle의 dependencies에 추가합니다.developmentOnly 'org.springframework.boot:spring-boot-devtools' 2. IntelliJ 환경 설정1. File -> Setting -> Advanced Settings -> Compiler안의 ..
Intelij에서 서블릿 컨테이너로 Tomcat을 사용 시 아래 처럼 JSP로 접속 시 200, servlet으로 접속 시 404 에러를 반환하는 경우가 있습니다. servlet만 404가 뜨는 이유는 Tomcat 버전과 Java EE 버전이 맞지 않아서 그런것인데 아래와 같이 Java EE 버전과 Tomcat 버전을 맞추면 정삭적으로 Servlet 접속 시 작동하게 됩니다. JAVA EE 8 + Apache Tomcat 9.0.X JAVA EE 7 + Apache Tomcat 8.5.X JAVA EE 7 + Apache Tomcat 8.0.X Java EE의 버전 확인 아래 방법은 버전 확인만 가능하고 변경은 하지 못합니다. 버전을 변경하고 싶다면 글을 아래로 스크롤해주세요. 프로젝트 우클릭 + Add..