본문 바로가기

전체 글102

[Server] OAuth 2.0 코딩 공부하면서 가입해야하는 곳이 정말 많아서 귀찮을 수 있는데, 구글아이디 하나로 모든 것을 가입했습니다. 그래서 굉장히 편리하다고 느끼는데 그것에 관한 기술이 OAuth 2.0 기술입니다. 하지만 여전히 사용자 정보가 내 서버에 저장되는 것은 변함이 없습니다. OAuth는 인증(Authentication)을 다른 서비스에 맡길 뿐, 접근 권한 관리(Authorization)는 순전히 내 서버의 몫입니다. 그러므로, OAuth의 작동 방식을 알기 위해서는 기존 인증 방식에 대한 이해가 필수적입니다. 소셜 로그인 인증 방식은 OAuth 2라는 기술을 바탕으로 구현됩니다. 전통적으로 직접 작성한 서버에서 인증을 처리해주는 것과는 달리, OAuth는 인증을 중개해주는 메커니즘입니다. 보안된 리소스에 액세스하.. 2021. 8. 4.
[Node.js] 특징 배우면 좋은점 브라우저는 자바스크립트, 서버는 자바로 구현을하는 경우가 많고, 우리나라 대기업도 백엔드는 자바로 많이 사용하고 있습니다. 노드 js로 서버를 구현하면 두가지의 언어를 사용하지 않고, 햇갈리지 않고 생산성을 높일 수 있습니다. (물론 자바만의 장점이 있기에 대기업에서 아직 많이 쓰고 있는 것으로 알고 있습니다.) 자바스크립트로 구현하는 기업 중 많은 예시를 드는 것이 넷플릭스 우버,이베이, AWS 등등 node.js를 사용하고, 우리나라 대기업도 부분적으로 사용하고 있습니다. 그리고 많은 스타트업이 노드js를 많이 사용하고 있습니다. 이렇게 많이 사용하는 이유는 쉽고, 높은생산성을 이유로 들고 있습니다. Node.js 특징 1. Javascript runtime node.js 는 런타임 환.. 2021. 8. 4.
[Server] 보안 인증 (Token-JWT) 오늘 과제도 어려웠습니다. 확실히 이 부분이 제일 어렵다는 이야기를 들었는데 개념은 이해가 되지만 코딩구현에 대해 갈피를 못잡고 있는데, 이 부분을 이해하여 코드로 작성한다면 당장 보이는 산은 넘을 수 있다고 생각합니다. 세션 기반 인증은 서버(혹은 DB)에 유저 정보를 담는 인증 방식이었습니다. 서버에서는 유저가 민감하거나 제한된 정보를 요청할 때마다 "지금 요청을 보낸 유저에게 우리가 정보를 줘도 괜찮은가?" 를 확인하기 위해 가지고 있는 세션 값과 일치하는지 확인합니다. 매 요청마다 데이터베이스를 살펴보는 것이 불편을 해결하기 위해 토큰기반 인증 중 대표적인 JWT(JSON Web Token)이 있습니다. 클라이언트에서 인증 정보를 보관하는 방법으로 토큰기반 인증이 고안되었습니다. 클라이언트가 토큰.. 2021. 8. 3.
[Server] 보안 인증 기초 (HTTPS/Hashing/cookie/CSRF) 보안 기초적인 개념에 대해서 배웠다. 크게보면 굉장히 쉽고 재미있지만 들어가면 들어갈수록 참 복잡하다. 코딩공부를 하면서 뭐든 배울 때 그런 느낌을 많이 받았다. 오늘 배운 내용은 군생활 하면서 한번쯤은 들어본 내용이지만 자세할수록 머리가 아프다. 오늘 이에 관한 과제도 했지만 정리는 양이 많고 어려워 우선 패스해야겠다.. HTTPS (Hyper Text Transfer Protocol Secure Socket layer) HTTP 프로토콜 내용을 암호화 하여 보안성이 추가한 형태로, HTTP 요청을 하면 클라이언트와 서버 사이에서 그대로 볼 수 있었지만, HTTPS는 암호화를 사용하여 보안성을 높임 인증서(Certificate) 데이터 제공자 신원 보장, 도메인 종속 도메인이 같아야만 서버에서 정보를 .. 2021. 8. 2.
[DB] NoSQL MongoDB Basic NoSQL MongoDB Basic에 대해 공부를 하게 되었는데 거기에대한 배경지식은 이해가 되었지만 MongoDB CRUD 사용하는법, 즉 활용하는것에 대한것은 PPT파일로 보여주고 실습은 없어서 크게 와닿지 않아 감이 없다. 결국 공식문서에 개념을 실행 시키는 것 뿐이고 실습부분은 빠져서 아쉽다.. create, read update, 비교연산자 등 크게 어려운 부분은 아니지만 이 부분은 써야하거나 필요할 상황이 될 때 공부하는 것이 더 효율적이라 생각은 들었다.. 이 내용이 연계되어서 코스 도중에 나오면 힘드려나..? 라는 생각이 들지만 눈에만 익히고 넘어가서 공부가 필요하다 싶으면 그 때 뒤이어 작성 하면서 공부를 해야겠다. NoSQL Database NoSQL 데이터베이스에서는 데이터를 행과 열.. 2021. 7. 31.
[ORM] Sequelize 사용과제 (Node.js ORM) 공식문서는 참으로 답답하다 기승전결 없이 기결만 있는 느낌이랄까.. 그냥 몰라서 그런 느낌이 든 것이 확실한것 같고. 조그마한 개념도 없이 읽을려고하니 읽히는게 없는게 당연할지도 모르겠습니다. App -> route -> controller -> model -> DB -> model -> controller (기본적인 흐름) Sequelize 공식 문서에 나온 sequelize라는 프로그램의 정의 Sequelize is a promise-based Node.js ORM for Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server. It features solid transaction support, relations, eager and lazy loadi.. 2021. 7. 29.