๐Ÿ“Œ Overview

42Seoul C++98 ๊ธฐ๋ฐ˜ IRC ์„œ๋ฒ„ ๊ตฌํ˜„

ํ•ญ๋ชฉ ๋‚ด์šฉ
๊ธฐ๊ฐ„ 2024.10 ~ 2024.11
์Šคํƒ C++98 TCP Socket poll() Makefile Docker Python
ํŒ€ 3์ธ (Server 1 ยท Cmd 2)
๋‹ด๋‹น Server / Infra


๐Ÿงฉ Core features



๐Ÿ—๏ธ System Architecture

architecture


Layer Responsibility
I/O ํด๋ผ์ด์–ธํŠธ ์ ‘์† ์ˆ˜๋ฝ, non-blocking read/write, send buffer ๊ด€๋ฆฌ
Protocol IRC ๋ฉ”์‹œ์ง€ ํŒŒ์‹ฑ, ๋ช…๋ น์–ด dispatch, numeric reply ์ƒ์„ฑ
State ํด๋ผ์ด์–ธํŠธ, ์ฑ„๋„, ๋‹‰๋„ค์ž„ ์ธ๋ฑ์Šค, ์ฑ„๋„ ๋ชจ๋“œ ๊ด€๋ฆฌ
Test Python socket ๊ธฐ๋ฐ˜ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋กœ ํšŒ๊ท€ ๊ฒ€์ฆ


๐Ÿšจ Key Decisions & Troubleshooting

ํด๋ผ์ด์–ธํŠธ ์‚ญ์ œ ์ง€์—ฐ ์ฒ˜๋ฆฌ โ€” ๋ฐ˜๋ณต์ž ๋ฌดํšจํ™”์™€ use-after-free ๋ฐฉ์ง€


ํ…Œ์ŠคํŠธ ์•ˆ์ „๋ง ๊ตฌ์ถ• โ€” ๋ฆฌํŒฉํ† ๋ง ํšŒ๊ท€ ๋ฐฉ์ง€