Node.js

반응형
·Node.js
우연히 어떤 글을 보고 swagger로 api docs를 작성할 수 있다는 것을 알게 되었다. 혼자 프로젝트 진행할 때 api가 너무 많아서 노션으로 일일이 작성해서 봤었는데 이 방법이 더 편리할 것 같아 한번 해보고 글로 작성할려고 한다. 1. swagger 설치 이전에 있던 express 프로젝트를 가져와 아래의 모듈을 설치한다. npm install swagger-jsdoc swagger-ui-express --save-dev swagger-ui-express : API 문서 UI 렌더링을 위한 패키지 swagger-jsdoc: Swagger 태그 주석을 추가해 API 문서화를 위한 패키지 개발할 때 보기 위함이기에 —save-dev옵션을 준다. 2. swagger 파일 설정 1) swagger.j..
·Node.js
Joi란 사용자가 입력한 데이터가 유효한지 검사하는 유효성 검사 라이브러리 라고 할 수 있다. 설치 및 사용하기 npm install joi joi를 사용하기 위해서 install해준다. const Joi = require('joi'); 스키마 정의하기 // validate할 schema 정의 const schema = Joi.object().keys({ username: Joi.string().min(3).max(30).required(), birthyear: Joi.number().integer().min(1900).max(2018), }); 유효성 검사를 하려면 db에 정의되어 있는 컬럼들을 가져와서 몇개의 컬럼만 유효성 검사를 할 수 있다. username: 글자이고, 길이가 최소 3글자에서 최대..
·Node.js
sql문을 작성할 때 json형식으로 해서 connection pool을 했었다. 그런데 우연히 knex로 받아오는 것을 보고 괜찮은 방법이여서 더 알고자 정리하고자 한다. 설치하기 npm install knex --save 위의 명령어를 쳐서 knex를 설치해준다. DB정보 생성하기 const knex = require('knex')({ client: 'mysql', connection: { host : HOST_ADDR, user : DB_USER, password : DB_PASSWORD, database : DB_NAME } }) client : 이 매개변수는 필수이며, 라이브러리와 함께 사용할 클라이언트 어댑터를 결정한다. CRUD 작성하기 1) select knex.select('컬럼 이름')..
·Node.js
express로 코드를 짜서 깃에 올리기 전에 3계층 레이어를 적용하면 좋다는 말에 여러 글을 보고 정리한 글이다. 1. 3 layer architecture란? 3 layer architecture는 비즈니스 로직을 분리하는 것을 목적으로 한다. Controller, Service Layer , Data Access Layer 세개의 층으로 나뉜다. Controller : client와의 통신에서 필요한 req, res를 다룬다. Service layer : business logic을 Data Access Layer은 DB와의 직접적인 통신을 한다. Business logic : client와 Data Acees Layer 사이에서 데이터를 관리한다. 2. 3 Layer Architecture을 적용..
·Node.js
우연히 글을 하나보고 만들고 싶어서 해당 기능을 구현하였다. 그리고 이에 대해 알게된 점을 간략하게 서술하고자 한다. 워크스페이스 만들기 💡 https://slack.com/intl/ko-kr 위의 사이트에 접속하면 상단 오른쪽에 새 워크스페이스 개설이 있다. 이를 클릭한다. 나는 워크스페이스명을 slack bot test로 지정하여 만들어주었다. 앱 만들기 💡 https://api.slack.com/apps?new_app=1 위의 사이트에 접속하면 모달창이 뜨게 된다. 그러면 From scratch를 눌러 앱 이름을 지정하고, 위에서 만들어둔 워크스페이스를 클릭해준다. 그리고 나서 Create App을 누르면 앱이 생성된다. 권한 설정 및 토큰 발급 1) 사이트 이동 앱을 생성하고 난 다음에 왼쪽에 사..
·Node.js
프론트랑 백엔드단에서 데이터를 가져올 때 axios모듈을 많이 사용한다. 그런데 axios를 쓰게 되면, url을 사용해서 데이터를 가져오고 넘겨주고 해야 한다. 만약 url이 같다면 똑같은 코드를 계속적으로 쓰게 된다. axios를 모듈화하여 사용하면 코드를 한결 덜 길게 사용할 수 있다. axios 기본 코드 import axios from 'axios'; function Other() { const [data, setData] = useState([]); useEffect(() => { useEffect(() => { axios.get("").then((res) => setData(res.data)); }, []); return ( {JSON.stringify(data.userId)} ) } exp..
·Node.js
node와 s3를 연동하면서 잘 되지 않았던 부분들을 정리하고자 글로 정리한다. 이는 세가지로 정리할 수 있다. s3연동하는 js하나, s3를 연동하는 js를 미들웨어로 넣어주어 사용하는 라우트 하나, 이에 대한 결과를 보여주는 컨트롤러로 이루어져 있다. 모듈 설치 npm install multer multer-s3 aws-sdk 위의 모듈은 s3와 node를 연동할 때 필요한 모듈이다. 이를 설치하고 난 후에 설치된 모듈의 버전을 확인해야 한다. 모듈과 관련하여 오류가 발생하였었다. 아래의 글을 한번 살펴보고 나서 이 글을 정독하거나 하면서 오류나는 부분들은 아래를 참고하면 좋다. 2023.02.08 - [Error] - [Error] this.client.send is not a function(no..
·Node.js
리눅스에서 mysql에 접속 sudo /usr/bin/mysql -u root -p 을 입력하여 mysql에 접속한다. use mysql; 다음과 같은 명령어를 입력하여 들어간 다음에 // 특정 ip만 접근을 허용하는 사용자 추가 create user '유저명'@'123.456.789.100' identified by '비번'; // 권한 허용 grant all privileges on *.* to '유저명'@'123.456.789.100'; 이 때 나의 경우에는 aws ec2를 만들어서 mysql을 연결하여 사용할 것이기에, 한 포트만 사용해줄 것이다. 그래서 한 ip만 허용하여 유저가 들어가게 해놨다. 그렇지만 localhost로 해서 내부접근하는 경우와 외부접근하는 경우도 있기에 아래 사이트를 참고..
반응형
Uheeking
'Node.js' 카테고리의 글 목록 (2 Page)