전체 글 312

포스트맨 자동화

포스트맨에서 엔드포인트 별로 만들어놓은 요청들의 테스트케이스를 만들어서 한번에 성공여부를 볼 수 있다 위 이미지처럼 탭을 많이 열어놨을때 각각의 요청에서 Tests탭을 들어간다 그리고 아래 코드 예시처럼 어떤 상태코드를 띄워야 성공인지, key값이 뭐가 와야 성공인지등을 지정해 줄 수 있다 pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); pm.test("Response must have the token property", function () { var jsonData = pm.response.json(); pm.expect(jsonData).to.have.keys("data","accessToken"); ..

중복순열(DFS 깊이우선탐색)

맨 아래에 다듬은 수정 코드 업데이트(배열 주어졌을때랑 안주어졌을때랑 조금 달라서 같은 느낌으로 통일시킴) 1부터 n까지의 숫자중 m개를 중복순열한다면 function permutationWithRepetition(n, m) { let arr = new Array(m).fill(0); // let arr = Array.from({ length: m }, () => 0); // 이렇게 해도 됨 let answer = []; function DFS(L) { if (L === m) { answer.push(arr.slice()); } else { for (let i = 1; i

5일차 / postman자동화(미완), refreshToken

포트스맨 자동화는 내일 완성하고 쓰겠음 리프레시토큰은 엑세스토큰이 만료됐을때 재발행시켜주는 토큰. 일반적으로 아래처럼 엑세스토큰과 리프레시토큰을 발행한 후 엑세스토큰은 res로 보내고 리프레시토큰은 쿠키에 담는다 const accessToken = jwt.sign(payload, process.env.ACCESS_SECRET, { expiresIn: "1s" }); const refreshToken = jwt.sign(payload, process.env.REFRESH_SECRET, { expiresIn: "7d" }); res.cookie("refreshToken", refreshToken, { sameSite: "Strict", httpOnly: true, secure: true, }); res.st..

4일차 / SR 피드백

피드백 내용 에러로그 중요함 프론트엔드는 플로우차트가 정말 중요 백엔드는 API가 중요 DB는 수정하기 힘드니까 처음에 상세하게 짜야함 회원가입 중복의 경우 400말고 다른번호가 낫다 그리고 다음에 만났을때 다시 여쭤봐야할것이 2가지 조언받은부분에 대해서인데 1. /trip/:trip_id보다 trip/:id가 낫겠다 2. /user/:user_id/trip/:trip_id/diary/:diary_id를 /diary/:diary_id로만 만들어라인데 지금은 엔드포인트가 위의 2번경우처럼 다이어리를 삭제한다면 user : trip = 1 : N trip = diary = 1: N이라서 /user/:user_id/trip/:trip_id/diary/:diary_id (앞으로 a라고 하겠음)인데 /diary/..

정규표현식 (Regular Expression: Regex)

형식 /pattern/flag //예시 문자열 let str = "안녕하세요 안녕 제 전화번호는 010-1234-5678입니다 G gd god good goood!."; 패턴 의미 비고 [a-z] [A-Z] 알파벳 범위 [ㄱ-ㅎ] [가-힣] 한글 범위 0-9 숫자 범위 . 모든 문자열 (공백 포함, 줄바꿈은 x) 1개당 문자열한개. ...은 3자리의 문자열 \d 숫자 str.match(/\d/) === '0' \D 숫자 아닌거 \w 알파벳, 숫자, _ 영문 대소문자 52개 + 숫자 10개 + _ 1개 =63개 문자 \W \w 제외 \s 공백 \S 공백 아닌것 ^ 줄의 시작에서 일치 e.g. /^abc/ 시작 포함돼야함 [^] 부정(not) $ 줄의 끝에서 일치 e.g. /abc$/ 끝 포함돼야함 /goo..

신고 결과 받기

아이디어 객체화 시켜서 푼다 처음에는 신고자 : 피신고자로 객체화 했는데 k값을 넘는 피신고자를 찾으려면 피신고자 : 신고자로 하고 피신고자의 길이를 보면 되니까 이렇게 바꿨다 처음에는 제제받는사람까지 구한후 result값을 또 새로 객체를 만들어서 신고자 : 제제받는 피신고자 이렇게 해야하나 싶었다 (이러면 쓸데없이 객체하나 더 만드는거 같았다) 고민하다가 let result = new Array(id_list.length).fill(0)로 0으로 채워진 배열을 만들고 제제받는 사람을 키 값으로 가지고 있는 값들의 list인덱스를 직접 result의 인덱스에 매칭시켜서 ++해줬다 코드 function solution(id_list, report, k) { //객체화 시켜서 let obj = {}; le..

소수 판별

소수는 약수가 1과 본인 자신만을 가짐 1. 반복문 사용 (1과 본인 제외 약수가질시 false) function isPrime(num) { if (num i; i++) { if (num % i === 0) { return false; } } return true; } 2. 제곱근 사용 예를들어 16의 약수는 1, 2, 4, 8, 16이 있는데 16은 1*16, 2*8, 4*4이다 제곱근인 4까지만 계산해보면 그 뒤는 8*2, 16*1처럼 자리 위치만 반전되는것이라 제곱근까지만 계산해도 된다 function isPrime(num) { if (num

2일차 / SR 완료

한것 프로토타입, API, DB 다이어그램 방의 인터넷이 나가서 핸드폰으로 참여했다 내일 고쳐지기를... Figma를 이용한 prototype https://www.figma.com/file/LcuNVrcQf6Uz7IqPZ1q95u/Untitled?node-id=4%3A3 Figma Created with Figma www.figma.com DBdiagram https://dbdiagram.io/d/624b8f7bd043196e39f587a3 API 문서 https://manseon.gitbook.io/api-docs/reference/api-reference/just-moment-trip just-moment-trip - API Docs http://www.remembertrip.com/trip/:tr..