전체 글 9

jest const 변수 mock 하는 방법

요즘 전에 했던 프로젝트들을 리팩토링 하고, 시간 부족으로 인해 중간중간 비어있는 test code들을 작성 중이다. 오늘은 express, jest, typescript를 사용하여 진행했던 commerce platform clone 프로젝트 테스트 코드를 작성 중 해결했던 문제에 대해 기록하려 한다. signup의 service layer test 코드 작성 중 비밀번호를 해싱과 관련된 함수들을 따로 util 폴더에 분리시켜놨었는데 아래 함수를 mocking 하려다가 오류가 발생했다. const encryptPassword = async (password: string) => { ... encryptPassword가 const로 선언되어 있기 때문에 mock으로 재할당 할 수 없었다. 전에 javasc..

카테고리 없음 2022.11.22

nestjs jest unit test 'Cannot find module' 문제 해결

Nestjs로 진행한 프로젝트에서 jest를 사용하여 unit test를 해보려고 했는데 오류가 발생했다. 현재 나의 코드는 testing module 생성만 해놓은 상황이었다. beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ controllers: [BossRaidController], providers: [ { provide: BossRaidService, useFactory: mockBossraidService, }, ], }).compile(); controller = module.get(BossRaidController); service = module.get(BossRaidService..

카테고리 없음 2022.11.21

스택_올바른 괄호(프로그래머스)

이전에 알고리즘 문제들을 파이썬으로 풀었었는데 노드를 하면서 자바스크립트를 사용하게 되어 자바스크립트를 활용해서 알고리즘 문제들을 다시 풀어보려 한다! 처음에 stack을 사용하지 않고 해보고자 count 변수를 생성하여 여는 괄호이면 + 닫는 괄호이면 -를 하는 방식으로 해결해 보려 하였다. 하지만 역시나 이런 방식은 순서에 상관없이 count 값이 마지막에 0 이면 무조건 true 값이 return 되는 방식이라 괄호의 짝이 맞지 않아도 여는 괄호 닫는 괄호의 개수만 같으면 무조건 true 값이 나오게 된다. ㅎㅎ,, 너무 단순하게 생각했던,, 아래 코드가 최종 결과물! array로 stack 구조를 사용하여 코드를 다시 구현했다. 1. 첫번째 value값이 닫는 괄호이면 괄호 짝이 맞을 수 없으니 ..

카테고리 없음 2022.08.22

HTTPS 정리

HTTPS란?? http 프로토콜에 SSL(Secure Sockets Layer) 기술을 더한 것 HTTPS 사용 이유 내가 사이트에 보내는 정보를 다른 누군가가 훔쳐보지 못함 접속한 사이트가 진품인지, 신뢰할 수 있는 사이트인지 판별 → 기관으로부터 검증된 사이트만 주소에 https 사용이 허가됨 대칭키 메세지를 보내는 쪽(암호화하는 쪽)과 받는쪽(복호화하는 쪽)이 같은 키를 사용 → 대칭키가 노출되면 보안의 의미가 없다. 비대칭키(공개키) 메세지를 보내는 쪽(암호화하는 쪽)과 받는쪽(복호화하는 쪽)이 다른 키를 사용 💡 개인키로 암호화 하면 공개키로 복호화 가능 공개키로 암호화 하면 개인키로 복호화 가능 ⇒ 신뢰할 수 있는 기관에서 공개키만 검증해준다면 만약 신뢰할 수 없는 사이트에서 접근 해 올 경..

카테고리 없음 2022.04.11

SSR, CSR, SSG 정리

SSR 1990s Static Sites 클릭 할 때 마다 html 문서 다운 1996s iframe tag 페이지 내에서 부분적으로 문서를 받아옴 1998s XMLHttpRequest Json과 같은 형태로 서버에서 가볍게 필요한 데이터만 받아옴 받아온 데이터를 자바스크립트를 사용해서 동적으로 html 요소를 생성해서 페이지를 업데이트 2005s AJAX XMLHttpRequest 방식이 공식적으로 AJAX라는 이름을 가지게 됨 → 구글에서 AJAX를 이용하여 Gmail, Google Map과 같은 웹 어플리케이션을 만들었다. SPA 트랜드 + 사용자들의 PC의 성능이 좋아짐 + 자바스크립트 표준화가 잘 이루어짐 + Angular + React + vue와 같은 프레임워크가 등장 CSR seo가 좋지 ..

카테고리 없음 2022.04.08

[프로그래머스] 힙 - 디스크 컨트롤러

문제 설명 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를들어 - 0ms 시점에 3ms가 소요되는 A작업 요청 - 1ms 시점에 9ms가 소요되는 B작업 요청 - 2ms 시점에 6ms가 소요되는 C작업 요청 와 같은 요청이 들어왔습니다. 이를 그림으로 표현하면 아래와 같습니다. 한 번에 하나의 요청만을 수행할 수 있기 때문에 각각의 작업을 요청받은 순서대로 처리하면 다음과 같이 처리 됩니다. - A: 3ms 시점에 작업 완료 (요청에서 종료까지 : 3ms) - B: 1ms부터 대기하다가, 3ms 시점에 작업을 시작해서 12ms 시점에 작업 완료(요청에서 종료까지 : 11..

카테고리 없음 2021.11.02

[프로그래머스] Stack/Queue - 프린터

문제 접근 방식 1. 대기목록에 들어가있는 순서대로 앞에서 부터 인쇄의 여부를 경정하기 때문에 queue를 사용 2. 요청한 문서의 위치 값을 -1 씩 하고, index -1이 되었을 때 해당 문서의 중요도가 나머지 문서들 보다 높은지 확인 3-1. 높으면 문서가 인쇄 될 때마다 count했던 값을 반환 3-2. 낮으면 queue에 다시 append from collections import deque def solution(priorities, location): count = 0 priorities = deque(priorities) while True: value = priorities.popleft() location -= 1 if len(priorities) == 0: default = valu..

카테고리 없음 2021.09.24

[프로그래머스] SQL - 입양 시각 구하기

문 제 접근 ANIMAL_OUTS 테이블에는 시간이 0부터 나와있지 않다. 조인 할 수 있는 테이블이 필요여기서..생겨난 문제.. 0부터 23까지의 테이블을 어떻게 만들지??.... 일단 0~23까지를 가진 테이블이 필요하기 때문에 mysql에서 임시테이블을 만드는 방법을 찾아보았다. 그러다 찾은 방법이 with절! (mysql8.0 이후 부터 사용가능) 사용방법 WITH '임시테이블명' AS ( 생성할 쿼리 ) with 절에는 재귀, 비재귀 두가지 방법이 있고, 0~23까지를 가진 임시테이블을 재귀 방식을 통해 해결할 수 있다고 한다. 그렇게 해서 나온 방법이 !! 초깃값 0인 HOUR을 시작으로 +1 씩 23 이하일 경우까지 반복해서 임시테이블을 생성한다. WITH RECURSIVE TIME AS (..

카테고리 없음 2021.09.22

블로그 이전

원래 velog에서 공부했던 내용을 정리했었는데 tistory로 이전하려한다ㅎㅎ 기존 블로그: https://velog.io/@gaya309 현재 블로그: https://codenamnam.tistory.com/ gaya309 (hyo_) - velog Rest API란?? API vs REST API API 한 애플리케이션이 다른 애플리케이션에 접근 할 수 있도록 하는 기능 및 절차 REST API 웹 네트워크 애플리케이션을 위한 API (클라이언트와 서버 기반 애플리케이션으로 velog.io

카테고리 없음 2021.09.01