일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- Logrus
- notification system
- Live Template
- gitops
- argocd
- 대규모 시스템 설계
- Buffered channel
- AWS Infra
- Helm V3
- 디자인패턴
- AWS
- 알림 시스템
- go
- Infra
- System Design
- 클래스 관계
- UnBuffered channel
- GoF
- 컴포지트패턴
- GoF 디자인패턴
- golang
- goroutine
- 윈도우키보드
- Golines
- Bastion Server
- Lambda@Edge
- Kubernetes
- image resizing
- tenneling
- 시스템 설계
- Today
- Total
목록프로그래밍언어/Node.js (9)
Fall in IT.
안녕하세요. ORM을 사용하게 되면 raw query를 전혀 사용하지 않을 수 있지만, 간혹 사용해야 하는 상황이 발생하기도 합니다. 오늘은 Nodejs의 ORM인 Sequelize에서 raw query 사용하는 방법에 대해서 알아보도록 하겠습니다. Dynamic SQL을 사용한 나쁜 예 let query = ` SELECT * FROM user LEFT JOIN team ON user.team_id = team.id WHERE user.id = ${userId} `; let user: User = await sequelize.query( query, { replacements: {personId: person.id}, type: Sequelize.QueryTypes.SELECT, raw: true })..
안녕하세요. 오늘은 Koa를 사용하여 rest api 서버 만들어 보겠습니다. 사용 기술스택데이터베이스는 MongoDB를 사용하고 Mongoose 라이브러리(MongoDB 기반 ODM)를 사용하여 DB와 통신하도록 하겠습니다.문법검사도구로 ESLint를 사용하겠습니다. 에러를 최소화하기 위해서 사용합니다.프로젝트 패키지 관리 툴로는 yarn을 사용하겠습니다. npm을 기반으로 만들어졌지만 더 속도가 빠릅니다.서버 코드 변경시 자동으로 재실행을 해주고, 서버의 상태를 관리 툴로는 pm2를 사용하도록 하겠습니다. pm2 외에도 nodemon, supervisor, forever 등 많은 관리 툴이 있습니다. 먼저 github에서 소스코드를 다운로드 받은 후, 내용과 함께 보면 더욱 이해하기 좋습니다. 목차1..
안녕하세요. 오늘은 MAC에서 npm으로 광역모듈 설치시, 해당 모듈을 찾지 못하는 에러에 대해서 알아보고 해결해보도록 하겠습니다. 에러상황npm으로 광역모듈 설치후 임포트하여 사용하려고 할때 해당 모듈을 찾지 못한다는 에러 발생에러원인npm으로 설치한 모듈의 설치경로(디폴트) - /usr/local/lib/node_modules node.js의 프로젝트 상에서 모듈을 찾는 경로(디폴트) - /usr/local/lib/node 해결방법node.js의 프로젝트가 모듈을 찾는 경로에 npm의 설치경로를 심볼릭링크로 걸어주면 됩니다. - $ ln -s /usr/local/lib/node_modules node 모두 즐거운 코딩하세요~
안녕하세요. 오늘은 nodejs에서 npm의 특정 모듈을 나의 프로젝트에 import해서 사용하는 방법에 대해서 알아보겠습니다. npm 모듈 사용방법 (이론)먼저 나의 프로젝트 디렉터리를 npm 패키지로 등록해야합니다. (다른 사람이 만든 모듈(패키지)을 우리 것으로 가져오기 위해서는 우리의 디렉터리 또한 패키지로 만들어야 합니다.)$npm init 명령을 사용하여 npm 패키지로 등록할 수 있습니다. 프로젝트 이름, 버전, 설명, entry point(우리가 만든 패키지에 여러개의 자바스크립트가 있을 때 어떠한 자바스크립트 파일이 이패키지를 구동시키는 스크립트인가 설정하는 것), test command(tdd를 하게되면 어떤 명렁을 실행하면 테스트를 실행시킬것인지 설정하는것), git repositor..
안녕하세요. 오늘은 Node.js에서 세션을 사용하는 방법에 대해 알아보겠습니다. 세션은 쿠키를 기본으로 하여 기능을 확장한 것 입니다. 만약, 쿠키에 사용자에 대한 정보가 모두 저장되어 있다면 보안상 굉장히 위험합니다. 따라서, 접속한 사용자를 식별할 수 있는 값(id와 같은 값)만을 클라이언트에 쿠키로 저장하고 서버에는 해당 식별자에 해당하는 사용자 정보를 데이터베이스 또는 파일, 메모리에 저장하여 사용하는 것이 세션입니다. 따라서, 세션 방식과 쿠키방식의 차이점은 쿠키는 헤더정보에 Set-Cookie의 실제값을 포함시켜 요청하고,세션에서는 set-cookie에 connect.sid 라는 식별자만(고유값)을 포함시켜 요청한다는 것이다. (클라이언트에서 관리하는 정보가 다름) 클라이언트의 컴퓨터에는 중..
안녕하세요. 오늘은 Node.js에서 쿠키 사용하는 방법을 알아보겠습니다. 쿠키는 세션을 사용하기 위한 기반 기술이고, 세션은 인증을 사용하기 위한 기반 기술입니다. 따라서, 쿠키의 개념부터 제대로 잡는게 무엇보다 중요합니다. 쿠키나 세션, 인증에 대한 개념이 없으신 분들은 책 또는 인터넷 자료를 통해 정확히 잡으시길 바랍니다. ^^(사실 저도 잘 모른다는..) 목적쿠키를 사용하여 클라이언트와 서버간의 데이터를 주고 받는것을 확인한다. 요구사항쿠키가 최초에 없을 때는 서버에서 쿠키값으로 1을 보내고, 쿠키가 있을 시 1을 증가시켜 반환한다. (따라서, 클라이언트에서 쿠키를 삭제하기 전까지는 1씩 증가된 값을 가지고 있게 된다.) 구축환경웹프레임워크로는 express를 사용하고, express는 쿠키 기능..
오늘은 Supervisor란 application에 대해 알아보겠습니다. Supervisor 공식 문서에 아래와 같이 설명되어 있습니다. "A supervisor program for running nodejs programs""A little supervisor script for nodejs. It runs your program, and watches for code changes, so you can have hot-code reloading-ish behavior, without worrying about memory leaks and making sure you clean up all the inter-module references, and without a whole new require ..
반갑습니다. 오늘은 Node.js, Express의 개념에 대해서 간략히 알아보도록 하겠습니다. Node.js의 개념구글의 크롬 V8 자바스크립트 엔진을 기반으로한 비동기 IO 를 지원하는 고성능네트워크 서버이다.프로그래밍 언어로 Javascript를 사용한다.2009년 유럽 JSConf의 라이언 달이 V8을 이용하여 자바스크립트의 강력함과 단순함을 활용한 이벤트 기반의 논블로킹 I/O를 주 컨셉으로 만든 백엔드(Back-end) 자바스크립트기반 서버이다. Node.js 장점매우 빠른 고성능 서버 - 비동기 처리로 인해 퍼포먼스가 증가한다.한가지 언어(Javascript)를 사용하여 개발 할 수 있다. - 서버-클라이언트 모두를 개발할 수 있다. 프론트엔드 개발자들이 직접 서버 개발을 할 수 있다. - ..
안녕하세요. 오늘은 Node.js를 설치해보고, 이를 사용하여 간단한 웹서버를 띄워보도록 하겠습니다. Node.js 설치하기Node.js 홈페이지에 접속하여 자신의 운영체제에 맞는 설치파일을 다운로드 합니다. - https://nodejs.org/en/download/stable/설치 후, terminal(맥일경우) 혹은 cmd를 통해 정상적으로 설치 되었는지 확인 합니다. - ex) node --version 명령어를 통해 확인 할 수 있습니다. Node.js 웹서버 구동하기node 홈페이지에서 상단의 ABOUT 버튼을 누릅니다. "Hello World"를 출력하는 간단한 웹서버 소스를 복사하여, webserver.js파일을 생성합니다. (파일명은 임의로 지정하여도 상관없습니다.) Node.js를 사용..