SpringBoot Meteor
-
[Spring Boot] 쿼리 DSL을 이용한 서브쿼리SpringBoot Meteor 2021. 12. 17. 09:52
쿼리DSL 서브쿼리를 이용하여, 해당 회원 리뷰 글 + 좋아요 수 조회 우선 QueryDSL에 구현하고자 하는 메서드를 정의해준다 public interface ReviewQueryDSLRepository { List getAdminMemberReviewDTOList(Long memberIdx); } QueryDSLImpl 에서 구현부 코드를 작성해준다. @Override public List getAdminMemberReviewDTOList(Long memberIdx) { // DTO로 반환 JPAQuery adminMemberListDTOJPAQuery = query .select( new QAdminMemberReviewDTO( reviewEntity.idx, reviewEntity.title, r..
-
[SpringBoot] 쿼리 DSL 동적 조건문 생성SpringBoot Meteor 2021. 12. 17. 09:50
우선 QueryDSL에 구현하고자 하는 메서드를 정의해준다 public interface MemberQueryDSLRepository { Page getAdminMemberListDTOPage(Pageable pageable, String category, String searchType, String searchValue); } RepositoryImpl 에서 구현을 해준다. @RequiredArgsConstructor public class MemberRepositoryImpl implements MemberQueryDSLRepository{ private final JPAQueryFactory query; //QEntity.entity로 사용 해야함 @Override public Page getAd..
-
[SpringBoot]Content-Security-Policy(resorces request https)SpringBoot Meteor 2021. 11. 10. 15:56
개발을 마치고 배포를 하는 과정에서 프로젝트의 css 및 js resources를 받아오지 못하는 상황을 겪었다 정확히는 SSL적용 하지않았기때문에 프로토콜이 http로 요청되어져야 하는데 브라우저에서 리소스를 다운 받을 때 https경로로 요청을 했기때문이다. 처음에는 로컬에서 임시 SSL키를 만들어 사용했는데 그게 톰캣내부적으로 설정이 되버린건가 싶어서 플젝도 새로만들어 코드도 옮겨보고했지만 여전히 요청은 https 가는 상황이었다 (아래그림처럼 .. ). 열심히 구글링을 하면서 구글 크롬 정책관련글도보고 해서 이게 크롬브라우저의 이슈인건가 싶었지만 다른 프로젝트는 잘 돌아가는 걸 보면 납득할 수 있는 이유는 아니었다. 그렇게 헤메던중 동료중 한명이 특정 url에 접속했을때는 리소스들을 잘 가져오는 ..
-
[SpringBoot] 인스타그램 API를 이용해 인스타 Feed 데이터 들고오기2SpringBoot Meteor 2021. 10. 22. 00:07
스프링부트 인스타그램 api 연동 두번째 글을 이어적겠습니다. 인스타그램 API와 연동 준비는 이전 글을 참고해주세요 https://moon-meteor.tistory.com/15 [SpringBoot] 인스타그램 API를 이용해 인스타 Feed 데이터 들고오기 인스타 피드데이터를 들고와서 프런트 페이지에 뿌려주는 작업을 했다 하면서 막혔던 부분을 해결한 방법과 어떻게 들고오는지에 대한 자료가 많이 없었기에 글을 정리해서 남겨놓으려고 한다 moon-meteor.tistory.com FaceBook개발자 사이트에서 인스타아이디와 페이스북 아이디를 연동하고 설정하는 것 까지 저번 글에서 설명했습니다. 이번 시간에는 이전 데이터 받아오기 설정을 하면서 작성했던 콜백 URI를 통해 데이터를 받아오고 통신하는 것..
-
[SpringBoot] 인스타그램 API를 이용해 인스타 Feed 데이터 들고오기SpringBoot Meteor 2021. 10. 21. 17:47
인스타 피드데이터를 들고와서 프런트 페이지에 뿌려주는 작업을 했다 하면서 막혔던 부분을 해결한 방법과 어떻게 들고오는지에 대한 자료가 많이 없었기에 글을 정리해서 남겨놓으려고 한다 인스타그램 api에 연결하여 해당 아이디에있는 Feed(게시글) 데이터를 들고 오는 작업을 정리해보겠습니다. 1. 코드를 받아와 토큰을 받고 장기토큰으로 바꾸는 방법 2. access_token을 이용하여 바로 들고오는 방법 이 두가지 방법이 어떠한 차이가있는지는 아직 자세히 모르지만 추 후 알게되거나하면 업테이트 하겠습니다 준비 사항 - 페이스북 아이디 - 인스타 아이디 (FaceBook 계정 연결 필수!!!) 필요 기술 - 스프링부트 RestTemplet 1. 인스타그램 계정을 프로페셔널 계정으로 전환을 먼저해야합니다. 그..
-
[Web] WebSocket과 SSE의 차이점 정리SpringBoot Meteor 2021. 10. 5. 20:47
저번 주말동안 스프링부트 웹 플럭스(Flux)와 몽고DB를 이용한 채팅서버 구현을 공부하면서 SSE에 대한 키워드를 알게되었고, 웹 소켓과 어떤식으로 다른지 또 SSE가 어떤건지 정리를 해보려고한다. 웹 플럭스에 대한 공부를 좀 더 진행하고 Spring Web Flux에 대한 정리글 도 올리겠다 우선 간단하게 SpringWebFlux에 대해 설명을 적어놔야겠다 SpringWebFlux는 비동기서버개념으로 이해를 하면된다. 기존 서블릿 기반의 스프링서버는 사용자 request 요청시 마다 스레드가 만들어진다 이렇게 많은 스레드가 만들어지면 이 스레드를 돌리는동안 컨텍스트 스위칭 비용이 발생하게 된다. 컨텍스트 스위칭이란? 간단하게 정리를... (더 공부가 필요함) 멀티프로세스 환경에서 CPU가 어떤 하나의..
-
[SpringBoot] JPA - 동작원리(Feat.영속성 컨텍스트)SpringBoot Meteor 2021. 9. 29. 23:49
이번에는 JPA를 사용하면서 막혔던 부분들을 생각해보니 JPA에 관한 개념이 부족했다고 생각이 든다 그래서 JPA를 정리하며 기초를 잡아봐야겠다 (feat. 오늘 영속성 컨텍스트 때문에 null party ) JPA란 ? 우선 들어가기에 앞서 알아야 할 개념들을 조금 짚고 넘어가보자 ORM(Object-relational mapping) Object-relational mapping (객체 관계 매핑) - 객체는 객체대로 설계하고, 관계형 데이터베이스(RDBMS)는 관계형 데이터베이스대로 설계를 한다. - 이 때 ORM 프레임워크가 중간에서 매핑을 해주게 된다. 대중적으로 사용되어지는 언어에는 대부분 ORM 기술이 존재한다고 한다. ORM은 객체와 RDB 이 두가지의 위에 존재하는 기술 이다. JPA(J..
-
[SpirngBoot]JPA Entity에 Enum타입 적용해보기 (feat.@Enumerated)SpringBoot Meteor 2021. 9. 27. 20:35
우선 들어가기에 앞서 Enum이 뭔지 간략하게 알고 넘어가자 Enum이란? 자바 1.5버젼부터 새롭게 추가된 "Enum" 이노옴이 대체 무엇이길래 ? 이노옴 Enum이란 열거형이라고 불리며 , 서로 연관된 상수들의 집합을 의미한다. Enum의 장점 Enum을 사용할 때 장점은 아래와 같다! 1. 코드가 단순해지며, 가독성이 좋아진다. 2. 인스턴스 생성과 상속을 방지하여 상수값의 타입안정성이 보장된다. 3. enum class를 사용해 새로운 상수들의 타입을 정의함으로써 정의한 타입이외의 타입을 가진 데이터값을 컴파일 시 체크한다. =>타입안정성 보장 (데이터 무결성) 4. 키워드 enum을 사용함으로써 구현의 의도가 열거형임을 분명하게 알 수 있다 (다른 주석의 설명이 필요없어짐 코드의 간결성도 확보!..