분류 전체보기 102

24.04.11

24.04.11 NestJS에서의 테스트 코드 Testing Structure - 테스팅코드는 하나의 큰 테스트 스위트(test suite) 안에 여러개의 관련된 테스트 블럭(test case)들로 이루어지게 됨 1. describe(name, callbackFn) - 테스트 스위트(관련된 작은 테스트 블록들의 집합)를 만드는 메서드 -> 테스트 스위트 안에는 여러 개의 테스트 블록들이 모여있음 name 매개변수는 해당 테스트를 나타내주는(설명) 문자열 형태가 온다. callbackFn 매개변수 자리에는 테스트 블럭들을 wrapping 해주는 콜백함수가 온다. 2. test(name, callbackFn, timeout) === it(name, callbackFn, timeout) - 실제로 테스트를 하..

TIL 2024.04.12

24.04.09

AWS RDS - DBMS 종류가 아님/ RDS - DBMS 세팅 된 컴퓨터를 대여해주는 것 AWS = RDS 서비스 / AWS가 컴퓨터 하나를 공짜로 대여해주는 것 - RDS/EC2 NestJS는 모듈 단위로 움직임 app.module은 흩어져 있는 모듈을 한번에 모아주는 역할을 함 (app.module이 꼭 있어야하는 건 아님 그저 최상위 모듈일 뿐) module - controller / provider(=서비스 로직) 프로바이더 = 데이터 처리 비즈니스 로직 처리를 모두 합쳐서 처리함 npm run start, start:dev의 차이점 - start: 직접 build를 해야함(타입스크립트로 작성한 것을 수동으로 npm build를 통해 수동적으로 build를 해야함) - start:dev: 저장..

TIL 2024.04.11

24.04.08

스케쥴 생성 부분 서비스, 컨트롤러 수정 필요 jwt 가드 만들기 뭐가 필요한지, 뭐를 반환할 지 1. 로그인 시 인증 가능해야함 2. 로그인 한 사람이 누구인지 알아야함. typeORM은 Entity를 사용하기 위해 사용한다. app.module에 typeORM 써줌 -> 해당 모듈에 TypeOrmModule.forFeature로 임포트를 해줌 -> 해당 서비스 계층에 @InjectRepository()로 레파지토리를 써줄 수 있음 nest g res 프로젝트 명령어를 사용하면 프로젝트명의 파일들이 셋팅이 된다(컨트롤러 엔티티 서비스 테스트코드) Entity 파일 @Column({type: 'varchar'}) => 코드 레벨에서의 자료형 지정이 아닌 DBMS를 위한 자료형을 지정해주는거임 email:..

TIL 2024.04.09

24.04.05

default를 유저 지금 현재 위치로 바꾸는거, (출발값을 유저의 현재 위치로 한다.) 그리고 그 유저 위치를 따라갈 수 있게끔 하는거 const 출발 하는 위치 = 유저의 현재 위치| geolocation으로 내 현재 위치를 찾아오고, tmap에 있는 거 건들여보면? navigator.geolocation.getCurrentPosition(function(pos) { let latitude = pos.coords.latitude; let longitude = pos.coords.longitude; console.log(`위도: ${latitude}, 경도: ${longitude}`) }) 현재 내 위치를 위도와 경도로 표시하는 것. navigator.geolocation.getCurrentPositi..

TIL 2024.04.08

24.04.04

카카오 API를 사용하기로 했으나 카카오 API에는 네비게이션(걸음) 관련한게 없어서 T맵 API를 사용하기로 했음 공식 문서에 있는 코드를 따라서 지도를 간단하게 띄우고 핀을 꽂아 보려고 했지만 이상하게 꼭 뭐만 하려고 하면 안댐... 이것저것 시도해보다가 그냥 미리보기에 내가 넣고 싶은 기능을 체크하면 코드를 예제로 보여주는 기능이 있길래 그냥 싹 복사했음.... 하... 너무 어렵다... 1도 겨우하는데 10이상의 난이도를 하려고 하니까 너무 힘들다.. 뭐 한게 있어야 쓰는데...

TIL 2024.04.05

24.04.03

