전체 글
-
[React]리액트 서버로 파일 전송 하기 (feat.Axious)React Meteor 2021. 10. 26. 13:29
프런트 서버랑 백 서버를 따로두고 개발 테스트를 하던 중 프런트에서 백 서버로 파일객체를 넘겨주고 백 서버에서 파일업로드 로직을 처리해야하는 일이 생겼다 처음에는 일반 데이터를 보내듯이 JSON타입으로 보냈지만 서버에서 Multipart타입 파일과 매칭이 안되는지 계속 Exception을 던졌다 어떤게 문제일까 생각하던중 Http통신 타입을 지정해주지 않았고 제이슨데이터로 보내게되면 스트링타입으로 데이터가 들어가게될 것 이니 문제가 있었지 않았을까 생각해본다. 그래서 JSON타입의 데이터를 FormData로 변경하여 보내주어 서버에서 파일객체를 잘 받을 수 있었다. JSON타입으로 데이터를 전송하면서 Image파일도 함께 보내어야 한다면 Base64인코딩 후 JSON 객체로 전송하는 방법도 있으니 JSO..
-
[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가 어떤 하나의..
-
[Java] 향상된 for문을 사용해보자 (feat.list)Java Meteor 2021. 10. 3. 22:01
코드를 짜다보면 배열, 리스트 등에 들어있는 값들을 순서대로 꺼내거나 처리해야 할일이 생긴다 그럴때 for문을 흔히 사용할 수 있습니다. 물론 자바8부터 추가된 컬렌션의 저장요소를 하나씩 참조해서 람다식으로 처리 할 수 있도록 도와주는 반복자 stream(stream에 관해서는 날잡고 정리 하겠습니다.)을 사용할 수 있겠지만 이번 글에서는 for문 그 중에서도 향상된 for문을 사용하는 법을 포스팅 하겠습니다. forEach 사용 방법 collection.forEach(변수 -> 반복처리(변수)) collection에는 데이터를 저장해놓은 변수명을 지정하면된다. ex) Lsit list = 이름조회(); => [김철수, 김철구, 곽두철] 위 코드처럼 list변수명.forEach로 간결하게 코드를 작성 가..
-
[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을 사용함으로써 구현의 의도가 열거형임을 분명하게 알 수 있다 (다른 주석의 설명이 필요없어짐 코드의 간결성도 확보!..