본문 바로가기

전체 글

(241)
83일차(2022.04.26) _ jQuery - Ajax로 파일 업로드 기본적으로 input 태그의 file 타입은 file의 값을 얻기 위해서 선택자.files 를 통해 가져올 수 있다. 기본적으로 파일은 한번 업로드 할 때 여러 파일을 업로드 하는 경우도 있는데, 그래서 file의 타입은 배열타입이다. 만약 한 개만 업로드한다면 file[0]을 통해 해당 파일을 선택할 수 있다. 그래서 해당 파일을 formData 객체에 append 해주면 되는데, formData는 JS에서의 form태그와 똑같다고 생각하면 된다. 즉, 파일을 업로드 할 경우에 따로 파라미터를 보내줄 것이 더 있다면, 이 formData 객체에 모든 파라미터를 넣어준 다음에, ajax의 파라미터로 formData를 넘겨주면 된다는 소리이다. //add $("#add").click(function() {..
82일차(2022.04.25) _ jQuery - Ajax https://www.w3schools.com/jquery/jquery_ref_ajax.asp jQuery AJAX Methods W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more. www.w3schools.com 1. $.get(URL, function(응답받을매개변수){}); - get방식으로 해당URL로 요청을 보내고, 응답을 콜백함수에서 처리함 - 비동기 방식은 어떤 요소를 선택해서 요청을 보내는게 ..
81일차(2022.04.21) _ WYSIWYG - summernote - What You See Is What You Get의 약자 - 사용자가 입력한 text 그대로를 DB에 저장, 이후 출력 시 입력한 text 그대로 반환됨(개행이나 이미지 등등) - 문서 및 문서 작성 방법을 GUI로 구현한 것을 말함 summernote summernote를 사용하기 위해서는 jQuery와 Bootstrap도 필요하다. jQuery 라이브러리 js 파일(cdn)과, 부트스트랩의 css, js 파일(cdn) 우선순위가 더 높아야 한다. 그래야 summernote에서 사용할 수 있기 때문이다. jQuery 버전은 상관 없는 듯 하다. 부트스트랩은 버전이 상관이 있음으로 아래를 학인하길 바란다. Hello Summernote 그냥 작성 폼을 이용하는 경우에는 div태그를 사용해도 된다. ..
80일차(2022.04.20) _ jQuery - JavaScript 라이브러리 - 기존의 JS 코드의 복잡성을 개선하기 위해 사용 - 최근에는 React, Vue를 사용, jQuery는 하락세 https://www.w3schools.com/jquery/default.asp jQuery Tutorial W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more. www.w3schools.com https://www.w3schools.com/jquery/jquer..
79일차(2022.04.20) _ lombok 상속(@Data 중복 오류) 만약 롬복의 @Data 어노테이션을 이용한 상위 VO 클래스가 있고, 이를 상속하는 하위 VO클래스가 있다면 하위 VO클래스에는 @Data 어노테이션을 주지 못한다. 이미 상위 VO클래스에서 @Data 어노테이션을 가지고 있기 때문에 중복선언 처리가 되어버린다. 그래서 이럴 경우에는 하위 클래스에 @Data 어노테이션만 쓰면 안되고 @EqualsAndHashCode(callsuper = false) 어노테이션도 함께 사용해주면 된다.
78일차(2022.04.19) _ selectKey Oracle에서는 어떤 데이터를 생성하고, 해당 데이터의 PK를 가져와야 할 경우 selectKey를 사용했었다. 그래서 미리 시퀀스의 값을 가져온 다음에, 해당 키를 DTO의 PK 변수에 넣어두고 그것을 참조하는 식이었다. 하지만 MySQL에서는 시퀀스를 사용하지 않는다. AutoIncrement를 사용하기 때문에, 이런 방법을 사용할 수 없다. ---- Mysql # keyProperty="num" -> BoardVO의 멤버변수명 # AutoIncement로 작성된 번호를 num에 대입 후 쿼리문 실행 insert into notice values (#{num}, #{title},....) ---- Oracle # keyProperty="num" -> BoardVO의 멤버변수명 # Sequence로 ..
78일차(2022.04.19) _ 파일 업로드 # Spring Legacy에서 ***-context.xml에 작성했던 설정을 # Spring Boot에서 application.properties에 설정 # 프로젝트 생성시 API는 기본 내장 ############################################# fileupload ## multpart 사용 여부 spring.servlet.multipart.enabled=true ## 파일당 최대 파일 크기 설정 spring.servlet.multipart.max-file-size=10MB ## 총 파일 크기 설청 spring.servlet.multipart.max-request-size=100MB ## 파일을 저장할 파일 시스템의 경로 ## 배포될 환경이 다를 가능성이 높으므로 쓰지 말자..
78일차(2022.04.19) _ MyBatis 로그 기록 찍기 1. pom.xml에 다음 API를 추가 org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4.1 1.16 2. Application.properties 수정 ## 수정 전 spring.datasource.username=user01 spring.datasource.password=user01 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/user ## 수정 후 ## spring.datasource.hikari... 속성을 사용하면 error 발생 spring.datasource.username=user01 spring.da..