공부(111)
-
[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기] 코드카타 : 피보나치 수열 (24/02/26)
목차 1. 문제 2. 시도 3. 결과 4. 배운점 1. 문제 코딩테스트 연습 - 피보나치 수 | 프로그래머스 스쿨 (programmers.co.kr) - 문제 설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. - 제한 사항 ..
2024.02.26 -
[Node.js_4기] 코드카타 : 이진 변환 반복하기 (24/02/22)
목차 1. 문제 2. 시도 3. 결과 4. 배운점 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/70129 0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다. 1. x의 모든 0을 제거합니다. 2. x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다. 예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다. 0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 ..
2024.02.22 -
[Node.js_4기] 알고리즘 : JadenCase 문자열 만들기 (24/02/21)
목차 1. 문제 2. 시도 3. 결과 4. 배운점 1. 문제 코딩테스트 연습 - JadenCase 문자열 만들기 | 프로그래머스 스쿨 (programmers.co.kr) 2. 시도 function solution(s) { let answer = ""; let _s = s.split(' ') for(let i of _s){ let newi = i.replace(i[0], char => char.toUpperCase()); answer += newi + " " } answer = answer.substring(0,answer.length - 1) return answer; } 테스트 1 입력값 〉 "3people unFollowed me" 기댓값 〉 "3people Unfollowed Me" 실행 결과 〉 ..
2024.02.21