이글은 https://medium.com/compass-security/samesite-cookie-attribute-33b3bfeaeb95의 내용을 기반으로 번역했습니다. 1. Same Site? SameSite는 브라우저가 사이트 간 요청과 함께 쿠키를 보내지 못하게한다. 주요 목표는 출처 간 정보 유출의 위험을 완화하는 것이다. 또한 크로스 사이트 요청 위조 공격(CSRF공격)에 대한 보호 기능도 제공한다. 플래그의 가능한 값은 Lax 또는 Strict이다. 2. 사용 예시 만약 인터넷 뱅킹을 사용하고 있는데 해당 사이트 거래 양식이 사이트 간 요청 위조 취약점에 취약한 것으로 가정한다. 인터넷 뱅킹 사용자(피해자)가 로그인(인증)이 되어 세션쿠키가 생성되어있다. 이때 공격자가 이메일, 트위터, 페..
여러 블로그 및 사이트에 있는 개념들을 제가 보기 좋게 정리하였습니다. 출처는 모두 아래에 밝혀져 있으며 혹시 문제가 되면 삭제 또는 비공개 처리하겠습니다. :) 1. 쿠버네티스란? 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼 쿠버네티스란 명칭은 키잡이(helmsman)이나 파일럿을 뜻하는 그리스어에서 유래 글이 2014년에 쿠버네티스 프로젝트를 오픈소스화 출현 배경 2.1. 전통적인 배포 시대 초기 앱을 배포시에는 물리서버에서 실행하였다. 한 물리서버에서 앱 리소스 한계를 정의할 방법이 없어 리소스 할당에 문제가 발생함. 2.2. 가상화된 배포 시대 위의 해결책으로 가상화가 도입됨. 단일 물리서버에서 여러 가상시스템을 실행 할 수 있어 서버에서 ..
객체 지향 설계 역할, 책임, 협력 중 가장 중요한 것은 `책임`이다. 책임을 할당하는 작업이 응집도와 결합도 같은 설계 품질과 연관되어 있다. 객체들의 책임이 적절히 할당되지 못한다면 원활한 협력을 기대할 수 없으며 역할은 책임의 집합이기 때문에 역할 역시 협력을 이루지 못한다. 설계란 변경을 위해 존재하며 훌륭한 설계란 합리적인 비용안에서 변경을 수용할 수 있는 구조를 만드는 것이다. 이를 위해서는 객체의 상태가 아닌 행동에 초점을 맞춰야 한다. 객체를 단순한 데이터의 집합으로만 본다면 내부 구현을 퍼블릭 인터페이스에 노출되어 변경에 취약해진다. 이번장에서는 데이터 중심의 설계를 보고 객체지향적 설계와의 차이점을 살펴본다. 두 가지 시스템 객체 분할 방법 상태(데이터) 기준 분할 - 데이터를 조작하는..
객체지향 패러다임 관점에서의 핵심 역할: 객체들이 애플리케이션의 기능구현을 위해 수행하는 상호 작용. 책임: 객체가 협력에 참여하기 위해 수행하는 로직. 협력: 수행하는 책임들이 모여 객체가 수행하는 구성. 협력 객체 지향에서의 객체는 고립된 존재가 아닌 애플리케이션 기능을 수행하기 위해 다른 객체와 협력하는 사회적 존재. public class Screening { private final Movie movie; public Reservation reserve(Customer customer, int audienceCount) { return new Reservation(customer, this, calculateFee(audienceCount), audienceCount); } private Mon..
동기(synchronous) 및 비동기(asynchronous) 동기 방식 - 하나의 요청이 처리되는 동안 다른 요청이 처리되지 못하며 요청이 완료되어야만 다음 처리가 가능한 방식. (ex. java) 비동기 방식 - 하나의 요청 처리가 완료되기 전에 제어권을 다음 요청으로 넘겨 Blocking 되지 않으며 다음 요청을 처리 하는 방식. (ex. nodejs) NodeJS 비동기 IO를 지원하며 Single-Thread 기반으로 동작하는 서버. 클라이언트의 요청을 비동기로 처리하기 위하여 이벤트가 발생하며 Event Loop가 처리. Event Loop가 처리하는 동안 제어권은 다음 요청으로 넘어가고 처리가 완료되면 Callback을 호출하여 처리완료를 호출측에 알려준다. 올바른 사용 환경 각 단위 작업..
영화 예매 시스템 영화는 영화에 대한 기본 정보를 의미한다. - 제목, 상영시간, 할인정책, 할인조건 상영은 관람객이 영화를 관람하는 정보를 의미한다. (실제 관람객이 예매하는 대상) 할인 조건에 따른 할인 정책이 존재한다. 할인 조건 순서 조건 상영 순번을 이용해 할인 여부를 결정. 기간 조건 상영 시작시간이 특정 기간인 경우 할인 여부 결정. 할인 정책 금액 할인 정책 예매 금액에서 일정 금액을 할인해 주는 방식. 비율 할인 정책 예매 금액에서 일정 비율의 금액을 할인해 주는 방식. 객체 지향 설계의 초점 클래스를 고민하기전에 어떤 객체가 필요한지부터 고민하라. (도메인 결정을 먼저하라는 의미인듯?) 객체를 독립적인 존재가 아닌 협력하는 공동체의 일원으로 생각하라. (각 객체는 자율적인 존재) 영화 ..