[DB] Transaction 이란?
·
1.프로그래밍/DB
[DB] Transaction 이란? Spring Boot을 공부하면서 @Transactional 선언적 트랜잭션에 대해 공부하고 사용하려고 했다. 그 전에 Transaction에 대한 개념부터 확실히 잡고가고 싶어 찾아보며 공부하고 정리하였다. Spring Boot의 @Transactional 선언적 트랜잭션에 대해서는 이 글 이후에 공부하고 글을 작성하겠다. Transaction 이란? 만약, 어떠한 결제 시스템을 만들었다고 가정을 해보자. 결제 시스템이 아니더라도 동시에 처리되는 시스템을 생각해도 된다 A라는 처리가 진행 된 후 B라는 처리가 진행되어야 된다고 생각을 해보았을 때, 둘다 개발자의 의도대로 진행된다면, 그건 매우 나이스 할것이다. 하지만, 만약의 경우와 사용자가 개발자의 의도에 벗어나..
[Mybatis] 생성한 키(PK) 리턴받기 두가지 방법(selectKey, useGeneratedKeys)
·
1.프로그래밍/DB
[Mybatis] 생성한 키(PK) 리턴받기 두가지 방법(selectKey, useGeneratedKeys) 한 테이블에 insert 할 때 그 PK 값을 Foreign Key로 다른 테이블을 매핑시켜 등록 시키고 싶은 경우가 있다. 예를 들면, 현재 나의 상황처럼 어떠한 상품에 이미지를 등록하는데 그 상품의 PK를 FK로 받아 동시에 DB에 넘겨주고 싶었다. 즉, 그렇게 하려면 생성된 PK를 바로 리턴받아 사용해야 했고 그렇기에 Mybatis의 selectKey, useGeneratedKeys 두 가지 방법을 알게 되었다. 현재 사용하고 있는 DB는 MySql이다. selectKey useGenratedKeys selecyKey selectKey 공식문서 MyBatis has another way to..
[Spring Boot] HttpEntiy, ResponseEntity 란?
·
1.프로그래밍/Java
[Spring Boot] HttpEntity, ResponseEntity 란? 공부를 하던 중 ResponseEntity 를 사용하게 되었다. 그런데 Controller에서 View에 정보를 전송할 때 Http status, header를 조작 할 수 있는 메서드를 제공한다고만 알고 사용했다. 하지만 어떠한 구조로 이루어져 있는지 궁금하기도 해서 ResponseEntity 상위 클래스에 HttpEntity 라는 클래스가 있다는 것을 알게 되었고, 두 클래스 역할과 쓰임세를 알아보려 하였다. HttpEntity HttpEntity 공식문서 public class HttpEntity extends Object Represents an HTTP request or response entity, consisti..
[Spring Boot] Thumbnail 이미지 만들기 (Thumbnailator, Gradle)
·
1.프로그래밍/Java
[Spring Boot] Thumbnail 이미지 만들기 (Thumbnailator, Gradle) 참고 블로그 VamPa 앞선 글에서 파일 업로드에 대해 작성하였다. 이미지 파일을 업로드시 미리 보여지는 이미지 즉, 썸네일은 필요하다. 그 이유는 하나의 페이지에 이미지가 한개라면 문제가 되지 않겠지만 만약 그 하나의 페이지에 수십만개의 이미지가 존재한다면 운영자의 입장에서는 많은 양의 트래픽으로 인해 서버 성능 저하, 많은 서버 비용이 발생 할 수 있고, 이용자의 입장에서는 긴 로딩 시간과 데이터 소모량이 증가하게 된다. 그렇기에 원본 이미지 파일보다 크기를 줄인 이미지를 보여주게 되면 이러한 문제가 해결 가능하다. 썸네일을 만드는 방법은 두가지로 BufferImage 된 이미지 객체를 Graphics..
[Spring Boot] MultipartResolver 파일 업로드 - 2 (Date 폴더 생성, UUID)
·
1.프로그래밍/Java
[Spring Boot] MultipartResolver 파일 업로드 - 2 (Date 폴더 생성, UUID) 참고 블로그 VamPa 한 폴더에 수만개의 파일이 업로드 되었다고 가정을 한다. 그렇다면 한 파일을 찾기위해 많은 파일들을 뒤져야 된다는 문제가 생긴다. 그래서 현제 날짜에 따라 폴더를 생성하고 그 이후 그 폴더에 저장하는 방식을 구현한다. 그리고 만약 동일한 이름의 파일이 저장될 경우 덮어버리는 방식을 방지하기 위해 UUID를 이용하여 파일 이름을 변경해준다. MultipartResolver 를 통한 간단한 파일 업로드 글은 전에 작성하였다. 이 글 또한 나의 공부, 정리 목적이므로 틀리거나 바뀐부분이 있을 수 있다. [Spring Boot] MultipartResolver 파일 업로드 - 1..
[Spring Boot] MultipartResolver 파일 업로드 - 1(Gradle, Ajax)
·
1.프로그래밍/Java
[Spring boot] MultipartResolver 이미지 파일 업로드 참고 블로그 VamPa gradle 라이브러리 추가 Apache Commons-Io 와 Apache Commons Fileupload 라이브러리 두개를 추가해 준다. Apache Commons Fileupload 라이브러리 추가 안했다가 에러나서 혼자 삽질했다... MultipartResolver Bean Creation Exception 해결 implementation 'commons-io:commons-io:2.11.0' /* Apache commons-io */ implementation group: 'commons-fileupload', name: 'commons-fileupload&#..
[Spring Boot] MultipartResolver BeanCreationException, multipartResolver 빈 생성 에러
·
1.프로그래밍/Java
MultipartResolver BeanCreationException, multipartResolver 빈 생성 에러 Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'multipartResolver' defined in class path resource [com/vam/configuration/WebConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to inst..
위지윅이란? CK Editor 사용하기
·
1.프로그래밍/HTML
위지윅이란? CK Editor 사용하기 https://ckeditor.com/ 위지윅 이란? 위지위그(WYSIWYG: What You See Is What You Get, "보는 대로 얻는다")는 문서 편집 과정에서 화면에 포맷된 낱말, 문장이 출력물과 동일하게 나오는 방식을 말한다. 이는 편집 명령어를 입력하여 글꼴이나 문장 형태를 바꾸는 방식과 구별된다. -위키백과 즉, 우리가 흔히 게시판에서 보는 텍스트 에디터를 뜻한다. 이것을 라이브러리를 갖고와 편하게 사용할 수 있다. 위지윅 라이브러로는 "CK Editor", "TinyMCE", "Toast Editor", "Summernote" 등이 있다. CDN 방식으로 CK Editor 사용 사용할 html 파일에 아래 스크립트 태그를 추가해준다. 그 이..
MyeongDev
'분류 전체보기' 카테고리의 글 목록 (12 Page)