I leaned

· I leaned/Etc
CSRF(Cross-Site Request Forgery) 공격 공격자가 인증된 사용자의 권한을 이용하여, 악의적인 요청을 전송하는 공격이다. 예를 들어, 사용자가 의도하지 않은 상황에서 금융 거래를 실행하거 나, 개인 정보를 수정하는 등의 행동을 수행할 수 있다. ex) 블로그에서 어떤 사람이 로그인한 사람의 정보를 수정시키는 링크를 게시글로 썼다. 유저가 그 링크를 들어간다면 인증이 통과되고 실행 이된다. 대처법) GET요청으로 DB변경을 허용하면 안된다. XSS(Cross-Site Scripting) 공격 웹 사이트에서 발생하는 보안 취약점 중 하나로, 공격자가 악성 스크립트를 삽입하여 사용자의 개인정보를 탈취하거나, 세션 하이재킹 등의 악의적인 행동을 할 수 있게 된다. ex) 블로그의 게시물에 ..
레코드(record)란 "데이터 클래스"이며 순수하게 데이터를 보유하기 위한 특수한 종류의 클래스이다. 불변(immutable) 데이터 객체를 쉽게 생성할 수 있도록 하는 새로운 유형의 클래스 JDK14에서 preview로 등장하여 JDK16에서 정식 스펙으로 포함 코틀린의 데이터 클래스와 비슷한 느낌 탄생 배경: 일반 클래스는 상태(name, age)를 보유하는 불변 객체를 생성하기 위한 많은 코드를 작성함 모든 필드에 final을 사용하여 명시적으로 정의 필드 값을 모두 포함한 생성자 모든 필드에 대한 접근자 메서드(getter) 상속을 방지하기 위해 클래스 자체를 final로 선언하기도함 로깅 출력을 제공하기 위한 toString 재정의 두 개의 인스턴스를 비교하기 위한 hashCode, equal..
· I leaned/Etc
컨테이너란? 하나의 호스트에서 컨테이너 이미지를 각각 격리된 별도의 프로세스로 실행시켜주는 경량 가상화 기술 컨테이너에 OS가 포함되어 있다. 작은 용량, 빠른 속도 (VM에 비해) 컨테이너 핵심 동작 원리 LXC(Linux Container) LXC는 단일 컨트롤 호스트 상에서 여러 개의 격리된 리눅스 시스템(컨테이너)들을 실행하기 위한 OS레벨 가상화 방법 운영 체제로 보면 컨테이너 이미지는 실행파일, 컨테이너는 프로세스 리눅스 커널은 cgroups를 통해 프로세스별 자원 할당을 관리(CPU, 메모리, 블록 I/O, 네트워크 등) namespace를 통해 장치를 격리해서 관리(프로레스 트리, 네트워크, 사용자 ID, 마운트된 파일 시스템 등) 도커란? 도커: Linux, MacOS, Windows에서..
· I leaned/Etc
클라우드 네이티브 애플리케이션 개발이란? 클라우드 네이티브 클라우드의 이점을 최대한 활용할 수 있도록 애플리케이션을 구축하고 실행, 배포하는 방식 클라우드 네이티브의 목표 변화하는 비즈니스 요구 사항에 빠르게 적응할 수 있는 유연하고 가용성이 높으며 확장 가능한 소프트웨어 제공 클라우드의 4가지 특성 MicroServices 분산 서비스 대규모 애플리케이션이 API를 통해 서로 통신하는 작고 독립적인 서비스 모음으로 구성되는 소프트웨어 아키텍처 작은단위로 운영시 장애시 대처가 유리, 대규모처리시 유리, 언어나기술을 서비스별로 독립적으로 선택가능 이들 구현하기 위해 컨테이너 기술이 사용됨 단점 분산된 수 백, 수 천개의 작은 앱을 관리해야 함 앱별 다양한 런타임 환경, 성능 간섭 잦은 빌드/배포, 설정 관..
· I leaned/Etc
클라우드 서비스 전통적인 방식 컴퓨터로 빼곡한 서버센터 operating System Server Storage Network 운영체제를 직접 설치 할 수 있음 가장 높은 유연성 IT서비스의 구조 소비자 Presentation(프론트엔트) Application(백엔드) Data(데이터베이스) 클라우드 컴퓨팅 서비스 네트워크, 스토리지, 응용프로그램, 서비스, 서버 등과 같이 구성 가능한 컴퓨팅 자원을 공유풀 형태로 언제 어디서나 네트워크를 통해 접근 가능할 수 있게 하는 모델 사용자는 최소한의 관리노력 , 서비스제공자와의 상호작용으로 빠르게 원하는 자원을 제공받거나 해제할 수 있다. 클라우드: 네트워크로 연결된 추상 자원 풀 클라우드 서비스의 5가지 핵심 특성 On-Demand self service 주..
서버가 터지더라도 컨트롤러는 터지면 안된다. 컨트롤러는 입출력을 맡고 있기에 비즈니스 로직을 컨트롤러에 구현하면 컨트롤이 터지기 때문에 비즈니스로직을 따로 분리하여서 구현해야한다.
· I leaned/Etc
Redis란? Key, Value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터 베이스 관리 시스템 (DBMS)이다. 데이터베이스, 캐시, 메세지 브로커로 사용되며 인메모리 데이터 구조를 가진 저장소이다. 왜 필요한가? 데이터베이스는 물리디스크에 직접 쓰기 때문에 데이터가 쉽게 손실되지 않는다. 하지만 사용자가 많아질수록 부하가 많아져 느려질 수 있다. 캐시를 이용하여 데이터베이스의 과부화를 막을 수 있다. jwt방식으로 로그인기능 구현시 보다 Refresh토큰과 로그아웃을 효율적으로 구현할 수 있다. jwt방식은 만료시간이 적힌 입장 티켓을 클라이언트에게 발급해주는 방식이다. 이 방식은 한번 발급해주면 서버에서는 더이상 토큰내용을 수정할 수 없다. 그래서 access토..
· I leaned/Etc
웹의 기본 아키텍처 웹의 복잡도가 증가함에 따라 변화해왔다. 3가지관점 관심사의 분리 관측가능한 시스템 효율적인 리소스 사용 대용량 시스템의 모습 대용량시스템은 왜 병목인가 병목의 뜻 병목(영어: bottleneck) 현상은 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상을 말한다. "병목"이라는 용어는 물이 병 밖으로 빠져나갈 때 병의 몸통보다 병의 목부분의 내부 지름이 좁아서 물이 상대적으로 천천히 쏟아지는 것에 비유한 것이다. 스케일 업과 스케일 아웃 스케일업: 서버의 크기자체를 늘려서 성능을 높이는 것 스케일 아웃: 서버를 여러대두어 성능을 높이는 것 스케일업 스케일 아웃 유지보수 및 관리 쉬움 여러노드에 적절히 부하분산 필요 확장성 제약이 있음 스케일업에 비해 자유로움 ..
윤재에요
'I leaned' 카테고리의 글 목록 (5 Page)