네트워크

클라우드, Iaas, Paas, Saas, Serverless 개념

클라우드 인터넷을 통해 언제 어디서든 원하는 리소스를 원하는 만큼 사용할 수 있는 서비스 IaaS : (Infrastructure as a Service) [ 서버, 네트워크, 스토리지 ] 자원을 제공 운영 관리 해주는 서비스 PaaS : (Platform as a Service) [ IaaS + 미들웨어 + 런타임 ] 제공 운영 관리 해주는 서비스 Serverless PaaS + 코드(개발) SaaS : (Software as a Service) 전반적인 자원과 개발 리소스 제공과 다양한 지원

2021.05.06 게시됨

Web

[웹 보안] CSRF, CORS, XSS, CSP

CSRF Cross-Site Request Forgery : 사이트 간 요청 위조 CSRF 는 공격자가 사용자가 현재 로그인된 사이트에 대해 강제로 작업을 실행하게하는 공격 입니다. // 공격 시나리오 1. 'example.com'을 방문합니다. 2. 'example.com'에는 페이지 로드시 'bank.com/송금'에 제출하는 숨겨진 양식이 있습니다. 3. 'bank.com'에 로그인 되었다면 bank.com 쿠키를 사용하여 자동으로 송금을 시작합니다. 4. 'example.com'과 'bank.com'은 출처가 다르기 떄문에 브라우저는 'example.com'에 응답 제공을 거부(CORS 때문에)하지만 공격자는 신경쓰지 않고 돈이 이미 이체되었습니다. // 방어 시나리오 1. 'bank.com'이 사..

2021.05.04 게시됨

git push 에러 해결 (fatal: refusing to merge unrelated histories) 포스팅 썸네일 이미지

Git

git push 에러 해결 (fatal: refusing to merge unrelated histories)

1. git push 시 에러발생 기존 저장소에 pull 을 받으라는 메세지가 나옵니다. 2. git pull 시 에러발생 프로젝트 병합지점을 지정해달라는 문구. 3. git pull origin 브런치명 --allow-unrelated-histories 명령어 입력 이미 두개 프로젝트의 history를 저장하는 상황에 사용. 서로 관련없는 두 프로젝트를 병합할 때 기본적으로 거부하지만 이 옵션을 통해 허용해준다.

2021.04.22 게시됨

CPU 스케줄링 - 1 포스팅 썸네일 이미지

운영체제

CPU 스케줄링 - 1

CPU scheduling : CPU 스케줄링 - 멀티프로그래밍 기반 OS에서 사용 (1개 이상의 프로그램이 동시에 메모리에 적재 가능한 OS) - 가장 효율적으로 CPU를 사용하기 위해 (컴퓨터 시스템의 성능 향상을 위해) - 메모리에 로드된 프로세스들 중에 CPU 자원을 어떻게 할당할껀가? = ready 상태의 프로세스들중에 CPU 자원을 할당에 대한 문제 preemptive : 선점 한 프로세스가 CPU를 할당받아 실행중이라도 다른 프로세스가 현재 프로세스를 중지 시키고 CPU를 강제적으로 뺏을 수 있는 스케줄링 방식 Non-preemptive : 비선점 한 프로세스가 CPU를 할당받아 실행중이라면 다른 프로세스들이 CPU를 강제적으로 뺏을 수 없는 스케줄링 방식 - 어떻게 다음 프로세스를 선택할껀..

2021.03.24 게시됨

스레드 와 동시성 - Thread & Concurrency - 2 포스팅 썸네일 이미지

카테고리 없음

스레드 와 동시성 - Thread & Concurrency - 2

두 타입의 스레드 - user thread = 커널 위에서 동작, 커널의 도움없이 관리 - kernel thread = OS에서 직접 관리 - user thread 와 kernel thread 관계 - thread library 제공 POSIX Pthreads : IEEE 1003.1c 표준 Windows thread OSX NSThread java thread Implicit Threading : 암시적 스레딩 = 동시성과 병렬처리에 대한 디자인 설계가 너무 어려워서 = 쓰레드의 스케줄링을 사용자가 하는 것이 아니라 운영체제 또는 컴파일러에게 맞기는 것. - Thread Pools : 일정 갯수의 스레드 풀 에서 스레드 작업을 하는 방식. - Fork & Join : explicit threading ..

2021.03.23 게시됨

스레드 와 동시성 - Thread & Concurrency 포스팅 썸네일 이미지

운영체제

스레드 와 동시성 - Thread & Concurrency

Thread : 스레드 - 경량의 프로세스 - CPU 사용하는 기본 단위 - thread ID, PC(program counter), register set, stack으로 구성됨 - 멀티스레드 서버 아키텍쳐 = 서버에서 클라이언트의 요청을 받아 스레드를 만들어 서비스하고 서버는 추가 요청을 계속 listen 한다. - 멀티스레딩 장점: NonBlocking 으로 처리를 할수있다. Resource 자원을 공유가 쉽다. (프로세스의 shared-memory 나 message-passing 방식에 비해 쉽다.) Context switching 비용이 적다 (프로세스보다 적은 overhead) Scalability 확장성이 뛰어나다. - 멀티 코어 시스템에서 멀티 스레드 멀티 코어를 동시에 효율적으로 처리능력..

2021.03.23 게시됨

운영체제

프로세스 - 3

Pipe : 파이프 유닉스 시스템에서 착안되어 만들어짐. 두 프로세스간 통신을 위한 도구. 일방향성의 두개의 파이프를 이용함. (Half-Duplex - 반이중 통신) 구현의 편의상 parent-child 관계를 가짐. 네트워크에서 사용하지 않음. (네트워크에서 사용한는 것을 소켓) ordinary pipes: 일반적인 pipe named pipes: parant-child 관계를 명확히 알 경우 사용. Sockets : 소켓 통신을 위한 endpoints를 의미한다. socket(ip + port) socket(ip + port) 양쪽에 생성되는 링크 단자를 소켓이라 부른다. RPC : Remote Procedure Call 이름 대로 보면 원격 프로시저 호출이다. 원격지 컴퓨터의 프로시저를 호출하여 ..

2021.03.18 게시됨