[개발상식] 세션 기반 인증과 토큰 기반 인증
·
📚CS(Computer Science)/개발상식
HTTP의 비상태성(Stateless) HTTP는 본래 정보를 유지하지 않는 비상태성이라는 특성을 가진다. 클라이언트와 서버 관계에서 서버가 클라이언트의 상태를 저장하지 않기에 이전 요청과 다음 요청의 맥락이 이어지지 않는다. HTTP 단독으로는 요청한 클라이언트가 이전에 이미 인증과정을 거쳤는지 알 방법이 없다. 그렇다고 유저가 어떤 사이트를 이용할 때 유저의 권한이 필요할 때마다 로그인을 해야 하는 것은 매우 비효율적이다. 따라서 각 통신의 상태가 저장되지 않기 때문에 웹사이트에서 인증을 관리하기 위한 방법이 필요하다. 이런 HTTP 환경에서 서버는 어떤 방식으로 사용자를 인가할까 ? 이 문제를 세션 혹은 토큰을 사용해 문제를 해결한다.  세션 기반 인증 ❓Session이란 ? 컴퓨터 공학에서 세션은..
[개발상식] 인증과 인가
·
📚CS(Computer Science)/개발상식
인증(Authentication)과 인가(Authorization)   🤔 인증과 인가..? 같은 개념 아닌가 ? 우선 인증과 인가는 서로 다른 개념이다.둘 다 보안관 관련되었고, JWT 토근 기반인 경우 토큰을 사용한다는 점에서는 동일하나, 간단하게 인증은 유저가 누구인지 확인하는 절차, 인가는 유저에 대한 권한을 허락/거부하는 행위이다.  인증(Authentication)인증은 개체(사용자 또는 장치)의 신원을 확인하는 과정이다. 특정 서비스에 회원가입을 하고, 로그인하는 과정이 인증에 해당한다.  많은 웹 서비스들은 회원일 때만 이용할 수 있는 경우가 많다. 회원이 아닐 경우 해당 서비스를 이용하기 위해 회원가입을 통해 아이디와 패스워드를 만들고 사용자 본인이 맞는지 확인하는 절차를 거친다. 회원..
[HTTP] HTTP Method
·
📚CS(Computer Science)/개발상식
HTTP Method란 ? HTTP 메서드란 클라이언트와 서버 사이에 이루어지는 요청(Request)과 응답(Response) 데이터를 전송하는 방식이다. 쉽게 말해 서버에 주어진 리소스에 수행하길 원하는 행동, 서버가 수행해야 할 동작을 지정하는 요청을 보내는 방법이다. HTTP Method 종류 HTTP Method 종류는 크게 GET, POST, PUT, DELETE, PATCH 가 대표적이다. GET : 리소스 조회 POST : 요청 데이터 처리, 주로 등록에 사용 PUT : 리소스를 대체, 수정 , 해당 리소스가 없으면 새롭게 생성 DELETE : 리소스 삭제 PATCH : 리소스 부분 변경(수정) GET 메서드 리소스 조회 메서드(Read) 주로 데이터를 읽거나 검색할 때 사용되는 메서드이다...
[개발상식] 객체지향 프로그래밍이란 ?
·
📚CS(Computer Science)/개발상식
객체 지향 프로그래밍이란 ? 객체 지향 프로그래밍 (Object-Oriented Programming,OOP)은 프로그래밍의 설계방법론 중 하나로, 프로그램을 일련의 독립된 객체들로 바라보는 관점. 즉 객체들 간의 상호작용을 중심으로 로직을 구성하는 프로그래밍 방법이다. 객체 지향 프로그래밍의 정의 객체 지향 프로그래밍(Object-Oriented Programming,OOP) 프로그래밍의 설계방법론 중 하나 프로그램을 일련의 독립된 객체들로 바라보며 객체들 간 상호작용을 중심으로 로직을 구성하는 프로그래밍 방법 그렇다면 여기서, 도대체 객체가 뭔데 .. !! 객체(Object)란 ? 넓은 의미로 객체는 실세계에 존재하거나 생각할 수 있는 것. 객체 = 속성(state-> Field) + 동작(Behav..
[개발상식] 프레임워크(Framework)와 라이브러리(Library)의 차이
·
📚CS(Computer Science)/개발상식
프레임워크 Frame 프레임 (틀, 규칙) + Work 워크 (일, 소프트웨어 목적) : " 일정한 틀을 가지고 일하다. " 소프트웨어에서의 프레임워크 : 개발을 위한 기본 구조와 규칙을 제공하는 도구 개발자는 프레임워크가 제공하는 규칙과 인터페이스에 따라 코드 작성 애플리케이션의 흐름과 제어 관리하며, 필요한 기능과 도구 제공 자바 프레임워크 : Spring ORM 프레임워크 : MyBatis 자바스크립트 프레임워크 : Angular, Vue 라이브러리 개발을 위해 재사용 가능한 코드의 집합이며, 특정 기능을 수행하는 함수, 클래스, 모듈 등으로 구성 개발자가 필요한 기능을 호출하여 사용할 수 있음 대표적인 라이브러리로 jQuery, React, Express, Axios 등 프레임워크와 라이브러리의 ..
[개발상식] SPA,MPA 개념과 장단점
·
📚CS(Computer Science)/개발상식
MPA(Multiple Page Application) MPA : (Multiple Page Application) 여러 개의 페이지로 구성된 애플리케이션 웹을 개발하는 전통적인 방법 요청이 들어올 때마다 새로운 페이지가 로딩되어 화면에 나타나는 것 , 각 페이지마다 각 HTML 파일을 가짐 페이지 이동 or 새로고침 시 전체 페이지를 다시 렌더링 즉, 요청이 있을 때마다 페이지를 리로드함 MPA는 SSR(Server Side Rendering) 방식으로 렌더링 MPA 장점 1. SEO(Search Engine Optimization, 검색 엔진 최적화) 관점에서 유리 MPA는 완성된 형태의 HTML 파일을 서버로부터 전달받기 때문에 검색엔진이 페이지를 크롤링하는 데 유리함 여러 페이지로 구성되어 있기 ..
[개발상식] MVC 패턴
·
📚CS(Computer Science)/개발상식
MVC 패턴 MVC 패턴이란 ? Model - View - Controller의 약자로, 애플리케이션을 세 가지 역할로 구분한 개발 방법론. 이 패턴을 성공적으로 사용하면 , 사용자 인터페이스(UI)로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있음. Model(모델) 데이터를 가진 객체 Model은 data와 애플리케이션이 무엇을 할 것인지를 정의하는 부분으로 내부 비즈니스 로직을 처리하기 위한 역할 즉 모델은 컨트롤러가 호출하면 DB와 연동하여 사용자의 입출력 데이터를 다루는 일과 같은 데이터와 연관된 비즈니스 로직을 처리함 모델 규칙 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야만 함 뷰나 컨트롤러에 대..
[개발상식] Garbage, GC(Garbage Collection)
·
📚CS(Computer Science)/개발상식
Garbage란 ? 정리되지 않은 메모리 유효하지 않은 메모리 주소 Garbage Collection란 ? 메모리 관리 기법 중 하나로 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능 가비지 객체의 메모리를 해제 , 쓰레기 객체를 효과적으로 처리하는 작업 포인터 추적 방식 : 한 개 이상의 변수가 접근 가능한 메모리는 사용하고 있는 메모리라 간주하고 그 밖의 메모리를 해제하는 방식 실행 시점 : 메모리가 부족해지는 순간 JVM이 OS에게 추가로 메모리 요청함 . 이때 실행됨 장점 유효하지 않은 포인터 접근 : 이미 동적 할당한 메모리를 해제한 영역에 접근하게 되는 버그 이중 해제 : 이미 해제된 메모리를 또 다시 해제하는 오류 줄일 수 있음 메모리 누수 : 더이상 사용하..
ssseeo0
'📚CS(Computer Science)/개발상식' 카테고리의 글 목록