이상하게 눈에 익은 단어여서 찾아봤더니 예전에 네트워크 보안 수업 수강했을 때 들은 개념이었다! 그래서 다행히 이해하는데 어렵지는 않았지만 실제로 적용할 때는 어떨지...
모질라에서는 CORS를 "한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제" 라고 되어있는데 솔직히 무슨 말인지 모르겠다.
최대한 간단하고 간략하게 생각해서 내가 이해한 건 보안 상 삽입된 http의 헤더라는 거고 보안 수업 때에는 CORS 정책 설정에 중점을 두었었고 , 여러 블로그들을 찾아보니 나중에 이것 때문에 대차게 고생할 수 있을 법한 일들이 있다는 건데...
현재로서는 허용 옵션을 백엔드/서버 단에서 설정해야하고 브라우저마다 CORS 정책이 조금씩 다르다는 것 정도까지만 알아두면 될 것 같다. 나머진 언젠가 부딪히면서 배우겠거니...
💡참고 사이트
[MDN Web docs - 교차 출처 리소스 공유](https://developer.mozilla.org/ko/docs/Web/HTTP/CORS)
[CORS는 대체 뭐 하는 놈일까?
](https://802.11ac.net/2018/12/16/cors/)
[CORS는 왜 이렇게 우리를 힘들게 하는걸까?](https://evan-moon.github.io/2020/05/21/about-cors/)
자바스크립트의 배열 메소드 중에서 배열 안에서 무언가를 찾으려 할 때 쓰는 메소드.
some()은 조건에 맞는 요소를 찾으면 즉시 검색을 멈추고 true를 반환하고, 조건에 맞는 요소를 찾지 못하면 false를 반환한다. 즉, 하나라도 콜백 함수를 만족 시키면 순회를 멈추고 true를 리턴하고 모든 요소가 함수를 만족하지 못한다면 false를 리턴한다.
const arr =[5,7,12,15,17]
function cb(element, index, array){
return element%2 ===0
}
const result = arr.some(cb)
console.log(result) // 12가 짝수이므로 true를 반환
function cb(element, index, array){
return Number.isInteger(Math.sqrt(element))
}
const arr =[5,7,12,15,17]
const result = arr.some(cb)
console.log(result) // 제곱 수인 객체가 없으므로 false를 반환
some()과는 달리 배열의 모든 요소가 조건에 맞아야만 true를 반환하고, 그렇지 않다면 false를 반환한다. 즉 콜백함수를 조건에 맞지 않는 요소를 찾지 못하면 배열 전체를 검색하고, 조건에 맞지 않는 요소를 찾아야만 검색을 멈추고 false를 반환하는 것이다.
const arr =[4,6,12,22]
function cb(element, index, array){
return element%2 ===0
}
const result = arr.every(cb)
console.log(result) // 배열 내에 홀수가 없으므로 true를 반환
const arr =[4,6,16,36]
function cb(element, index, array){
return Number.isInteger(Math.sqrt(element))
}
const result = arr.every(cb)
console.log(result) // 제곱 수가 아닌 객체 '6'이 있으므로 false를 반환
설명만 보면 이해하기 어렵지 않은 개념인데 왜 난 문제를 못풀고 있는 건지 모르겠다...
💡참고 자료
러닝 자바스크립트 : ES6로 제대로 입문하는 모던 자바스크립트 웹 개발