Proxy-lab >In this lab, you will write a simple HTTP proxy that caches web objects. \- 출처 : http://csapp.cs.cmu.edu/3e/proxylab.pdf 프록시(Proxy)란 브라우저(Web browser)와 서버(end server) 간의 'middleman'. 브라우저의 응답을 받아 서버에게 넘겨주고(forward), 서버의 응답을 다시 브라우저에게 보내준다(send). 프록시는, >1. 서버에 대한 방화벽(firewall)의 역할을 수행할 수 있다. 브라우저를 익명화(anonymize)할 수 있다. 브라우저를 식별할 수 있는 정보를 서버에게 넘기지 않음으로써. 서버의 응답을 캐시(cache)함으로써 클라이언트의 요청을 효율적으로 처리할 수도 있다. Proxy-lab에서는 가장 우리에게 가장 basic한 proxy를 만들고, 2단계에 걸쳐 개선하도록 주문한다. Part
malloc 이번 과제는 malloc을 직접 구현하는 것. 좀 더 명확히는 malloc, free, realloc을 포함하는 동적 메모리 할당기를 만드는 것. 처음엔 책에 있는 코드를 그대로 타이핑 해보면서 이해했으나, 계속 이런 생각이 들었다. > 그래서 이게 지금 뭘 하고 있는거지? 생각해보니 malloc이 안에서 어떻게 동작하는 지도 모르고 malloc을 따라 만들려고 했던 것. 그렇담 malloc이 무어냐. memory allocation. >C dynamic memory allocation refers to performing manual memory management for dynamic memory allocation in
상수에 대한 포인터 >"A pointer which is looking at a constant." const int *ptr; 상수를 가리키는 포인터이다. 그래서 이 포인터를 참조해서는 값을 변경할 수 없다. 근데 위의 경우처럼 포인터의 정의만 그렇고, 실제 가리키는 값은 상수가 아닐 수도 있다. 이런 경우에 아래와 같은 상황이 발생할 수 있다. ![](https://velog.velcdn.com/images/rivolt0421/post/27f2e1bb-f222-44aa-bf5b-e83c8bb1629c