본문 바로가기

CS7

CORS(Cross-Origin Resource Sharing, 교차 출처 리소스 공유) ▼ CORS란? 브라우저에서 실행 중인 스크립트에서 시작되는 cross-origin HTTP 요청을 제한하는 브라우저 보안 기능으로, 브라우저와 서버의 도메인이 일치하지 않으면 기본적으로 요청이 차단된다. 이 현상은 브라우저에서 서버로 요청을 보낼 때만 발생하고, 서버에서 서버로 요청을 보낼 때는 발생하지 않는다. 위의 사진처럼 api 서버의 url과 동일한 Domain A의 경우 에러가 발생하지 않으나 Domain B의 경우 CORS 에러가 발생한다. ▼ CORS 문제를 해결하기 위해서는? → 응답 헤더에 Access-Control-Allow-Origin 헤더를 넣어야 한다 (클라이언트 도메인의 요청을 허락하겠다는 뜻을 가짐) (아래의 방법은 nodejs와 express로 api 서버를 개발하는 경우의.. 2022. 8. 14.
기술 표준과 오픈소스, 오픈소스 라이센스 ▼ 기술 표준 · 표준 : 어떤 기술적 산물이 어떻게 만들어지고 어떻게 작동하도록 되어 있는지 명확하고 상세하게 기술한 것. 국가적 기술 표준 워드의 .doc / .docx 파일 포맷과 같이 공식적으로 정해지지는 않았지만 널리 사용되며 생겨난 '사실상의' 표준 ▼ 국가적 기술 표준 예시 ▼ 소프트웨어에서의 표준 예시 ▼ 표준의 중요성 상호 운용성 (호환성) - 같은 기종 또는 다른 기종 간에 정보교환 및 처리를 가능하게 해줌. 비용 절감 - 제조업체, 벤더 등 사업자는 단위 생산·거래 비용을 줄일 수 있으며, 대량생산을 통해 규모의 경제(economy of scale)를 실현하는 것이 가능 무역 활성화, 해외시장 진출 - WTO TBT 협정에 따라 국가 간 무역은 국제표준을 따르고 있으며, 이를 통해 .. 2022. 8. 9.
선형 검색 알고리즘과 이진 검색 알고리즘 소프트웨어의 알고리즘을 설명할 때 음식의 레시피에 자주 비유하곤 한다 초콜릿 케이크 레시피 ***프로그램 재료: ~ 연산에 필요한 데이터 오븐에서 30분, 또는 반죽이 자리 잡을 때까지 구우세요. 표면 위에 손바닥을 살짝 올려서 확인하세요. 수행할 작업 완성 결과 하지만 실제 프로그램의 알고리즘은 레시피와 같이 모호하지 않다. '반죽이 자리 잡을 때' '손바닥을 살짝 올려서 확인' 솔직히 사람인 내가 들어도 모호한 표현이다. ▼ 알고리즘 어떤 문제를 풀기 위한 절차나 방법 어떤 문제가 있을 때 주어진 '입력' 정보를 원하는 '출력(답)' 정보로 만드는 일련의 과정을 구체적이고 명료하게 적은 것. '세심, 정확, 명료'가 중요한 키워드. [ 알고리즘 유의사항 ] 데이터가 어떤 유형이어야 .. 2022. 8. 1.
[javascript | JS] var, let, const 변수의 생성과정, 호이스팅, TDZ, 스코프, 클로저와 은닉화(캡슐화) ▼ var, let, const if (true) { var x = 3; } console.log(x);// 3 if (ture) { const y = 3; } console.log(y);// Uncaught ReferenceError: y is not defined x는 정상적으로 출력 되는데 y는 에러가 발생하는 이유는? var name = 'Mike'; console.log(name);// Mike var name = 'Jane'; console.log(name);// Jane let name = 'Mike'; console.log(name);// Mike let name = 'Jane';// error! console.log(name);// Uncaught SyntaxError: Identifie.. 2022. 7. 19.
[api] API, 그리고 REST API란? ▼API란? 합의된 API 목록에 따라 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘으로, 소프트웨어끼리 소통하는 법이자 데이터를 주고 받기 위한 방법. ‘약속된 신호’ Application Programming Interface API는 손님(프로그램)이 주문할 수 있게 메뉴(명령 목록)를 정리하고, 주문(명령)을 받으면 요리사(응용프로그램)와 상호작용하여 요청된 메뉴(명령에 대한 값)를 전달합니다. 쉽게 말해, API는 프로그램들이 서로 상호작용하는 것을 도와주는 매개체로 볼 수 있습니다. ▼ API의 역할은? API는 서버와 데이터베이스에 대한 출입구 역할을 한다. 데이터베이스에는 소중한 정보들이 저장되는데요. 모든 사람들이 이 데이터베이스에 접근할 수 있으면 안 되겠지요. API는.. 2022. 7. 17.
[jwt] What is JSON Web Token? jwt(JSON Web Token)란? 일단 공식문서를 보자 영어? 문제없죠 우리의 친구, 파파고가 있으니까요. 그만보자.. ▼ JWT란? 당사자 간에 정보를 JSON 객체로 안전하게 전송하는 컴팩트하고 독립적인 방법을 정의하는 개방형 표준(RFC 7519)이다. ▼ JWT의 구조 xxxxx.yyyyy.zzzzz Header . Payload . Signature Header는 토큰의 타입과 해시 암호화 알고리즘으로 구성되어 있습니다. 첫째는 토큰의 유형 (JWT)을 나타내고, 두 번째는 HMAC, SHA256 또는 RSA와 같은 해시 알고리즘을 나타내는 부분입니다. Payload는 토큰에 담을 클레임(claim) 정보를 포함하고 있습니다. Payload 에 담는 정보의 한 ‘조각’ 을 클레임이라고 부.. 2022. 7. 17.