반응형

개발 & 데이터베이스/CS 5

쿠키와 세션 차이, 그리고 캐시는 어떻게 다를까?

쿠키 (Cookie) 사용자가 어떠한 웹 사이트에 방문했을 경우, 그 사이트가 사용하고 있는 서버에서 사용자의 컴퓨터에 저장하는 작은 기록 정보 파일로 HTTP에서 클라이언트 상태 정보를 클라이언트 PC에 저장하였다가 필요 시 정보를 참조하거나 재사용할 수 있다. 1. 동작방식 1) 클라이언트가 페이지를 요청 (사용자가 웹 사이트에 방문) 2) 서버에서 쿠키를 생성 3) HTTP 헤더에 쿠키를 포함시켜 응답 4) 브라우저가 종료되어도 쿠키 만료 기간이 있다면 클라이언트에서 보관 5) 같은 요청을 할 경우 HTTP 헤더에 쿠키를 함께 보냄 6) 서버에서 쿠키를 읽어 이전 상태 정보를 변경할 필요가 있을 때 쿠키를 업데이트하여 변경된 쿠키를 HTTP 헤더에 포함시켜 응답 2. 예시 ● 로그인 시 "아이디와 ..

REST(Representational State Transfer) 정의, REST API / RESTful API 특징

REST (Representational State Transfer) 정의 웹 서비스를 설계하고 구현하기 위한 아키텍처 스타일로 HTTP 프로토콜과 리소스 지향적인 구조를 기반으로 클라이언트와 서버 간의 통신을 단순화하고 효율적으로 처리할 수 있도록 함. ✅ 리소스 : 웹 서비스에서 클라이언트가 요청하고 서버가 제공하는 데이터 또는 객체를 말하며, 고유한 식별자(URI)를 가지고 있다. HTTP URI(Uniform Resource Identifer)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다. ✅ URI : 인터넷상에서 고유한 리소스를 식별하기 위한 문자열로 UR..

싱글톤 패턴(Singleton pattern) 이해하기 (사용하는 이유와 구현 방법)

싱글톤 패턴은 생성자가 여러 번 호출 되더라도 실제로 생성되는 객체는 하나이며 최초로 생성된 이후에 호출된 생성자는 이미 생성한 객체를 반환시키도록 만드는 디자인 패턴이다. 간단하게 설명하자면 단 하나의 인스턴스만 생성하여 사용하는 디자인 패턴을 의미한다. ✅ 디자인 패턴 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 규약 형태로 만들어 놓은 것을 의미함. 일종의 설계 기법으로 SW 재사용성, 호환성, 유지 보수성을 위함이다. ✅ 싱글톤을 사용하는 이유 객체는 생성할 때마다 메모리 영역을 할당받아야한다. 싱글톤을 사용하게 되면 한 번의 객체를 생성하기 때문에 메모리 낭비를 방지할 수 있다. 또한, 이미 생성된 인스턴스를 활용하기 때문에 속도 측면에서..

주소창에 구글, 네이버 등을 검색하면 어떤일이 벌어질까?

안녕하세요. N년차 웹 개발자입니다. 저는 웹 개발을 하면서 이 페이지가 어떻게 동작하는지에 대해서 알아야 된다고 생각합니다. 그렇다면 사용자가 주소창에 www.google.com 혹은 www.naver.com 을 입력하면 무슨 일이 발생할까요? 우리가 사는 집 주소가 존재하듯이 웹 브라우저도 주소가 있다. 모든 사람에게 '수원역 1번 출구'로 오세요. 라고 한다면 한 명도 빠짐없이 수원역 1번 출구로 올 것이다. 웹 브라우저도 google.com 혹은 naver.com 처럼 고유 주소가 존재하고 이것을 URL이라고 부른다. 웹 브라우저 동작 방식 1. 사용자가 google.com 을 검색 2. 웹브라우저는 캐싱된 DNS 기록들을 해당 도메인 주소와 대응하는 IP 주소를 확인 DNS는 웹사이트 이름과 I..

좋은 객체 지향 설계의 5원칙 SOLID 정의

객체 지향 언어에는 Java, C++, 파이썬 등이 있다. 이 언어들로 설계를 할 때 지켜줘야 할 소프트웨어 개발 원칙 5개를 SOLID 원칙이라고 부른다. SRP (Single Responsibility Principle) 단일 책임 원칙 OCP (Open Closed Priciple) 개방 폐쇄 원칙 LSP (Listov Substitution Priciple) 리스코프 치환 원칙 ISP (Interface Segregation Principle) 인터페이스 분리 원칙 DIP (Dependency Inversion Principle) 의존 역전 원칙 좋은 설계란 시스템에 변화가 생겼을 때 영향을 받는 범위가 적은 것을 말한다. 즉, SOLID 설계 원칙을 적용한다면 코드를 확장하고 유지 보수 관리하기..

반응형