타입스크립트란? 타입스크립트는 자바스크립트에 타입을 부여한 언어입니다. 자바스크립트의 확장된 언어라고 볼 수 있습니다. 타입스크립트는 자바스크립트와 달리 브라우저에서 실행하려면 파일을 한번 변환해주어야 합니다. 이 변환 과정을 우리는 컴파일(complile) 이라고 부릅니다. 왜 타입스크립트를 써야할까요? 타입스크립트는 에러의 사전 방지, 코드 가이드 및 자동 완성(개발 생산성 향상)관점에서 자바스크립트 코드의 품질과 개발 생산성을 높일 수 있습니다. 에러의 사전 방지 // math.js function sum(a, b) { return a + b; } // math.ts function sum(a: number, b: number) { return a + b; } 두 코드 모두 두 숫자의 합을 구하는 ..
왜 sop를 사용해야할까요? SOP가 없는 상황에서 악의적인 JavaScript가 포함되어있는 페이지에 접속하는 상황을 가정하여 설명드리겠습니다. 사용자가 악성페이지에 접속하여 악의적인 JavaScript가 실행되면 사용자가 모르는 사이에 포털사이트인 potal.example.com에 임의의 요청을 보내고 그 응답 값을 해커의 서버로 재차 보내 사용자의 소중한 개인정보가 탈취되는 것입니다. 더 나아가서는 JavaScript를 이용하여 사용자가 접속중인 내부망의 아이피와 포트를 스캐닝 하거나, 해커가 사용자 브라우저를 프록시처럼 사용할 수도 있을 것 입니다. 더보기 ‘JSONP’라는 데이터 타입 요청이 아닌 호출 방식 JSONP는 HTML의 script 요소로부터 요청되는 호출에는 보안상 정책이 적용되지 ..
CORS가 필요한 이유! 더보기 SOP (Same Origin Policy) 다른 출처의 리소스를 사용한 것을 제한하는 보안 방식 더보기 출처(origin)란? CORS 탄생 배경 CORS(Cross Origin Resource Sharing) 다른 출처의 자원을 공유!! 더보기 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다. CORS 접근제어 시나리오 예비 요청(Preflight Request) 더보기 교차 출처 리소스 공유 (CORS) 사전 요청은 본격적인 교차 출처 HTTP 요청 전에 서버 측..
개발자의 마음가짐 우리는 백엔드 개발에 집중하고 있어서 갑자기 프론트엔드에 있는 데이터를 가져와야 해서 당황스러운 분도 계셨을거예요. API를 개발해야 하는데 데이터베이스가 아닌 다른곳에서 강제로 가져와야 하는 상황이 와도 유연하게 대처할 수 있는 개발자가 되기 위해서는 백엔드 개발자라 해도 프론트엔드에 전혀 관심이 없으면 안됩니다. 😁 (보너스!) 개발자의 마음가짐 여러분이 앞으로 더 깊게 공부를 하며 코드를 작성하다 보면 어디선가 아주 좋은 추상화, 혹은 높은 수준의 엔지니어링 기법을 보고 여러분의 코드에 적용하려고 시도할 수 있습니다. 이것을 Over Engineering이라고 말하는데요, 앞으로 여러가지 문제를 해결하다 보면 필요 이상으로 문제를 복잡하게 해결하거나 설계할 수 있습니다. 그렇기 때..