OAuth2 .0을 사용하는 이유보통 간편로그인을 구현하고자 OAuth를 많이 사용한다. 먼저 OAuth를 사용하지 않고 구글 드라이브에 사진을 가져오는 예시를 생각해보자.(사용자/구글/우리의 서비스->동구리닷컴) 1. 사용자가 구글(드라이브) ID/PW를 동구리닷컴 제공한다.2. 동구리닷컴은 유저의 구글 ID/PW를 이용해서 구글에 로그인한다.3. 동구리닷컴은 유저의 구글 드라이브에 저장된 사진을 가져온다. 위와 같이 동작하면 어떤 문제점이 있을까?사용자 : 동구리닷컴이 구글 드라이브에만 접근한다고 신뢰할 수 없다.(구글 메일을 훔쳐본다면?)동구리닷컴 : 사용자의 구글 ID/PW를 저장하고 직접 관리해야 한다.(탈취 당한다면?)구글 : 사용자들의 구글 계정이 쉽게 유출될 수 있다.(구글의 잘못이 아닌데..
웹 캐시란?캐시란 데이터에 빠르게 접근하기 위해 자주 사용되는 데이터나 값을 미리 복사해 놓는 임시 장소를 의미한다.웹 캐시란 브라우저가 서버에서 받아온 리소스를 특정 위치에 저장해 놓는 것이다.이후 요청을 하면, 해당 리소스가 있는지 확인하고 재사용하는 방법이다. 캐시는 Http 헤더의 Cache-Control로 설정할 수 있다. ⭐️ Cache-Control 옵션no-store : 캐시에 리소스를 저장하지 않는다.no-cache : 캐시 만료기간을 신경쓰지 않고 항상 서버에 리소스 재검사를 요청한다.must-revalidate : 캐시 만료기간이 지났을 때만 서버에 리소스 재검사를 요청한다.public : 해당 리소스를 캐시에 저장한다.private : 해당 리소스를 캐시에 저장하지 않는다. 개인정보..
웹뷰(Web View)란?프레임워크에 내장된 웹 브라우저 컴포넌트로 앱 내에서 웹 브라우저를 띄우는 것이다.앱을 벗어나지 않고 웹 브라우저를 띄운다는게 핵심이다.=> 앱에 내장되어 있는 브라우저 카카오톡으로 받은 링크에 접속하면 카카오톡 자체 브라우저를 통해 접근하는데, 이게 웹뷰를 사용한 것이다!앱 개발 방법- 웹앱HTML, CSS, JS로 개발앱과 유사한 경험을 제공하면서 웹 브라우저를 통해 접속하는 웹 페이지설치하는 방식 X - 네이티브 앱특정 플랫폼에 맞게 개발된 앱운영체제와 하드웨어의 기능을 모두 활용할 수 있음앱 스토어에서 설치해야 됨 - 하이브리드 앱웹앱과 네이티브 앱의 장점만 합친 기술앱의 화면이나 기능은 웹 기반으로 제작하고 겉모습은 네이티브 앱으로 패키징앱 스토어에서 설치해야 됨 웹뷰 ..
SWC(Speedy Web Compiler)란?Rust라는 언어로 제작되었고 컴파일과 번들링을 수행하는 빌드 툴이다.매우 빠른 JS 컴파일러로 기존 babel이 하던 일을 대체하였고,SWC는 컴파일러이지만 웹팩과 같은 JS 번들러의 기능도 제공한다.SWC는 단일 스레드에서는 Babel보다 20배 빠르고 , 4개 코어에서는 70배 빠르다. 컴파일 - 한 언어로 작성된 코드를 다른 언어의 코드로 변환(타입스크립트 파일을 자바스크립트 파일로 변환)트랜스파일 - 컴파일의 하위분류. 유사한 두 언어 사이에서 변환(JS 최신 문법을 구형 문법으로 변환)번들러 - 분리된 모듈을 하나의 모듈로 묶어줌(웹팩)Next.js의 SWC 도입Next.js에 SWC를 도입함으로써 Babel과 Terser를 대체하였다.Babel과..
❗️ JS는 싱글 스레드 JS는 싱글 스레드 기반으로 한 번에 한가지 작업만 처리할 수 있다.for (let i=0; i위와 같은 코드를 브라우저 콘솔 창에 실행시킨다면 브라우저가 먹통이 되는 경험을 할 수 있다.JS가 메인 스레드 하나만 가지기 때문이다.오래 걸리는 코드를 다른 스레드에서 실행시키면 문제가 해결되는데 이때 web worker를 사용한다.❗️ Web Worker?싱글 스레드로 동작하는 JS의 단점을 보완하기 위해 나온 기능이다.JS는 싱글 스레드로 동작하는데, 웹 브라우저는 멀티 스레딩을 지원한다.worker는 JS가 제공하는 기능이 아니라 브라우저에서 제공하는 기능이다.최신 브라우저는 대부분 web worker 기능을 지원한다. web worker는 메인 스레드가 아닌 별도의 스레드인 ..
❗️ TypeScript?요즘 프론트엔드 채용공고를 보면 자격요건에 TypeScript가 적혀있는 것을 볼 수 있는데,사용해본 적도 없고 어떤 장점이 있는지 궁금해졌다. TypeScript = JavaScript + Type즉, 자바스크립트에 타입을 더한 언어가 타입스크립트이다. 🤔 자바스크립트애서 5-'3'의 결과는 ?결과는 2이다.숫자에서 문자열을 뺐는데 숫자가 나올 뿐만 아니라, 어떠한 에러도 출력하지 않는다. 하지만 TypeScript에서 위의 코드를 실행시킨다면 오류가 발생한다.TypeScript도 JS 기반 언어이지만 왜 다를까?TypeScript에 대해 더 알아보자 !❗️ JavaScript vs TypeScript가장 큰 차이점은 당연히 타입이고 이 타입이 결정되는 시점이 다르다. - 타..