본문 바로가기

캐시2

동시성에 대해서 생각해보자. 하나의 자원에 여러 프로세스 또는 스레드가 사용하려고 할 때. 사용되는 영역을 임계영역이라 하고, 자원을 점유하기 위해 여러 동시성제어를 할 수 있는 도구를 사용한다. 그럼 여러 동시성제어를 할 수 있는 도구란 무엇을 말하는가? 개념적으로는 뮤텍스, 세마포어, 모니터 가 있을 것이고 실제 코드는 `java.util.concurrent` 패키지에 담겨있다. 그 외 실행자 프레임워크, 동기화 장치(synchronizer) 등이 존재합니다. Java에서는 실행자 프레임워크를 통해서 작업하길 권고하고 있다. [이펙티브 자바 Item81] 그 이유는 위에서 언급한 뮤텍스, 세마포어, 모니터를 조작하기 위해서 wait, notify와 같은 코드를 작성해 동시성을 제어해야 하는데, 이때 복잡성이 더 커지기 때문이다... 2021. 2. 9.
HTTP Caching에 대해서 좀 이해해보자!!! 이번에 HTTP Code 중 304 에러 코드에 대해서 이해하는 과정에서 WebCache에 대한 정보를 일부 활용했다. 304 에러 코드는 웹 캐시에 저장된 데이터가 같은 데이터를 Get하려고 한다면, 이를 웹 브라우저가 변경되지 않은 데이터라는 것을 인지한다. 그럼 WebCache에 대해서 한꺼풀씩 이해해봅시다. HTTP Caching이 뭘까? 우리는 일반적으로 웹서버에 정적 파일을 다운로드 받습니다. 예를 들어, '/login' page 라고 했을 때, 로그인 페이지에는 css, js, html 등의 파일을 가져와야 합니다. 이때, http, css, js 등 여러 HTTP요청을 만드는 것이 일반적입니다. 그러나, 이제 이러한 페이지를 매우 자주 요청하면 네트워크 트래픽이 많이 발생하고 이러한 페이지.. 2020. 11. 14.