본문 바로가기
반응형

프로그래밍/코프링7

코프링, MSA를 위한 첫걸음 Spring Cloud Config 배워보자! 안녕하세요 K-인사이트 입니다. 마이크로서비스를 구현하기 위해 여러 서비스들을 배치하다보면 자연히 수많은 설정 정보들을 어떻게 관리하고 적용하는지가 중요한 화두가 될것 입니다. 만약 서비스가 2~3개 정도라면 수작업이 문제가 되지 않겠지만 4~5개 이상이라면 설정을 관리하는데 있어 부하가 많이 발생하고 복잡하게 연결된 메쉬 구조일때 더욱 많은 어려움을 감내해야 할 것입니다. 만약, 여러분이 설정 정보를 변경한다고 하였을 때 중앙에서 설정들을 관리하고 이를 배포 없이 업데이트를 할 수 있다면 어떨까요? application.yaml 파일 혹은 application.properties 변경 정도로 배포 스케줄을 관리해야하는 부담이 줄어들 것입니다. 이 글에서는 Spring Cloud Config 를 통해서 .. 2024. 4. 11.
코프링, 성공적인 서비스를 위한 멀티 모듈 프로젝트 구성 (Feat. 코틀린 Gradle) 안녕하세요 K-인사이트 입니다. 창업 초창기 빠른 개발을 위해 프로젝트들이 새롭게 개발되고 발전함에 따라 서서히 개발자들의 발목을 잡게되는 요소가 있습니다. 바로 의존성 관리와 중복되는 코드의 범람이 그것입니다. 또한 각 프로젝트들이 강한 의존성을 가지게 됨과 동시에 비슷하지만 약간은 다르게 개발된 코드들을 두고 치열한 리뷰가 계속되는 악전고투를 해야만 릴리즈를 할 수 있게되는 상황이라면 멀티 모듈 프로젝트로 전환하는 방향을 생각해야합니다. 멀티 모듈 프로젝트란? 멀티 모듈 프로젝트는 하나의 서비스로 관리되지만 여러 프로젝트로 분할되어 있는 것을 한데 뭉쳐서 개발하는 프로젝트 구성 방법입니다. 일반적으로 회원 API를 개발한다면 IDE 를 실행해서 회원 API 를 위한 프로젝트를 생성할 것입니다. 하지만.. 2024. 4. 5.
코프링, 스프링 부트(Spring Boot) 코틀린으로 배워보자! 안녕하세요 K-인사이트 입니다. 사기업부터 공공기관까지 스프링 프레임워크는 대한민국의 표준이자 엔터프라이즈급 솔루션의 상징이었습니다. 그리고 오래된 역사와 에코시스템들이 생산성 향상에 기여를 하였습니다. 이어서 스프링 부트에게 왕좌를 내어주고 신뢰성의 상징으로 자리매김하는 지금에 이르러 코틀린이라는 강력한 언어가 탄생하였습니다. 이번 시간에는 코틀린을 이용해 스프링 부트 예시를 만들면서 스프링 부트가 코틀린에서 어떻게 구현되는지 알아보겠습니다. 또한, 코틀린으로 스프링 부트를 구현해야하는 이유에 대해서도 간략히 살펴보면서 여러분이 프로젝트에서 코프링을 해야될 이유도 간략히 제시를 드리겠습니다. 이 글 마지막에 실습 코드를 다운로드 받을 수 있도록 링크를 드렸으니 참고 부탁드립니다. 스프링 부트(Sprin.. 2024. 3. 20.
코프링, 스프링 배치(Spring Batch) 코틀린으로 배워보자 안녕하세요 K-IN 입니다. 대규모 데이터 처리를 위해 스프링 배치(Spring Batch) 를 자주 이용했을 것입니다. 이번 시간에는 코틀린을 이용해 스프링 배치 예시를 만들면서 스프링 배치가 코틀린에서 어떻게 구현되는지 알아보겠습니다. 특기할 점은 스프링 배치 공식 문서에는 코틀린 버전으로 설명을 제공하고 있지 않습니다. 이 예시는 Java 로 구성된 공식 문서의 설명을 Kotlin 언어로 풀어내고 있어 코틀린을 처음 접하신 분들이 Spring Batch 를 구현하는 허들을 낮추어주는 효용이 있습니다. TLDR; 코드 제공 이번 과정에서 다룬 내용은 Bitbucket 을 통해서 다운로드 할 수 있습니다. 링크로 접근하셔서 clone 버튼을 눌러주세요. https://bitbucket.org/kinst.. 2024. 3. 7.
코프링, 코틀린 데이터 클래스와 FlatFileParseException 해결 안녕하세요 K-IN 입니다. FlatFileItemReader 이란? CSV 파일을 리소스 폴더에 두고 읽어오기 위해 필요한 클래스입니다. 이 클래스를 통해서 Dto 와 같이 데이터 클래스를 초기화할 수 있습니다. 예를들어 직원 정보가 담긴 CSV 파일을 읽어와 작업하는 경우에 많이 쓰이겠습니다. 코틀린과 FlatFileParseException 코틀린에서는 data 키워드를 통해서 Dto 클래스를 선언하면 편리합니다. 어떤 점에서 편리한지 궁금하시다면 아래의 글을 추천드립니다. 2024.03.07 - [프로그래밍/코틀린] - 코틀린, data 키워드와 데이터 클래스 코틀린, data 키워드와 데이터 클래스 안녕하세요 K-IN 입니다. 코틀린에 대해서 알아보겠습니다. 전체 강의 목록은 아래의 링크를 클릭.. 2024. 3. 7.
코프링, 스프링 @Bean 어노테이션(Annotations) 안녕하세요 K-IN 입니다. @Bean 어노테이션 Bean 어노테이션은 스프링 프레임워크에서 빈(Bean) 객체를 정의하는데 사용됩니다. 빈(bean)은 스프링 애플리케이션 컨텍스트에 등록되어 관리되는 객체이며 다음과 같은 기능을 제공합니다. 의존성 주입(Dependency Injection) 과 IoC 컨테이너 활용: Bean 어노테이션을 활용하면 스프링 IoC 컨테이너가 빈(Bean)을 인식하고 ✅ 객체 간의 의존성 주입을 자동으로 처리합니다. 빈의 라이프사이클 관리: 스프링은 Bean 어노테이션이 붙은 메서드의 라이프사이클을 관리하며 초기화 메소드나 소멸 메소드를 정의하여 빈의 라이프사이클 이벤트에 특정 동작을 수행할 수 있도록 합니다. Bean 어노테이션은 XML 기반의 설정 대신 코드 기반의 설.. 2024. 3. 7.
코프링, 스프링 @Configuration 어노테이션(Annotations) 안녕하세요 K-IN 입니다. @Configuration 어노테이션 Configuration 어노테이션은 해당 클래스가 스프링 컨텍스트의 구성(configuration)을 담당하는 클래스임을 나타냅니다. 스프링에서 Java 기반 설정을 지원하는 어노테이션 중 하나미여 XML 기반 대신 Java 클래스를 이용하여 스프링 빈과 설정을 정의할 수 있도록 해줍니다. 즉, Configuration 어노테이션은 스프링 배치에서 실행할 Job 을 정의하는 역할을 합니다. 만약, Configuration 어노테이션을 사용하지 않는다면 XML 파일을 통해 Job 을 정의해야 합니다. 따라서 개발자는 Configuration 어노테이션을 통해 Java 혹은 Kotlin 기반으로 설정을 스프링에게 제공할 수 있습니다. 만약,.. 2024. 3. 7.
반응형