전체 글
-
나만의 무기 프로젝트 - 디버깅개발/나만의무기 2022. 7. 22. 04:50
우리의 프로젝트를 구현하는데 새로고침, 뒤로가기로 인해서 문제가 발생하여 해결하기 위해서 필요 새로고침 시, 동기 비동기 문제로 인해서 TypeError: Cannot set properties of null (setting 'srcObject')이러한 오류가 등장하여 게임 페이지가 랜더링이 불가한 상황이 발생한다. 소켓문제도 있는듯하다.. 그래서 새로고침 or 뒤로가기를 제한하려고 한다. 새로고침 방지 const PreventReload = (event) => { useEffect(() => { window.addEventListener("beforeunload", alertUser); return () => { window.removeEventListener("beforeunload", alertUs..
-
Pintos : Project 4(File System)개발/Pintos 2022. 6. 28. 10:04
1) Indexed and Extensible Files 2) Subdirectories and Soft Links 노션 링크 : https://decisive-handball-f43.notion.site/Pintos-Project-4-1c93a87293274315b6c2649fd45f896c 구현 : FAT, Inode, Filesys, Directory, Syscall 등 (노션 참고) Rewind : Pintos Project 4 (06/21 ~ 06/28) 대망의 Pintos Project 마지막 주차였다. Disk단 까지 내려가서 File System과 관련한 Project를 진행했다. 사실 기간은 짧은데 너무 많은 내용이 담겨있어서 우리 팀은 코드를 이해하는데 의의를 두기로 했다. (구현은 p..
-
Pintos : Project 3(Virtual Memory)개발/Pintos 2022. 6. 21. 01:32
1) Memory Management 2) Anonymous Page 3) Stack Growth 4) Memory Mapped Page 5) Swap In/Out 노션 링크 : https://decisive-handball-f43.notion.site/Pintos-Project-3-ae056e7ba7e348dba7afc66855d0fe39 Rewind : Pintos Project 3 (06/07 ~ 06/21) 답을 보지 않고 구현을 시작했다. 내용도 많았고 방대했다. git book을 보면서 진행을 해야했고 무언가 확실하지 않은 느낌을 받아서 코드를 짜는데 너무 어려웠다. 처음에 혼자 힘으로 짜본 것을 팀원들 것과 비교했을 때, 많이 다르다는 느낌을 받았고 이런식으로 짜는 것이 아니구나를 많이 느꼈..
-
Pintos : Project 2(System Call Handler)개발/Pintos 2022. 6. 6. 22:41
1) Argument Passing 2) System Call Handler 3) Hierarchy Process Structure 4) File Descriptor 5) Denying Write to Executable 6) Debugging 번외) Command Line Enter -> 흐름 정리 Notion Link : https://www.notion.so/Pintos-Project-2-56daa21a18b241a583661d6bedb083f0
-
CSAPP : 웹서버 만들기(Week07) - Proxy 3(Caching)개발/Proxy 2022. 5. 26. 22:53
Part3. Caching Web Objects 최근에 사용한 웹 개체를 메모리에 저장하는 캐시를 프록시에 추가 HTTP는 실제로 웹 서버가 제공하는 개체를 캐시하는 방법에 대한 지침을 제공하고, 클라이언트가 캐시를 대신 사용하는 방법을 지정할 수 있는 상당히 복잡한 모델을 정의한다. —> 하지만 프록시는 단순화된 접근 방식을 채택한다 프록시가 서버에서 웹 개체를 수신하면 클라이언트로 전송할 때, 이를 메모리에 캐시해야 한다. 다른 클라이언트가 동일한 서버에서 동일한 개체를 요청하면 프록시가 서버에 다시 연결할 필요가 없다. 단순히 캐시된 개체를 보낼 수 있다. 프록시가 요청된 모든 개체를 캐시하려면 무제한 메모리가 필요하다. 또한 일부 웹 개체는 다른 개체보다 크기 때문에 하나의 거대한 개체가 전체 캐..
-
CSAPP : 웹서버 만들기(Week07) - Proxy 1,2(Sequential, Concurrent)개발/Proxy 2022. 5. 26. 22:46
Part 1. Sequential Web Proxy sequential web proxy는 한 번에 하나씩 요청을 처리하는 웹 서버이다. 트랜잭션이 완료되면 다음 커넥션이 처리한다. 처리 도중에 모든 다른 커넥션이 무시되므로 심각한 성능 문제를 만들어낸다. 기본 HTTP 작업과 소켓을 사용하여 네트워크 연결을 통해 통신하는 프로그램을 작성하는 방법에 대한 학습이 포함된다. Sequential Web Proxy 구현 목표 basic sequential proxy that handles HTTP/1.0 GET requests read the entirety of the request from the client and parse the request. establish its own connection to..
-
CSAPP : 웹서버 만들기(Week07) - Proxy 개념개발/Proxy 2022. 5. 26. 22:41
프록시(Proxy) 1. 프록시(proxy)란 무엇인가? 프록시 : 서버와 클라이언트 사이에 중계기로서 대리로 통신을 수행하는 것 프록시 서버 : 그 중계 기능을 하는 것 클라이언트와 서버 사이에 위치해 중계기로서 통신을 수행하는 역할 클라이언트가 직접적으로 end server와 연결하여 리소스를 얻는 게 아니라 프록시라는 중간 경로를 통해 통신 수행 프록시는 클라이언트로부터 받은 요청을 end server에게 보내 응답을 받은 뒤, 해당 응답을 클라이언트에게 보낸다. 프록시 종류 Forward proxy Reverse proxy 2. Forward proxy 보통 우리가 부르는 proxy : forward proxy. 클라이언트가 서버로 요청할 때, 직접 요청하지 않고 먼저 프록시 서버를 통해 요청하는..