728x90 프로젝트20 [OSS] 백오피스 Operation Support System 개발 가이드 OSS 개발 가이드 본 OSS 개발 가이드는 전회사에서 개발자들이 LegacyDB를 직접 붙어서 데이터를 수정하는 부분을 OSS 기능으로 제공하여 휴먼에러를 줄이기 위해 본인이 혼자 기획하고 개발한 기능임 OSS 개발 순서 OSS 서비스 개발 요청자에게 SQL과 구체적인 기능 요청서를 받음 기능요청서를 검토하고 궁금한 부분을 문의 기능요청서 분석이 끝나면 본격적인 기획 및 화면설계 후 이채은 매니저에게 화면 개발요청 화면설계는 https://ovenapp.io/ 이용 먼저 연동 API 에 요청 서비스를 개발 및 테스트 연동 API 에 추가된 요청 서비스를 OSS-API Swagger을 통해 OSS에 서비스 메인, 서비스 상세 데이터를 등록 롤백 처리가 필요하다면 추가로 연동 API 에 롤백 데이터 조회 .. 프로젝트 2021. 8. 22. [Kotlin][SpringBoot Excel] 엑셀 업로드 공통 서비스 가이드 엑셀 업로드 공통 서비스 클래스 파일 경로: com.project.component.excel.service ExcelReader 엑셀 파일로 부터 데이터를 읽어 들여 요청한 객체 타입에 맞게 데이터를 맵핑 한다음 요청 객체 리스트로 리턴 해준다 필수 셋팅 엑셀 업로드용 객체를 생성할때 엑셀 업로드용 임을 알 수 있도록 반드시 suffix로 ExcelUpload 를 붙여서 생성한다 ex) SampleExcelUpload Sample 객체 소스코드 from 메서드 엑셀 업로드 처리를 위해 ExcelUtils 의 from 메서드를 사용하면 된다 class ExcelUtils { companion object { /** * 엑셀 업로드 처리를 위한 객체 * Generic 타입의 객채를 생성하여 업로드된 엑셀 .. 프로젝트 2021. 8. 3. [Kotlin][SpringBoot Excel] 엑셀 다운로드 공통 서비스 가이드 필수 셋팅 엑셀 다운로드시 추가 설정 사항을 적용하여 엑셀 다운로드를 할 수 있다 옵션 설정 옵션설정을 하지 않으면 모두 default 값으로 설정 된다 header, fileName 은 설정을 해주는 것이 좋다 설정가능한 옵션 title: 엑셀 제목 (default: 제목없음) header: 엑셀 헤더 (default: 조회된 컬럼명으로 헤더를 자동 생성함) fileName: 엑셀 파일명 (default: export.xlsx) columnWidth: 엑셀 컬럼 기본간격 설정값 엑셀 간격 폭을 넓힐때 설정 (default: 3000) style: 기본적인 테두리 설정과 font 설정이 추가된다 다운로드시 속도가 저하된다 (default: false) autoSize: 자동으로 컬럼을 리사이징 한다 (d.. 프로젝트 2021. 8. 3. [SpringBoot test] Sample API 테스트 코드 Sample API 테스트 코드 모든 Sample API 의 테스트 코드 BaseTest 클래스 상속 BaseTest 클래스를 상속받아서 테스트 코드를 구현했다 BaseTest 코드의 생성자만 구현한 뒤 사용하면 된다 /** * 샘플 테스트 코드 * BaseTest 상속 받으면 미리 설정해둔 어노테이션들이 자동으로 셋팅됨 * Created by KMS on 11/03/2020. */ class SampleApiControllerTest extends BaseTest { /** * 상속 클래스의 생성자 생성 * @param mapper * @param ctx */ public SampleApiTest(ObjectMapper mapper, WebApplicationContext ctx) { super(map.. 프로젝트 2020. 6. 20. [SpringBoot test] Sample API 및 Sample 객체 코드 Sample API 및 Sample 객체 코드 Sample API 및 Sample 객체 코드는 com.iparking.api.sample 패키지에 있으니 참조 하면 된다 SampleApiController Sample Controller 코드를 참조 하여 Controller 코드를 작성하면 된다 HTTP METHOD API Request Response 설명 GET /call 없음 "ok" 단순 서버 ping pong 테스트 GET /test 없음 CommonResult CommonResult 응답 테스트 GET /err 없음 CommonResult ExceptionHandler 테스트 GET /sample ReqGetSample sample CommonResult GET 요청 Object 파라메터 테스.. 프로젝트 2020. 6. 20. [SpringBoot test] BaseTest 클래스 사용 가이드 BaseTest 클래스 사용 가이드 BaseTest 클래스를 extends 해서 테스트 코드를 작성할 수 있는 방법에 대한 가이드 BaseTest 일반적인 Controller 테스트 코드를 작성할때 이 클래스를 상속 받아서 테스트 코드를 작성하면 별도의 어노테이션이나 필요한 객체를 의존받지 않고 상위 클래스로 부터 받아서 바로 사용할 수 있다 이 BaseTest 는 가장 기본적인 클래스이고 필요에 따라서 별도의 BaseTest 클래스를 만들거나 기본 BaseTest 클래스에 의존 객체를 추가하거나 어노테이션을 추가하여서 테스트 해도 된다 @Transactional 테스트 시 @Transactional 추가하면 테스트 수행 후 자동으로 롤백 처리가 된다 실제 데이터 처리를 유지하고 싶으면 @Transact.. 프로젝트 2020. 6. 20. [SpringBoot package] 패키지 객체 도메인 가이드 패키지 객체 도메인 가이드 참조: https://github.com/cheese10yun/spring-guide/blob/master/docs/domain-guide.md domain 패키지 명칭은 entity 혹은 domain 으로 표기하며 온전히 DB 처리용으로 DB 테이블 컬럼과 완전 동일한 객체의 클래스를 관리하는 package domain 객체는 반드시 DB 처리용으로만 사용해야 한다 * 주의 - 어쩔수 없는 경우를 제외하고는 domain 패키지의 객체를 DB 처리 이외에 사용하면 안되며 domain 객체에 **DB 컬럼 에 없는 컬럼을 추가하는 것도 권장하지 않는다 되도록이면 DB 컬럼과 동일하게 유지하기를 권장** dto https://gmlwjd9405.github.io/2018/12/25.. 프로젝트 2020. 6. 20. [SpringBoot 에러알람] Application Logback 파일에 연동 URL 적용하기 Application Logback 파일에 연동 URL 적용하기 default-log-constant.xml 파일의 HOOK_LOCAL_URL, HOOK_DEV_URL, HOOK_STAGE_URL, HOOK_PROD_URL 위치에 각각 local, dev, stage, prod 에 맞게 Dooray로 서비스 연동 을 완료한 Incoming Hook 연동 URL을 붙여 넣는다 Application의 logback-{$profile}.xml 의 아래에 표시한 위치에 dooray Appender 설정을 추가 하면 Dooray 메신저 에러 전송 설정이 완료된다 프로젝트 2020. 6. 20. [SpringBoot Excel] 엑셀 다운로드 공통 서비스 가이드 엑셀 다운로드 공통 서비스 가이드 필수 셋팅 엑셀 다운로드시 추가 설정 사항을 적용하여 엑셀 다운로드를 할 수 있다 옵션 설정 옵션설정을 하지 않으면 모두 default 값으로 설정 된다 header, fileName 은 설정을 해주는 것이 좋다 설정가능한 옵션 title: 엑셀 제목 (default: 제목없음) header: 엑셀 헤더 (default: 조회된 컬럼명으로 헤더를 자동 생성함) fileName: 엑셀 파일명 (default: export.xlsx) columnWidth: 엑셀 컬럼 기본간격 설정값 엑셀 간격 폭을 넓힐때 설정 (default: 3000) style: 기본적인 테두리 설정과 font 설정이 추가된다 다운로드시 속도가 저하된다 (default: false) autoSize: .. 프로젝트 2020. 6. 20. [SpringBoot Excel] 엑셀 업로드 공통 서비스 가이드 엑셀 업로드 공통 서비스 클래스 파일 경로: com.project.component.excel.service ExcelReader 엑셀 파일로 부터 데이터를 읽어 들여 요청한 객체 타입에 맞게 데이터를 맵핑 한다음 요청 객체 리스트로 리턴 해준다 필수 셋팅 엑셀 업로드용 DTO 객체를 생성할때 엑셀 업로드용 DTO 임을 알 수 있도록 반드시 suffix로 ExcelDto 를 붙여서 생성한다 ex) SampleExcelDto, ParkinglotInfoExcelDto Sample 객체 소스코드 from 메서드 엑셀 업로드 데이터를 셋팅할 오브젝트에 static from 메서드를 반드시 생성해야 한다 @Getter @Setter @NoArgsConstructor @AllArgsConstructor @ToSt.. 프로젝트 2020. 6. 20. [SpringBoot jooq] SQL UNQUOTED 설정 Jooq은 MariaDB, MySQL DB에서 생성되는 SQL에 QUOTED(`) 문자가 적용됨 아래와 같이 설정하면 QUOTED(`) SQL에 QUOTED(`) 문자가 적용되지 않음 DSLContext dslContext() throws Exception { DefaultConfiguration jooqConfiguration = new DefaultConfiguration(); jooqConfiguration.settings() .withRenderQuotedNames(RenderQuotedNames.EXPLICIT_DEFAULT_UNQUOTED); jooqConfiguration.setDataSource(dataSource()); jooqConfiguration.setSQLDialect(SQLDia.. 프로젝트 2020. 6. 20. [SpringBoot jooq] generator database 설정 옵션 Routines 나 CheckConstraints 권한이 없을때 Include object types https://www.jooq.org/doc/3.13/manual/code-generation/codegen-advanced/codegen-config-database/codegen-database-include-object-types/ generator 설정내용 org.jooq.meta.mariadb.MariaDBDatabase .* neos false false false false true 프로젝트 2020. 6. 20. 이전 1 2 다음 💲 추천 글 728x90