๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

๐Ÿ”– ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค ํƒœ๊ทธ

๋ชจ๋“  ํƒœ๊ทธ ๋ณด๊ธฐ

Multi Racing Car - ํ”„๋ ˆ์ž„์›Œํฌ ์—†์ด ๋งŒ๋“œ๋Š” ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด ๊ฒŒ์ž„

Java ServerSocket๊ณผ WebSocket์„ ๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ๊ตฌํ˜„ํ•œ ์‹ค์‹œ๊ฐ„ 4์ธ ๋ ˆ์ด์‹ฑ ๊ฒŒ์ž„. RFC 6455 ํ‘œ์ค€์„ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋ฉฐ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ฐ€์น˜๋ฅผ ์ดํ•ดํ•˜๊ณ , ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ์˜ ๋™์‹œ์„ฑ ์ œ์–ด์™€ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ ์›์น™์„ ์‹ค์ „์— ์ ์šฉํ•œ 3์ฃผ๊ฐ„์˜ ์—ฌ์ •

ํ”„๋ ˆ์ž„์›Œํฌ ์—†์ด ๊ฐœ๋ฐœํ•˜๋ฉฐ ๋ฐฐ์šด ๊ฒƒ๋“ค

3์ฃผ๊ฐ„์˜ ์—ฌ์ •์„ ๋งˆ์น˜๋ฉฐ ์ •๋ฆฌํ•˜๋Š” ๊ธฐ์ˆ ์  ์„ฑ์žฅ๊ณผ ๋ฐฐ์›€์˜ ํšŒ๊ณ . ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ฐ€์น˜๋ฅผ ์ดํ•ดํ•˜๊ณ , RFC 6455๋ฅผ ์ฝ์œผ๋ฉฐ WebSocket์„ ๊ตฌํ˜„ํ•˜๊ณ , Race Condition์„ ๊ฒฝํ—˜ํ•˜๊ณ , ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์˜ ํ•œ๊ณ„๋ฅผ ๊นจ๋‹ฌ์œผ๋ฉฐ, SRP์™€ DIP๋ฅผ ์‹ค์ „์— ์ ์šฉํ•œ ๊ณผ์ •์—์„œ ์–ป์€ ๊ฐ€์žฅ ํฐ ๋ฐฐ์›€์€ '๋ชจ๋ฅด๋Š” ๊ฒƒ์„ ์Šค์Šค๋กœ ์ฐพ์•„์„œ ๋ฐฐ์šฐ๋Š” ๋ฒ•'์ด์—ˆ์Šต๋‹ˆ๋‹ค