Published on2026년 3월 19일[컴파일러] 01. 컴파일러의 구조와 동작 원리compilercs-fundamentals컴파일러의 전체 구조와 각 단계(어휘 분석, 구문 분석, 의미 분석, 중간 코드 생성, 최적화, 코드 생성)의 역할을 살펴보고, 심볼 테이블과 컴파일 패스 개념을 정리합니다.
Published on2026년 3월 19일[컴파일러] 02. 프로그래밍 언어 기초와 컴파일러 기술 응용compilercs-fundamentals프로그래밍 언어의 발전 역사, 정적/동적 구분, 스코프 규칙, 매개변수 전달 방식을 정리하고, 컴파일러 기술이 IDE 도구와 보안 분석 등에 어떻게 응용되는지 살펴봅니다.
Published on2026년 3월 19일[컴파일러] 03. 간단한 구문 지시 번역기 만들기compilercs-fundamentals문법 정의, 유도, 파스 트리, 모호성 개념을 배우고, 연산자 우선순위와 결합법칙, 구문 지시 번역, 후위 표기법, 합성 속성을 활용한 간단한 번역기를 만들어 봅니다.
Published on2026년 3월 19일[컴파일러] 04. 어휘 분석 - 토큰, 패턴, 정규 표현식compilercs-fundamentals어휘 분석기의 역할과 토큰/패턴/렉심의 개념을 정리하고, 정규 표현식과 정규 정의를 사용하여 토큰을 명세하는 방법을 살펴봅니다.
Published on2026년 3월 19일[컴파일러] 05. 유한 오토마타와 어휘 분석기 구현compilercs-fundamentalsNFA와 DFA의 개념, 정규 표현식에서 NFA로의 Thompson 구성, NFA에서 DFA로의 부분 집합 구성, DFA 최소화, 그리고 Lex 도구를 활용한 어휘 분석기 자동 생성을 다룹니다.
Published on2026년 3월 19일[컴파일러] 06. 구문 분석 (1) - Top-Down 파싱과 LL 파서compilercs-fundamentals파서의 역할과 문맥 자유 문법을 복습하고, 모호성 제거, 좌재귀 제거, 좌인수분해 기법을 다룹니다. 재귀 하강 파서, 예측 파서, FIRST/FOLLOW 집합, LL(1) 문법을 상세히 설명합니다.
Published on2026년 3월 19일[컴파일러] 07. 구문 분석 (2) - Bottom-Up 파싱과 LR 파서compilercs-fundamentalsBottom-Up 파싱의 핵심 개념(축약, 핸들, 이동-축약)을 다루고, SLR, 정규 LR(1), LALR 파싱 기법과 Yacc 파서 생성기를 살펴봅니다.
Published on2026년 3월 19일[컴파일러] 08. 구문 지시 번역 - SDD와 SDTcompilercs-fundamentals합성 속성과 상속 속성의 개념, 의존 그래프와 평가 순서, S-속성 정의와 L-속성 정의, 그리고 구문 지시 번역 체계(SDT)의 구현 방법을 다룹니다.
Published on2026년 3월 19일[컴파일러] 09. 중간 코드 생성 - 3주소 코드와 타입 검사compilercs-fundamentals구문 트리의 변형(DAG), 3주소 코드(쿼드러플, 트리플, SSA), 타입 표현식과 타입 검사, 타입 변환, 그리고 제어 흐름 번역과 백패칭 기법을 다룹니다.
Published on2026년 3월 19일[컴파일러] 10. 실행 시간 환경 - 스택, 힙, 가비지 컬렉션compilercs-fundamentals프로그램 실행 시 메모리 구성, 스택 기반 활성 레코드와 호출 순서, 비지역 변수 접근 방법(접근 링크, 디스플레이), 힙 관리와 단편화, 그리고 가비지 컬렉션의 주요 알고리즘을 다룹니다.
Published on2026년 3월 19일[컴파일러] 11. 코드 생성 - 기본 블록과 흐름 그래프compilercs-fundamentals코드 생성기 설계의 핵심 이슈와 기본 블록, 흐름 그래프의 개념을 다룹니다. 명령어 선택, 레지스터 할당, 목적 코드의 주소 지정 방식, DAG 표현까지 살펴봅니다.
Published on2026년 3월 19일[컴파일러] 12. 코드 생성 알고리즘과 레지스터 할당compilercs-fundamentals단순 코드 생성 알고리즘, 레지스터/주소 디스크립터, DAG 기반 코드 생성, 트리 기반 최적 코드 생성, 그래프 컬러링을 이용한 레지스터 할당, 핍홀 최적화를 다룹니다.
Published on2026년 3월 19일[컴파일러] 13. 머신 독립 코드 최적화 기초compilercs-fundamentals공통 부분식 제거, 죽은 코드 제거, 상수 폴딩, 루프 불변 코드 이동, 유도 변수, 강도 감소 등 주요 최적화 기법과 데이터 흐름 분석의 기초를 다룹니다.
Published on2026년 3월 19일[컴파일러] 14. 데이터 흐름 분석 프레임워크compilercs-fundamentals데이터 흐름 분석의 기본 원리, 도달 정의, 활성 변수 분석, 가용 수식 분석, 반복 알고리즘, gen/kill 집합, 그리고 격자 이론의 기초를 다룹니다.
Published on2026년 3월 19일[컴파일러] 15. 루프 최적화와 코드 이동compilercs-fundamentals지배자와 지배자 트리, 자연 루프, 루프 불변 코드 검출과 이동, 유도 변수 검출과 제거, 루프 내 강도 감소, 루프 펼침 기법을 다룹니다.
Published on2026년 3월 19일[컴파일러] 16. 명령어 수준 병렬성과 스케줄링compilercs-fundamentals명령어 수준 병렬성(ILP)의 개념, 파이프라이닝과 슈퍼스칼라 프로세서, 리스트 스케줄링, 소프트웨어 파이프라이닝, 레지스터 할당과 스케줄링의 관계, VLIW 아키텍처를 다룹니다.
Published on2026년 3월 19일[컴파일러] 17. 병렬성 검출과 루프 변환compilercs-fundamentals데이터 병렬성과 태스크 병렬성의 유형, 배열 의존성 분석, 루프 변환(교환, 타일링, 융합, 분열), 아핀 변환 이론의 기초, 지역성 최적화를 다룹니다.
Published on2026년 3월 19일[컴파일러] 18. 프로시저 간 분석과 포인터 분석compilercs-fundamentals프로시저 간 분석의 필요성, 호출 그래프, 문맥 민감성, 포인터 분석(Andersen vs Steensgaard), 별칭 분석, 흐름 민감/비민감 분석, 프로시저 간 데이터 흐름 분석을 다룹니다.
Published on2026년 3월 19일[컴파일러] 19. SSA 형식과 현대 컴파일러 최적화compilercs-fundamentalsSSA(Static Single Assignment) 형식의 개념, phi 함수, 지배 경계를 이용한 SSA 구성, SSA 기반 최적화(상수 전파, 죽은 코드 제거, 전역 값 번호화), SSA에서의 복원을 다룹니다.
Published on2026년 3월 19일[컴파일러] 20. 현대 컴파일러의 발전과 응용compilercs-fundamentalsLLVM 아키텍처, GCC vs LLVM vs Clang 비교, JIT 컴파일, 현대 언어 기능의 컴파일 과제, 보안 분야의 컴파일러 기술, AI/ML 컴파일러(XLA, TVM), WebAssembly 컴파일을 다룹니다.
Published on2026년 3월 19일[컴퓨터 네트워크] 01. 인터넷이란 무엇인가computer-networkingcs-fundamentals인터넷의 구성 요소, 서비스 관점에서의 인터넷, 프로토콜의 정의, 네트워크 엣지, 접속 네트워크, 물리 매체에 대해 다룹니다.
Published on2026년 3월 19일[컴퓨터 네트워크] 02. 네트워크 코어: 패킷 교환 vs 회선 교환computer-networkingcs-fundamentals네트워크 코어의 패킷 교환과 회선 교환 방식을 비교하고, ISP 계층 구조를 통한 네트워크의 네트워크 개념을 다룹니다.
Published on2026년 3월 19일[컴퓨터 네트워크] 03. 네트워크 지연, 손실, 처리량computer-networkingcs-fundamentals패킷 교환 네트워크에서 발생하는 4가지 지연 요소, 큐잉 지연 모델, 패킷 손실, 종단 간 지연, 처리량 개념을 다룹니다.
Published on2026년 3월 19일[컴퓨터 네트워크] 04. 프로토콜 계층과 서비스 모델computer-networkingcs-fundamentals인터넷의 5계층 모델, OSI 7계층과의 비교, 캡슐화 개념, 네트워크 보안 기초를 다룹니다.
Published on2026년 3월 19일[컴퓨터 네트워크] 05. 애플리케이션 계층: HTTP와 웹computer-networkingcs-fundamentals네트워크 애플리케이션 구조, HTTP 프로토콜의 동작 원리, 지속/비지속 연결, HTTP 메시지 형식, 쿠키, 웹 캐싱, 조건부 GET을 다룹니다.
Published on2026년 3월 19일[컴퓨터 네트워크] 06. DNS와 이메일 프로토콜computer-networkingcs-fundamentalsSMTP 이메일 프로토콜, DNS의 서비스와 계층적 구조, 반복적/재귀적 질의, DNS 레코드, P2P 파일 분배, 분산 해시 테이블을 다룹니다.
Published on2026년 3월 19일[컴퓨터 네트워크] 07. 소켓 프로그래밍: TCP와 UDPcomputer-networkingcs-fundamentalsUDP 소켓 프로그래밍과 TCP 소켓 프로그래밍의 Python 예제, 클라이언트-서버 상호작용 흐름을 다룹니다.
Published on2026년 3월 19일[컴퓨터 네트워크] 08. 전송 계층: 다중화/역다중화와 UDPcomputer-networkingcs-fundamentals전송 계층의 서비스, 네트워크 계층과의 관계, 다중화/역다중화, UDP 세그먼트 구조, UDP 체크섬을 다룹니다.
Published on2026년 3월 19일[컴퓨터 네트워크] 09. 신뢰적 데이터 전송의 원리computer-networkingcs-fundamentals신뢰적 프로토콜을 단계별로 구축하는 과정(rdt1.0~rdt3.0), 정지-대기, 파이프라인 프로토콜(Go-Back-N, Selective Repeat)을 다룹니다.
Published on2026년 3월 19일[컴퓨터 네트워크] 10. TCP 완전 정복: 연결, 흐름제어, 혼잡제어computer-networkingcs-fundamentalsTCP 3-way handshake, 세그먼트 구조, 시퀀스/ACK 번호, RTT 추정, 신뢰적 전송, 흐름 제어, 혼잡 제어(슬로 스타트, 혼잡 회피, 빠른 회복), TCP 공정성을 다룹니다.
Published on2026년 3월 19일[컴퓨터 네트워크] 11. 네트워크 계층 개요: 포워딩과 라우팅computer-networkingcs-fundamentals네트워크 계층의 핵심 기능인 포워딩과 라우팅의 차이를 이해하고, 가상 회선과 데이터그램 네트워크, 라우터 내부 구조를 학습합니다.
Published on2026년 3월 19일[컴퓨터 네트워크] 12. IP 프로토콜: 데이터그램과 주소 체계computer-networkingcs-fundamentalsIPv4 데이터그램 형식, IP 단편화, 서브넷과 CIDR, DHCP, NAT, ICMP 프로토콜, 그리고 IPv6로의 전환까지 IP 프로토콜의 모든 것을 학습합니다.
Published on2026년 3월 19일[컴퓨터 네트워크] 13. 라우팅 알고리즘: Link-State와 Distance-Vectorcomputer-networkingcs-fundamentals네트워크 최적 경로를 찾기 위한 Link-State(다익스트라)와 Distance-Vector(벨만-포드) 알고리즘을 비교하고, count-to-infinity 문제와 해결책을 학습합니다.
Published on2026년 3월 19일[컴퓨터 네트워크] 14. 인터넷 라우팅: OSPF와 BGPcomputer-networkingcs-fundamentals인터넷의 계층적 라우팅 구조를 이해하고, AS 내부 라우팅(RIP, OSPF)과 AS 간 라우팅(BGP)의 동작 원리, 경로 선택 방법을 학습합니다.
Published on2026년 3월 19일[컴퓨터 네트워크] 15. 링크 계층: 오류 검출과 다중 접속 프로토콜computer-networkingcs-fundamentals링크 계층의 핵심 서비스, 오류 검출 기법(패리티, 체크섬, CRC), 그리고 다중 접속 프로토콜(채널 분할, 랜덤 접속, 순번 방식)을 학습합니다.
Published on2026년 3월 19일[컴퓨터 네트워크] 16. 이더넷, 스위치, VLANcomputer-networkingcs-fundamentalsARP 프로토콜, 이더넷 프레임 구조, 링크 계층 스위치의 자가 학습과 스패닝 트리, VLAN, MPLS, 데이터 센터 네트워크를 학습합니다.
Published on2026년 3월 19일[컴퓨터 네트워크] 17. 무선 네트워크와 모바일 통신computer-networkingcs-fundamentals무선 링크의 특성, WiFi 802.11의 구조와 MAC 프로토콜, 셀룰러 네트워크(2G/3G/4G LTE), 그리고 모바일 장치의 이동성 관리를 학습합니다.
Published on2026년 3월 19일[컴퓨터 네트워크] 18. 멀티미디어 네트워킹과 스트리밍computer-networkingcs-fundamentals비디오/오디오의 특성, 스트리밍 기술(UDP/HTTP/DASH), CDN 아키텍처, VoIP의 지터와 손실 복구, QoS 보장 메커니즘을 학습합니다.
Published on2026년 3월 19일[컴퓨터 네트워크] 19. 네트워크 보안: 암호학부터 방화벽까지computer-networkingcs-fundamentals대칭키/공개키 암호, 메시지 무결성(해시, MAC, 전자서명), 인증 프로토콜, SSL/TLS, IPsec/VPN, 방화벽, IDS를 학습합니다.
Published on2026년 3월 19일[컴퓨터 네트워크] 20. 네트워크 관리와 SNMPcomputer-networkingcs-fundamentals네트워크 관리의 개요, 관리 인프라(관리 장치, MIB, 에이전트), SNMP 프로토콜, SMI, ASN.1, SNMP 보안을 학습합니다.
Published on2026년 3월 19일[운영체제] 01. 운영체제란 무엇인가operating-systemcs-fundamentals운영체제의 정의와 역할, 컴퓨터 시스템 구성(인터럽트, 저장 계층, I/O), 시스템 아키텍처(멀티프로세서, 멀티코어, NUMA), OS 운영 방식(이중 모드, 타이머), 자원 관리를 다룹니다.
Published on2026년 3월 19일[운영체제] 02. 운영체제 구조와 서비스operating-systemcs-fundamentals운영체제가 제공하는 서비스(UI, 프로그램 실행, I/O, 파일 시스템, 통신, 보호), 시스템 콜의 유형과 API, OS 구조(모놀리식, 계층형, 마이크로커널, 하이브리드), 시스템 부팅 과정을 다룹니다.
Published on2026년 3월 19일[운영체제] 03. 프로세스: 개념, 생성, 통신operating-systemcs-fundamentals프로세스 개념(상태, PCB), 프로세스 스케줄링, 프로세스 연산(fork, exec), 프로세스 간 통신(공유 메모리, 메시지 전달), 파이프, 클라이언트-서버 통신(소켓, RPC)을 다룹니다.
Published on2026년 3월 19일[운영체제] 04. 스레드와 동시성 프로그래밍operating-systemcs-fundamentals스레드 개념과 동기, 멀티코어 프로그래밍(암달의 법칙), 멀티스레딩 모델, 스레드 라이브러리(Pthreads, Java), 암묵적 스레딩(스레드 풀, fork-join, OpenMP)을 다룹니다.
Published on2026년 3월 19일[운영체제] 05. CPU 스케줄링 알고리즘operating-systemcs-fundamentalsCPU 스케줄링 개념(CPU 버스트, 선점/비선점), 스케줄링 기준, 알고리즘(FCFS, SJF, 우선순위, 라운드 로빈, 다단계 큐/피드백 큐), 스레드 스케줄링, 다중 프로세서 스케줄링, Linux CFS를 다룹니다.
Published on2026년 3월 19일[운영체제] 06. 프로세스 동기화 도구operating-systemcs-fundamentals임계 영역 문제, 피터슨 해법, 하드웨어 지원(메모리 배리어, CAS, 원자적 변수), 뮤텍스 락, 세마포어, 모니터, 활성 문제(교착 상태, 기아, 우선순위 역전)를 다룹니다.
Published on2026년 3월 19일[운영체제] 07. 동기화 문제: 생산자-소비자, 철학자 식사operating-systemcs-fundamentals고전적 동기화 문제(유한 버퍼, 읽기-쓰기, 식사하는 철학자), POSIX 동기화(뮤텍스, 세마포어, 조건 변수), Java 동기화, 대안적 접근법을 다룹니다.
Published on2026년 3월 19일[운영체제] 08. 교착 상태: 예방, 회피, 탐지, 복구operating-systemcs-fundamentals교착 상태 특성(4가지 조건, 자원 할당 그래프), 교착 상태 예방, 교착 상태 회피(안전 상태, 은행원 알고리즘), 교착 상태 탐지와 복구를 다룹니다.
Published on2026년 3월 19일[운영체제] 09. 메인 메모리 관리operating-systemcs-fundamentals메모리 관리 배경(주소 바인딩, 논리적/물리적 주소, MMU), 연속 메모리 할당, 페이징(기본 개념, TLB, 페이지 테이블 구조), 스와핑, 메모리 보호를 다룹니다.
Published on2026년 3월 19일[운영체제] 10. 가상 메모리: 요구 페이징부터 스래싱까지operating-systemcs-fundamentals가상 메모리 개념, 요구 페이징(페이지 폴트, 성능), 쓰기 시 복사, 페이지 교체 알고리즘(FIFO, 최적, LRU, 클럭), 프레임 할당, 스래싱(워킹 셋 모델), 메모리 매핑 파일을 다룹니다.
Published on2026년 3월 19일[운영체제] 11. 대용량 저장장치 구조operating-systemcs-fundamentalsHDD 구조와 디스크 스케줄링(SCAN, C-SCAN), NVM(SSD) 장치, RAID 수준(0-6), 객체 스토리지, 클라우드 스토리지를 다룹니다.
Published on2026년 3월 19일[운영체제] 12. I/O 시스템operating-systemcs-fundamentalsI/O 하드웨어(포트, 버스, 컨트롤러), 폴링, 인터럽트, DMA, 애플리케이션 I/O 인터페이스, 커널 I/O 서브시스템을 다룹니다.
Published on2026년 3월 19일[운영체제] 13. 파일 시스템 인터페이스operating-systemcs-fundamentals파일 개념(속성, 연산), 접근 방법(순차, 직접), 디렉토리 구조, 파일 공유, 보호(ACL, 권한)를 다룹니다.
Published on2026년 3월 19일[운영체제] 14. 파일 시스템 구현operating-systemcs-fundamentals파일 시스템 구조, 디스크/메모리 내 구조, VFS, 디렉토리 구현, 할당 방법, 빈 공간 관리, 저널링을 다룹니다.
Published on2026년 3월 19일[운영체제] 15. 파일 시스템 내부 구조operating-systemcs-fundamentals파일 시스템 마운팅, 파티션, 블록 그룹, ext4 내부 구조, APFS, 성능 최적화, NFS를 다룹니다.
Published on2026년 3월 19일[운영체제] 16. 보안: 위협과 방어operating-systemcs-fundamentals보안 위협 개요, 프로그램 위협(맬웨어, 코드 인젝션, 버퍼 오버플로), 시스템/네트워크 위협, 암호화, 인증, 보안 방어를 다룹니다.
Published on2026년 3월 19일[운영체제] 17. 보호: 접근 제어와 샌드박싱operating-systemcs-fundamentals보호 목표, 보호 링, 보호 도메인, 접근 행렬, RBAC, MAC(SELinux), 샌드박싱, 코드 서명을 다룹니다.
Published on2026년 3월 19일[운영체제] 18. 가상 머신: 하이퍼바이저부터 컨테이너까지operating-systemcs-fundamentalsVM의 이점, Type 1/Type 2 하이퍼바이저, 하드웨어 지원 가상화(VT-x), 반가상화, 컨테이너(Docker, Kubernetes), VM 마이그레이션을 다룹니다.
Published on2026년 3월 19일[운영체제] 19. 네트워크와 분산 시스템operating-systemcs-fundamentals네트워크 유형, TCP/IP 모델, 분산 시스템의 장점과 과제, 분산 파일 시스템(NFS, GFS, HDFS), MapReduce, 분산 조정을 다룹니다.
Published on2026년 3월 19일[운영체제] 20. 리눅스와 Windows 10 운영체제 비교operating-systemcs-fundamentalsLinux 커널 아키텍처, 프로세스/메모리/파일시스템 관리, 커널 모듈과 Windows 10 아키텍처, 객체 관리자, NTFS, WSL을 비교합니다.