본문 바로가기

전체 글31

[Chapter 9] xxx.find is not a function 오류 9장의 실습을 진행하다 보면 아래와 같이 xxxx.find is not function 오류를 발견하게 됩니다. 해당 오류는 현재 sequelize를 사용하여 mysql db에서 데이터를 하나만 가져오기 위해 사용되는 find() 함수가 findOne()으로 수정되어 발생한 오류입니다. 따라서 위와 같이 find() 함수를 사용하고 있는 모든 부분을 findOne()으로 변경하면 오류가 해결됩니다. 아래는 sequelize를 사용하여 db에서 데이터를 가져올 때 사용되는 함수들입니다. 2020. 3. 13.
[Chapter9.2] 삽질_Cannot read property 'hasMany' of undefined 오류 이번 내용의 경우 '이런 걸 왜'라는 생각이 들 수 있는 수준이지만, 내가 두 번 삽질하지 않기 위해 기록합니다. 9.2장에서 실습을 진행하다 아래와 같은 오류를 경험했습니다. 책의 코드에서는 화살표 함수를 사용할 때 => 뒤에 바로 sequelisze.define()이 나오도록 되어 있어 return을 명시해주지 않아도 되지만 만일 => 뒤에 {}로 묶어 줬다면 return을 명시해야지만 함수를 실행했을 때 반환값이 존재하게 됩니다. {}로 묶은 부분을 지워도 해결되지만 아래와 같이 각각 sequelize가 반환되도록 코드를 수정해 주어도 문제가 해결됩니다. 2020. 3. 12.
Boyer-Moore Voting Algorithm / 과반수 투표 알고리즘 [수정] 내용에 오류가 있어 글을 수정했습니다. 지적해 주신 피곤한투티님 감사합니다. 과반수 투표 알고리즘이란 주어진 배열 내에서 과반 수 이상을 차지하는 요소가 존재하는지의 여부와 그 요소를 찾아내는 알고리즘입니다. 과반수를 찾아내기 위해 자주 사용되는 방식으로는 2중 반복문을 사용하거나, hash를 활용하는 방법이 있습니다. 하지만 두 방식을 사용하는 것보다 더욱 효율적으로 과반수를 찾아내는 방식이 과반수 투표 알고리즘입니다. 코드를 통해 살펴보겠습니다. int majorityElement(vector& nums) { int cnt = 0; int candidate; for(int i = 0; i < nums.size(); i++) { if(cnt == 0) { candidate = nums[i]; .. 2020. 3. 11.
node.js교과서 [Chapter7.6] A boolean value was passed to options.operatorsAliases.오류 해당 오류는 치명적인 오류가 아니므로 굳이 실습을 진행하는 도중에 고치지 않아도 됩니다. 발생 원인은 버전이 업데이트되면서 삭제된 기능에 의해서 생기는 오류입니다. (책에서 사용되고 있는 sequelize 버전은 4이지만(269pg 참고) 현재 가장 최신버전은 5입니다.) 버전 4에서 제공되는 operatorsAliases가 사라지게 되면서 이에 대한 경고를 내주는 게 현재 발생한 오류입니다. operatorsAliases가 무엇인가. 더보기 아래와 같은 방법으로 operator에 별칭을 정해줄 수 있는지의 여부를 나타내는 것입니다. 해당 경고문이 뜨지 않길 원한다면 config/config.json 에서 위와 같이 operatorAliases 옵션은 지워주면 됩니다. 2020. 3. 7.