๐Ÿ˜Ž ์ „์ฒด ์นดํ…Œ๊ณ ๋ฆฌ

    [Java] ์ž๋ฐ” ์ง๋ ฌํ™” (Serialization)

    [Java] ์ž๋ฐ” ์ง๋ ฌํ™” (Serialization)

    ๐Ÿค” 1. ์ž๋ฐ” ์ง๋ ฌํ™”๋ž€? ์ž๋ฐ” ์ง๋ ฌํ™”(Java Serialization)์€, ๊ฐ์ฒด์˜ ์ƒํƒœ๋ฅผ ์˜์†ํ™” ํ•˜๋Š” ๋งค์ปค๋‹ˆ์ฆ˜์ž…๋‹ˆ๋‹ค. ์˜์†ํ™”๋Š”, ์˜๊ตฌ์ ์œผ๋กœ ์†์„ฑ์„ ์ €์žฅํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋ฏ€๋กœ, ์‰ฝ๊ฒŒ ํ’€์–ด์„œ ์„ค๋ช…ํ•˜๋ฉด ๊ฐ์ฒด๋ฅผ ๋‹ค๋ฅธ ํ™˜๊ฒฝ์— ์ €์žฅํ–ˆ๋‹ค๊ฐ€ ๋‚˜์ค‘์— ์žฌ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ๊ณง ์ž๋ฐ” ์ง๋ ฌํ™”์˜ ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ ์ €์žฅ์ด๋ผ๊ณ  ํ‘œํ˜„ํ–ˆ์ง€๋งŒ, ์ผ๋ฐ˜์ ์œผ๋กœ ์šฐ๋ฆฌ๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ €์žฅ, ํŒŒ์ผ์˜ ํ˜•ํƒœ๋กœ ์ €์žฅ๋„ ํ•ด๋‹น์ด ๋˜์ง€๋งŒ, ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์บ์‹œ์— ์ €์žฅํ•˜๋Š” ๊ฒƒ ์—ญ์‹œ ์ง๋ ฌํ™”๋ผ๊ณ  ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž๋ฐ” ์ง๋ ฌํ™”๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด๋ฅผ ์˜จ์ „ํžˆ ๋‹ค๋ฅธ ๊ณณ์— ์ €์žฅํ•˜๊ณ , ๋‹ค์‹œ ์˜จ์ „ํ•œ ๊ฐ์ฒด๋กœ ์žฌ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‰ฝ๊ฒŒ ๋ถ„์‚ฐ ๊ฐ์ฒด ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ์ž๋ฐ” ์ง๋ ฌํ™”์—์„œ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์€, ๊ฐ์ฒด๋ฅผ ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ์˜ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด ์ด๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๐Ÿค” ..

    [Spring WebFlux] 1. Mono์™€ Flux์— ๋Œ€ํ•œ ์ดํ•ด(2) : ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” operator (method)

    [Spring WebFlux] 1. Mono์™€ Flux์— ๋Œ€ํ•œ ์ดํ•ด(2) : ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” operator (method)

    ๐Ÿช„ 0. ์ด์ „ ๊ธ€ Mono์™€ Flux์— ๋Œ€ํ•œ ์ดํ•ด๋Š” ์ด์ „ ๊ธ€์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [Spring WebFlux] 1. Mono์™€ Flux์— ๋Œ€ํ•œ ์ดํ•ด(1) : ์ž‘๋™ ๋ฐฉ์‹๊ณผ ์ดํ•ด ๐Ÿ 0. ์ด์ „ ๊ธ€ (0. ๋ฆฌ์•กํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์†Œ๊ฐœ) [Spring WebFlux] 0. ๋ฆฌ์•กํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์†Œ๊ฐœ ๐Ÿค” 1. ๋ฆฌ์•กํ„ฐ(Reactor)๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ๊ฐ„๋‹จ ์šฉ์–ด ์ •๋ฆฌ - Reactive Stream : JVM ์œ„์—์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์•กํ‹ฐ hoons-dev.tistory.com ๐Ÿ 1. ์ƒˆ๋กœ์šด ์‹œํ€€์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” Operator ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ƒˆ๋กœ์šด ์‹œํ€€์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ, ๋‹ค์–‘ํ•œ ์˜คํผ๋ ˆ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1) T ํƒ€์ž…์˜ ๊ฐ์ฒด๋ฅผ ๋ฐฉ์ถœํ•˜๊ณ , ํ•ด๋‹น ํƒ€์ž…์„ ์†Œ์ง€ํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ. public static Fl..

    [Spring WebFlux] 1. Mono์™€ Flux์— ๋Œ€ํ•œ ์ดํ•ด(1) : ์ž‘๋™ ๋ฐฉ์‹๊ณผ ์ดํ•ด

    [Spring WebFlux] 1. Mono์™€ Flux์— ๋Œ€ํ•œ ์ดํ•ด(1) : ์ž‘๋™ ๋ฐฉ์‹๊ณผ ์ดํ•ด

    ๐Ÿ 0. ์ด์ „ ๊ธ€ (0. ๋ฆฌ์•กํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์†Œ๊ฐœ) [Spring WebFlux] 0. ๋ฆฌ์•กํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์†Œ๊ฐœ ๐Ÿค” 1. ๋ฆฌ์•กํ„ฐ(Reactor)๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ๊ฐ„๋‹จ ์šฉ์–ด ์ •๋ฆฌ - Reactive Stream : JVM ์œ„์—์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์•กํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ‘œ์ค€ํ™”์‹œํ‚จ ๊ฒƒ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค์˜ ํ˜•ํƒœ๋กœ hoons-dev.tistory.com ๐Ÿค” 1. Mono์™€ Flux๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. 1-1. Flux Flux๋Š” Reactive Stream์˜ Publisher์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ํผ๋ธ”๋ฆฌ์…”๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋ชจ๋ฅธ๋‹ค๋ฉด, ์ง€๋‚œ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ํ•ด์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๊ณต์‹ ๋ ˆํผ๋Ÿฐ์Šค์˜ Flux์ž…๋‹ˆ๋‹ค. "All Implemented Interfaces"๋ฅผ ํ™•์ธํ•˜๋ฉด, ๋ฆฌ์•กํ‹ฐ๋ธŒ ์ŠคํŠธ๋ฆผ์—์„œ ์ •์˜ํ•œ P..

    [DEVLOG] if(kakao) dev 2022 ๊ฐœ๋ฐœ์ž ์ปจํผ๋Ÿฐ์Šค ํ›„๊ธฐ - 1. ISFP์˜ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ๊ฐœ์„  ๊ฒฝํ—˜

    [DEVLOG] if(kakao) dev 2022 ๊ฐœ๋ฐœ์ž ์ปจํผ๋Ÿฐ์Šค ํ›„๊ธฐ - 1. ISFP์˜ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ๊ฐœ์„  ๊ฒฝํ—˜

    ๋ณธ ํฌ์ŠคํŠธ๋Š” ์นด์นด์˜ค ์ปจํผ๋Ÿฐ์Šค if(kakao) dev 2022 ์ปจํผ๋Ÿฐ์Šค ๋‚ด์šฉ ๋ฐ ์ž๋ฃŒ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜น์—ฌ๋‚˜ ๊ถŒ๋ฆฌ ๊ด€๋ จ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด, ๊ธ€ ์ˆ˜์ • / ์‚ญ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ 0. ์œ ํŠœ๋ธŒ ๋‹ค์‹œ๋ณด๊ธฐ ์˜์ƒ https://www.youtube.com/watch?v=emGLxi0LvNI&list=LL&index=46&t=165s ๐Ÿค” 1. ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ๊ฐœ์„  ๊ฒฝํ—˜ ์ผ๋ฐ˜์ ์ธ ๋ฆฌํŒฉํ† ๋ง์€, ๊ธฐ์กด์˜ ๋กœ์ง์€ ๋ณ€ํ•จ ์—†์ด ์ฝ”๋“œ์˜ ๊ตฌ์กฐ ํ˜น์€ ๊ฐ€๋…์„ฑ์„ ๋†’์ด๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค. ์ค‘๋ณต์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜, ๊ธด ์„œ๋ธŒ๋ฃจํ‹ด์„ ์ชผ๊ฐœ๋Š” ์ž‘์—…, ์—ฌ๋Ÿฌ๊ฐ€์ง€๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•จ์ˆ˜์—์„œ ์—ญํ• ์˜ ๋ถ„๋ฆฌ, ์ „์—ญ๋ณ€์ˆ˜ ์„ค์ •, ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ๋„ค์ด๋ฐ ์ˆ˜์ •, ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ ๋“ฑ์ด ์ผ๋ฐ˜์ ์ธ ๋ฆฌํŒฉํ† ๋ง์„ ์˜๋ฏธํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์นด์นด์˜ค์˜ coze ๊ฐœ๋ฐœ์ž๋‹˜์€, ..

    [Spring WebFlux] 0. ๋ฆฌ์•กํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์†Œ๊ฐœ

    [Spring WebFlux] 0. ๋ฆฌ์•กํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์†Œ๊ฐœ

    ๐Ÿค” 1. ๋ฆฌ์•กํ„ฐ(Reactor)๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ๊ฐ„๋‹จ ์šฉ์–ด ์ •๋ฆฌ - Reactive Stream : JVM ์œ„์—์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์•กํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ‘œ์ค€ํ™”์‹œํ‚จ ๊ฒƒ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค์˜ ํ˜•ํƒœ๋กœ ์ŠคํŽ™์ด ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. - Reactor3 : Reactive Stream ์ŠคํŽ™์„ ๊ตฌํ˜„ํ•œ ๊ตฌํ˜„์ฒด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. JVM ์œ„์—์„œ ๋ฆฌ์•กํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ผ๋Š” ์ƒˆ๋กœ์šด ํŒจ๋Ÿฌ๋‹ค์ž„์„ ์ ์šฉ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. - TCK(Reactive Streams Technology Compatibility Kit) : Reactive Streams ๊ตฌํ˜„์ž๊ฐ€ ์‚ฌ์–‘์— ์ •์˜๋œ ๊ทœ์น™์— ๋Œ€ํ•ด ๊ตฌํ˜„์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ์ง€์นจ์œผ๋กœ, TestNG๋ผ๋Š” Java์˜ ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„ ์›Œํฌ๋กœ ๊ฐœ๋ฐœ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ์•กํ‹ฐ๋ธŒ ์ŠคํŠธ๋ฆผ์˜ ..

    [DEVLOG] ์šฐ๋‹นํƒ•ํƒ• ์ œ๋ฐœ๋ชจ๋ฐœ v2 ๊ฐœ๋ฐœ๊ธฐ - ํƒˆ๋ชจ ์ง„๋‹จ API ์ˆ˜์ •ํ•˜๊ธฐ (4) createdAt๊ณผ updatedAt, JPA AttributeConverter

    [DEVLOG] ์šฐ๋‹นํƒ•ํƒ• ์ œ๋ฐœ๋ชจ๋ฐœ v2 ๊ฐœ๋ฐœ๊ธฐ - ํƒˆ๋ชจ ์ง„๋‹จ API ์ˆ˜์ •ํ•˜๊ธฐ (4) createdAt๊ณผ updatedAt, JPA AttributeConverter

    ๐Ÿ˜Ž 0. ์ด์ „ ๊ธ€ [DEVLOG] ์šฐ๋‹นํƒ•ํƒ• ์ œ๋ฐœ๋ชจ๋ฐœ v2 ๊ฐœ๋ฐœ๊ธฐ - ํƒˆ๋ชจ ์ง„๋‹จ API ์ˆ˜์ •ํ•˜๊ธฐ (3) DTO์— ๋”ฐ๋ฅธ ์‘๋‹ต ์ƒ์„ฑ ํด๋ž˜์Šค ๋งŒ ๐Ÿ˜Ž 0. ์ด์ „ ๊ธ€ [DEVLOG] ์šฐ๋‹นํƒ•ํƒ• ์ œ๋ฐœ๋ชจ๋ฐœ v2 ๊ฐœ๋ฐœ๊ธฐ - ํƒˆ๋ชจ ์ง„๋‹จ API ์ˆ˜์ •ํ•˜๊ธฐ (1) ๋ณ€์ˆ˜ ์ž‘๋ช…, Optional, Enum ํ™œ์šฉ ๐Ÿ 0. ์„œ๋ก  ์กธ์—…์ž‘ํ’ˆ์œผ๋กœ ํƒˆ๋ชจ ์ง„๋‹จ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ธ '์ œ๋ฐœ๋ชจ๋ฐœ'์„ ๊ฐœ๋ฐœํ•˜๊ณ , 'ํ•ด๋‹น ํ”Œ hoons-dev.tistory.com ๐Ÿค” 1. createdAt๊ณผ updatedAt ๋ชจ๋“  ์—”ํ‹ฐํ‹ฐ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ createdAt๊ณผ updatedAt์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๋•Œ '์ƒ์„ฑ๋œ ์‹œ๊ฐ„ ์ •๋ณด'์™€ '์ˆ˜์ •๋œ ์‹œ๊ฐ„ ์ •๋ณด'๋Š” ์—ฌ๋Ÿฌ๋ชจ๋กœ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ๋˜ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. JPA๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ @CreatedDate, @LastModifiedDat..

    [๋””์ž์ธํŒจํ„ด] ๋””์ž์ธ ํŒจํ„ด (3) - ์–ด๋Œ‘ํ„ฐ ํŒจํ„ด (Adatper Pattern)

    ๐Ÿ 1. ์–ด๋Œ‘ํ„ฐ ํŒจํ„ด(Adapter Pattern)์ด๋ž€? ํ•œ๊ตญ์˜ ๊ฐ€์ •์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ „์••์€ 220V์ž…๋‹ˆ๋‹ค. ๋ฏธ๊ตญ์˜ ๊ฐ€์ •์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ „์••์€, 110V๋ฅผ ์‚ฌ์šฉํ•˜์ฃ . ํ•œ๊ตญ์‚ฌ๋žŒ์ด ๋ฏธ๊ตญ์œผ๋กœ ์—ฌํ–‰์„ ๊ฐ€์„œ, ์ˆ™์†Œ์— ๋จธ๋ฌธ๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค. ํ•œ๊ตญ์˜ ํ•ธ๋“œํฐ ์ถฉ์ „๊ธฐ๋ฅผ ๋“ค๊ณ , ๋ฏธ๊ตญ์—์„œ ๊ผฝ์œผ๋ ค๊ณ  ํ•˜๋‹ˆ, ๋‹จ์ž๊ฐ€ ๋งž์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฏธ๊ตญ์˜ ์ „๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด, 110V์— ๋งž๋Š” ๋‹จ์ž๋ฅผ ๊ผฝ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด, ์šฐ๋ฆฌ๋Š” ๋ณดํ†ต ํ•œ๊ตญ์˜ ์ถฉ์ „๊ธฐ๋ฅผ ๋ฒ„๋ฆฌ๊ณ  ๋ฏธ๊ตญ์˜ ์ถฉ์ „๊ธฐ๋ฅผ ์ƒˆ๋กœ ์‚ฌ์ง€ ์•Š๊ณ , ์–ด๋Œ‘ํ„ฐ(Adapter, ๋ณ€ํ™˜๊ธฐ)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์–ด๋Œ‘ํ„ฐ ํŒจํ„ด์€ ํ˜ธํ™˜์„ฑ์ด ์—†๋Š” ๊ธฐ์กด ํด๋ž˜์Šค์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ณ€ํ™˜ํ•ด ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ํŒจํ„ด์ž…๋‹ˆ๋‹ค. ํ˜ธํ™˜์„ฑ์ด ์—†๋Š” ๊ธฐ์กด ํด๋ž˜์Šค๋Š” ํ•œ๊ตญ์˜ 220V ์ถฉ์ „๊ธฐ์™€ ๋™์ผํ•˜๊ณ , ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ณ€ํ™˜ํ•ด ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋Œ‘..

    [๋””์ž์ธํŒจํ„ด] ๋””์ž์ธ ํŒจํ„ด(2) - ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด(Singleton Pattern)

    ๐Ÿ 1. ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด(Singleton Pattern)์ด๋ž€? ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์€, ์–ด๋– ํ•œ ํด๋ž˜์Šค(๊ฐ์ฒด)๊ฐ€ ์œ ์ผํ•˜๊ฒŒ ๋‹จ ํ•œ ๊ฐœ๋งŒ ์กด์žฌํ•ด์•ผ ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ฃผ๋กœ ์„œ๋กœ ์ž์›์„ ๊ณต์œ ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ƒ์„ฑ๋œ ๋‹จ ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋ฅผ ๊ณต์œ ํ•˜๋ฉฐ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์€ ๋””์ž์ธ ํŒจํ„ด ์ค‘์—, '์ƒ์„ฑ' ํŒจํ„ด์— ์†ํ•ฉ๋‹ˆ๋‹ค. ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์„ ํ†ตํ•ด ๋‹จ ํ•œ ๋ฒˆ์˜ ์ƒ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ์˜ ์˜ˆ์‹œ๋กœ๋Š” TCP socket ํ†ต์‹ ์—์„œ ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ๋œ connect ๊ฐ์ฒด์— ์ฃผ๋กœ ์‚ฌ์šฉํ•ด์„œ ํ•œ ์†Œ์ผ“์—์„œ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. TCP ์—ฐ๊ฒฐ์„ ํ•  ๋•Œ ์„œ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๋น„์šฉ์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏธ ํ•œ ๋ฒˆ ์—ด๋ ค์žˆ๋Š” ์†Œ์ผ“์„ ์žฌํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์ง€, ์š”์ฒญ๋งˆ๋‹ค ๊ณ„์† connection์„ ๋งบ์„ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์Šคํ”„๋ง์—์„œ 'Bean'์ด๋ผ๊ณ  ..