일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 파이썬서버
- Enhanced Input System
- node
- 레베카
- 프메
- 으
- 정글사관학교
- Bootstrap4
- R
- 마인크래프트뮤지컬
- 게임개발
- Ajax
- 미니프로젝트
- 프린세스메이커
- 언리얼프로그래머
- 카렌
- flask
- EnhancedInput
- Unseen
- 스마일게이트
- 스터디
- 디자드
- VUE
- 알고풀자
- Jinja2
- Express
- 언리얼
- 언리얼뮤지컬
- 데이터베이스
- JWT
- Today
- Total
목록JAVA, SPRING (15)
Showing
1. jwt란? Json Web Token의 약자로, 전자 서명이 된 토큰 . 을 기준으로 헤더, 페이로드, signature 로 나뉘어져 있다. // header.payload.signature header 헤더에는 일반적으로 typ라고 해서 해당 토큰의 타입이 들어있다. 또한 alg라고 해서 토큰을 서명하기 위해 사용된 해시 알고리즘이 들어있다. payload는 해당 토큰의 주인, iat 즉 토큰이 발행된 시간, exp 토큰이 만료되는 시간이 들어있다.(기본 형태가 그렇다는 뜻) jwt 홈페이지를 보면 jwt 토큰은 Encoded 안에 있는 형식의 토큰을 만들어주고, DATA payload를 보면 들어갈 데이터도 넣을 수 있다. 또한 토큰의 만료 기한 같은 것들을 설정할 수 있다. 토큰이 만료되면, ..
1. 리액트의 문제해결 (1) 렌더링 기준 : 컴포넌트의 상태(State) 리액트는 컴포넌트 단위로 관리한다. 일반 html은 한 페이지 단위로 새로고침이 발생한다. 즉, 한페이지 단위로 렌더링하는 것이다. 유튜브 같은 경우 영상을 날라 용량이 크고 지속적으로 페이지 자체의 로딩이 느리다. 그런데 어떠한 상태 하나만 바뀌었다고(좋아요만 클릭함) 페이지 자체가 다시 렌더링되는 것은 로드 시간 낭비일 뿐더러 영상이 다시 처음부터 시작하게 된다. 반면, 좋아요만 클릭해서 좋아요 상태만 바뀔 수 있다면, 영상이 끊기지 않고 계속 이어질 것이다. 리액트에서는 이러한 '상태'를 관리하게 될 것이다. state와 이를 상속받은 props 같은 아이들이 이에 해당한다. (2) props 예시 가령 제일 최상단 배너 컴..
DTO, Controller, 순으로 작성하도록 한다. 1. 회원가입 요구사항 확인 2. 회원가입 api 작성 (DTO) 회원가입이란, 데이터베이스에 사용자를 등록하는 행위이다. 이제 회원가입에 대한 api를 작성해보도록 한다. http POST 메소드를 사용해서 통신을 할 것이다. POST 메소드는 데이터를 리퀘스트 바디에 담아서 전달해준다. 즉, 데이터를 숨겨서 보내기 때문에 GET보다 보안에 조금 더 유리한 부분이 있다. 회원가입을 할 때에는 사용자가 이메일 주소와 비밀번호, 비밀번호 확인, 닉네임, 핸드폰번호, 주소, 상세 주소를 입력해서 회원가입을 진행한다. (1) 3000번 포트 POST 리퀘스트 매핑은 /api/auth/signUp (2) 리퀘스트 바디에 데이터를 담기 ( userEmail,..
*김다정 저, React 스프링 부트 AWS로 배우는 웹 개발 101을 학습하며 작성한 포스팅입니다 HTTP 메서드와 기능 브라우저의 주소창에 URL을 치고 엔터를 누르면 브라우저는 HTTP GET 요청을 해당 URL 서버로 전송한다. 그리고 그 결과인 HTTP 응답을 브라우저에 렌더링(화면에 디스플레이)하는 것이다. HTTP 요청에는 GET, POST, PUT, DELETR와 같은 메서드를 지정할 수 있다. 이러한 메서드는 호스트에게 지정한 리소스에 어떤 작업을 하고 싶은지 알려주는 역할을 한다. 아래는 주로 사용하고 개발할 HTTP 메서드를 간략히 요약한 것이다. 메서드 기능 GET 리소스를 가져올 때 사용 POST 리소스에 대해 임의의 작업(예, 생성, 수정)을 할 때 사용 PUT 리소스를 대체할 ..
*이동욱 저, 스프링부트와 aws로 혼자 구현하는 웹서비스를 학습하면서 작성한 포스팅입니다. 1. 스프링 시큐리티와 OAuth 스프링 시큐리티(Spring Security)는 막강한 인증과 인가(혹은 권한 부여) 기능을 가진 프레임워크이다. 사실상 스프링 기반의 애플리케이션에서는 보안을 위한 표준이라고 보면 된다. 인터셉터, 필터 기반의 보안 기능을 구현하는 것보다 스프링 시큐리티를 통해 구현하는 것을 적극적으로 권장하고 있다. 스프링 대부분 프로젝트들(Mvc, Data, Batch 등)처럼 확장성을 고려한 프레임워크이다 보니 다양한 요구사항을 손쉽게 추가하고 변경할 수 있다. 이런 쉬운 설정은 특히나 스프링 부트 1.5에서 2.0으로 넘어오면서 더욱 더 강력해졌다. 이번 장에서는 스프링 시큐리티와 OA..
*이동욱 저, 스프링부트와 aws로 혼자 구현하는 웹서비스를 학습하면서 작성한 포스팅입니다. 1. 구현 사항 2. 전체 조회 화면 만들기 Controller, Service, Repository 코드를 작성하도록 한다. (1) Repository 기존에 있던 PostsRepository 인터페이스에 쿼리를 추가한다. package com.jojo.book.springbootwebservice.domain.posts; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import java.util.List; public interface PostsRe..
1. 수정/조회 기능 제작 (1) PostsApiController package com.jojo.book.springbootwebservice.web; import com.jojo.book.springbootwebservice.service.posts.PostsService; import com.jojo.book.springbootwebservice.web.dto.PostsSaveRequestDto; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org...
*이동욱 저, 스프링부트와 aws로 혼자 구현하는 웹서비스를 학습하면서 작성한 포스팅입니다. 1. Spring 웹 계층 API를 만들기 위해 총 3개의 클래스가 필요하다. - Request 데이터를 받을 Dto - API 요청을 받을 Controller - 트랜잭션, 도메인 기능 간의 순서를 보장하는 Service (트랜잭션은 데이터베이스에서 데이터 조작 작업의 논리적인 단위를 나타내는 개념) DTO란... DTO는 "Data Transfer Object"의 약자, 데이터 전송 객체. 스프링 부트에서는 주로 DTO 패턴을 사용하여 데이터를 전달하고 관리하는 데 사용. DTO는 비즈니스 로직이나 도메인 로직을 포함하지 않고, 단순히 데이터를 전송하기 위한 목적으로 사용. 주로 데이터베이스로부터 데이터를 검..
*이동욱 저, 스프링부트와 aws로 혼자 구현하는 웹서비스를 학습하면서 작성한 포스팅입니다. 1. JpaRepository 생성 앞서 Posts 클래스 생성이 끝났으므로, Posts 클래스로 Database를 접근하게 해 줄 JpaRepository를 생성한다. JpaRepository와 DAO는 둘 다 데이터베이스(DB) 레이어에 접근하기 위한 접근자이다. JPA에선 Repository라고 부르며 인터페이스로 생성한다. 단순히 인터페이스를 생성 후, JpaRepository을 상속하면 기본적인 CRUD 메소드가 자동으로 생성된다. @Repository를 추가할 필요도 없다. 다만 주의할 점은 Entity 클래스와 기본 Entity Repository는 함께 위치해야 한다는 점이다. 둘은 아주 밀접하고,..
*이동욱 저, 스프링부트와 aws로 혼자 구현하는 웹서비스를 학습하면서 작성한 포스팅입니다. 1. build.gradle에 의존성 등록 implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'com.h2database:h2' dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' implementation 'org.springframework.boot:sprin..