IT193 [typescript] as const https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#const-assertions 를 읽고 정리한 글입니다. as const를 선언하면, - string에서 'hello'로 추론됨 (아래 코드 확인) - obejct는 readonly로 설정 - array는 readonly tuples로 변경 let x = ‘hello’ // string으로 추론let x = ‘hello’ as const // hello으로 추론let y = [10, 20] // number[]으로 추론let y = [10, 20] as const // readonly [10, 20]으로 추론let z = { text: 'hello' } // { t.. 2024. 6. 3. [linux] lsof command 개념list open files여기서 files는 우리가 통상적으로 알고 있는 파일이 아니라, computer hardware driver를 다루는 interface라고 보면 된다. 이러한 파일들은 프로세스에 의해서 사용된다. Character Device Files문자를 접근할 수 있는 장치를 표현하는 파일. 예) ternminals, serial portsex) /dev/tty50 Block Device Filesblock 단위로 데이터를 읽고 쓰는 장치를 사용할 수 있게 하는 파일ex) /dev/sda1 Pipes (FIFO)프로세스 사이에 커뮤니케이션할 수 있게 해주는 FIFO 파일ex) /tmp/mypipe Socketsnetwork 하기 위한 파일ex) TCP/IP network connect.. 2024. 6. 3. [web] image lazy loading 기법 https://imagekit.io/blog/lazy-loading-images-complete-guide/ 글을 요약했다. 100% 이해하려면 해당 글을 정독하길 바란다. 방법1data-src 속성에 이미지 url를 넣고 viewport에 진입 시 data-src 속성을 src속성에 추가 viewport 진입을 어떻게 판단하나?1) scroll, resize, orientationChange 이벤트를 받아 처리2) intersection observer api를 이용해서 처리이벤트 처리 demo: https://codepen.io/daewoong-kim/pen/eYapggvintersection observer demo: https://codepen.io/daewoong-kim/pen/pomjRPb 방.. 2024. 5. 16. [http] vary header로 dynamic cache 다루기 HTTP Vary 역할HTTP Vary 헤더는 캐시 결정을 내릴 때 고려해야 할 요청 헤더를 지정합니다. 이 헤더는 캐시 서버나 브라우저에게 응답이 특정 요청 헤더의 값에 따라 달라질 수 있음을 알려주고, 같은 URL 요청이라도 다른 Vary 헤더를 포함하는 요청에 대해서는 별도의 캐시를 유지해야 함을 나타냅니다. 예를 들어, Accept-Encoding이나 User-Agent를 기반으로 다른 응답을 제공할 경우, 이를 Vary 헤더에 포함시켜 적절한 캐싱을 수행할 수 있습니다. Vary 헤더의 작동 방식서버는 응답과 함께 Vary 헤더를 전송하며, 이 헤더는 어떤 요청 헤더가 응답의 선택에 영향을 미쳤는지 명시합니다.캐시(브라우저 캐시, 프록시 서버 등)는 Vary 헤더에 지정된 요청 헤더와 해당 값이.. 2024. 5. 14. [http] cache-control: max-age max-age에 대해 많은 곳에서 잘 설명해주고 있다. 하지만 실제 테스트해서 눈으로 확인이켜주는 곳은 많이 없다. 직접 http header를 다뤄보고 내것으로 만들려고 한다.상황 1응답에 cache-control:public,max-age=0 그리고 last-modified: Tue, 14 May 2024 02:37:45 GMT 둘 다 있을 경우 케쉬가 되어서 이유를 살펴보았다. Cache-Control: public, max-age=0 - public: 공용캐시 (프록시 서버)에 저장될 수 있다. - max-age=0 캐시된 응답이 생성된 직후에 만료됨을 의미. 캐시는 유효하지만, 사용하기전에 반드시 유효여부를 판단 후 사용해야 한다. Last-Modified - 마지막으로 수정된 날짜와 시간을 의.. 2024. 5. 14. [http] no-store, no-cache Cache-Control: no-store이 지시어는 캐시가 전혀 이루어지지 않도록 합니다. 즉, 서버의 응답은 어떤 형태로든 저장되거나 캐시되어서는 안 됩니다. 이는 매우 민감한 데이터를 다룰 때 사용됩니다. router.get('/no-store', (req, res) => { // Cache-Control: no-store 지시어로 설정하여 캐시 저장을 전면 금지 res.setHeader('Cache-Control', 'no-store'); res.send('This response cannot be stored in any cache.');}); Cache-Control: no-cache이 지시어는 응답이 저장되는 것은 허용하지만, 재사용하기 전에 서버에 검증을 요청해야 합니다. 서버는 요.. 2024. 5. 13. 이전 1 ··· 6 7 8 9 10 11 12 ··· 33 다음