0.만들 엔드포인트우선 Product 관련 엔드포인트는 다음과같이 5개를 우선적으로 추가할것이다.위 2개는 사용자들을 위한 API엔드포인트고 추가,수정,삭제의 경우에는 우선은 관리자 권한으로 접근 가능하다고 생각하며 만들것이다.HTTP 메서드엔드포인트설명GET/api/products/{productId}상품 상세 조회GET/api/products/search상품 목록 검색POST/api/products/create상품 추가 (관리자)PUT/api/products/modify/{productId}상품 수정 (관리자)DELETE/api/products/delete/{productId}상품 삭제 (관리자) 1. Controller 스켈레톤 코드내부 비지니스 코드를 제작하기 이전에 컨트롤러에 스켈레톤 코드로..
분류 전체보기
0.백엔드 엔드포인트코드해당 글작성에 사용된 JWT 로그인 기능 백엔드 코드에 관한 설명은 다음 글에 작성되어있고, 해당 글에 작성된 코드의 엔드포인트를 기준으로 작성했습니다.https://asa9874.tistory.com/663 [SpringBoot] 쇼핑몰 JWT와 로그인,로그아웃 기능 제작 (2)1.JWT인증과 정보 교환을 위해 사용되는 토큰 기반 인증 방식중 하나로 로그인 기능에 JWT(JSON Web Token)을 사용할거다.그를 위해 일단은 JWT사용을 위한 의존성을 추가해준다. io.jsonwebtoken jjwt-api 0.12.asa9874.tistory.com 1.로그인 api 함수나는 이번에 JWT 토큰을 프론트엔드 부분에서 받는 로직을 LocalStorage를 사용하여 구현하였..
1.JWT인증과 정보 교환을 위해 사용되는 토큰 기반 인증 방식중 하나로 로그인 기능에 JWT(JSON Web Token)을 사용할거다.그를 위해 일단은 JWT사용을 위한 의존성을 추가해준다. io.jsonwebtoken jjwt-api 0.12.6 io.jsonwebtoken jjwt-impl 0.12.6 runtime io.jsonwebtoken jjwt-jackson 0.12.6 runtime 2.JwtTokenProviderJWT를 생성, 검증, 그리고 사용자 정보를 추출하는 역할을 담당하는 클래스인 JwtTokenProvider를 생성해줬다.@Slf4j@Componentpublic class JwtTokenProvider { p..
1.회원가입, 로그인,로그아웃 엔드포인트우선 로그인, 로그아웃은 Auth 엔드포인트로 묶고 회원가입은 Member 엔드포인트에 묶어서 제작하기로하였다.@RestController@RequiredArgsConstructor@RequestMapping("/member")@Tag(name = "맴버API", description = "/member")public class MemberController { @PostMapping("/register") public void register(){ }} @RestController@RequiredArgsConstructor@RequestMapping("/auth")@Tag(name = "인증API", description = "/auth")publ..
0.개요쇼핑몰 프로젝트를 시작하며 우선 핵심이 되는 기능인 쇼핑몰 물품에 대한 모델을 만들기로 하였다.모델의 관계도를 만들기 위해서 는 dbdiagram.io 를 사용하였다.우선 눈에 보일때 필요한 부분만 생성하였다. https://dbdiagram.io/home dbdiagram.io - Database Relationship Diagrams Design Tool dbdiagram.io 1. 모델생성하기1-1. 회원 회원은 고객과 판매자 2개로 나뉘어 진다. 때문에 회원(Member)을 기본으로 두고, 고객(Customer)과 판매자(Seller)를 분리한다. Member 테이블은 모든 사용자의 공통 정보를 관리하고 사용자는 CUSTOMER, SELLER, 또는 두 역할을 동시에 가진 BOTH로 구..

1.Light House 란?Google에서 제공하는 웹 애플리케이션 품질 분석 도구다.웹 페이지의 성능, 접근성, SEO, PWA등의 요소를 분석해준다.https://developer.chrome.com/docs/lighthouse/overview?hl=ko Lighthouse 소개 | Chrome for DevelopersLighthouse를 설정하여 웹 앱을 감사하는 방법을 알아보세요.developer.chrome.com 2.사용법F12로 개발자 도구를 연후 LightHouse메뉴를 누르고 자신에게 맞는 세팅을 한후 Analyze page load를 누른다. 그러면 다음과같이 각 항목에 대한 점수를 평가해준다. 아래로 내리면 점수에 대한 이유들이 나오며 어느점을 고쳐야하는지 알려준다.
1.미들웨어 (Middleware)소프트웨어 개발에서 클라이언트와 서버 사이에서 중간 역할을 수행하는 소프트웨어 계층을 의미미들웨어는 애플리케이션과 시스템 간의 원활한 데이터 흐름을 보장하는 필수적인 구성 요소로 API 기반 시스템에서 인증, 로깅, 로드 밸런싱 등의 기능을 수행한다. 2.미들웨어 종류2-1. 웹 서버 미들웨어(WS)클라이언트로부터 HTTP 요청을 받아 애플리케이션 서버로 전달해준다. 2-2.애플리케이션 서버 미들웨어(WAS)클라이언트 요청을 받아 비즈니스 로직을 처리하고 데이터베이스와 연동하고 웹 애플리케이션 실행 환경을 제공한다. 2-3.데이터베이스 미들웨어데이터 요청을 최적화하여 전달하고 애플리케이션과 데이터베이스사이의 연결을 관리한다. 2-4.메시지 큐 미들웨어비..
1.URI 스킴(URI Scheme)특정 프로토콜을 정의하는 방식으로, 웹 브라우저나 앱이 특정 리소스 찾고 접근할 수 있도록한다.URI의 요소의 일부이다. URI에서 http, https와 같은 부분이 프로토콜로 URI 스킴이다. ://?# 2.딥링크(Deeplink)딥링크는 사용자가 특정 앱의 특정 화면으로 바로 이동할 수 있도록 해주는 링크이다.URI Scheme을 활용하여 구현한다. URI Scheme값을 앱에 등록하여 웹에서 클릭하여 앱의 페이지로 연결한다.하지만 이런 기본적인 딥링크는 앱이 설치되어 있을 때만 동작하고 앱이 없으면 아무런 동작도 하지않는다.myapp://product/123 3.유니버설 링크(Universal Link)IOS에서 딥링크의 문제를 해결하기 위한 기능으로 ..