본문 바로가기

DEVELOP

(22)
MVC 패턴이란 무엇인가? MVC는 Model View Controller를 줄인말로, 사용자 인터페이스와 데이터 및 논리 제어를 구현할 때 사용되는 소프트웨어 디자인 패턴 중 하나이다. 간단하게 말하자면 개발을 할 때 3가지의 형태로 역할을 나누어서 개발을 하는 방식으로, 사용자 인터페이스로부터 비즈니스 로직을 분리하는 것에 가장 큰 중점을 두고 있다. 우리가 어떤 서비스가 돌아가게 하기 위해서는 여러 과정들과 처리가 필요한데, 그런 처리들에 대해 하나의 코드 베이스가 아닌 기능별로 모델, 뷰, 컨트롤러로 나누어주는 것이 MVC 패턴이라고 보면 된다. 이러한 분리를 통해 우리는 인터페이스와 비즈니스 로직 간에 서로 영향 없이 업데이트 및 유지보수가 가능한 애플리케이션을 만들 수 있다. MVC 컨셉을 사용하는 웹 프레임 워크는 E..
[Auth] Session과 Token은 서로 절충 가능한가? Session 과 Token은 모두 웹 브라우저에서 인증을 위해 사용되는 방식이다. 사용자의 정보를 인증받고 그에 대한 정보를 저장한다. 1-1. Session 클라이언트와 서버간의 관계를 활성화 된 상태로 유지하기 위해 서버에서 클라이언트에 유니크한 아이디를 부여하고 서버 측에서 관리하도록 하는데, 이 자체를 바로 세션이라 한다. 사용자에 대한 민감한 정보들은 세션으로 관리하는데, 사용자가 웹 브라우저에 이용하면서 탈취당하는 경우보다, 서버가 해킹당하는 경우가 일반적으로 더 적기 때문에 서버에 인증의 책임을 더 부여하는 것이다. (물론 요청 자체를 가로챈다면 요청 내부에 있는 쿠키도 탈취가 가능하기 때문에, 이 경우까지 막기 위해서는 https 방식을 통해 요청 자체를 읽기 힘들게 만들거나 세션에 유효..
[Database] MongoDB 보호되어 있는 글입니다.
[Authentication] Cookie/Session 학습 내용 HTTP와 HTTPS의 차이점 권한 부여(Authorization)와 인증(Authentication) Cookie/Session HTTP, HTTPS, SSL HTTP : 브라우저에서 웹 클라이언트와 서버 간에 데이터를 전송하기 위한 통신 규약. 암호화 되어있지 않기 때문에 서버와 클라이언트 사이에서 전송되는 데이터의 보안이 취약하다. HTTPS : SSL나 TLS (이전 SSL이 TLS로 이름이 바뀐 것이기 때문에 사실상 둘은 같은 말이지만, 일반적으로는 TLS가 SSL이란 이름으로 사용된다.) 을 이용해서, HTTP 통신을 하는 과정에서 내용을 암호화하여 데이터를 전송한다. SSL : SSL 인증서는 클라이언트와 서버 간의 데이터 전송을 위한 통신을 제 3자가 보증하는 문서이며, 클라이언..
[Data Structure] Stack, Queue 스택 (Stack) LIFO (Last Input First Out) 데이터는 스택의 끝에만 삽입 가능 데이터는 스택의 끝에서만 읽기 가능 데이터는 스택의 끝에서만 삭제 가능 top : 스택에서 가장 위에 존재하는 데이터 push : 스택에 데이터 추가 pop : 스택에서 데이터를 제거하고 해당 데이터를 반환 실생활에서 스택의 사용 예제: 브라우저의 뒤로 가기, 앞으로 가기 큐 (Queue) FIFO (First Input First Input) 데이터는 큐의 끝에만 삽입 가능 데이터는 큐의 앞에서만 읽기 가능 데이터는 큐의 앞에서만 삭제 가능 first : 큐에서 가장 아래에 존재하는 데이터 enqueue : 큐에 데이터를 추가 dequeue : 큐에서 데이터를 제거하고, 해당 데이터를 반환 실생활에서..
[JavaScript] 상속과 prototype, class 보호되어 있는 글입니다.
[JavaScript] OOP in JavaScript 객체 지향 프로그래밍의 특징 인스턴스를 생성 방법 중 es5에서의 방법과, es6의 클래스를 이용한 방법 다형성(polymorphism), 상속(inheritance)의 개념 상속관계를 가진 현실세계 모델을 코드로 작성 class 상속의 원리 전체적인 개요에 대해서는 모던 자바스크립트 Deep Dive라는 교재와 다음 mdn 링크들을 참고하며 작성하였다. developer.mozilla.org/ko/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript 객체지향 자바스크립트 개요 - JavaScript | MDN 객체지향 자바스크립트 개요 Table of contentsTable of contents비록 다른 객체지향적인 언어들과의 차이점에 대한 ..
[leetcode] 1748. Sum of Unique Elements Q. You are given an integer array nums. The unique elements of an array are the elements that appear exactly once in the array. Return the sum of all the unique elements of nums. let sumOfUnique = function(nums) { let sum = 0; nums.forEach(function(idx){ if(nums.indexOf(idx)===nums.lastIndexOf(idx)){ sum += idx; } }); return sum; }; 중복되는 요소들을 제외한 수들만 더한 결과를 리턴해야 하므로 indexOf와 lastIndexOf를 이용하여, 두..