Programming(141)
-
처음부터 따라해보는 C++ - 1. 개발환경/프로젝트 생성하기/Hello World출력
1. IDEWindows에서는 Microsoft에서 만든 Visual Studio를 사용하고 디폴트 컴파일러로 MSVC++를 사용한다.MacOS에서는 Apple에서 만든 Xcode로 디폴트 컴파일러로는 Clang이란것을 사용한다.특정 운영체제에 국한되지 않은 Cross Platform으로 나온 Jetbrains에서 만든 Clion이란 것이 있다.또한 CUI를 사용하는 Cross Platform으로 사용되는 Vi/Vim이라는 프로그램이 있다.이는 IDE는 아니지만 많은 사용자들이 사용하는 프로그램이기에 넣어봤다고 함.동일하게 IDE는 아니지만 C++ 플러그인을 사용하면 사용할 수 있는 Microsoft에서 나온 Visual Studio Code가 있다. 이중 Visual Studio가 제일 점유율이 높고..
2025.02.15 -
로그인, 인증 기능 구축 프로젝트[미니 프로젝트 1] - 01. jwt를 이용한 인증 앱 생성하기 : 04. RefreshToken에 대해서
1. Access Token의 단점탈취 시 즉시 API 접근 가능 (보안 취약)Access Token이 탈취되면, 공격자가 토큰을 사용하여 API 요청을 수행할 수 있다.토큰에는 인증 정보가 포함되어 있어, 탈취되면 제3자가 사용자의 권한으로 API를 호출이 가능하게 되고 이렇게 보호되지 않은 사이트의 경우는 CSRF(크로스 사이트 요청 위조), XSS(크로스 사이트 스크립팅) 등의 공격에 취약하게 된다. 만료되면 다시 로그인해야 함Access Token은 일반적으로 수명이 짧기에(15분 ~ 1시간) 만료되면 사용자는 새 Access Token을 얻기 위해 다시 로그인해야만 한다. Access Token은 자체적으로 취소(Revoke)할 수 없음Access Token은 JWT 기반이므로 한 번 발급되면 ..
2025.02.13 -
로그인, 인증 기능 구축 프로젝트[미니 프로젝트 1] - 01. jwt를 이용한 인증 앱 생성하기 : 03. 토큰을 이용해서 요청 보내기
1. 인증을 위한 미들웨어 생성먼저 클라이언트에서 토큰을 받을 텐데 클라이언트에서 토큰이랑 같이 정보를 보낼텐데 이 토큰은 요청의 requet.header['authorization']에 들어 있게 된다.그래서 인증 하는 미들웨어에서 받을때 토큰에 있는 헤더에서 요청한 값을 가져오게 될것이다.근데 우리는 이 토큰을 포스트맨을 사용해서 직접 넣어서 보내줘야 한다.이전에 토큰을 요청하는 메서드를 통해 토큰을 받은 다음에포스트맨 URL창 밑에 Authorization을 선택Auth Type을 Bearer Token을 선택해준 후에 옆창에 생성되는 토큰 입력 칸에 토큰을 넣어주자.그러면 헤더 안에 Authorization에 자동으로 넣어주게 된다. 이를 통해서 먼저 토큰을 서버로 요청의 헤더에담아 보내주는 부분..
2025.02.13 -
Node 프로젝트의 gitignore 작성법
Node.js 프로젝트에서 git으로 commit 할때 제외되어야할 파일에 대한 설명을 작성한다.아래는 gitignore를 작성할때 추가될 목록과 그 이유에 대한 설명이다. 1. node_modules/ (패키지 폴더)node_modules/ 폴더에는 npm install을 통해 설치된 패키지들이 저장되기에 Git에서 관리할 필요가 없으며, 필요하면 package.json을 기반으로 언제든 다시 설치 가능하다.node_modules/ 폴더는 수천 개의 파일로 이루어져 용량이 크므로, Git에 포함하면 리포지토리 크기가 불필요하게 커지기에 추가되지 않도록 해야한다.node_modules/ 2. logs/, *.log (로그 파일)logs/ 폴더에는 서버 실행 로그, 오류 로그 등이 저장된다로그 파일은 실행..
2025.02.11 -
Unity를 Github로 올릴때 Ignore 작성하는법
Unity 프로젝트를 GitHub에서 협업할 때, 불필요한 파일이나 충돌을 일으킬 가능성이 있는 파일들을 git ignore 설정해야 한다.이러한 파일을 .gitignore에 추가하지 않으면 저장소 용량이 비효율적으로 증가하거나, 팀원 간에 불필요한 충돌이 발생할 수 있다. 😒Git에서 무시해야 하는 파일 및 이유라이브러리 및 빌드 관련 파일Library/Logs/Temp/obj/Build/Builds/이 폴더들은 Unity가 자동으로 생성하는 캐시, 빌드된 결과물, 로그 파일 등을 포함하고 있는 디렉터리들이다.Git에 포함할 필요가 없으며, 포함하면 불필요하게 용량이 커지고 충돌이 발생할 가능성이 높다. 유저 환경 관련 파일UserSettings/*.suo*.user*.userprefs*.csproj..
2025.01.29 -
로그인, 인증 기능 구축 프로젝트[미니 프로젝트 1] - 01. jwt를 이용한 인증 앱 생성하기 : 02. 간단한 인증 시스템 구현
2. 간단한 인증 시스템 구현이제 전에 배웠던 JWT의 인증 과정을 실제로 소스코드로 구현해보자. 2-1. 기본 세팅먼저 express 앱을 생성해주자.//package.json 생성npm init -y 그리고 추가적으로 설치할 모듈은 dotenv, jsonwebtoken, nodemon, express이다.각각의 모듈을 설명해보자면 2-1-1. dotenv 모듈dotenv 모듈은 환경 변수(environment variables)를 .env 파일에서 불러와 애플리케이션에서 사용할 수 있도록 해주는 Node.js 라이브러리이다.환경 변수는 주로 애플리케이션의 설정이나 비밀 키와 같은 민감한 정보를 코드 외부에서 관리할 때 사용된다.그리고 우리 프로젝트에서도 이런 노출되지 않기 위한 설정 혹은 키에 대해..
2025.01.12