반응형

Java 6

Spring Data JPA - Specification이란?

JPA를 이용해서 개발을 하다보면, 복잡한 검색조건, 단순히 검색조건이 한 두개만 늘어나도 상당히 코드의 가독성이 확 떨어지는 경우가 생깁니다. 그런 상황에서 동적쿼리라는 말이 들리고, Specification이라는 인터페이스도 들리게 됩니다. Specification이란 무엇인지 한 번 알아보도록 하겠습니다. Specification이란, Spring Data JPA에서 제공하는 API중에 하나입니다. 복잡한 검색 조건, 다양한 조합의 필터링 로직을 쉽게 구현할 수 있는 API입니다. 특히 검색이나 필터링 조건이 많은 REST API를 개발할 때 매우 유용한 API입니다. 왜 써야 하는가? 테이블에서 필드에서 조건이 맞는 데이터를 가져온다고 생각해봅시다. 그럼 JPA로 간단하게 인터페이스의 method..

IT Tech/Java 2024.03.25

Vue.js 3에서 이미지 파일 Post 요청

데이터 전송에 있어서 HTTP 프로토콜을 사용한다면, 전송하는 데이터의 종류에 따라 적절한 인코딩 방식을 선택해서 사용하게 됩니다. 일반적으로 문자열이나 객체와 같은 구조화된 데이터를 전송하는 경우, JSON 인코딩을 사용하는 것이 일반적입니다. JSON은 데이터를 효율적으로 표현하고, 다양한 플랫폼 간 데이터를 쉽게 주고받을 수 있는 형식을 제공하기 때문에 널리 사용되는 방식입니다. 예를 들어, 서버에 사용자 정보를 전송하는 경우 다음과 같은 JSON 사용될 수 있습니다. { "userName": "KIM JUNSU" "age": 36 "email": "zzansu01@gmail.com" } 이미지 파일이나 비디오 파일 같은 이진 데이터를 전송할 때는 JSON 인코딩이 적합하지 않은데요. 이진 데이터는..

IT Tech/vue.js 2024.03.06

2024.02.20 개발일기 작성 첫 날.

글을 쓴다는 것은 참으로 어려운 일 같다. 매일 매일 블로그를 작성하려고 해도 블로그를 작성할 주제를 선정하는 것, 그리고 그 주제를 그래도 잘 정리되게 보이게 하기 위해서 글을 쓰는 것. 이렇게 하다보면 하루 중 많은 시간을 블로그 작성에 쓸 수 밖에 없다. 물론 하다보면 글을 작성하는 시간도 줄어들 것이고, 작성하면서 나에게 남는 것도 있겠지만, 작성하는게 쉬운 일이 아니라는 것은 분명하다. 그렇다고 그냥 블로그를 작성해야 할 주제가 생겼을 때만 작성하자고 해도, 블로그를 작성하지 않다보면, 블로그라는 것이 존재한다는 것을 까먹어버린다. 지금 내 상황이다. 블로그 쓸 주제가 생겼을 때 작성하자 했더니 아예 블로그를 쳐다보지도 않는 날이 블로그에 접속한 날보다 많아지고 있는 상황이 됐다. 그래서 일기 ..

JPA의 영속성 전파 cascade 옵션에 대해서 알아보기

JPA를 가지고 데이터베이스를 설계할 때, 아무 생각없이 cascade 속성을 사용해왔습니다. cascade란 무엇일까요? 이 옵션을 통해서 어떤 일들이 일어나는 걸까요? 한 번 알아보도록 해봅시다. cascade? JPA에서 'cascade' 속성은 엔티티 간의 관계에서 한 엔티티에 대한 영속성 관리 작업을 관련 엔티티에도 적용할지 여부를 정의하는 속성입니다. 즉, 한 엔티티의 생명주기 이벤트(예: 저장, 업데이트, 삭제)가 연관된 엔티티에도 전파되도록 할지를 결정하는 설정입니다. 말이 되게 어려운데요. 간단하게 삭제로 알아보면, 부모 엔티티를 삭제하면, 해당 부모 엔티티와 연관되어 있는 엔티티들도 삭제가 됩니다. @Entity @Table public class CouponBookmark { @Id ..

IT Tech/Java 2024.01.17

동적 패딩 구현하기 : window의 크기에 반응하는 padding

안녕하세요. 미래를 개발하는 남자... ㅎ 김준수입니다. 스터디에서 진행하고 있는 프로젝트를 진행하는 도중, 레퍼런스를 보고 있는데 참 신기한 것을 봤습니다. 요즘은 모바일 환경에서도 웹에 접속을 많이 하기 때문에 웹 페이지를 반응형으로 다 만듭니다. 그걸 쉽게 구현할 수 있는 것이 바로 부트스트랩 같은 프레임 워크를 이용하는 것이죠. 저도 왠만하면 부트스트랩이나 vue 같은 경우는 quasar를 통해서 구현을 하고 있었습니다. 그런데 이 레퍼런스는 조금 다른 방식을 이용해서 반응을 하도록 만들었더라구요? 바로 window의 width크기에 반응해서 요소의 right padding이 줄어들었다가 늘어났다가 하는 방식으로 반응을 하더라구요. 처음에 쉬워보여서 바로 구현에 들어갔다가 두드려 맞고 나왔습니다...

IT Tech/vue.js 2024.01.03

QuickSort에 대해서 알아봅시다~ Java Array, List 정렬 구현하기

정렬을 하는 알고리즘의 방식은 정말 많이 있습니다. 그리고 정렬만큼 복잡한 것도 없는 것 같습니다. 이제까지 사실 정렬이 나오면 그냥 sort 내장 함수를 적극적으로 활용하고, 그 원리에 대해서는 생각을 잘 하지 않았습니다. 그런데 결국 알아야 하긴 하니까.. 이해해야하긴 하니까.. 그리고 백준에서 정렬문제를 풀고 있어서 계속 정렬로 어떻게 하면 사람들을 괴롭힐지에 대한 문제만 나오니까.. 했지만 그래도 sort로 버티고 있었는데 결국 sort에 대해서 이해해야 하는 날이 오고 말았습니다. 1. 기본적인 sort 방법 가장 기본적인 sort의 방법은 Array의 모든 요소들을 비교해서 순서대로 정렬하는 방법입니다. 말 그대로 순차적으로 모든 요소를 하나하나 비교하게 되죠. 먼저 코드를 볼게요. impor..

IT Tech/Java 2024.01.02
728x90
반응형