개발하면서
-
Spring Framework 6.2 문서 읽고 이해하기 ... IOC Container (4)개발하면서/타인글보면서 2025. 3. 5. 08:05
Lazy 빈 인스턴스화 기본적으로 ApplicationContext는 초기화될 때 모든 빌은 eager 하게 생성하고 구성하도록 구현되어 있다.일반적으로 eager 한 생성은 괜찮은 방법인데 왜냐하면 실행 후 몇 시간 또는 며칠 뒤가 아니라 즉시 발견할 수 있기 때문이다.eager 한 생성이 필요하지 않은 경우 lazy 하게 만들 수 있는데 ApplicationContext가 초기화될 때가 아니라요청할 때 빈을 생성한다.lazy 빈을 설정하는 방법은 @Lazy annotation 또는 XML에 에 lazy-init 속성으로 제어할 수 있다. 하지만 eager 한 빈이 lazy 한 빈의 의존관계가 있다면 ApplicationContext는 빈 생성을 위해 lazy 한 빈을 시작할 때 생성한다. 메서드 주입..
-
Spring Framework 6.2 문서 읽고 이해하기 ... IOC Container (3)개발하면서/타인글보면서 2025. 3. 2. 11:00
엔터프라이즈 급 어플리케이션은 대부분 객체 하나만 갖고 있지 않는다.심지어 간단한 어플레이션도 사용자에게 일관된 기능을 제공하기 위해 서로 협력하는 객체들로 구성된다.앞에서는 독립적으로 동작하는 빈을 얘기했는데,지금부터는 어플리케이션의 목표를 온전히 달성하기 위해 객체끼리 협력하는 방법을 설명한다.의존성 주입의존성 주입(Dependency injection, DI)은생성자 주입, factory 메서드로 인자 또는 setter 메서드로 property 설정 방식으로 의존성을 정의하는 프로세스다.컨테이너는 빈 생성할 때 정의한 의존관계들을 주입한다.이 과정들은 기본적으로 생성자나 서비스 로케이터 패턴을 이용해서 의존성의 위치나 인스턴스화를 스스로 제어한다. (IoC) DI 원칙 덕분에 코드는 좀더 깔끔해지고..
-
Spring Framework 6.2 문서 읽고 이해하기 ... IOC Container (2)개발하면서/타인글보면서 2025. 2. 23. 13:28
https://docs.spring.io/spring-framework/reference/core/beans/dependencies/factory-properties-detailed.htmlIoC Container 찍먹 해본 지난 글에 이어서 이번에는 Bean을 알아보자.https://dol9.tistory.com/332 Spring Framework 6.2 문서 읽고 이해하기 ... IOC Container (1)현재 정산 백엔드 직군으로 일하고 있고 사용하는 기술은 Spring Boot와 Kotlin이다. (사람마다 깊이에 대한 기준은 다르지만) Spring을 깊은 이해 없이 활용 가능한 정도로 공부한 후 사용하다가 문제dol9.tistory.comIoC Container는 한개 이상의 빈을 관리하는..
-
Spring Framework 6.2 문서 읽고 이해하기 ... IOC Container (1)개발하면서/타인글보면서 2025. 2. 9. 16:00
현재 정산 백엔드 직군으로 일하고 있고 사용하는 기술은 Spring Boot와 Kotlin이다. (사람마다 깊이에 대한 기준은 다르지만) Spring을 깊은 이해 없이 활용 가능한 정도로 공부한 후 사용하다가 문제 생기면 그때 필요한 부분만 알아가는 식이였다.IOC Container라는 게 있어서 POJO + Meta정보를 이용해서 Bean을 생성하고 lifecycle도 관리해 주고,Reflection을 이용해서 DI 해준다 정도... 아는 것도 모르는 것도 아닌 두리뭉실한 느낌 이를 반대로 말하면 문제없는 영역은 잘 모른다는 게 문제다. Spring Boot가 알아서 해주는 게 많아 개발자는 비즈니스 로직에만 집중한다는 장점이 있지만프로젝트가 커지다 보면 비즈니스 로직만 알아서는 부족함을 느낀다. 개발..
-
더 나은 커밋, 더 나은 프로젝트 만들기개발하면서/타인글보면서 2024. 11. 13. 21:47
남은 2024년까지 2개의 프로젝트를 진행한다.커밋을 atomic 하고 유의미하게 나눈다는 건 알지만 할 때마다 여전히 어렵다. 전에 커밋 컨벤션에 대해 한번 정리했지만Github Blog에서 실제 커밋 트리를 보여주며 더 나은 커밋 작성하는 방법을 소개하고 있어 정리해 봤다. Git Commit을 단순히 롤백하고 협업을 위한 코드 분리(?) 정도의 저장소로 생각하지 말고지금의 코드가 만들어진 이야기를 얘기한다는 생각으로 Commit을 만들자! https://github.blog/developer-skills/github/write-better-commits-build-better-projects/ Write Better Commits, Build Better ProjectsHigh-quality ..
-
if(kakaoAI)2024 day3 시청 및 정리 ... 백엔드개발하면서/타인글보면서 2024. 11. 11. 12:09
이번 포스트는 백엔드 경험을 공유한 발표영상들을 정리했다. if(kakaoAI)2024 day2 시청 및 정리 ... 프론트엔드이번주에 if(kakaoAI) 2024 발표 영상이 공개됐다.개인적으로 AI 모델링, 서빙, Feature Store보다는 AI 사용하는 거에 관심이 많아 정리는 안 하고 간단하게 보기만 했다. Day2와 Day3 발표에서 관심가는 발dol9.tistory.com 카카오톡 펑 개발기PUSH방식과 PULL 방식 소개 PUSH는 필요하지 않은 일을 할 수 있다.PULL은 생성과정은 빠르지만 피드에 들어가야 할 피드를 찾아야 해서 조회가 느리다. 서비스의 사용패턴은 생성보다 조회 트래픽이 많은 SNS와 유사하다. 97%가 조회 트래픽이고 3%가 생성 트래픽인 카톡 프로필과 비슷하다고..