목록개발 공부 (70)
Just Do IT!
react-dropzone 라이브러리란? 파일 업로드 라이브러리이다. 간단하게 drag&drop으로도 사용 가능하고 클릭하여 파일을 업로드할 수도 있다. 그리고 이미지 썸네일 미리보기를 지원하며 멀티 업로드 기능 역시 지원한다. https://www.npmjs.com/package/react-dropzone https://www.npmjs.com/package/react-dropzone react-dropzone Simple React hook to create a HTML5-compliant drag'n'drop zone for files. Documentation and examples at https://react-dropzone.js.org. Source code at https://github...
요즘 인프런에서 따라하며 배우는 노드, 리액트 시리즈 - 영화 사이트 만들기 강의를 듣고있는데, 강의 코드를 치면서 배우는 와중 오류가 발생했다. 리액트 서버와 노드 서버를 동시에 열기 위해서 package.json 을 아래와 같이 수정했다. 리액트로 만든 frontend 서버는 'npm run frontend'로 열고,node로 만든 backend 서버는 'npm run backend'로 열기로 명령어를 지정했는데,두 서버를 동시에 열기 위해서 'dev'라는 명령어를 따로 만든 것이다.(강의 그대로 수정했다.) 그런데, 중간에 api가 제대로 작동하는지 보고 싶어서 서버를 켰는데,아래와 같은 오류가 나왔다. 원인은? Node.js 버전 호환성 문제로 웹팩(webpack)이 해당 Node.js 버전과 함..
JSON Web Token이란? JSON 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web Token 토큰 자체를 정보로 사용하는 Self-Contained 방식으로 정보를 안전하게 전달한다. 주로 회원 인증이나 정보 전달에 사용된다. 공식 홈페이지에서 더 많은 정보를 알 수 있다. https://jwt.io/ JWT.IO JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. jwt.io JWT는 왜 사용할까? 유저가 로그인에 성공한 후에는 access token이라고 하는 암호화된 유저 정보를 첨부해서 request를 보내게 된..
암호화란? 어떤 평문을 암호문으로 바꾸는 것이다. 반대로, 암호문을 평문으로 바꾸는 것은 복호화라고 한다. 암호화는 아주 기본적인 정보 보안 방법이다. 데이터 유출 자체를 막지는 못하지만, 어떤 정보를 담고 있는지 알지 못하게 하는 것이다. 암호화의 필요성 유저의 비밀번호는 절대 비밀번호 그대로 DB에 저장 하지 않는다. DB가 해킹을 당하면 유저의 비밀번호도 그대로 노출 된다. 외부 해킹이 아니더라도 내부 개발자나 인력이 유저들의 비밀번호를 볼 수 있다. 유저의 비밀번호는 꼭 암호화 해서 저장 해야 한다. Bycript란 무엇인가 단방향 암호화를 위해 만들어진 해시 함수 (복호화 불가능) 비밀번호 자체를 검증할 때 입력받은 값을 암호화해서 저장된 암호화된 값과 비교해서 검증할 수 있다 Hash 임의의 ..
.env 파일이란? 유닉스 및 유닉스 계열 운영 체제용 셸 명령어 환경변수 파일을 외부에 만들어 URL,포트, API_KEY 등을 저장시켜 소스코드 내에 하드코딩하지 않고 사용할수 있다. 외부 파일(.env)에 환경변수를 정의하여 변수로 받아오는 이유는 보안과 유지보수에 용이하기 때문이다. 환경 변수 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임 dotenv 환경변수를 .env라는 파일에 저장하고 process.env로 로드하는 의존성 모듈 .env 파일 생성하기 최상위 경로(root)에서 파일 생성 환경 변수로 지정할 값 작성 리액트인 경우 REACT_APP_로 시작 NextJS의 경우 NEXT_PUBLIC_으로 시작 .gitignore에 .env 파일 추가 위의 캡처본들 처럼..
mongoose란? Mongoose 모듈은 MongoDB 라는 NoSQL 데이터베이스를 Node.js로 사용할 수 있도록 하는 확장 모듈 데이터를 만들고 관리하기 위해 스키마(schema)를 만들고, 그 스키마로 모델을 만들어 데이터 관리 가능 mongoDB에는 스키마가 없지만 mongoose를 통해 생성 가능 스키마와 모델을 통하여 data를 불러온 후 객체화 시켜 빠르게 수정함으로써 데이터에 접근 가능하게 만들어줍니다. 모델링 된 문서(document)가 모여있는 Collection을 관리하는 것을 수월하게 만들어 줍니다. https://www.npmjs.com/package/mongoose mongoose Mongoose MongoDB ODM. Latest version: 8.0.3, last pu..