일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 성장
- 스타트업
- 멀티모듈
- spring
- 스프링
- springboot
- 스프링부트배치
- 문서화
- Kotlin
- 서브모듈
- 스프링부트
- batchframework
- 스프링배치
- 백엔드
- submodule
- batch
- API
- 회고
- springbootbatch
- springrestdocs
- multimodule
- react
- batch framework
- 프론트엔드
- Today
- Total
목록전체 글 (17)
노트북을 열고.
해당내용의 소스는 https://github.com/ahndy84/salt에서 확인하실 수 있습니다. 커뮤니티에 가입한 회원들중에 다음과 같은 배치처리 프로세스를 구현하고자 합니다. 1. 데이터베이스에서 이용이 활성화된 회원목록을 읽어온다. (ItemReader) 2. 읽어온 고객리스트들을 대상으로 다음의 비즈니스를 처리한다. (ItemProcessor) case. 결제할 금액 있음(=미납 고객) - (회원의 상태값이 활성화되어 있는 경우) 비활성화(INACTIVE) 상태 값으로 전환한다. 3. 처리된 고객들을 DB에 저장(update)한다 (ItemWriter) 진행하기에 앞서 사전에 준비해야 하는 몇가지입니다. 이전 장에서 실습해 본 SubModule 프로젝트를 기준으로 진행하겠습니다. 아래의 포스트..
대략 10만 명의 회원을 거느리는 웹서비스를 운영한다고 가정했을 때 우린 매일마다 회원들의 상태변화를 감지하고 운용할 수 있어야 합니다. 가령 오늘까지 우리 서비스에 접속하지 않은지 1년 이상이 지난 회원의 상태는 휴면으로 전환시키고 휴면으로 전환된 회원은 다시 로그인했을 때 본인인증절차를 거치도록 하는 것이 서비스 보안에 좋겠죠. 또는 후불로 청구되는 유료서비스를 이용하고 과금액을 미납한지 한 달째 되는 회원에 대해서도 매일마다 집계하여 그에 맞는 추심을 한다거나 채권관리대상으로 지정하여 우리서비스의 수익구조를 안정적으로 보호해야 하는 경우도 있습니다. 만약 이러한 일들을 사람의 손을 반복적으로 거쳐야 한다면 매우 고단한 일이 될 것입니다. 무엇보다 우린 그럴 인력을 고용할 돈이 없습니다. 스프링부트 ..
1. application.yml 생성하기 이쯤에서 궁금한 점이 생겨야 합니다. 각 모듈은 독립적인 서버의 역할을 합니다. 그렇다면 기본적으로 동일한 도메인을 갖는 각각의 모듈들은 어떻게든 구분되어 관리되어야 할 것입니다. 한 예로 포트구성을 들 수 있겠죠. 그러면 각 Module에 필요한 다양한 환경설정은 과연 어디서 어떻게 하는지 알아보겠습니다. module-web/src/main/resource 경로에서 application.yml이라는 파일을 생성하겠습니다. 그리고 다음과 같이 작성하겠습니다. server: port: 80 야믈 - YAML? YAML : Ain't Markup Language? 기존의 마크업(Mark-up)방식이 아닌 데이터 중심으로 서술하는 방식을 뜻합니다. 기존의 것보다 형식..
1. Sub Module 생성하기 다음과 같이 총 4개의 Sub Module을 생성하겠습니다. module-common : 공통모듈 module-web : 일반적인 서비스이용자를 위한 웹서비스 모듈 module-api : Web페이지 내부에서 직접 연결을 담당하는 서비스 또는 DB와 접점을 당하는 서비스로 구성된 모듈 module-batch : 일정한 스케쥴을 주기로 일괄처리 서비스를 담당하는 모둘 setting.gradle 파일에 다음과 같이 rootProject를 추가합니다. rootProject.name = 'modules' RootContext[Modules]에서 마우스 오른쪽버튼을 클릭 [New] - [Module] 을 선택합니다. New Module 생성창이 표시되면 Gradle을 선택, Ad..
제가 진행하는 프로젝트의 개발환경은 다음과 같습니다. (개발환경 구성에 대한 설명은 생략합니다.) OS : MacOS Language : Java 8 FrameWork : SpringBoot 2.5.3 IDE : IntelliJ IDEA Ultimate 2019. 1 JDK : Open JDK 11 Build tool : Gradle 4.0 1. 프로젝트를 생성해 보겠습니다. 상단 메뉴 [File] - [new] - [project]순으로 누르신 후 다음의 New Project창에서 왼쪽의 목록 중 Spring Initializr을 클릭합니다. Project SDK를 선택하고 Choose Initializr Service URL에서는 Default: https://start.spring.io 를 선택 후..
커뮤니티 서비스를 개발하고자 합니다. 기본적으로 아래와 같이 각 역할을 담당하는 서버를 따로 분리하여 설계를 하고자 합니다. WEB module : 서비스 이용자와 접점을 담당하는 모듈 API module : Web페이지 내부에서 직접적으로 연결을 담당하는 서비스 또는 DB와 접점을 당하는 모듈 Batch Module : 일정한 스케쥴을 주기로 일괄처리 서비스를 담당하는 모듈 ㅡ 분리를 해야하나요? 꼭 그렇게 안 하셔도 됩니다. 왜냐하면 그것으로 우리가 구현해야하는 서비스를 구현하지 못하는 사례는 없을 테니까요. 하지만 우리는 더없이 게으르게 싶고 움직이고 컴퓨터는 더없이 빠르고 척척 알아듣게 만들고 싶어 하는 천성 개발자(혹은 개발 지망생)입니다. 두 번 거쳐해야 할 일을 단 한 번에 끝낼순 없을지라도..
Lombok Plugin 설치이후에도 해당 에러메시지가 계속 나타나면 다음의 순서대로 옵션을 설정한다. error : cannot find symbol 1. 상단메뉴 Setting(또는 Preferences) 클릭 2. Build, Excution, Deployment - Compiler - Annotaion Processors이동하여 Enable annotation processing 체크 후 OK 버튼 클릭 3. 정상적으로 컴파일이 된다.
시작하며 개발자라는 직함을 사용한지도 4년이라는 시간이 흘렀다. 공공기관 교통물류분야 시스템구축(SI)사업을 전문으로 하는 기업에서 주로 운영관리 업무를 해오다 지인의 추천을 받아 2018년 3월 말 모빌리티서비스 기업으로 자리를 옮기게 되었다. 이전회사와 교통이라는 공통분모를 제외하곤 내가 그동안 해오던 업무의 원천이 달라지게 됐는데 그 정도가 4년차 경력을 다시 정의할 수준에 이르렀던 것이다. 아무렴 기술의 비중보다 고객사 현업의 배경을 잘 이해하는 비중이 업무성과의 앞선 척도가 되고 그것을 근거로 다행(?)스럽게 매년 연봉은 상승했지만 개발자라는 직함의 이면에는 이미 나도 모르게 '회사원' 또는 '공무원'과 같은 업무방식에 서서히 체화되어가고 있다는 것을 느끼게 될 때 즈음, 내 본연의 '직업정체성..