권한 미들웨어 로그인을 하려고 할 때, 이미 로그인 된 상태라면 다시 로그인 할 필요가 없습니다. 마찬가지로 회원가입도 필요가 없습니다. 그렇기 때문에 로그아웃이 된 상태에서만 요청이 가능하도록 구현해야 합니다. 반대로, 로그인한 상태여야 로그아웃을 할 수 있도록 해야 합니다. 그래서 이러한 조건을 충족시키기 위해서 권한이 있는지 없는지 체크할 필요가 있습니다. 그래서 해당 라우트로 특정 요청이 들어올 때 미들웨어를 거치도록 합니다. 루드 디렉터리에서 middlewares 폴더를 생성하고 그 폴더에서 authCheck.js 파일을 만듭니다. 그리고 두 가지 미들웨어를 export 해줍니다. export function isLoggedIn(req, res, next) { if (req.isAuthentic..
ROOT
📌 문제 숫자의 신은 여러명이 있지만, 그 중에 자연수의 신은 오세준이다. 오세준은 자연수의 신으로 오래오래 살다가 어느 날 음수의 신과 전쟁을 하게 되었다. 오세준은 음수의 신 이다솜을 이기기위해서 큰 숫자를 만들기로 했다. 오세준은 지금 K개의 자연수를 가지고 있다. 오세준은 K개의 수 중에 정확하게 N개의 수를 뽑아내서 그 수를 붙여서 만들 수 있는 수중에 가장 큰 수를 만들고자 한다. 같은 수를 여러 번 이용해도 된다. 단, 모든 수는 적어도 한 번은 이용되어야 한다. 오세준이 현재 가지고 있는 K개의 수가 주어졌을 때, 이 수를 적어도 한 번 이상 이용해서 만들 수 있는 수 중에 가장 큰 수를 출력하는 프로그램을 작성하시오. 예를 들어 지금 오세준이 2, 3, 7 이라는 3개의 수를 가지고 있고..
서비스 쿠버네티스에서는 서비스라는 개념이 있습니다. 일반적인 서비스의 의미와는 다르게, 외부에서 쿠버네티스 클러스터에 접속하는 방법을 서비스라고 합니다. 노드포트 노드포트는 외부에서 쿠버네티스 클러스터에 접근할 수 있는 방법입니다. 노드포트는 워커 노드의 특정한 포트를 설정하여 그 포트에 들어오는 요청이 노드포트 서비스로 전달이 됩니다. 그리고 사용자의 요청을 처리할 수 있는 파드에 요청을 전달하여 사용자가 클러스터 내부에 접근할 수 있도록 하는 것입니다. 간단하게 하청을 보내는 중간자 역할을 하는 서비스입니다. 하나의 파드를 만들어둔 후에 오브젝트 스펙을 사용하여 노드포트 서비스를 생성합니다. apiVersion: v1 kind: Service metadata: name: np-svc spec: sel..
passport-kakao 패스포트에서는 간단하게 카카오 로그인 API를 통해 소셜 로그인을 구현할 수 있습니다. 먼저 카카오 디벨로퍼 사이트에서 앱을 등록시켜야 합니다. https://developers.kakao.com/ Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 카카오 디벨로퍼 사이트에서 카카오 계정으로 로그인한 후에 상단 바에 있는 내 어플리케이션을 클릭합니다. 그 이후 애플리케이션 추가하기를 클릭합니다. 저는 미리 만들어뒀습니다. 앱 이름과 사업자명을 원하는 대로 적고 애플리케이션을 만듭니다. 해당 애플리케이션을 클릭하여 좌측 네비..