본문 바로가기
  • Seizure But Okay Developer

BackEnd/Spring6

싱글톤 컨테이너 개요 스프링에 대한 이해를 위해 글을 씁니다. 내용 스프링의 기본 토대 중 하나인 싱글톤 컨테이너 개념에 대해서 알아보겠습니다. 싱글톤 사용 이유 스프링은 기업용 온라인 기술을 지원하기 위해 탄생했습니다. 이때 대부분의 스프링 애플리케이션은 웹 용입니다. 웹 애플리케이션은 여러 고객으로부터 동시에 요청을 받는데요. 만약 스프링을 적용하지 않은 순수 자바 프로그램이라면 3명의 고객이 요청을 하면 각기 다른 3개의 객체가 DI 컨테이너에 생성이 됩니다. 이 경우 메모리 낭비가 심합니다. 이를 해결하기 위해 객체 1개만 생성하고 이를 공유하도록 설계하는데 이때 사용하는 것이 싱글톤 패턴입니다. 싱글톤 패턴의 개념에 대해선 간단하게 설명하고 넘어가겠습니다. 싱글톤 패턴 개념 클래스 인스턴스가 딱 하나만 생성되도.. 2023. 4. 29.
스프링 컨테이너와 스프링 빈 개요 스프링 컨테이너와 스프링 빈에 대해서 이해를 하기 위해 글을 작성합니다. 내용 스프링을 사용하는 근간이 되는 부분인 스프링 컨테이너가 생성되는 과정을 설명하겠습니다. 이 과정에서 ApplicationContext 이 사용되는데요. // 스프링 컨테이너 생성 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); ApplicationContext을 간단 정리하자면 스프링 컨테이너이자 인터페이스이며 XML 또는 어노테이션 기반 클래스 등으로 구현이 가능합니다 스프링 컨테이너가 구성되는 과정은 네 가지로 정리할 수 있습니다. 스프링 컨테이너 생성 스프링 빈 등록 스프링 빈 의존관계 설정 .. 2023. 4. 22.
객체지향 설계와 스프링 개요 스프링에 대해 깊게 이해를 하기 위해 기본 내용에 대하여 숙지하고자 글을 씁니다. 내용 객체 지향을 설명할 때 빠지지 않는 요소가 있습니다. 바로 '좋은 객체 지향을 설계할 때 지켜야 할 5가지 원칙' 인데요. 객체 지향에 대해 설명하기 전에 앞서 '객체지향 프로그래밍을 했을 때의 좋은 점이 뭐길래 이걸 알아야 하죠?' 라고 질문을 할 수 있습니다. 객체지향 프로그래밍은 객체들의 모임에서 객체끼리 메시지를 주고받고 데이터를 처리할 수 있는 개념이라고 설명할 수 있는데요, 이러한 객체지향 프로그밍은 '캡슐화', '상속', '다형성', '추상화' 의 특징을 가지고 있으며 장단점을 열거하자면 아래와 같습니다. 객체지향 언어의 장점 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 프로그램 개발에 .. 2023. 4. 16.
DI 와 IoC 란 무엇인가? (최종 정리) 개요 개발 면접 질문에서 항상 많이 받았던 질문인 DI, IoC 에 대한 정리가 필요하다고 생각해 글을 작성합니다. 책을 읽다보니, DI 보단 IoC 가 더 근간에 가까운 개념이었다는 것을 알게 되었습니다. 둘을 분리해서 IoC는 이런 것이고 DI는 이런 것이다! 라고 설명하기 어렵지만, 최대한 두괄식으로 설명해보겠습니다. 그리고 DI 및 IoC 에 대한 이해는 확실히 예제가 있어야 이해가 잘 되는 것 같습니다. 먼저 설명할 것은.. IoC 란? 흔히 라이브러리와 프레임워크를 두고 이 개념을 설명합니다. 저는 그런 설명을 하고 나서 면접에 떨어졌습니다 ㅎㅎ.. 뭐랄까 기술 면접은 형식적인 답변을 기대해서 한다기 보다 그 사람이 해당 기술에 대해서 진지하게 알아보고 있는 지 정성적인 부분을 보는 것이라 느.. 2023. 3. 23.
Spring 배치 관련 정리 개요 현 시스템에서 Spring 배치를 사용하면서 업무처리를 하는데, 좀 더 자세히 이해하기 위해 글로 정리합니다. What is 배치? 배치는 영어 단어인 batch 를 우리 말로 읽은 것으로, 정식 명칭은 batch processing, 우리 말로는 일괄 처리라고 합니다. 실시간으로 통신해서 처리? No! → 한꺼번에 일괄적으로 대량 건을 처리. 배치는 보통 정해진 특정한 시간에 실행됩니다. Then, how about 스프링 배치? 본격적으로 스프링 배치에 대해서 알아보겠습니다. 개념 스프링 배치는 로깅/추적, 트랜잭션 관리, 작업 처리 통계, 작업 재시작, 건너뛰기, 리소스 관리 등 대용량 레코드 처리에 필수적인 기능을 제공합니다. 또한 최적화 및 파티셔닝 기술을 통해 대용량 및 고성능 배치 작업.. 2022. 12. 21.
Intellij_Spring 초기 세팅시 참고한 사이트들 초기설치(JAVA도 안깔려 있는 상태일 때)시 JAVA 환경 변수 설정에 도움이 된 블로그 : http://limkydev.tistory.com/61 Intellij 에 tomcat 세팅하는 방법 : http://godahye.tistory.com/entry/intellij%EC%97%90%EC%84%9C-tomcat%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0 Intellji 에서 SpringMVC 생성하는 방법 : http://meaownworld.tistory.com/17(여기서 마지막 단계쯤 Put into Output Root 설정을 할 때 file - project structure - Artifacts 로 들어가서 해당 작업을 수행해야한다, 블로그 설명이 조금 잘못된듯) 2018. 7. 25.