목록분류 전체보기 (129)
YS's develop story
2번째 과제 : JWT를 사용하여 회원용 API 만들기 로그인 유지 방식 3가지(수업 내용 정리) 1. 쿠키, 세션 “자유이용권을 주는 것.” 맨 처음 클라이언트가 로그인을 할 경우, 서버에서 자유이용권 (토큰, 세션 ID)를 발급한다. 이후에 클라이언트가 회원용 API를 호출할 경우 http 헤더에 이 세션 ID가 담겨서 자유롭게 사용할 수 있다. 세션이란 서버 입장에서의 스토리지 이름이다. 쿠키라는 것은 클라이언트 스토리지 이름이다. 장점: 구현이 간단하다. 단점: 세션 ID가 노출되면 보안에 매우 취약하다. 2.OAuth “Big-3 티켓을 주는 것” → 특정 행위에 대해서만 권한을 주는 것 이 역시 로그인에 성공하면 서버에서 토큰을 보낸다. 단, 그전에 퍼미션 리스트도 함께 보낸다. 즉, 허용된 ..
DATE DATE 타입은 YYYY-MM-DD 형식으로 입력이 가능하며 '1000-01-01'부터 '9999-12-31'까지 입력이 가능합니다. DATETIME DATETIME타입은 YYYY-MM-DD HH:MM:SS 형식으로 입력이 가능하며 '1000-01-01 00:00:00' 부터 '9999-12-31 23:59:59'까지 입력이 가능합니다. TIME TIME 타입은 HH:MM:SS 형식으로 입력이 가능합니다. TIMESTAMP TIMESTAMP 타입은 날짜와 시간모두를 포함한 타입입니다.
5주 차 과제 1 - AWS RDS를 생성하고 DataGrip을 통해 외부 접속을 해봅시다. 이제 앱에서 필요한 데이터들은 AWS RDS을 통해 생성하고 저장할 것입니다. AWS RDS를 생성하고 DataGrip을 통해 외부 접속을 해봅시다. https://aws.amazon.com/ko/ 클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services 제조 AWS를 활용한 Siemens의 에너지, 의료 서비스, 제조 분야 혁신 Siemens가 AWS를 사용하여 어떻게 문화를 바꾸고 혁신을 장려하며 비즈니스 성과를 창출했는지 알아보세요. 자세히 알아보기 업종 aws.amazon.com 우선 AWS 페이지에서 아래와 같이 데이터베이스를 생성합니다. 무료로 사용하기 위해서 프리티어를 선택해 ..
3. Patch메서드를 활용하여 Path Variable로 reviewId를 넘겨받은 다음, 해당 reviewId에 해당하는 데이터 베이스를 변경 cafeReviewRoute.js cafeReviewController.js 사용자로부터 Body로 content, cafeStar을 입력받게 됩니다. cafeReviewDao.js MySQL의 UPDATE문을 활용하여 데이터를 수정합니다. MySQL ) UPDATE 문 활용하기 MySQL ) UPDATE 문 활용하기 UPDATE문을 활용해서 테이블 칼럼의 내용을 수정해 봅시다. 아래와 같이 CafeReview라는 테이블이 있습니다. 아래와 같은 쿼리 작성을 통해 CafeReview테이블에 있는 데이터 중 reviewId가 2인 데이터의 con yusang.t..
DataGrip 활용하여 특정 테이블을 다른 위치로 복사하기 RP2 server에 있는 Event라는 테이블을 다른 스키마로 복사하고 싶습니다. 방법을 찾기위해 구글링을 열심히 했지만... 방법은 엄청 간단합니다. 옮기고 싶은 테이블을 선택하고 빨간색 박스로 표시한 버튼을 클릭 해 줍니다 테이블을 복사할 위치를 골라 주세요. Import를 하게 되면 해당 위치로 테이블이 복사 됩니다 !
지금까지 설계한 api는 아래와 같습니다. (수정) 피드백 내용 정리: 1. url은 그 계층 구조가 명확해야 합니다. /cafe/:cafeid /cafe/:cafeid/review 2. get, post, patch와 같이 메서드 동사를 url에 붙이지 않아도 됩니다. 메서드가 이미 그 역할을 명시해 주고 있기 때문이죠. /getcafe/:cafeid -> /cafe/:cafeid 3. Body에는 DB에 저장되는 실제 데이터를 넣는 것이 일반적이고(가령 회원정보를 저장할 때 필요한 데이터들) 특정 카페를 식별해야 하는 경우는 path variable을 사용합니다. 4. Body에 들어오는 모든 데이터들은 개발자가 원하는 데이터만 들어올 수 있도록 validation이 있어야 합니다. ex) 회원 가입..
과제 1 : Node js를 활용하여 서비스에 필요한 rest api 설계 및 구현 지난번 과제를 통해 애플리케이션의 ERD를 설계하고 MySQL쿼리를 작성해 보았습니다. 이를 바탕으로 이번에는 Node js, Node js의 Framework인 Express를 활용하여 서비스에 필요한 rest api를 구현하는 것입니다!! rest와 rest api에 대해 작성한 글입니다. RP2기 ) API와 REST API란 무엇인가..? RP2기 ) API와 REST API란 무엇인가..? RP2기 API와 REST API란 무엇인가..? 수업내용 정리 클라이언트와 서버가 Request, Response를 통해 주고받는 데이터 덩어리를 Packet라고 합니다. Packet을 소포 상자라고 생각해 봅시다. 소포 상..
MySQL case when 쿼리를 활용해 봅시다. 아래와 같이 Theme라는 테이블이 있습니다. 이 테이블에서 case when쿼리를 활용해 봅시다. 아래와 같이 case when를 활용할 수 있습니다. select 칼럼명1 as 표시할 이름1, 칼럼명2 as 표시할 이름2, (case when 칼럼명 = '조건1' then '결과1' when 칼럼명 = '조건2' then '결과2' else '결과3' end )as '표시할 이름' from '테이블명'where '칼럼명' = '조건' ; 칼럼에 있는 데이터 값에 따라 표시할 이름을 다르게 하는 것이라고 볼 수 있습니다. 결과로써 아래와 같이 표시되게 됩니다 ~
DATA 정규식 0000-00-00 if(!/^(19|20)\d{2}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[0-1])$/.test(reservationDate)) return res.json({ isSuccess: false, code: , message: "올바른 날짜가 아닙니다." }); 전화번호 정규식 if (!/^[0-9]{3}-[0-9]{3,4}-[0-9]{4}/.test(phoneNumber)) return res.json({ isSuccess: false, code: , message: "숫자, -을 포함해 휴대전화 형식에 맞게 입력해주세요.", }); 닉네임 정규식 if (!/^([a-zA-Z0-9ㄱ-ㅎ|ㅏ-ㅣ|가-힣]).{1,10}$/.test(사용자이름)) r..