계속 이런 에러가 났다 실제로 '.\node_modules\jquery\lib\jQuery'. 이 경로에 가봤더니 이런식으로 되어 있었다. 보니 jquery\lib\jQuery 속에 node-jquery.js 가 있어야 하는데 조금 달라서 못잡는 것 이였다. 이렇게 폴더 이름을 바꿔주고 node-jquery.js의 위치를 바꿔서 해결했다.
회원 탈퇴 이후에 글에서 유저 정보를 불러오지 못하는 에러가 발생해서 join 할 때 soft delete 된 값을 포함하는 법을 찾았다. gpt 군이 시원찮은 답을 내놓아서 내가 작성한다. 개요 article을 조회할 때, user를 left join 해서 함께 가져오는 상황이다. typeorm과 queryBuilder를 사용했다. 1. soft delete 된 article과, user 둘다 제외 let queryBuilder = this.repository .createQueryBuilder('article') .leftJoin('article.user', 'user') .select(['article', 'user.nickname', 'user.profileImg']) 2. soft delete된..
다들 카카오 로그인을 쉽게쉽게 구현하는데 나는 유난히 고생했다. 그 이유는 블로그 주도 개발 때문이였다 .(에휴) 공식문서 읽기를 생활화 해야겠다. 환경 나는 passport를 사용하여 rest api 로 카카오 로그인을 구현했고 이에 맞게 rest api 키를 잘 넣어서 구현했다. 원인 어디서 근본없는 redirect url을 주워와서 생긴 문제였다. const redirectUrl = `https://accounts.kakao.com/login/?continue=https://kauth.kakao.com/oauth/authorize?scope=account_email&response_type=code&redirect_uri=${callbackUrl}&through_account=true&client_..
뜨개질을 주제로 한 sns를 만드는 프로젝트를 진행중이다. 뜨개질의 경우 해외에 유명한 뜨개 사이트인 ravelry라는 사이트가 존재한다. ravelry라는 사이트는 다양한 api를 제공해 주어 실, 도안에 대한 정보를 가져올 수 있다. 꽤 많은 정보를 제공해 활용도가 높아보이니 관심있다면 api docs를 한번 읽어보시길 https://www.ravelry.com/api Ravelry www.ravelry.com 그런데 이 ravelry에서는 무료 oauth기능또한 제공하는데 ,, 아무래도 뜨개질 사이트기 때문에 ravelry 로그인 기능을 넣게 되었다. 카카오, 네이버, 구글과 같이 유명한 사이트의 oauth의 경우 passport라는 잘 만들어진 라이브러리가 존재한다. 그러나 ravelry는 pas..
시퀄라이즈를 통해 raw쿼리와 orm 쿼리를 동시에 사용할 일이 생겼다. 사유는 디비 컬럼간에 비교를 조건으로 하는 쿼리를 작성하고 싶었기 때문이다. 예시와 함께 설명해 보겠다. 예시로 사용할 테이블 이름을 간단하게 product라고 하자. 그리고 아래와 같은 조건을 가진다고 생각해보자. 1. 나는 원가와, 세일가가 다르고 2. isTest 가 Y이다 3. isDel 이 N이다. 4. 코드의 진행 과정에서 생성되는 categoryId라는 값과 categoryId가 일치하는 데이터를 추출하고 싶다. 이런경우를 raw 쿼리로 표현하면 다음과 같을 것이다. `select * from product where price != salePrice and isTest ="Y" and isDel="N" and cate..
평소에 숫자 또는 날짜로만 순서를 주어 데이터를 정렬하였다. 그러다가 오늘 특이하게 데이터의 값이 'Y'이면 뒤로 보내고, 'N' 이면 앞으로 정렬해야 할 일이 생겼다. sequelize.literal을 이용하여 아래와 같이 구현하였다. 이 값을 시퀄라이즈 조회 조건에 넣으면 된다. sequelize.literal( 'CASE WHEN `isCheck` = "N" THEN 1 ELSE 0 END DESC, createDate DESC, updateDate DESC', ); check 가 N인 데이터들을 뒤로 보낸 뒤 , createDate와 updateDate를 이용하여 정렬해 준다.