본문 바로가기

기타 미분류4

[UMC 1기] 클라이언트, 서버, 서버의 구조, 웹서버와 WAS, 운영체제 Week1 2021.09.25 ~ 2021.10.02. 1. 클라이언트 - 서버 관계 & 서버의 구조 & 서버의 동작 방식과 순서 실생활에서의 예시 ex) 레스토랑, 손님 - 웨이터 - 요리사 - 냉장고 손님이 음식을 주문 웨이터가 주문을 접수, 전달 요리사가 전달받은 주문을 요리 필요한 재료가 있다면 냉장고에서 꺼내서 사용 요리사 - 웨이터 순으로 음식 전달 CS관점 client가 server에 request를 전달 server는 해당 request를 전달받은 후 back-end language로 전달 back-end language는 데이터를 적절히 가공 필요한 데이터가 있다면 database로부터 필요한 정보 가져오기 back-end language - server 순으로 response 전달 2... 2021. 9. 29.
[사용자 인증] 인증과 인가의 차이점, 세션과 토큰의 차이점 인증은 영어로 Authentication이며, 직관적으로 ‘로그인’을 떠올리면 된다. 특정 서비스에 일정 권한이 주어진 사용자임을 증명 받는 것이 ‘인증’이며, 말을 달리하여 ‘식별 가능한 정보로 서비스에 등록된 사용자의 신원을 입증하는 과정’을 ‘인증’이라고 한다. 인가는 영어로 Authorization이며, ‘인증’을 통해 확인을 받은 사용자가 이후 서비스의 여러 기능들을 사용할 때 내가 로그인이 되어있음을 알아보고 활동을 허가해주는 것, 즉 ‘인증된 사용자에 대한 자원 접근 권한 확인’을 의미한다. 인가가 필요한 활동의 예시로는 SNS에서 친구 목록을 보거나, 새로운 글을 작성하거나, 글에 좋아요/댓글을 달거나 하는 등 현재 내가 어떠한 권한을 가진 상태에서만 서버에 요청 가능한 활동들이 인가가 필.. 2021. 9. 6.
[Node.js] error handling, custom error message 등 팀프로젝트 중 사용자 인증, 허가 부분 백엔드 부분을 작성하게 되었는데, 비정상적인 입력 등 뭔가 예외적인 사항들을 프론트에서 처리하는 것인지 백엔드에서 처리하는 것인지 잘 몰라서 예외처리 부분을 알아보던 중, mongoose validation이라는 항목을 발견했다. 예외처리로 의미없는 false를 그냥 보내는 것보다는, 백엔드에서 뭐가 왜 잘못되었는지 메시지를 찍어서 json으로 보내주는 게 프론트분 입장에서도 편하실 것 같다는 생각이 들어 내가 작성하기로 했고, mongoose의 built in validator를 이용해서 cusmtom error message를 작성한 후 해당 message를 출력하는 error handling 방법에 대해 알아보았다. https://mongoosejs.com/d.. 2021. 8. 12.
[JavaScript] 자바스크립트 동작 원리와 비동기 처리 방식 1. 브라우저가 자바스크립트를 실행하는 방식 자바스크립트는 단일 쓰레드 (single-thread) 방식으로 동작한다. 단일 쓰레드로 동작한다는 것은 하나의 작업만을 처리할 수 있다는 것을 의미한다. 하지만 우리가 웹 애플리케이션을 사용하다보면 동시에 여러 작업이 이뤄지는 것 같은 느낌을 받는데, 이렇게 자바스크립트의 동시성을 지원하는 것이 바로 이벤트 루프이다. 뭔가 아래 사진에서부터 처음보는 게 한가득이지만, 하나하나 어떤 역할인지 알아보고자 한다. 위 이미지에서 자바스크립트 엔진은 살구색으로 칠해진 저 두 부분만을 의미한다. 구글의 V8엔진을 비롯한 대부분의 자바스크립트 엔진은 크게 2개의 영역으로 나뉜다. Call Stack (호출 스택) 함수가 호출되면 호출된 함수는 call stack에 순차적.. 2021. 8. 3.