썸네일 ※ 블로그 이전 안녕하세요. 티스토리에서 Gitgub Pages 로 블로그를 이전 중에 있습니다. https://chiptune93.github.io/ Chiptune93 Java Developer’s Tech Blog & Exp Storage. chiptune93.github.io 티스토리보다 자유로운 환경에 원하는 대로 편집하고 작업할 수 있는 환경, 그리고 무엇보다 마크다운으로 포스트를 작성하여 Repository로 관리하는 부분이 마음에 들어 옮기기로 결정하였습니다. 기존 포스트는 전부 옮겨간 상황이고, 환경이나 구성 그리고 CSS 등을 손보고 있는 중입니다. 감사합니다.
썸네일 [SpringBoot] H2 Database CSV 데이터 Import 하기 SpringBoot 2.7.2 , Java11 사용 1. H2 Database 사용 설정 - build.gradle dependencies { ... // https://mvnrepository.com/artifact/com.h2database/h2 implementation group: 'com.h2database', name: 'h2', version: '2.1.214' // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jdbc implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-jdbc', versi..
썸네일 [SpringBoot] Swagger ui 3.0 연동하기 1. Swagger 3.0 세팅하기. 구글에 검색해서 나온 스웨거 세팅 관련 포스트는 대부분 2.X 버전대 이거나, 3.0 라이브러리를 받았음에도, 스웨거 세팅에서 SWAGGER2버전으로 낮추어 사용하는 글이 혼재하여 정리하고자 글을 작성한다. 우선 내가 적용하고자 하는 스프링 부트의 버전은 2.7.1 버전이며, 스웨거는 open api 3.0 OAS3 문서 버전을 만들고자 한다. - build.gradle // https://mvnrepository.com/artifact/io.springfox/springfox-boot-starter implementation group: 'io.springfox', name: 'springfox-boot-starter', version: '3.0.0' // http..
썸네일 SpringBoot 2.7+ CORS 이슈 및 해결방법 간단하게 만든 API 서버를 테스트 하기 위해 로컬에서 돌리던 도중 해당 이슈를 만났다. 구성은 다음과 같다. localhost:8080/users - SpringBoot API Server 에서 유저 데이터를 리턴. localhost:8090/index.html - API서버로 요청을 보내는 스크립트가 있는 html 페이지 index.html {{ message }} 간단하게 nginx Docker로 해당 페이지를 8090포트로 띄웠다. FROM nginx:alpine COPY . /usr/share/nginx/html 그리고 대망의 CORS 이슈를 만났다. 그리고 이를 해결하기 위해 검색해본 결과 아래와 같은 방법이 있다. 제일 간단하게 내 화면에서만 안나오게 하고싶다! https://chrome.g..
썸네일 [SpringBoot] Rest Api Sample 만들기 #2 https://lucete-stellae.tistory.com/96 [SpringBoot] Rest Api Sample 만들기 #1 기존에 급하게 진행한 사내 SMS API 서비스를 만들고 나서, 정리도 할 겸 샘플로 REST API 샘플 프로젝트를 만들어보기로 했다. 기본적인 버전 정보는 다음과 같다. 1. 기본 프로젝트 세팅 JDK11 Spring Bo lucete-stellae.tistory.com #1에 이어서 작업한 내용을 기술합니다. API 에러 처리 에러가 발생할 수 있는 상황부터 정의해보자 서비스 로직 내에서 Exception 이 발생하는 경우. 로직 외 적인 부분 ( 잘못된 URL 호출, 등 ) 에서 에러가 발생하는 경우. 위 두가지 케이스에서 에러가 발생하더라도, 동일한 포맷으로 나가게..
썸네일 [SpringBoot] Rest Api Sample 만들기 #1 기존에 급하게 진행한 사내 SMS API 서비스를 만들고 나서, 정리도 할 겸 샘플로 REST API 샘플 프로젝트를 만들어보기로 했다. 기본적인 버전 정보는 다음과 같다. 1. 기본 프로젝트 세팅 JDK11 Spring Boot 2.7.1 Gradle 7.4.1 (Project Initialize > VS Code Spring Extension > Create a Gradle Project) 그리고 Build.gradle 에 추가한 dependency 는 아래와 같다. implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.pr..
썸네일 [SpringBoot] CORS 처리하기 2022.07.06 - 2차적으로 추가된 내용이 있습니다. https://lucete-stellae.tistory.com/98 SpringBoot 2.7+ CORS 이슈 및 해결방법 간단하게 만든 API 서버를 테스트 하기 위해 로컬에서 돌리던 도중 해당 이슈를 만났다. 구성은 다음과 같다. localhost:8080/users - SpringBoot API Server 에서 유저 데이터를 리턴. localhost:8090/index.html.. lucete-stellae.tistory.com 1. Global WebConfig import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet..
[Docker CentOS7] CentOS7 locale language ko_KR 설정 docker에서 centos7 이미지를 받아 작업 진행 중 발생한 상황에 대한 기록이다. 1. Docker CentOS7 이미지를 pull 받아 실행. 2. char-set 을 euc-kr 로 설정해야되는 상황 발생 3. locale -a | grep ko 로 세팅 가능한 캐릭터 셋 조회 시 ko 관련 값이 없음. centos7 이미지 https://hub.docker.com/_/centos Centos - Official Image | Docker Hub We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your I..
[MS-SQL] 드라이버가 SSL(Secure Sockets Layer) 암호화를 사용하여 SQL Sever로 보안 연결을 설정할 수 없습니다. 오류: "PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid c.. JDK 11 버전 이상 사용하는 프로젝트에서 MSSQL 연결 시도 시 아래의 메세지 출력. 드라이버가 SSL(Secure Sockets Layer) 암호화를 사용하여 SQL Sever로 보안 연결을 설정할 수 없습니다. 오류: "PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target" 원인 : jdk11 을 지원하는 mssql 드라이버 버전(10.2이상)부터 기본적으로 암호화를 사용하도록 변경됨. (https://docs.microsoft.com/en-us/sql/connect/jdbc/release..
썸네일 사내 SMS Api Service 1. 개요 최근 사내 SMS 서비스 개발에 대한 필요성이 생겨서 해당 작업을 맡아서 하게 되었다. 물론 혼자 하는 것은 아니지만, 전반적인 계획과 어떻게 구성할지에 대해서는 다같이 고민을 하고 있어서 여기에다가도 올리면서 작업해보려고 한다. 서비스의 구성은 기본적으로 외부로 나가있는 자사 서비스에서 사내 SMS Service 쪽으로 전송 Request를 인증된 키와 함께 보내게 되고, 이를 서비스에서 받아 처리하는 구조이다. 따라서, Restful Api 기반으로 구조를 설계할 예정이며, 해당 서비스는 Docker 기반으로 가상화 하여 올려놓고 사용하고자 하는 큰 목표가 있다. SMS전송은 외부에서 도입한 에이전트가 담당하며 이와는 별개로 SMS 전송 이력이나 키 관리 등은 자체적으로 관리할 예정이다. ..
썸네일 Dto 사용에 관한 생각 1. 서론 회사에서 프로젝트를 진행하다보면 계층 간 데이터 교환을 위해 기본적으로 DTO를 생성하여 사용한다. 회사에서는 보통 미리 정의된 편의성을 갖춘 DTO를 정의해 사용한다. 다만, 일부 프로젝트에서는 프리랜서가 참여하여 해당 프리랜서가 제로 베이스부터 시작하여 단기 프로젝트를 마무리하고, 이후 정직원이 이어받아 유지보수를 하는 경우가 있다. 이 때, 코드를 살펴보면 대부분 DTO로 getter/setter가 정의된 DTO를 사용한다. 하지만, 유지보수를 진행하다보면 요구사항은 항상 바뀌기 마련이고 정도가 심하면, 데이터베이스 기준으로 작성된 데이터 전달용 DTO들은 정의된 변수에 무색하게 모든 case를 커버할 수 있게 extend 되거나, 변수 개수가 늘어나게 된다. 이는 프로젝트를 진행하다보면..
java POI Excel 현재 컬럼(열)에 셀 스타일 전체 적용하기 특정 열에 동일하게 스타일 적용하는 코드 // cell style 정의 XSSFCellStyle wrapStyle = wb.createCellStyle(); wrapStyle.setWrapText(true); wrapStyle.setQuotePrefixed(true); XSSFFont font = wb.createFont(); font.setBold(true); wrapStyle.setAlignment(HorizontalAlignment.LEFT); XSSFDataFormat cellFormat = wb.createDataFormat(); wrapStyle.setDataFormat(cellFormat.getFormat("@")); XSSFCell cell7 = row.createCell(7, CellTy..