본문 바로가기

전체 글33

세션과 토큰 (Authentication) 사용자 인증(Authentication)은 크게 두가지 방식으로 할 수 있다. 세션(Sessions)과 토큰(Tokens)이다. 세션 방식 전통적인 방식으로 쿠키를 사용한다. 사용자가 서버에 로그인 요청을 보내면 서버는 세션을 저장하고 브라우저에 세션 ID를 보내준다.브라우저는 세션 아이디를 쿠키에 저장한다.이제 브라우저는 서버에 요청을 보낼때마다 쿠키(세션 ID)와 함께 보낸다.서버는 쿠키에 있는 세션 ID가 서버에 저장돼 있다면 응답을 보내준다. 토큰 방식 세션 방식은 서버에서 데이터를 저장하기 때문에 동시접속자가 많으면 관리가 어렵다.이러한 문제를 해결하는 것이 토큰 방식이다. JWTs(JSON Web Tokens)라고도 한다. 사용자가 로그인 요청을 보내면 서버는 JWT를 만들어서 브라우저에 보내.. 2021. 3. 8.
큐/스택 알고리즘 문제 with JavaScript 큐(Queue) 데이터 구조 아래는 add, remove, peek 메서드를 포함하는 큐 클래스다 class Queue { constructor() { this.data = [] } add(record) { this.data.unshift(record) } remove() { return this.data.pop() } peek() { return this.data[this.data.length - 1] } } 큐 Weave 두 개의 큐를 교차로 결합하여 새로운 큐를 반환하기 위에서 만든 큐 클래스를 사용해야 한다 function weave(sourceOne, sourceTwo) { const q = new Queue() while (sourceOne.peek() || sourceTwo.peek()) {.. 2021. 3. 7.
JavaScript 프론트엔드 주요 개념 정리 (1) 안녕하세요? 프론트엔드 개발자 김반석입니다.본격적으로 취업을 위한 지원을 하고 있으며 프론트엔드 기술면접을 앞두고 있는데요. 평소에 당연하게 사용하던 것들도 말로 설명해보라고 하면 어떻게 설명해야 할지 막막합니다.기술면접도 대비하고 그간 배워온 내용도 제 언어로 정리할 겸 질문과 답변 형식으로 정리를 하려고 합니다.질문은 구글에서 검색한 블로그와 자료들을 참고했습니다. (감사합니다)가장 중요하다고 생각하는 JavaScript부터 시작합니다. JavaScript의 데이터 타입 JS는 기본적으로 8가지 데이터 타입이 있다. 참고로 JS는 동적 언어(dynamically typed)다. 즉, 변수의 데이터 타입이 고정이 아니고 할당하는 값에 따라 바뀔 수 있다. // no error let message = .. 2021. 3. 5.
알고리즘 문제 with JavaScript FizBuzz 1부터 n까지 출력하는 프로그램. 3의 배수는 fizz, 5의 배수는 buzz, 15의 배수는 fizzbuzz를 출력. # modulo % operator function fizzBuzz(n) { for (let i = 1; i 2021. 2. 28.