본문 바로가기

Research/Computer Science12

CORS CORS란 CORS(Cross-Origin Resource Sharing)는 서버의 리소스를 외부에 허용해줄 것인지 아닐지를 결정하는 메커니즘이이다. 이를 판단하기 위해 HTTP-헤더를 사용한다. 보통 보안 문제로 외부의 접근을 허용하지 않도록 되어있는데, 만약 허용하고 싶다면 CORS 설정을 바꿔주면 된다. 특정 도메인만 허용할 수도 있고 모든 도메인(*)을 허용할 수도 있다. 작동 원리 function httpGetAction(urlLink) { var xmlHttp = new XMLHttpRequest(); xmlHttp.open( "GET", urlLink, false ); xmlHttp.send(); return xmlHttp.responseText; } 우리가 이런 HTTP 호출을 한다고 생각.. 2023. 4. 7.
JWT JWT란 JWT(Json Web Token)은 JSON 형식으로 데이터를 주고 받는 방법이다. RFC 7519에 명되센 국제 표준이며, 토큰 내 정보가 포함된(Self-contained) 클레임(claim) 기반 토큰이다. JWT의 목적은 인증(Authentication)과 권한부여(Authorization)다. 클라이언트는 인증 후 JWT를 발급 받고 이후 API 요청 시 요청 헤더에 JWT를 담아 요청하는 방식으로 사용한다. JWT는 해시나 비대칭키로 서명(Signature)할 수 있다. 서버기반 인증 vs. 토큰기반 인증 HTTP는 stateless한 프로토콜이기에 인증 상태를 저장하지 않는다. 그렇게 되면 매번 페이지를 넘길 때마다 인증을 해야하므로 귀찮아진아. 이 문제를 해결하는 방식으로 1)서.. 2023. 4. 6.
parallel computing 배경 전통적으로 컴퓨터 소프트웨어는 직렬 컴퓨팅 방식이다. 하나의 명령을 수행하면 다음 명령을 수행하는 방식이다. 이 방식은 하드웨어 리소스를 효율적으로 활용하지 못한다는 단점이 있다. 병렬 컴퓨팅 병렬 컴퓨팅(parallel computing)은 동시에 여러 연산을 수행하는 방법이다. 풀고자 하는 문제를 여러 명령들로 잘게 쪼갠 뒤 동시적으로 해결한다. 장점 동시 수행으로 인해 자원을 효율적으로 사용한다(남는 리소스까지 모두 사용) 거대한 문제를 풀기 적합하다 유형 비트-수준 병렬처리(Bit-level Parallelism) : 프로세서의 크기에 따른 병렬 컴퓨팅 방식. 거대한 크기의 작업을 수행하기 위한 명령들을 간소화한다 명령-수준 병렬처리(Instruction-level Parallelism) :.. 2023. 4. 6.
OOP in Javascript Type of programming paradigm There are many styles of programming. Most popular styles are these: imperative(명령형) programming - How Procedular(절차지향) programming : focus on procedular process. C, C++, ... OOP(Object-Oriented) programming : collection of objects. focus on relationships between objects. C++, Java, C#, Python, Swift, Ruby, ... declarative(선언형) programming - What Functional programmi.. 2023. 4. 4.