본문 바로가기

전체 글91

[미니 프로젝트] 쇼핑몰 플랫폼 만들기 - 그 이후 https://chunws13.tistory.com/24 [미니 프로젝트] 쇼핑몰 플랫폼 만들기 - 판매자용 API 그동안 배웠던 node js 실습을 위해 미니 프로젝트를 진행하게 되었고, 컨셉은 쇼핑몰로 잡았다. 프로젝트 시작에 앞서, 구현이 필요한 기능들을 정리하였다. 스터디용으로 작성하였기 때문에 실 chunws13.tistory.com https://chunws13.tistory.com/25 [미니 프로젝트] 쇼핑몰 플랫폼 만들기 - 구매자용 API https://chunws13.tistory.com/24 [미니 프로젝트] 쇼핑몰 플랫폼 만들기 - 판매자용 API 그동안 배웠던 node js 실습을 위해 미니 프로젝트를 진행하게 되었고, 컨셉은 쇼핑몰로 잡았다. 프로젝트 시작에 앞 chunws1.. 2023. 5. 25.
[미니 프로젝트] 쇼핑몰 플랫폼 만들기 - 구매자용 API https://chunws13.tistory.com/24 [미니 프로젝트] 쇼핑몰 플랫폼 만들기 - 판매자용 API 그동안 배웠던 node js 실습을 위해 미니 프로젝트를 진행하게 되었고, 컨셉은 쇼핑몰로 잡았다. 프로젝트 시작에 앞서, 구현이 필요한 기능들을 정리하였다. 스터디용으로 작성하였기 때문에 실 chunws13.tistory.com 이전 쇼핑몰 플랫폼 - 판매자용 API 작성에 이어 이번에는 구매자용 API를 작성을 진행했다. 구매자용 API는 아래 기능이 포함되어야 한다. 상품 보기 (전체, 특정 상품) 장바구니 기능 (CRUD) 구매하기 각 API 구현 전, 판매자용 API와 마찬가지로 구매자 인증을 통해 구매자 인증이 된 유저들만이 해당 서비스를 이용하도록 구현하였다. // checkB.. 2023. 5. 25.
[미니 프로젝트] 쇼핑몰 플랫폼 만들기 - 판매자용 API 그동안 배웠던 node js 실습을 위해 미니 프로젝트를 진행하게 되었고, 컨셉은 쇼핑몰로 잡았다. 프로젝트 시작에 앞서, 구현이 필요한 기능들을 정리하였다. 스터디용으로 작성하였기 때문에 실제 쇼핑몰에서 제공하는 다양한 서비스들을 완벽하게 구현하기에는 다소 무리가 있었기 때문에, '쇼핑몰' 이라고 부를 수 있는 필요한 필수적인 기능 위주로 구현하기로 했다. 그 중 나는 서버 API 를 만드는 역할을 맡았고, 필요한 기능은 아래와 같았다. 로그인 (판매자, 구매자 구별) 판매자용 기능 - 상품 등록하기 - 상품 조회하기 (판매자가 등록한 상품들만) - 상품 정보 (가격, 수량) 수정하기 - 상품 삭제하기 구매자용 기능 - 상품 전체 목록 조회하기 - 상품 세부 정보 조회하기 - 장바구니 관련 기능 ( 추.. 2023. 5. 25.
[ETC] vscode 환경에서 ssh 이용하기 1. 문제 발생 node js 프로젝트 배포를 위해 aws 프리 티어 인스턴스를 구매 후 발급 받은 pem 키를 이용해 ubuntu 터미널 환경에서 git clone을 통해 서버 프로젝트를 배포하였다. 초기 배포 후 테스트를 진행한 결과, 데이터 베이스 통신 문제가 확인되었다. 배포 단계에서 데이터 베이스 연결 문제가 발생한 것은, git 레포지토리에 DB와 연결되는 ID / PW 등의 정보가 공개되면 다른 용도로 악용될 소지가 있기 때문에 (민감 정보를 분리 관리하는 스터디 겸) dotenv 라이브러리를 이용해 DB 연결 정보를 별도 파일에 보관하고, git 레포지토리에는 push 하지 않았기 때문이다. 2. 필요 조치 사실 이 문제는 ubuntu (배포용 pc)로 들어간 후 로컬 환경에서 사용한 DB.. 2023. 5. 20.
[DataBase] SQL ? NoSQL? 그리고 ORM SQL과 NoSQL은 무엇이고, 무슨 차이가 있을까? 데이터 베이스의 종류에는 SLQ과 NoSQL이 있다. 일반적으로는 '데이터 베이스'라고 하면 엑셀과 같이 격자형으로 구성된 데이터 테이블을 연상하는데, 이것이 바로 SQL다. SQL은 Structured Query Language의 약자로, 관계형 데이터 베이스에서 사용하는 주요 언어이다. 반면, NoSQL이라고 하면 SQL이 아니다의 No, SQL 로 이해할 수도 있겠지만 Not only SQLd의 약자이다. 이 단어는 SQL과 달리, 비관계형 데이터베이스를 지칭하는 용어이다. 그렇다면, SQL(관계형 데이터 베이스)과 NoSQL(비관계형 데이터 베이스)의 차이는 무엇일까? 가장 큰 차이는, 같은 테이블 (컬렉션) 에서 정의되지 않은 필드 (행)을 .. 2023. 5. 11.
[Nodejs] 쿠키, 세션, jwt 로그인 로그인 기능을 구현할 때, 일반적으로 쿠키 혹은 세션을 기반으로 구현한다. 쿠키는 클라이언트 측에 저장되는 데이터로, 이것을 서버 측으로 전달하여 인증 및 상태 유지가 가능하다. 세션은 서버 측의 데이터로, 클라이언트 측에서 요청을 보내면 해당 요청을 기반으로 클라이언트의 정보를 기억하고, 일정 기간 이후 만료된다. 위의 두 가지 방식으로 로그인을 구현하는 경우, 각각의 문제점이 존재하는데 쿠키 방식을 사용하는 경우, 보안의 문제가 발생한다. 1. 쿠키 데이터 발생 주체는 클라이언트이며 식별이 가능한 관계로 다른 컴퓨터로 로그인 한 경우, 해당 컴퓨터의 다른 이용자가 로그인 정보 식별을 할 수 있으며 2. 쿠키 만료 기간이 길게 설정된 경우, 로그아웃을 하더라도 쿠키가 유지될 수 있다는 문제점이 있다. .. 2023. 5. 6.