java

    [Spring Boot] 차근차근 OAuth 2.0 구현하기 - (4) Resource 받기

    지금까지 한 것을 정리해보자면, 나의 서비스를 사용하고자 하는 사용자가 Authorization Server에서 제공해주는 곳에서 로그인을 했다. Authorization Server에서 로그인 정보를 확인하고 인증해 Code를 나의 서비스에 주었다. 나의 서비스는 Kakao Resource Server에 접근해 로그인 한 사용자의 정보를 갖고 싶다. Code+Client Id+Client Secret을 통해 Kakao Authorization Server에서 Access Token을 받았다. 🧐 Access Token으로 Kakao Resource Server에서 나의 서비스가 원하는 사용자의 정보들을 받아와 보자! 카카오 문서에서 사용자 정보 요청 Rest API는 두 가지 방식으로 사용할 수 있도록..

    [Spring Boot] 차근차근 OAuth 2.0 구현하기 - (3) Access Token 받기

    [Spring Boot] 차근차근 OAuth 2.0 구현하기 - (2) Code 가져오기 우리에게 친숙한 카카오의 Resource Server에서 데이터를 받아 볼 것이다. 앞선 글에서 봤듯이 🧐 우선 사용자가 카카오를 통해 로그인을 한 후 카카오 Authorization Server에서 Code를 받아오자! 카카오 A withseungryu.tistory.com 지금까지 Kakao Authorization Server에서 Code를 받아오기까지 성공했다. 🔍 이제 code를 받았으니 Resource Server에 접근하기 위한 Access Token(사용자 토큰)을 받아와 보자. 우선 카카오 로그인 REST API 문서를 보면, 필수 파라미터 값들을 담아 POST로 요청하고, 요청 성공 시, 응답은 J..

    [JPA] JPA (Java Persistence API)란?

    🧐 JPA란? 자바 객체와 DB테이블 간의 매핑을 처리하기 위한 ORM 표준 💡 요소 엔티티 DB에서 지속적으로 저장된 데이터를 자바 객체에 매핑 메모리 상에 자바 객체의 인스턴스 형태로 존재하며 EntitiyManager에 의해 DB의 데이터와 동기화 엔티티 매니저 필요에 따라 Enitity와 데이터베이스의 데이터를 동기화한다. EntitiyManager에서 제공하는 Entity 조작 API를 이용해 Entity에 대해 CRUD 작업을 할 수 있다. 영속성 컨텍스트 ( Persistence Context ) 엔티티를 영구적으로 저장하는 환경 엔티티를 저장하거나 검색할 때 엔티티 매니저는 영속성 컨텍스트에서 엔티티를 저장하고 관리 엔티티 매니저를 생성할 때 영속성 컨텍스트가 만들어진다. 영속성 컨텍스트에..

    [Spring Boot] Rest API 구현 (Feat. spring date rest)

    💡 Rest API 란? 참고 : https://withseungryu.tistory.com/100 💡 Spring data rest 란? spring-data-rest, a recent addition to the spring-dataproject, is a framework that helps you expose your entities directly as RESTful webservice endpoints. Unlike rails, grails or roo it does not generate any code achieving this goal. spring data-rest supports JPA, MongoDB, JSR-303 validation, HAL and many more. It is ..

    [Spring] 리팩토링 해보기 (feat. 객체지향적인 관점)

    💡 리팩토링이란? 리팩터링(refactoring)은 소프트웨어 공학에서 '결과의 변경 없이 코드의 구조를 재조정함'을 뜻한다. 주로 가독성을 높이고 유지보수를 편하게 한다. 버그를 없애거나 새로운 기능을 추가하는 행위는 아니다. 사용자가 보는 외부 화면은 그대로 두면서 내부 논리나 구조를 바꾸고 개선하는 유지보수 행위이다. ✏️ 리팩토링 전 코드 점검 항목 코드에 중복된 부분은 없는가? 코드가 무엇을 하는 것인지 이해하기 불편하지 않은가? 코드가 자신이 있어야 할 자리에 있는가? 앞으로 변경이 일어난다면 어떤 것이 있을 수 있고, 그 변화에 쉽게 대응할 수 있게 작성되어 있는가? ✏️ UserService를 리팩토링 해보자 각 User마다 갖고 있는 level을 login, recommend를 검사해 기..

    DataAccessException이란? (What is DataAccessException?)

    🧐 DataAccessException이란? 참고 : https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/dao/DataAccessException.html DataAccessException (Spring Framework 5.2.8.RELEASE API) Root of the hierarchy of data access exceptions discussed in Expert One-On-One J2EE Design and Development. Please see Chapter 9 of this book for detailed discussion of the motivation for this package. This ..