목록전체 글 (42)
발전하는 춘배
개요개발 중 여러 민감한 변수들(API 키, DB 주소 등)을 소스코드 내에 하드코딩 하게 되면, 깃허브 등의 오픈 소스로 공개 시 보안상 좋지 않다. 또한 협업 시 팀원간의 개발 환경이 달라 개발에 번거로움이 발생할 수 있다.이 때 `.env` 파일을 사용해서 변수들을 따로 저장해 놓으면 `.gitignore`을 사용해서 깃허브에 중요 정보가 노출되는 것을 간편하게 방지할 수 있고, 협업 시 환경변수 관리의 개인화가 가능하다..env 파일 생성NodeJS 프로젝트의 root directory에 `.env` 파일을 생성한다.`.env` 파일은 다음과 같이 key-value 쌍으로 구성된다.HOST="localhost"DB_PASSWORD="1234"USER="me"DB="myproject_db" .env..
개요프로젝트를 진행하던 중 굳이 DBMS를 사용하지 않고 파일 시스템만으로 데이터베이스를 구축할 수 있지 않을까? 라는 생각이 잠깐 들었다. DB와 DBMS의 개념을 정리해보고, 파일 시스템 대신 DBMS를 사용하는 이유를 알아본다.DBDB는 DataBase의 약자로, 여러 사람이 공유하여 사용할 목적으로 통합 관리되는 정보의 집합이다. 논리적으로 연관이 있는 자료들의 내용을 구조화함으로써 삽입, 검색, 수정, 삭제, 정렬 등의 효율화를 달성할 수 있다.즉, 몇 개의 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화하여 저장해 놓은 자료의 집합체라고 할 수 있다.특징실시간 접근성: 사용자가 필요로 할 때 언제든지 데이터를 검색하고 수정할 수 있도록 실시간으로 접근 가능하다.지속적인..
개요회원 로그인을 구현할 때 주로 사용되는 인증 방식에는 아래와 같이 크게 세 가지가 있다. 쿠키 방식 세션 방식 토큰 방식 각 방식은 고유한 장단점을 가지고 있어 적절히 선택해야 한다.알아보도록 하자.인증(Authentication)이 왜 필요할까서버는 클라이언트 각각을 기억하지 못한다. 이는 다음과 같은 HTTP 프로토콜의 특성에 기인한다. 비연결성 (Connectionless):실제로 요청을 주고받을 때만 연결을 유지하고 응답을 주고 나면 연결을 끊는다. 최소한의 자원으로 서버를 유지하기 위함이다. 무상태 (Stateless):서버가 클라이언트의 상태를 저장하지 않는다. 따라서 응답과 요청이 독립적이다.따라서 로그인과 같이 클라이언트가 자신이 누구인지 서버에게 알려야 하는 기능을 구현하기 위해서는..