본문 바로가기
반응형

전체 글616

객체를 복사했는데 원본도 변경되는 이유 객체를 복사하면 원본도 변경된다. var obj1 = {c:10,d:'ddd'};var obj2 = obj1obj2.c = 20;console.log(obj1.c) // 20 obj2.c 를 변경했는데 obj1.c도 바뀐다. 코어자바스크립트를 읽으면서 원리를 정확히 알게 되었다. obj2 = obj1 에서의 상황이다. 2026. 8. 12.
304 Modified 304는 Not modified, 변경되지 않았다는 의미이다. 그럼 이 변경되지 않았다는 메시지는 어디서 주는걸까?백엔드 혹은 그 앞단에서 주는데 위 상황에서는 Express 내부에서 Etag에 의한 자동설정이다. Etag는 응답헤더에 포함되는 응답 Body의 고유 식별자인데, 브라우저는 Etag를 If-None-Match 헤더에 담아 보낸다.그럼 서버는 현재 ETag와 비교해서 같으면 304, 다르면 200 + 새 body를 반환한다. 서버에서 보내려는 응답 데이터를 해싱해서 Etag를 응답헤더로 내려준다.브라우저 If-None-Match 헤더에 Etag를 붙혀서 보낸다.서버에서 응답 body를 해싱해서 Etag를 생성하는데, 요청 If-None-Match헤더의 Etag(이전 응답헤더 값)와 같으면 3.. 2026. 3. 30.
유리프트 보호되어 있는 글 입니다. 2026. 3. 29.
vite와 turbopack Next로 만든 프로젝트는 시간이 지나면서 코드 변경 후 저장하면 5초가 지나고 반영되는 걸 종종 경험했다. Next는 turbopack기반이고 이 부분에 대해 알아보았다. 번들링브라우저가 이해하는건 3개다.- html- css- js 그런데 우리가 쓰는건 React, TS, CSS module, import, .env, .... 브라우저는 이걸 하나도 못읽는다. 그래서 중간에 변환해주는 도구가 필요한데 이게 바벨과 번들러다. tsx -> jsx -> js 로 변환하는 과정을 바벨이 처리하고 이 js를 하나로 묶어주는 기능을 번들러 webpack이 처리했다. 그런데 go, rust등으로 컴파일러를 만들게 되면서 babel보다 30배 이상 빠른 도구들이 만들어졌고 바벨을 쓸 필요가 없어졌다. 예를들어 T.. 2026. 2. 27.
반응형