본문 바로가기

spring boot29

[AT] 33. 우량주 매매시점 알림 Dashboard 제작 (1) 이제 본격적으로 우량주 매매시점 알림 대시보드(Dashboard)의 각 영역별로 구현하는 방법에 대해서 알아보겠습니다. 우선 첫 시간으로 첫째줄의 첫번째 영역에 대해서 보시죠~!! 아참!! 그리고 Dashboard의 전체적인 구성에 대해서는 제가 기존에 작성했던 vue.js쪽 내용을 참조해주시면 되겠습니다. 2021.03.04 - [Vue.js] - [Vue.js] 13. use Grid System [Vue.js] 13. use Grid System 이번에는 Dashboard 등 화면 Layout구성의 근간이 되는 Grid System에 대해서 알아보고자 합니다. Vuetify에서는 Layout 구성을 위한 방법을 제공하는데... 그것이 Grid System 입니다. 1. Grid System이란? V.. 2021. 4. 1.
[AT] 32. 우량주 매매시점 알림 Dashboard 제작 (0) 지난 시간에는 키움증권에서 제공하는 전체 종목에 대해서 Dart(전자공시시스템)의 OPEN Data를 통해서 재무제표 정보를 얻어왔습니다. 이를 통해서 자신이 설정한 기준을 통해 우량주를 추출해서 DB에 저장하는 로직까지 구현해 보았습니다. 이제부터는 DB에 저장된 정보를 화면에 뿌려주고, 필요한 정보를 알려주는 대시보드(Dashboard)를 제작해 보도록 하겠습니다. 우선 전체 제작된 모습을 확인하고 하나하나 제작하는 방법을 알아보도록 하겠습니다. 1. Dashboard 개요 [개발환경] AT-Front : vue.js v2.9.6 AT-Back : SpringBoot Framework v2.4.2 (openjdk version v1.8.0_282) DBMS : MariaDB v5.5 [AT-Front.. 2021. 3. 31.
[Spring Boot] 27. PreparedStatement Table Name 적용 지난 번에는 SQL Injection과 관련하여, 다각도로 알아보던 중... PreparedStatement에 대해서 알아보았습니다. 이 경우에는 where 조건절 등 query문에서 변수에 해당하는 부분에 parameter를 binding하는 부분이 전부였습니다. 하지만 다양한 경우가 존재하고... 테이블명 자체를 변수화하여 binding이 필요한 상황이 생길 수 있습니다. 따라서, 이번에는 PreparedStatement에서 테이블명을 변수로 쓰기위한 방법을 알아보겠습니다. PreparedStatement를 사용하게 되면 setString( ) 등을 통해서 관련 값이 그 자체로 전달되는 것이 아닌 ' ' (홑따옴표)로 한번더 감싸져서 넘겨지게 됩니다. 그렇기 때문에 SQL Injection의 방어가 .. 2021. 3. 15.
[Spring Boot] 26. Prevent SQL Injection 지난번에 동적쿼리에 대해서 알아보았습니다. Mybatis에서는 ${ }를 통해서 Parameter를 바로 Binding하는 경우를 동적쿼리(Dynamic Query)라고 합니다. 이런 동적쿼리를 프로그램에 적용했을때, 발생할 수 있는 보안이슈가 바로 SQL Injection 입니다. SQL Injection의 경우는, 이점을 악용해서 권한이 없는 사람이 해당 Application의 전체 데이터를 쿼리해서 볼 수 있고, 경우에 따라서는 해당 DB내 Table의 삭제(Delete)가 가능합니다. 따라서 이 부분을 막을 수 있는 방법에 대해서 여러가지 알아보겠습니다. 1. #{ } 사용하기 (성공) SQL Injection을 막기위해서 가장 완벽한 방법은 prepareStatement를 사용하는 것 입니다. .. 2021. 3. 15.