프로젝트에 카카오맵과 GIS를 사용하기 위해서 찾아본 자료들 GIS(Geographic Information System) 지리정보를 컴퓨터 데이터로 변환하여 효율적으로 활용하기 위한 정보시스템 위치자료(spatial data), 속성자료(attribute data)를 통합, 관리하여 지도, 도표 및 그림과 같은 여러 형태의 정보 제공 지리정보의 조작을 위한 정보 시스템 주요기능 GIS는 모든 정보를 수치의 형태로 표현. 사용자가 원하는 정보를 선택하여 필요한 형식에 맞춰 출력 가능. ⇒ 동적인 지리 정보 제공이 가능 다량의 자료를 컴퓨터 기반으로 구축. 빠른 정보 검색 가능. 도형, 속성 자료를 쉽게 결합 가능, 통합 분석 환경 제공. 필요한 도형, 속성 정보를 추출, 결합하여 종합적인 정보 분석, 처..

TIL 2024.04.04

24.04.02

schedule 파트 기본 CRUD를 완성하고 인섬니아로 확인을 하고 싶지만 서버 연결이 되지 않고, 다른 파트가 완성이 되지 않아 확인할 수 없어서 리더님께 코드를 하나하나 설명하면서 코드에 대한 이해도를 높였음 수정한 부분들 1. 스케쥴 등록 부분의 코드의 순서 오류 - 스케쥴레파지토리 부분에 세이브를 하는 코드가 메인 로직의 맨 꼭대기에 있었음. 2. 스케쥴 전체 조회 - 조회를 할 때 전체적인 스케쥴이 나와야하는데 1개의 스케쥴만 보임. 그룹을 찾는 find의 조건에 groupId와 scheduleId를 넣어줬음 => 1개만 찾아옴.. groupId와 scheduleId를 함께 넣어준 이유: 해당하는 그룹의 스케쥴들을 찾겠다. 수정한 이유 1. 그룹을 1개 찾아주고 스케쥴이 소속된 그룹이 있는지 ..

TIL 2024.04.03

24.04.01

dto에 enum 값 어떻게 넣누... @IsEnum(Categoty) category: Categoty @IsDate와 @IsDateString의 차이 @IsDate: 속성이 JS의 Date 객체와 일치하는지 확인하는데 사용한다. 해당 속성이 유효한 JS객체인지 검증함 @IsDateString: 속성이 유효한 날짜 형식의 문자열인지 확인하는데 사용된다. 속성 값이 특정한 형식의 날짜 문자열인지 검증할 때 사용 => scheduleDate에는 Date객체 형태를 할당했기 때문에 @IsDate가 더 올바른 선택임 @Injectable(): 해당 클래스가 주입가능한 서비스로 등록되도록 지정하는 역할을 한다. 이 데코레이터는 괄호에 추가적인 매개변수를 요구하지 않는다.(대부분 그냥 빈 괄호로 내버려둠) @In..

TIL 2024.04.02

24.03.29~03.31

CASL이란? 특정 클라이언트가 엑세스 할 수 있는 리소스를 제한하는 동형 인증 자바스크립트 라이브러리임. CASL은 속성 기반 엑세스 제어를 구현한다. CASL은 npm i @casl/ability 로 설치가 가능함 이건 소리인지 잘 모르겠는데 중요할 것 같아서 긁어왔음 개발 빌드 중요 : GitHub /dist폴더의 빌드 파일은 릴리스 중에 체크인되지 않습니다. GitHub의 최신 소스 코드에서 CASL을 사용하려면 직접 빌드해야 합니다! 프로젝트 루트를 탐색하고 다음을 실행합니다. git clone git@github.com:stalniy/casl.git cd casl pnpm i -rcd packages/casl-ability npm run build CASL은 쉽게 사용자의 역할에 따라 액세스 ..

TIL 2024.04.01

24.03.28

1차 SA 피드백을 받고 조원들과 대략적인 와이어 프레임 제작, API 명세서를 작성하면서 가감이 필요한 내용에 대해서 꾸준하게 이야기를 나누고 수정하고 하는 작업을 하루 종일 했던 것 같음... 생각보다 기능이 많아서 MVP 기능을 선정하고 중요하다고 생각하는 기능들부터 우선적으로 하자는 결론이 나옴 다른 팀들 중에는 벌써 CRUD에 들어간 팀도 있다고는 해서 좀 느린 것 같지만 천천히 우리 속도로 나가는 것 같아서 다행이라고 생각한다..

TIL 2024.03.29
728x90