본문 바로가기

Node.js3

숏링크 변환 구현 - Node.js 숏링크 쇼핑몰같은 곳에서 주소창을 보면 긴 url(롱링크, 이제부터는 롱링크라고 표현하겠습니다)을 확인하실 수 있을겁니다. 정보들을 url 파라미터나 쿼리 스트링으로 저장하여 관리하다보면 url 길이가 길어질 수 밖에 없습니다. 해당 url을 공유할 때 롱링크는 미관상 보기 안좋은 편입니다. 이를 위해 나온 게 숏링크입니다. 대표적으로는 bit.ly 서비스가 있습니다. + ) 링크를 변경하는 서비스의 경우 보통 마케팅 데이터도 같이 처리하는 곳이 많다고 들었습니다. 브랜치, 앱스플라이어 등등 플로우 숏링크 생성 롱링크를 서버에 전송 (POST) 서버에서 숏링크 코드를 생성 ( shortid 라이브러리 사용 ) 숏링크 코드, 롱링크, 숏링크에 대한 데이터를 DB에 저장 숏링크 반환 숏링크 접속 숏링크로 주.. 2021. 11. 20.
PUG - 템플릿 엔진 Pug Pug는 템플릿 엔진입니다. HTML의 정적인 단점을 개선하여 반복문, 조건문, 변수 등을 사용할 수 있고 동적인 페이지 작성이 가능합니다. 특징 꺾쇠가 필요없습니다. 기존 html보다 코드가 간결합니다. 들여쓰기로 계층 구조를 표현합니다.(중요) 셋팅 저는 vscode에서 prettier 익스텐션을 사용하는데, 기본 prettier는 pug 확장자를 지원하지 않습니다. 그래서 추가적으로 pug를 인식하도록 플러그인을 설치 해줘야 했습니다. npm i -D prettier @prettier/plugin-pug들여쓰기가 중요하다보니 prettier를 활용했습니다. express로 사용할 경우, //pug 파일 폴더 지정 app.set('views', path.join(__dirname.. 2021. 8. 30.
Node.js 검색기능 구현하기 유사검색 검색어를 완전히 똑같게 입력하지 않아도 일부 내용이 같으면 검색하는 것을 말합니다. SQL 문법에 like 문법이 있어 Sequelize Docs에서 해당 문법을 확인할 수 있었습니다. sequelize의 where 부분에 아래와 같이 Op.like를 이용하면 됩니다. const { Op } = require("sequelize"); { where: { { brand: { [Op.like]: `%${searchText}%` } }, }, } 진행중인 프로젝트에서 상품 검색을 위한 검색 기능이라, 브랜드나 상품명을 검색했을 때 검색결과가 나오길 바랬습니다. Sequelize에선 or 문법도 Op에서 제공하고 있더군요. 아래와 같이 [Op.or] 을 이용해주었습니다. { where: { [Op.or.. 2021. 4. 23.