일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 얕은 복사 #깊은 복사 #shallow copy #deep copy
- JWT #토큰 #refreshToken #accessToken #Token #token #localStorage #sessionStorage
- html entities
- 백준 #직각삼각형
- react fragment
- 백준 #적록색약
- 버블링 #갭쳐링 #이벤트 #JS
- 노마드 코더 #타입스크립트 #typescript #class
- axios
- donwstream #upstream #origin
- 빡킹독
- 플로이드 #c++
- rate limit
- React #effect hook #useEffect
- 이친수
- raect typescript #react #typescript #styled-component
- React #controlled component #비제어 컴포넌트 #제어 컴포넌트
- DP #c++
- useState #Hooks
- React-Query
- React #리액트 이벤트 주기 #리액트 이벤트
- 코드스테이츠 #알고리즘 #그리디
- react
- #useRef #언제 쓰는데?
- React #Hook rules #Hook 규칙
- 다익스트라 #파티 #백준
- npm #not being able to find a file #npm install Error
- interceptors
- RateLimit
- react #useCallback #react Hook
- Today
- Total
목록CS지식 (5)
꿈꾸는 개발자
덕 타이핑 런타임에서 사용될 때까지 객체 타입을 검사하지 않는 것을 의미한다. 자바스크립트를 사용해 보았다면 자바스크립트 에러는 런타임에 발생한다는 사실을 알고 있을 것이다. 따라서, 타입스크립트와 다르게 자유도가 높으며 엄격한 타입 체킹 또한 없다. 간단한 코드 예시를 살펴보자 class Duck { quack() { console.log('꽥!') } feathers() { console.log('깃털은 검정색과 흰색') } } class Human { quack() { console.log('사람인데요? 꽥!') } feathers() { console.log('사람이라 깃털은 없어요. 하지만 털은 있습니다.') } } function inTheForest(duck) { duck.quack() du..
CSR (Client Side Rendering) CSR은 말 그대로 클라이언트에서 페이지를 렌더링함을 의미한다. 브라우저에서 서버에 요청을 보내면, 서버에서 웹 페이지를 렌더링하지 않고 Single Page+ JS 파일를 클라이언트로 보낸다. 클라이언트에서는 전달 받은 웹 페이지+JS 파일을 완전히 렌더링 된 페이지로 바꾼다. 브라우저의 요청 경로가 다를 경우 새롭게 서버에 요청하는 것이 아닌, 기존에 받은 파일을 기반으로 페이지를 다시 렌더링하게 된다. 장점 후속 페이지 로딩이 더 빠르다. 모든 파일이 사전에 로드되기 떄문 새로고침이 발생하지 않아 네이티브 앱과 비슷한 사용자 경험 제공 가능 별도의 API 호출이 필요가 없는 페이지의 경우 로딩 모듈 필요X 서버 호출 때마다 전체 UI를 리 로딩할 필..
배경 지식(토큰 인증 방식) 토큰 인증 방식은 사용자의 인증 정보를 서버 측이 아닌 클라이언트 측에 저장하는 방식이다. (세션 인증 방식이 가지고 있던 한계를 극복할 수 있음- 서버에서 관리하던 인증 정보에 대한 부담 완화). 기본 흐름 JWT(Json Web Token) 토큰 기반 인증을 사용했을 때 대표적으로 사용하는 방식 중 하나가 JWT이다. JWT는 JSON 객체에 정보를 담아 이를 토큰으로 암호화하여 전송할 수 있는 기술을 의미한다. 클라이언트에선 서버에 요청을 보낼 때 JWT 토큰을 제공하면 서버에서 해당 토큰을 검증 후 유저 정보를 확인할 수 있다. 기본 구조(base64로 인코딩 된다) header: 토큰 자체를 설명하는 데이터를 담고 있다.(암호화하는 방식): base64방식으로 인코딩..
웹 페이지를 열심히 만들었다고 가정했을 때 구글이나 네이버 검색을 통해 사용자들에게 노출되지 않는다면, 그것만큼 허무한 것은 없을 것이다. 이와 같은 불상사를 방지하기 위해서 검색 엔진의 작동 방식에 따른 최적화 작업이 곧 SEO(Search Engine Optimization, 검색 엔진 최적화)이다. SEO를 통해 자신이 개발한 웹 사이트를 더 상위로 노출시키게끔 작성할 수 있다. SEO의 분류: (SEO는 크게 On-page SEO와 off-Page SEO 두 가지로 나뉜다) On-Page SEO: 페이지 내부에서 진행하는 SEO, 제목, 콘텐츠, 핵심 Keyword의 배치 등 HTML 요소 사용법을 이용하는 방식이다. Off-Page SEO: 외부에서 이루어지는 SEO, 소셜 미디어 홍보, 백링크..
라우팅: 라우팅은 application endpoint URI(경로) 및 특정한 HTTP 요청 메서드(GET, POST 등)인 특정 엔드포인테 대한 client 요청에 application이 응답하는 방법을 결정하는 것을 말한다. 각 라우터는 하나 이상의 헨들러를 가질 수 있다 => 라우터가 일치할 때 실행되는 콜백함수(헨들러)를 뜻한다. app.METHOD(PATH, HANDLER) app은 express의 instance METHOD는 HTTP 요청 메서드(기본적으로, GET, POST, PUT, PATCH, DELELTE 등이 있음) PATH는 서버에서 경로를 의미한다 HANDLER는 위에서 설명했듯이 라우터가 일치했을 때 실행되는 함수를 의미한다 HTTP 메서드 별 예시: app.get('/', ..