본문 바로가기

전체 글73

Spring Boot WebFlux로 data.go.kr에서 주가 시세 가져오기 Git Code 버전 : 0.0.5-SNAPSHOT  Spring Boot와 WebFlux를 활용해 data.go.kr에서 주가 데이터를 가져오는 기능을 구현한 내용을 정리한다. 우선 Webflux를 build.gradle에 추가시켜 해당 라이브러리를 프로젝트에 포함시킨다.build.gradleimplementation 'org.springframework.boot:spring-boot-starter-webflux'  RESTful interface로 데이터 요청 파라미터 관리를 위한 dto class를 저장할 src/main/java/io/persional/stock 아래 dto 폴더를 생성한다. dto 폴더 아래 OpenApiReqParam.java 파일을 아래와 같이 생성해 준다.OpenApiReq.. 2025. 1. 16.
Spring Boot Log4j2 셋업 Git Code 버전 : 0.0.4-SNAPSHOT  Spring Boot에 Log4j2를 셋업 하는 방법이다. 개발 및 아니라 운영 중 Error 상황에서도 Log를 남겨둬야 디버깅이 가능함은 굳이 설명할 필요가 없다. Java 로거 중 가장 많이 사용하는 것 중 하나인 Log4j2를 로거로 사용하겠다. build.grade의 dependencies에 아래와 같이 라이브러리를 추가하는데 Spring Boot에 기본 포함된 log lib대신 사용 할 것이라 아래와 같이 replace 하는 구문을 넣어준다.implementation 'org.springframework.boot:spring-boot-starter-log4j2'modules { module("org.springframework.boot:sp.. 2025. 1. 15.
공공데이터포털 API 인증키(APPKey) 발급 이제는 주가데이터를 가져오기 위해 공공데이터포털에 가입 및 데이터를 가져오기 위한 인증키 발급까지 정리해 둔다.https://www.data.go.kr/ 공공데이터 포털국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datasewww.data.go.kr   이곳에서 데이터를 가져올 예정이다. 무료로 가져올 수 있는 데이터의 종류가 많다. 상장된 회사의 주식 시세도 제공하나 실시간 데이터가 아닌 전일 시가, 종가, 최고가, 최저가등 일일 데이터를 가져올 수 있다. 회원가입은 일반회원으로 가입을 진행하면 된다. 자세한 절차는 생략하고 주식 시세 데이터를 가져오기 위한 절차만 .. 2025. 1. 15.
Spring Boot JPA를 사용한 PostgreSQL 연동 Git Code 버전 : 0.0.3-SNAPSHOT  Spring Boot에서 JPA를 사용하기 위해 build.gradle의 dependencies 안에 아래와 같이 라이브러리를 추가한다.implementation 'org.springframework.boot:spring-boot-starter-data-jpa'implementation 'org.postgresql:postgresql'  DB 연결 설정을 applicaiton.yml 파일에 아래와 같이 설정해 준다. 크게 2 부분으로 jpa를 사용하기 위한 설정과 jpa를 통해 연결할 PostgreSQL 연결 설정이다. 중간 ddl-auto 옵션만 주의해서 설정하는데 JPA의 좋은 점으로 DB에 접속해서 Table이 없으면 Table을 생성해 주고 .. 2025. 1. 15.
PostgreSQL 셋업 Spring Boot에 JPA를 통한 RDBMS 연동 코드 들어가기 전 RDBMS 환경을 구축하겠다.국내에서는 많이 사용하지 않으나 해외에서는 많이 사용하는 PostgreSQL을 연동하기로 결정했다. MyBatis 같은 Query문을 직접 작성해야 하는 경우는 더 익숙한 RDBMS를 사용할 수도 있었으나 Hibernate를 이용하여 JPA 인터페이스를 사용하여 DB와 연동을 할 목적이기에 다소 생소해도 PostgreSQL을 선택해 봤다.PostgreSQL 사이트에서 직접 다운로드하여 설치해도 무방하나 Docker를 사용하기로 했다. Docker를 사용해서 얻는 장점으로Package설치과정에서 의존성에 대한 고민이 불필요함Docker Compose 파일을 잘 만들어 두면, 내 개발환경 그대로를 다른 환경에.. 2025. 1. 13.
Bootstrap 적용 Git Code 버전 : 0.0.2-SNAPSHOT  Spring Boot 위주로 작업을 하기 때문에 React, Vue JS 같은 Frontend 전문 Framework 대신에 Bootstrap를 사용하기로 정했다. CSS를 직접 편집하기는 어려워서 Bootstrap 무료 테마를 가져다 썼다. 아래 사이트에서 zip 파일을 다운로드하여 프로젝트의 src/main/resources/templates 아래 압축을 해제한다.https://startbootstrap.com/template/sb-admin#google_vignette Start Bootstrap startbootstrap.com HTML을 표시하기 위해 Spring Boot의 View는 Thymeleaf를 사용하기로 정했다. 이를 위해 아래 순.. 2025. 1. 10.