그럼 node.js 개발환경에서 위의 3가지를 활용해서 패키지를 구성하는 방법을 알아보자. 먼저 프로젝트 생성 및 npm init mkdir test-app cd test-app npm init -y npm 패키지들을 설치한다. (eslint + prettier) npm i -D eslint prettier eslint-plugin-prettier eslint-config-prettier eslint-plugin-node eslint-config-node airbnb code style을 위하여 관련 npm 패키지도 설치한다. npx install-peerdeps --dev eslint-config-airbnb 그 다음에는 prettier의 세팅을 위하여 .prettierrc 파일을 만든다. touch ..
eslint https://eslint.org/ Find and fix problems in your JavaScript code - ESLint - Pluggable JavaScript Linter A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Maintain your code quality with ease. eslint.org eslint는 es(Ecma Script) + Lint (검사기)이다. 말그대로 js 문법검사기 이다. js의 문법적인 문제를 판단하고 여러명이 동시에 코딩 할 때 일관적인 스타일로 코딩 할 수 있게 도와준다. 코딩 컨벤션 위주로 판단하는 툴이다. ..
https://docs.aws.amazon.com/ko_kr/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html 자습서: Amazon EC2 인스턴스에서 Node.js 설정 - AWS SDK for JavaScript 노드 설치는 현재 Amazon EC2 세션에만 적용됩니다. CLI 세션을 다시 시작하는 경우 nvm을 사용하여 설치된 노드 버전을 활성화해야 합니다. 인스턴스가 종료된 경우 node를 다시 설치해야 합니다. 다 docs.aws.amazon.com AWS에서 제공하는 EC2서버 인스턴스에 node.js를 설치하는 방법을 간단하게 정리 #1. EC2서버에 (Amazon Linux) nvm 설치 curl -o- h..
웹소켓 (WebSocket)은 웹페이지에서 실시간으로 양방향 통신을 가능하게 해주는 HTML5 프로토콜이다. 웹소켓을 통해 서버로 메세지를 주고 받는 경우 요청없이 데이터를 처리 할 수 있다. 그렇기 때문에 실시간 데이터통신이 필요한 채팅앱이나 기타 어플리케이션 제작에 필요한 프로토콜이다. https://ko.wikipedia.org/wiki/%EC%9B%B9%EC%86%8C%EC%BC%93 웹소켓 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 웹소켓(WebSocket)은 하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜이다. 웹소켓 프로토콜은 2011년 IETF에 의해 RFC 6455로 표준화되었으며 웹 ko.wikipedia.org node.js에서 이러한..
JWT은 JSON 형태를 이용해 사용자의 정보를 저장하는 클레임(Claim) 기반의 Web Token이다. JWT는 3가지의 정보를 가진 구조로 되어있다. #1. Header(헤더) #2. Payload(페이로드) #3. Signature(서명) 각각의 구조의 대해 간단히 설명 하자면 Header(헤더)에는 typ과 alg의 데이터 정보가 들어가있는데 이것은 Signature(서명)에 사용될 알고리즘이 들어가 있다. Payload(페이로드)에는 Access Token 발행시 사용될 정보들이 들어가 있으면 JSON 형태로 이루어져 있다. Signature(서명)에는 토큰을 복호화 하거나 유효성 검사를 할 때 사용되는 고유 난수값이 들어가 있다. https://jwt.io/ JWT.IO JSON Web To..
env 즉 환경변수는 node.js 환경에서 개발하다보면 많이 사용하게 된다. env 변수는 프로젝트 자체의 설정 내용이나 키값 처럼 외부로 노출되면 안되는 내용을 넣는 용도로 사용 된다. * node에는 기본적으로 process 객체가 있으며 이 객체 안에 env 객체 즉 prcess.env가 있다. node process.env { USER: 'ex', MallocNanoZone: '0', __CFBundleIdentifier: 'com.microsoft.VSCode', COMMAND_MODE: 'unix2003', LOGexE: 'ex', } * 추가적으로 node를 실행하기전에 사용자가 임의로 만든 환경변수를 넣어 둘수도 있다. ENV_VAR='env_var' API_KEY='api_key' no..
User를 만드는법을 배웠으니 간단하게 User groups을 만드는 방법이다. Access Control(접근 제어)를 하는 방식은 어려개로 나누어지는데, 가장 간단하게는 User마다의 각각 권한을 부여하는 방식이다. 위 방식은 UBAC(User Based Access Control)이라고 하는데 유저가 늘어 날수록 관리가 어려워진다. 그럼 두번째로 비슷한 계정끼리 Group을 만들어 관리하는 GBAC(Group Based Access Control)을 통해 관리하다. 그러나 IAM은 RBAC(Role Based Access Control) 방식을 사용한다. https://ko.wikipedia.org/wiki/%EC%97%AD%ED%95%A0_%EA%B8%B0%EB%B0%98_%EC%A0%91%EA%..
https://nodejs.org/api/http.html HTTP | Node.js v17.3.1 Documentation HTTP# Source Code: lib/http.js To use the HTTP server and client one must require('http'). The HTTP interfaces in Node.js are designed to support many features of the protocol which have been traditionally difficult to use. In particular, large, possibly c nodejs.org http module은 node.js에서 제공해주는 모듈로써 javascript를 이용해서 쉽게 api 서버..
업무중 사용하는 AWS 서비스를 정리 https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/introduction.html IAM이란 무엇입니까? - AWS Identity and Access Management 이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오. docs.aws.amazon.com AWS Identity and Access Management(IAM)은 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스입니다. IAM을 사용하여 리소스를 사용하도록 인증(로그인) 및 권한 부여(권한 있음)된 대상을 제어합니다. 위의 나와..
AWS안에 DynamoDB안에 여러개의 json파일을 한꺼번에 넣어야하는 경우가 있다. node.js와 AWS package 그리고 AWS IAM에서 발급해주는 key값을 이용해서 넣는 코드이다. #1. 먼저 aws-sdk module을 설치 https://www.npmjs.com/package/aws-sdk aws-sdk AWS SDK for JavaScript www.npmjs.com npm install aws-sdk #2. 그 다음 AWS 정보가 담겨있는 config 파일을 하나 만든다. module.exports = { aws_table_name: "table_name", aws_local_config: { region: "your_region", endpoint: "endpoint" }, aw..