이전 게시글에서는 dynamic 프로젝트로 생성해 spring프로젝트로 생성하긴 하였지만 편의성을 위해 mvc spring설정으로 다시 생성해줬다. 그래서 거기에 대한 기본설정에 있는 pom.xml을 사용하고 추가적으로 필요한 설정을 추가해나가겠다.설정한 pom.xml파일은 아래의 형태이다. 4.0.0 com.coin mabi macoin war 1.0.0-BUILD-SNAPSHOT 1.8 5.2.5.RELEASE 1.6.10 1.6.6 org.springframework spring-context ${org.springframework-version} commons-logging commons-logging ..
Project
이번에는 내가 사용해보고 싶은 페이지를 만들고 싶어 개인 프로젝트를 시작하게 되었다.그러면서 좀 더 꼼꼼히 그 과정을 기록해보고자 한다. 이전엔 수업을 따라 설정을 진행하였다면 이번엔 직접 설정해보면서 이 설정이 어떤식으로 사용되는지 공부해볼 것이다.스프링 프로젝트를 MVC패턴으로 만드는 방법은 2가지가 있다.Dynamic Web Project에서 Spring 구조 파일을 직접 만드는 방법STS에서 제공하는 Spring Legacy Project의 Spring MVC Project를 사용하는 방법각 프로젝트의 차이점은 다른 블로그 내용에서 확인할 수 있다.2번째 방법은 이미 수업 시에 사용해봤기 때문에 한번 1번 방법으로 만들어보게 되었다.next를 쭉 넘겨서 web.xml도 추가하였다. 완료를 누르면 ..
@Transactional어노테이션이나 AOP로 트랜잭션을 처리하는 방법으로 데이터의 일관성을 유지하면서 안정적으로 데이터를 복구하기 위해 사용하는 형태입니다.이러한 방법은 위에서 언급한 어노테이션으로 설정하는 방법과AOP로 지정한 메서드 이름에 Transactional을 부여하는 방법 2가지가 존재합니다. 나는 2가지의 방법을 시도하였으나 트랜잭션에 작성에는 문제가없었지만 롤백이 되지 않는 문제가 발생하였습니다.처음에는 트랜잭션의 설정을 잘못한 줄 알아 계속해서 설정하는 방법을 찾았으나 설정 자체에는 문제가 없다는 것을 깨닫게 되었고 다른 방법을 찾게 되었습니다.안되는 이유에 대해서 한참을 찾게 되었는데, 검색으로 나온 결과론 첫 번째 가설은 Checked Exception의 문제였습니다,@Trans..
SQL Injection 방지★ mybatis에서 #{ }과 ${ }을 사용 시 신중히 사용해야한다!되도록 #{ }을 이용하는 것이 좋다#{ }파라미터가 String 형식으로 들어가 자동적으로 SQL에서는 '파라미터' 형식으로 들어간다.쿼리 주입을 예방할 수 있어 보안 측면에서 유리한 점이 있다.${ }파라미터가 바로 출력된다.해당 컬럼의 자료형에 맞추어 파라미터의 자료형이 변경된다.쿼리 주입(SQL Injection, SQL 삽입 공격)을 예방할 수 없어 보안 측면에서 불리하다.해당 내용은 이 게시글에서 볼 수 있다.문자열이 아닌 자체로 SQL로 인식하기 때문에 WHERE 조건에OR 1=1이라는 조건을 넣으면 모든 결과를 가져오는 결과를 얻을 수 있기 때문에 사용자가 입력하는 항목에 신중하게 작성이 필..
위 사진은 본사의 상담을 하는 사람들의 일정을 가독성이 좋게 하기 위해 fullCalendar API를 활용하기로 결정하였다.먼저 API를 사용하기 위해선 해당 script를 import해야한다JavaScript이벤트를 전체를 가져오기 보단 달력에 보이는 영역마다 해당하는 상담 일정을 보이는 형식으로 이벤트를 삭제하고 추가하는 형식으로 설정했다.///////////// 상담 달력 이벤트 추가var calendarEl = document.getElementById('calendar');var calendar = new FullCalendar.Calendar(calendarEl, { initialView: "dayGridMonth", firstDay: 1, buttonText: { ..
개요이번 프로젝트에서 거래처에게 발주하는 시스템이라는 기능을 만들면서거래처만의 각자 다른 가격을 가져 해당 가격을 비교할 수 있으면 좋겠다는 생각을 하게 되었고그렇게 짜게된 테이블이번 프로젝트에서 거래처에게 발주하는 시스템이라는 기능을 만들면서거래처만의 각자 다른 가격을 가져 해당 가격을 비교할 수 있으면 좋겠다는 생각을 하게 되었고그렇게 짜게된 테이블이 아래와 같다.허나 이렇게 테이블을 짜보니 생각보다 일자마다 조정된 가격을 찾는 데에 어려움이 있었다.따져야할 상황은 만약에 단가 순번이 다음 번호가 있는 사업체의 경우 그 이전의 단가는 쓰지 못하기 때문에 그에 대한 사업체마다의 MAX인 조건을 따져봤어야 했고그 MAX조건도 조정 일시에 따라 그 조정 일시 이전의 대해서 사업체들의 max값이 얼마인지 또..