til(36)
-
[Node.js_4기] TIL : TypeScript_1 (24/03/04)
목차 1. 학습 내용 2. 내용 정리 3. 예제 4. 생각 정리 TypeScript 학습 목적 JavaScript skill 향상 - 타입스크립트는 자바스크립트의 상위 집합이기 때문에 자바스크립트 기술을 향상시키는 데 도움이 됩니다. 타입스크립트를 배우면 자바스크립트에서 제공하지 않는 강력한 기능과 타입 시스템을 활용하여 코드를 더욱 효율적이고 안정적으로 작성할 수 있습니다. 코드 유지보수의 용이성 향상 - 타입스크립트는 정적 타입을 제공하므로 변수와 함수의 타입을 명시적으로 선언하고 버그를 사전에 예방할 수 있습니다. 이로 인해 코드의 가독성과 유지보수가 향상되며, 큰 규모의 프로젝트에서 특히 유용합니다. 프로그래밍 언어 이해 향상 - 타입스크립트를 배우면 프로그래밍 언어의 개념과 동작 원리를 더 잘 ..
2024.03.04 -
[Node.js_4기] Redis, 트러블 슈팅 (24/02/28)
목차 1. 학습 내용 2. 내용 정리 3. 생각 정리 1. 학습 내용 Redis란 오픈소스, 인 메모리 데이터 저장소로, 캐시, 벡터DB, 문서DB, 스트리밍 엔진, 메시지 브로커 역할을 하는 Key-Value 저장소 입니다. Remote Dictionary Server의 약자로, 번역하자면 원격 Dictionary 서버라는 이름입니다. Key로는 string, Value로는 다양한 타입을 지원하며 메모리 기반이기 때문에 disk기반의 RDBMS보다 빠릅니다. 또한, 레디스랩 등의 서비스를 사용해 여러 웹 서버들의 공유 메모리 역할로 레디스를 사용할 수 있다고 한다. 레디스(Redis)는 언제 어떻게 사용하는 게 좋을까 (brunch.co.kr) 더 자세한 내용은 위의 글을 확인하면 된다. 2. 내용 정..
2024.02.28 -
[Node.js_4기] TIL : 트러블슈팅 (24/02/27)
목차 1. 문제 2. 시도 3. 생각정리 1. 문제 테스트코드 작성을 했을때, 원래의 코드는 이미 export할때 해당 class를 new로 생성하여 export하고 있어서, 테스트코드를 돌리면 테스트코드가 돌아가는게 아니라 진짜 코드가 돌아가면서 실제 db를 건드는 문제가 있었습니다. (constructor로 의존성을 주지 않은체 작성했기 때문.) 그래서, 의존성을 주면서 router에서 생성자를 사용해 class를 생성하여 테스트코드 작성이 쉬워지게(?) 리팩토링하였습니다. 이 과정에서 validate-middleware가 service와 repository를 의존하는 상태로 router에 미들웨어로서 작동하면서 문제가 발생하였습니다. 2. 시도 문제의 발단, 해당 코드에 의존성을 삽입하였더니, 미들..
2024.02.27 -
[Node.js_4기] TIL : 트러블 슈팅 - 하루 회고 - (24/02/26)
목차 1. 오류 내용 2. 내용 정리 3. 생각 정리 1. 오류 내용 1. 첫번째 에러 SyntaxError: Expected property name or '}' in JSON at position 3 ~~~~~~~ 간단한 문법 오류. { 'email':'kimgrang1202@gmail.com' } json 파일을 이렇게 작성하니 문법 오류가 뜰 수 밖에. { "email":"kimgrang1202@gmail.com" } 2. 두번째 문제. if (decodedToken.email === email) { console.log('verify_email_3333') const updatedVerify = await usersRepository.updateUserByEmail({ where: { email..
2024.02.26 -
[Node.js_4기] TIL : Test Code (24/02/20)
목차 1. 학습 내용 2. 내용 정리 3. 예제 4. 생각 정리 1. 학습 내용 01. 테스트코드 02. Jest를 사용한 테스트코드 작성 2. 내용 정리 01. 테스트 코드 1) 테스트 코드 : 작성한 코드에 문제가 없는지 확인하기 위해 작성하는 코드 코드가 멀쩡함을 보여주는게 아니라, 코드가 멀쩡하다면 나올 결과를 설정하고 검증하기 위한 것. 2) 테스트 코드 종류 단위 테스트 : 가장 작은 규모의 기능 테스트 통합 테스트 : 다양한 기능을 합쳤을때 생기는 문제 방지 E2E 테스트 : 백엔드부터 시작해서 최종적으로 웹 페이지까지 원하는대로 동작하며 원하는 데이터를 잘 보여주는지 확인 돌연변이 테스트(번외) ex) 넷플릭스의 카오스 몽키 솔루션(카오스 엔지니어링) 3) Jest : 페북에서 개발한 테스..
2024.02.20 -
[Node.js_4기] TIL : Layered Architecture Pattern (yy/mm/dd)
목차 1. 학습 내용 2. 내용 정리 3. 예제 4. 생각 정리 1. 학습 내용 1. 아키텍쳐 패턴 2. 계층형 아키텍처 패턴 2. 내용 정리 01. 아키텍쳐 패턴 1) 개념 소프트웨어 구조를 구성하기 위한 기본적인 형태 제시 각각의 시스템과 그 역할이 정의되어 있고, 시스템 사이의 관계와 규칙등이 포함되어 있다. 검증된 구조로 안정적인 개발이 가능, 복잡한 도메인 문제 해결시 큰 이득을 얻을 수 있다. 2) 예시 MVC (Model, View, Controller) 계층형 아키텍처 패턴 (Controller, Service, Repository) 클린 아키텍처 패턴 (소프트웨어를 내부 도메인으로 향하는 의존성을 가진 여러 계층으로 분리) 마이크로 서비스 아키텍처 패턴 (시스템을 작고 독립적인 배포 가능..
2024.02.19