추천글
NodeJS

[Nest js] simple-oauth2 를 이용한 ravelry 소셜 로그인 구현

뜨개질을 주제로 한 sns를 만드는 프로젝트를 진행중이다. 뜨개질의 경우 해외에 유명한 뜨개 사이트인 ravelry라는 사이트가 존재한다. ravelry라는 사이트는 다양한 api를 제공해 주어 실, 도안에 대한 정보를 가져올 수 있다. 꽤 많은 정보를 제공해 활용도가 높아보이니 관심있다면 api docs를 한번 읽어보시길 https://www.ravelry.com/api Ravelry www.ravelry.com 그런데 이 ravelry에서는 무료 oauth기능또한 제공하는데 ,, 아무래도 뜨개질 사이트기 때문에 ravelry 로그인 기능을 넣게 되었다. 카카오, 네이버, 구글과 같이 유명한 사이트의 oauth의 경우 passport라는 잘 만들어진 라이브러리가 존재한다. 그러나 ravelry는 pas..

NodeJS

sequlize raw 쿼리와 orm을 통한 쿼리를 동시에 사용법 (시퀄라이즈 컬럼간 비교)

시퀄라이즈를 통해 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..

토막글

mac npm path 설정, npm -g의 저장 위치와 환경 변수 설정

개요 오늘 하루를 투자하여 거의 npm과 맥의 path 설정을 마스터 했다. 이 사건의 발단은 다음과 같았다. 회사의 빌드 전용으로 쓰는 컴퓨터가 있는데, cordova를 이용하여 설정을 해야했다. 그런데 아무리 npm i -g cordova , sudo npm i -g cordova를 하여도 아래와 같은 오류만 떴다. -bash: cordova: command not found 문제는 npm -g로 설치하는 모듈들의 경로가 기본 경로가 아니였고, 이에 대한 path가 지정되어 있지 않았기 때문이다. 이 오류를 고친 방법과, npm -g의 설치 위치 , path등에 대하여 기록해 보고자 한다. 환경변수란 무엇인가 ? 환경 변수는 윈도, 맥 OS, 리눅스와 같은 운영체제(Operating System)에서..

snippets

일본 주소 자동 hypen (javascript 문자열에 Hypen 삽입)

프론트 작업을 위해 짠 코드이다. 사실 구글링해서 베낄라고 했는데 다들 정규 표현식을 이용해서 validation만 하고 자동으로 -을 삽입해 주는 코드는 없어서 내가 올린다. 일본 주소의 형식은 111-1234 와 같이 네번째 글자로 - (hypen) 이 들어간다. 값을 입력하게 되면 값을 읽으며 자동으로 hypen을 삽입해 준다. 나는 angular 에서 썼지만,, , 필요하다면 바꿔서 쓰시길 ,, addHypenToJPZipCode() { const zipCodeInput = userAddress.get('zipCode').value; const zipCodeWithoutHypen = zipCodeInput.replace('-', ''); if (zipCodeWithoutHypen.length >=..

최신글
개구리박물관

케로케로피 젤리

크기가로 13.5 cm세로 13 cm 소장정보Y 였으나곧 먹을 예정   설명케로케로피가 그려진 젤리이다.23년도 5월 가량 판매팼던 제품이다.

개구리박물관

레니니 빼빼로

크기가로 9 cm세로 16 cm높이 2.5cm소장정보 Y 였으나곧 버릴 예정  설명회사에서 마니또를 할 때 받은 선물이다.아몬드 빼빼로의 포장 상자다. (내용물은 평범한 아몬드 빼빼로다)23년도 12월 가량 판매팼던 제품이다. Thanks to 마니또님

개구리박물관

실사 개구리 스티커

크기가로 11cm 세로 21cm소장 정보 Y설명귤님이 일본에서 직수입해온 개구리 스티커이다. 실사 개구리인 점이 매력적이다.다양한 종류의 개구리가 있다.특히 개구리 주변에 금 태가 둘러져있어서 아름답다.  Thanks To 귤님

코테준비용

[백준 11779] 최소비용 구하기 2 ( 다익스트라 )

문제 요약 n개의 도시가 있을 때 출발지에서 도착지까지 가는 최소 비용과 경로를 출력해야하는 문제. 문제 입출력첫째 줄에 도시의 개수 n 이 주어짐둘째줄에 버스의 개수 m이 주어짐셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어짐마지막줄에 출발 도시의 번호와 도착지의 도시 번호가 주어짐입력 제한 크기n(1≤n≤1,000)m(1≤m≤100,000)접근 아이디어기본 다익스트라의 경우 특정 출발지로부터 모든 노드까지의 최소비용을 구할 뿐, 경로를 구하지 않는다.따라서 경로를 저장하는 배열을 만들어 경로가 업데이트 될 때 마다 변경해 준다.코드import java.awt.Point;import java.util.*;import java.io.*;public class b11779 { public sta..

카테고리 없음

코테에 자주 쓰이는 SQL

날짜데이터 일부 추출DATETIME에서 년, 월 ,일 추출 SELECT YEAR(START_DATE) FROM TESTSELECT MONTH(START_DATE) FROM TESTSELECT DAY(START_DATE) FROM TESTSELECT HOUR(START_DATE) FROM TEST포매팅SELECT DATE_FORMAT(START_DATE,'%Y-%m-%d') FROM TEST숫자반올림SELECT ROUND(123.456, 2); -- 결과: 123.46 (소수 둘째 자리까지 반올림)SELECT ROUND(123.456, 0); -- 결과: 123 (정수로 반올림)SELECT ROUND(123.456, -1); -- 결과: 120 (십의 자리에서 반올림) 형 변환SELECT CAST('123..

카테고리 없음

SunCertPathBuilderException: unable to find valid certification path to requested target; nested exception is javax.net.ssl.SSLHandshakeException: PKIX path building failed 원인 분석

서버간의 https 통신 시에 종종 발생하는 에러다 브라우저를 통해 해당 서버에  요청을 보냈을 때는 나지 않는데서버에서 서버로 요청을 보낼 때 이 에러가 발생해서 의아해 하곤 했다.이 문제를 이해하기 위해서는 https 통신에 대해 대략적으로 알아야 한다.  https 프로토콜에서는 클라이언트가 서버로 요청을 보낼 때의 과정을 정말 간략하게 요약하면 1. 서버를 신뢰할 수 있는지 인증2. 서버와의 통신에서 사용할 대칭키 교환이 두가지 과정이 필요하다. 위의 두 과정이 과정이 ssl handshake의 일부분이다.  이때 server에서는 공인 인증 기관인 CA에서 자신의 서버에 대한 정보를 제공하여 ssl 인증서를 발급 받은 뒤클라이언트와의 handshake 과정에서 이를 보내 인증한다. 그럼 이제 이..

케굴
케굴 코딩