Claude Opus 4.7이 작성한 문서입니다.
참고: Benjamin Erb, Concurrent Programming for Scalable Web Architectures (Ulm University, 2012), §3.1 "Traditional Web Architectures". 이하 인용은 이 문서에 근거한다.
본문에서 사용하는 용어를 먼저 정리한다.
Beej's Guide to Network Programming | 한국어 번역본
HTTP | MDN Web Docs
적절하게 해당 프롬프트에 링크, 주차 입력하고 Codex나 Claude에게 요청하면 됨.
CSAPP 1.1의 제목은 정보는 비트와 컨텍스트다(Information Is Bits + Context) 다.
이 문장은 C 언어와 포인터를 이해할 때도 그대로 적용된다.
처음 C를 접하면 주소와 값을 완전히 다른 것으로 받아들인다. 그래서 포인터도 별개의 특수한 개념처럼 느껴진다. 하지만 컴퓨터 입장에서 보면 그렇게까지 근본적으로 다른 것은 아니다.
컴퓨터는 비트 패턴을 다루고, 그 비트 패턴을 어떤 의미로 해석할지는 컨텍스트가 정한다.
값과 주소는 컴퓨터 내부에서 완전히 다른 재료가 아니라, 같은 비트를 서로 다른 맥락으로 해석한 결과다.
TODO 목차
원랜 이걸 썼는데, https://gist.github.com/YangSiJun528/dd3e23e99cec3675ae23b9df12556347
너무 길어지고 관리도 안되고, 잘못된 내용이 많아서 따로 정리하기로 함.
HTML, CSS, JS에 대한 설명은 넘어가겠습니다.
(만약 JS 사용법을 모르겠다면 셀렉터, DOM 조작, AJAX를 공부해보세요. 예: 웹개발로 배우는 자바스크립트 기초 - 유튜브 일부 무료공개만 봐도 충분, 모던 JavaScript 튜토리얼)
모든 내용을 볼 필요는 없습니다. 한 파트의 내용에 막혀 있기보다 여러 파트를 반복해서 보는 게 전체 구조를 잡기 더 쉽습니다.
처음 개념 이해에 참고하면 좋은 자료들이지만, 정확한 내용은 아닐 수 있습니다. 정확한 내용은 공식문서를 통해서 확인해야 합니다.
LLM 설명이나 사용법은 알고 있던 내용이 많았음.
일관적인 로직을 위해서 아무 값도 없는 head, tail Node를 사용하여 구현.
class Node:
def __init__(self, val):
self.val = val
self.prev = None
self.next = None
class DoublyLinkedList: