본문 바로가기
728x90
반응형

전체 글104

VS Code 언어 설정하기 Ctrl + Shift + pConfigure Display Language    한국어 선택.   Restart를 누르면 된다.  영어로 바꿀때도 위와 같다. 만약, 한국어가 목록에 없다면 Extensions에서 korean language pack...을 찾아 install 한다. 2024. 5. 23.
React 버전 업데이트를 하게 된 이유 useId에 대한 공부를 하려고 기본적인 코드를 작성하고 실행했지만react에서 useId를 import해서 사용할 수 없다는 에러가 떴다.   원인은 리액트 버전의 문제였다.리액트 프로젝트를 설치하기 귀찮아서 언제였는지 기억도 나지 않는 예전에 설치해둔 곳에서 테스트 했는데 useId의 경우 react 버전18부터 사용이 가능했기 때문이다. 확인을 해보니 내가 설치한 리액트는 버전17이었고 리액트 업데이트가 필요했다.   React  최신버전 확인 및 업데이트 업데이트를 위해 react 버전은 공식 사이트 https://react.dev/ 에서 확인한다.  만약, 최신 버전으로 업데이트 하려면 install을 하고 특정 버전으로 업데이트 하려면 update를 한다. 특정버전으로 업데이트 하려면.pack.. 2024. 5. 14.
Node.js와 JavaScript 구문의 차이점 Node.js에서 사용되는 자바스크립트 구문은 일반적인 브라우저 환경에서 사용되는 자바스크립트와 기본적으로 동일하다. Node.js는 Chrome V8 JavaScript 엔진을 사용하며, 일반적인 자바스크립트 문법과 ECMAScript 표준을 따르지만 몇 가지 중요한 차이점이 있다. / 환경 객체 (Global Object) 브라우저 환경에서는 window 객체가 전역 객체로 사용되지만, Node.js 환경에서는 global 객체가 전역 객체로 사용된다. 예를 들어, 브라우저에서는 window.setTimeout()을 사용할 수 있지만, Node.js에서는 global.setTimeout()을 사용한다. / 모듈 시스템 Node.js는 CommonJS를 사용하는 모듈 시스템을 지원하여 파일 간의 코드를.. 2024. 4. 4.
[1-1] dotenv로 환경변수 관리하기 dotenv는 Node.js 환경에서 환경 변수를 쉽게 관리하기 위한 패키지다. dotenv를 사용하면 윈도우 환경 변수에 직접 설정하지 않아도 된다. '.env' 파일에 환경 변수를 정의하면 Node.js 어플리케이션에서 이를 불러와 사용할 수 있다. 보통 Node.js 어플리케이션에서 사용되는 중요한 정보(예: 데이터베이스 정보, API 키 등)는 환경 변수에 저장되며, 어플리케이션이 실행될 때 환경 변수를 불러와 사용한다. 이는 애플리케이션의 보안을 강화하고, 환경 구성을 더욱 효율적으로 관리할 수 있다. 중요한 점은 .env 파일에는 민감한 정보를 저장하므로 외부에 노출되지 않도록 주의해야 한다. / .env파일 생성 및 환경 변수 정의 DB_HOST=localhost DB_USER=myuser .. 2024. 3. 29.
JWT 토큰 저장 방법들 - Cookies, HTTP인증헤더, 로컬스토리지, 세션스토리지 쿠키 (Cookies) 서버에서 클라이언트에게 JWT 토큰을 쿠키에 저장하여 전송할 수 있다. 쿠키는 HTTP 요청 헤더에 자동으로 포함되므로, 클라이언트 및 서버 모두에서 쉽게 액세스할 수 있고 Secure 및 HttpOnly 플래그를 사용하여 보안을 강화할 수 있다. Secure 플래그는 HTTPS 연결을 통해만 쿠키가 전송되도록 보장하고, HttpOnly 플래그는 JavaScript에서 쿠키에 접근하는 것을 방지하여 XSS 공격을 예방한다. // 회원 로그인 라우터 router.post('/login', async (req, res) => { try { // 이메일과 비밀번호를 이용하여 사용자를 인증하고 JWT 토큰 생성 const user = await User.findOne({ email: re.. 2024. 3. 28.
[인증/권한] 클라이언트와 서버 간의 인증 JWT(JSON Web Token) 공식 페이지 https://jwt.io/ JWT(JSON Web Token)는 주로 인증(Authentication) 및 권한(Authorization)에 관련된 기술로 사용된다. 정보를 안전하게 전송하기 위한 인터넷 표준으로 주로 클라이언트와 서버 간의 인증을 위해 사용된다. JSON으로 구성된 가볍고 자가수용적인 토큰이며, 사용자에 대한 정보를 담고 있고, 전자 서명되어 있어서 정보가 변경되지 않았음을 검증할 수 있다. 인증(Authentication) 사용자의 신원을 확인하고 인증하는 데 사용된다. 사용자가 로그인한 후에 서버로부터 발급된 토큰을 클라이언트에게 전달하고, 이 토큰을 이용하여 사용자의 인증 상태를 유지한다. 클라이언트는 이 토큰을 포함하여 서버에 요청을 보내며, 서버는 토큰을 검증하여.. 2024. 3. 28.
비밀번호 해싱 처리를 위한 Mongoose 미들웨어 설정 로그인 및 사용자 인증을 안전하게 하기 위해 비밀번호를 암호화하고 검증하는데에는 bcrypt가 필요하다. 이를 Mongoose 미들웨어를 이용하여 더 간편하게 구현할 수 있다. const mongoose = require('mongoose'); const bcrypt = require('bcrypt') const saltRounds = 10; //스키마 정의 const UserSchema = new mongoose.Schema({ name: { type: String, required: true }, email: { type: String, required: true, unique: true }, password: { type: String, required: true }, role: { type: Nu.. 2024. 3. 27.
VSCode내에서 HTTP 요청을 생성하고 테스트하는 Thunder Client Thunder Client는 Visual Studio Code(VSCode)에서 사용할 수 있는 HTTP 클라이언트 확장 프로그램 중 하나로, VSCode 내에서 HTTP 요청을 생성하고 테스트할 수 있다. Thunder Client는 간단한 사용법과 직관적인 UI를 제공하여 HTTP 요청을 쉽게 작성하고 실행할 수 있게 도와준다. 1. 설치하기 VSCode의 Extensions 메뉴에서 "Thunder Client"를 검색하고 Install을 한다. 2. 특징 / 간단한 HTTP 요청 Thunder Client를 사용하면 간단한 GET, POST, PUT, DELETE 등의 HTTP 요청을 생성하고 실행할 수 있다. / 환경 변수 및 변수 사용 Thunder Client는 환경 변수와 변수를 사용하여 .. 2024. 1. 10.
npm install으로 패키지 설치시에 사용되는 옵션들 -g 또는 --global npm으로 패키지를 전역(globally)으로 설치하려면 '-g' 옵션을 사용한다. 해당 패키지가 시스템 전체에서 사용 가능하도록 등록되어 이후 다른 프로젝트에서도 별도 설치없이 사용할 수 있다. npm install -g 만약 패키지가 전역으로 설치되었는지 확인하려면 'npm list -g ' 명령어를 아래처럼 사용하면 된다. -g로 설치가 되어있다면 해당 패키지 버전정보가 출력되고 아니라면 (empty)라고 출력이 된다. 주의 할 것은 프로젝트 별로 의존성 관리를 위해 -g 사용을 해도되는 것과 아닌 것을 잘 구분해야 한다. nodemon의 경우 프로젝트 내의 기능과 별개로 개발시에만 필요한 것으로, 주로 명령행도구(command-line-tools)등 공통으로 사용되는 것.. 2024. 1. 10.
HTTP 모듈로 서버구축 및 실행 HTTP 모듈은 Node.js의 기본 모듈로, HTTP 요청과 응답을 다루는 데 사용된다. HTTP모듈로 서버를 구축하고 실행하는 방법은 아래와 같다. 1. 기본 구조 / 모듈 불러오기 const http = require("http"); / 서버 생성 const server = http.createServer((req, res) => { // 요청 처리 로직 // req: 요청 객체 // res: 응답 객체 }); http.createServer 메서드는 HTTP 서버를 생성한다. createServer 메서드의 콜백 함수는 서버에 들어오는 각각의 요청에 대해 호출된다. req 객체는 요청에 관련된 정보를 포함하고 있다. res 객체는 응답을 생성하고 클라이언트에게 보낼 수 있는 메서드를 제공한다. /.. 2024. 1. 8.
728x90
반응형