์ „์ฒด ๊ธ€ 125

# ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ํ†ต์‹  ์„ค๊ณ„

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์—์„œ ๊ฐ ์„œ๋น„์Šค๋“ค์„ ํ˜ธ์ถœํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ†ต์‹  ๋ฐฉ๋ฒ•์ด๊ณผ ๊ณ ๋ คํ•ด์•ผ ๋  ์‚ฌํ•ญ๋“ค์ด ์žˆ๋‹ค. RPC ์„ ํƒ์‹œ ๊ณ ๋ ค ์‚ฌํ•ญ API์— ๋Œ€ํ•œ RPC ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์„ ํƒํ•˜๊ธฐ ์ „์— ์„œ๋น„์Šค์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ ์Šคํƒ€์ผ์„ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ์ƒํ˜ธ ์ž‘์šฉ์ด ์ผ๋Œ€์ผ์ธ์ง€ ์ผ๋Œ€๋‹ค์ธ์ง€ ์—ฌ๋ถ€ ์ƒํ˜ธ ์ž‘์šฉ์ด ๋™๊ธฐ์‹์ธ์ง€ ๋น„๋™๊ธฐ์‹์ธ์ง€ ์—ฌ๋ถ€ One-way notifications: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋น„์Šค์— ์š”์ฒญ์„ ๋ณด๋‚ด์ง€๋งŒ ์‘๋‹ต์„ ๊ธฐ๋Œ€ํ•˜์ง€ ์•Š๋Š” ๋ฐฉ์‹ ๋ฉ”์‹œ์ง€ ํ˜•์‹ 1. ํ…์ŠคํŠธ ํ˜•์‹ JSON or XML์€ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ํ˜•์‹์ด๋‹ค. ๐Ÿ‘์žฅ์  ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค. ๐Ÿ‘Ž๋‹จ์  ๋ฉ”์‹œ์ง€๊ฐ€ ์žฅํ™ฉํ•˜๋‹ค. ํ…์ŠคํŠธ ๊ตฌ๋ฌธ ๋ถ„์„๊ณผ ๊ด€๋ จ๋œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์กด์žฌํ•œ๋‹ค. 2. ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜•์‹ Thrift, Protocol Buffers(Protobuf) ๋ฐ A..

Microservice/Design 2022.05.19

# ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ๋ฐ์ดํ„ฐ ์„ค๊ณ„

์„œ๋น„์Šค๋‹น ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด์  ๊ฐ ์„œ๋น„์Šค ๊ฐ„ ๋Š์Šจํ•œ ๊ฒฐํ•ฉ์œผ๋กœ ์˜์กด์„ฑ์„ ๋‚ฎ์ถ”๊ณ  ์„œ๋น„์Šค ํŠน์„ฑ์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์„ ํƒ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ฌธ์ œ์  ๋ฐ ํ•ด๊ฒฐ๋ฐฉ๋ฒ• ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ†ตํ•ด ์กฐ์ธํ•ด์•ผ ํ•˜๋Š” ์ฟผ๋ฆฌ ์ด๋ฒคํŠธ ์†Œ์‹ฑ API ๊ตฌ์„ฑ CQRS(๋ช…๋ น/์กฐํšŒ ์ฑ…์ž„ ๋ถ„๋ฆฌ) ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๊ฑธ์นœ ํŠธ๋žœ์žญ์…˜ ์‚ฌ๊ฐ€ํ˜„ ํŒจํ„ด 1-1. ์ด๋ฒคํŠธ ์†Œ์‹ฑ (Event Sourcing) ์ด๋ฒคํŠธ ์†Œ์‹ฑ์ด๋ž€, ์ด๋ฒคํŠธ๋ฅผ ์œ„์ฃผ๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜๊ณ , ์• ๊ทธ๋ฆฌ๊ฑฐํŠธ๋ฅผ event store์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. โœ… ์• ๊ทธ๋ฆฌ๊ฑฐํŠธ: DDD์— ๊ธฐ๋ฐ˜ํ•œ ์„ค๊ณ„์—์„œ ํ•˜๋‚˜์˜ ๋„๋ฉ”์ธ์—์„œ ํ•„์š”ํ•œ ๊ฐ์ฒด๋“ค์„ ํ•˜๋‚˜์˜ ๊ตฐ์ง‘์œผ๋กœ ๋ฌถ์€ ๊ฒƒ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง„ ์„œ๋น„์Šค๊ฐ€ ์ง์ ‘ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•˜๊ฒŒ ํ•˜์ง€ ์•Š๊ณ , ์„œ๋น„์Šค๋Š” ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๊ณ  ํ•ด๋‹น ์ด๋ฒคํŠธ๋Š” event store์— ์ €์žฅ๋งŒ ํ•œ๋‹ค...

Microservice/Design 2022.05.19

# ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์„ค๊ณ„ ์›์น™

1. ๋น„์ฆˆ๋‹ˆ์Šค ๋„๋ฉ”์ธ์„ ์ค‘์‹ฌ์œผ๋กœ ๋ชจ๋ธ๋ง ๋„๋ฉ”์ธ ๊ธฐ๋ฐ˜ ์„ค๊ณ„๋ฅผ ํ†ตํ•ด ๋”์šฑ ์•ˆ์ •๋œ ์„œ๋น„์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•ด ๋ณด๋‹ค ์‰ฝ๊ฒŒ ๊ฐ ์„œ๋น„์Šค๋“ค์„ ์žฌ๊ฒฐํ•ฉ ํ•  ์ˆ˜ ์žˆ๋‹ค. 2. ์ž๋™ํ™” ๋ฌธํ™” ๋งŽ์€ ์ˆ˜์˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์˜ ๋ณต์žก์„ฑ์„ ๊ด€๋ฆฌํ•˜๋ ค๋ฉด ์ž๋™ํ™”๊ฐ€ ํ•„์ˆ˜์ ์ด๋‹ค. CI/CD ๋นŒ๋“œ ํŒŒ์ดํ”„๋ผ์ธ ๋‹จ๊ณ„์—์„œ์˜ SIT(System Integration Testing) & UAT(User Acceptance Testing) ํ…Œ์ŠคํŠธ ํ”„๋กœ๋น„์ €๋‹, OS ๊ตฌ์„ฑ, ์„œ๋น„์Šค ์ด๋ฏธ์ง€ ์ƒ์„ฑ ๋“ฑ 3. ๊ตฌํ˜„ ์„ธ๋ถ€ ์ •๋ณด ์ˆจ๊ธฐ๊ธฐ ์„œ๋น„์Šค๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ๋ณ€๊ฒฝ๋˜๊ณ  ์ง„ํ™”ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐ ์„œ๋น„์Šค์˜ ๊ตฌํ˜„ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์ˆจ๊ฒจ์•ผ ํ•œ๋‹ค. ํ•„์š”ํ•œ ์ •๋ณด๋Š” DB์— ์ง์ ‘ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ๊ฐ ์„œ๋น„์Šค API๋ฅผ ํ†ตํ•ด์„œ ์–ป์–ด์•ผ ํ•œ๋‹ค. 4. ๋ชจ๋“  ๊ฒƒ์„ ๋ถ„๊ถŒํ™”ํ•˜๊ธฐ ๊ฐ ์„œ๋น„์Šค๋Š” ..

Microservice/Design 2022.05.19

EFFECTIVE JAVA3 - 3์žฅ. ๋ชจ๋“  ๊ฐ์ฒด์˜ ๊ณตํ†ต ๋ฉ”์„œ๋“œ

์•„์ดํ…œ 10. equals๋Š” ์ผ๋ฐ˜ ๊ทœ์•ฝ์„ ์ง€์ผœ ์žฌ์ •์˜ํ•˜๋ผ ์ผ๋ฐ˜์ ์œผ๋กœ equals๋ฅผ ์žฌ์ •์˜ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹๋‹ค. ๐Ÿ”ธ equals๋ฅผ ์žฌ์ •์˜ ํ•˜์ง€ ์•Š์•„๋„ ๋  ๋•Œ ๊ฐ ์ธ์Šคํ„ด์Šค๊ฐ€ ๋ณธ์งˆ์ ์œผ๋กœ ๊ณ ์œ ํ•  ๋•Œ - Thread ์‹ฑ๊ธ€ํ†ค ์ธ์Šคํ„ด์Šค Enum ๐Ÿ”ธ equals๋ฅผ ์žฌ์ •์˜ ํ•  ๋•Œ ์ง€์ผœ์•ผ ํ•  ๊ทœ์•ฝ (null์ด ์•„๋‹Œ ์ฐธ์กฐ ๊ฐ’) ๋ฐ˜์‚ฌ์„ฑ : x.equals(x)๋Š” true์ด๋‹ค. ๋Œ€์นญ์„ฑ : x.equals(y)๋Š” true์ด๋‹ค. ์ถ”์ด์„ฑ : x.equals(y)๊ฐ€ true์ด๊ณ , y.equals(z)๊ฐ€ true์ด๋ฉด, x.equals(z)๋Š” true์ด๋‹ค. ์ผ๊ด€์„ฑ : x.equals(y)๋ฅผ ๋ฐ˜๋ณตํ•ด์„œ ํ˜ธ์ถœํ•˜๋ฉด ํ•ญ์ƒ ๊ฐ™์€ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. null-์•„๋‹˜ : x.equals(null)์€ false์ด๋‹ค. ๊ตฌ์ฒด ํด๋ž˜์Šค๋ฅผ ํ™•์žฅํ•ด ์ƒˆ๋กœ์šด ๊ฐ’์„ ์ถ”..

EFFECTIVE JAVA3 - 2์žฅ. ๊ฐ์ฒด ์ƒ์„ฑ๊ณผ ํŒŒ๊ดด

EFFECTIVE JAVA3๋ฅผ ์ฝ๊ณ  ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์ด๋ฒˆ ์žฅ์€ ๊ฐ์ฒด์˜ ์ƒ์„ฑ๊ณผ ํŒŒ๊ดด๋ฅผ ๋‹ค๋ฃฌ๋‹ค. ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•  ๋•Œ์™€ ๋งŒ๋“ค์ง€ ๋ง์•„์•ผ ํ•  ๋•Œ๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฒ• ์ œ๋•Œ ํŒŒ๊ดด๋จ์„ ๋ณด์žฅํ•˜๊ณ  ํŒŒ๊ดด ์ „์— ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ์ •๋ฆฌ ์ž‘์—…์„ ๊ด€๋ฆฌํ•˜๋Š” ์š”๋ น ์•„์ดํ…œ 1. ์ƒ์„ฑ์ž ๋Œ€์‹  ์ •์  ํŒฉํ† ๋ฆฌ ๋ฉ”์„œ๋“œ๋ฅผ ๊ณ ๋ คํ•˜๋ผ ์—ฌ๊ธฐ์„œ ์–˜๊ธฐํ•˜๋Š” ์ •์  ํŒฉํ„ฐ๋ฆฌ ๋ฉ”์„œ๋“œ๋Š” ๋””์ž์ธ ํŒจํ„ด์˜ ํŒฉํ† ๋ฆฌ ๋ฉ”์„œ๋“œ์™€ ๋‹ค๋ฅด๋‹ค. ์žฅ์  ๐Ÿ‘ 1. ์ด๋ฆ„์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. โŒ Bad BigInteger(int, int, Random) โœ… Good BigInteger.probablePrime(int, int, Random) "๊ฐ’์ด ์†Œ์ˆ˜์ธ BigInteger๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค" ๋ผ๋Š” ๋ณด๋‹ค ๋ช…ํ™•ํ•œ ์˜๋ฏธ ์ „๋‹ฌ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.2. ํ˜ธ์ถœ๋  ๋•Œ๋งˆ๋‹ค ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. ์ด ๋•๋ถ„..

Clean Code - #3์žฅ. ํ•จ์ˆ˜

์ž‘๊ฒŒ ๋งŒ๋“ค์–ด๋ผ ์–ผ๋งˆ๋‚˜ ์งง์•„์•ผ ์ข‹์„๊นŒ? ์ž‘์„ ์ˆ˜๋ก ์ข‹๋‹ค. ์ค‘์ฒฉ ๊ตฌ์กฐ๊ฐ€ ์ƒ๊ธธ๋งŒํผ ํ•จ์ˆ˜๊ฐ€ ์ปค์ง€๋ฉด ์ข‹์ง€ ์•Š๋‹ค. if/else, while๋ฌธ ๋“ฑ์— ๋“ค์–ด๊ฐ€๋Š” ๋ธ”๋ก์€ ํ•œ ์ค„์ด์–ด์•ผ ํ•œ๋‹ค. ๋‹ค์‹œ ๋งํ•ด ๋ธ”๋ก ์•ˆ์ด ๋‘ ์ค„ ์ด์ƒ์ด ๋œ๋‹ค๋ฉด ํ•จ์ˆ˜๋กœ ์ถ”์ถœํ•˜๊ณ  ํ•จ์ˆ˜ ์ด๋ฆ„์„ ์ ์ ˆํžˆ ์ง“์ž. ํ•œ๊ฐ€์ง€๋งŒ ํ•ด๋ผ ํ•จ์ˆ˜๋Š” ํ•œ๊ฐ€์ง€ ์ผ๋งŒ ํ•ด์•ผํ•˜๋ฉฐ, ํ•จ์ˆ˜ ๋‚ด ์ถ”์ƒํ™” ์ˆ˜์ค€์€ ํ•˜๋‚˜๋กœ ๋งž์ถ”๋ฉด ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์ถ”์ƒํ™” ์ˆ˜์ค€์ด ํ•˜๋‚˜์ธ ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ๋ž€ ์‰ฝ์ง€ ์•Š๋‹ค. ํ•ต์‹ฌ์€ ์งง์œผ๋ฉด์„œ๋„ ํ•œ๊ฐ€์ง€ ์ผ๋งŒ ํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. switch ๋ฌธ ๋‹คํ˜•์„ฑ์„ ์ด์šฉํ•˜์—ฌ ๊ฐ switch ๋ฌธ์„ ์ €์ฐจ์› ํด๋ž˜์Šค์— ์ˆจ๊ธฐ๊ณ  ์ ˆ๋Œ€๋กœ ๋ฐ˜๋ณตํ•˜์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ์•„๋ž˜ Bad ์ฝ”๋“œ์—๋Š” ์ง์› ํƒ€์ž… ๋ณ„๋กœ Pay๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” switch ๋ฌธ์ด ์กด์žฌํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ๋งŽ์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์ง€๋งŒ ๊ฐ€์žฅ ํฐ ๋ฌธ์ œ๋Š” ์•„๋ž˜ switch..

Clean Code - #2์žฅ. ์˜๋ฏธ ์žˆ๋Š” ์ด๋ฆ„

clean code ๋ผ๋Š” ์ฑ…์„ ์ฝ๊ณ ์„œ ์ผ๋ถ€ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค. 2์žฅ. ์˜๋ฏธ ์žˆ๋Š” ์ด๋ฆ„ ์˜๋„๋ฅผ ๋ถ„๋ช…ํžˆ ๋ฐํ˜€๋ผ ๊ทธ๋ฆ‡๋œ ์ •๋ณด๋ฅผ ํ”ผํ•˜๋ผ ์‹ค์ œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ List์ผ์ง€๋ผ๋„ ์ปจํ…Œ์ด๋„ˆ ์œ ํ˜•์„ ์ด๋ฆ„์— ๋„ฃ์ง€ ์•Š๋Š” ํŽธ์ด ์ข‹๋‹ค. โŒ Bad List accountList = new ArrayList(); โœ… Good List accounts = new ArrayList(); ๋ณ€์ˆ˜๋ช…์„ ์†Œ๋ฌธ์ž l์ด๋‚˜ ๋Œ€๋ฌธ์ž O๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๊ฐ€๋…์„ฑ๋ฉด์—์„œ ์ตœ์•…์ด๋‹ค. ์˜๋ฏธ ์žˆ๊ฒŒ ๊ตฌ๋ถ„ํ•˜๋ผ Product๋ผ๋Š” ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ์—ฌ๊ธฐ์— ProductInfo๋‚˜ ProductData์™€ ๊ฐ™์€ ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค๋ฉด ๊ฐœ๋… ๊ตฌ๋ถ„ ์—†์ด ์ด๋ฆ„๋งŒ ๋‹ฌ๋ฆฌํ•œ ๊ฒฝ์šฐ๋‹ค. -Info, -Data๋Š” ์•„๋ฌด๋Ÿฐ ์ •๋ณด๋„ ์ฃผ์ง€ ๋ชปํ•œ๋‹ค. Product1, Product2 ์™€ ๋งˆ์ฐฌ..

# VMware 15 player ์— 'Install vmware tools' ์„ค์น˜ ์•ˆ๋˜๋Š” ์ด์Šˆ ํ•ด๊ฒฐ

vmware15 player์—์„œ window10์„ ์„ค์น˜ํ•˜๊ณ ์„œ vm์˜ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ(drag and drop / Host-guest๊ฐ„ clipboard ๊ณต์œ  / ์ „์ฒด ํ™”๋ฉด ๋“ฑ)์„ ์ถ”๊ฐ€ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ Install vmware tools๋ฅผ ํ™œ์„ฑํ™” ํ•ด์ค˜์•ผํ•œ๋‹ค. ๊ทผ๋ฐ ์ด๊ฒŒ ๋ณ„ ์ง“์„ ๋‹คํ•ด๋„ vm์˜ Install vmware tools ํ‚ค๊ฐ€ ํ™œ์„ฑํ™” ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ด๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฒ„ํŠผ์€ ์žˆ๋Š”๋ฐ ํด๋ฆญํ•  ์ˆ˜๊ฐ€ ์—†์—ˆ๋‹ค. ์žฅ์‹œ๊ฐ„ ์‚ฝ์งˆ์˜ ๊ฒฐ๊ณผ, ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋‹ค. ๋ฌธ์ œ๋Š” ๋“œ๋ผ์ด๋ธŒ์— ์žˆ์—ˆ๋‹ค. Install vmware tools ์„ ์„ค์น˜ํ•˜๋ ค๋ฉด ์ฒ˜์Œ์— ๋“œ๋ผ์ด๋ธŒ ํ˜•ํƒœ๋กœ ์„ค์น˜๊ฐ€ ๋˜๋Š”๋ฐ vm ๊ธฐ๋ณธ ์„ค์ •์—์„œ ๋“œ๋ผ์ด๋ธŒ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜๊ฐ€ ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋”ฐ๋ผ์„œ vm์˜ ์„ค์ •์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํ”Œ๋กœํ”ผ ๋””์Šคํฌ๋ฅผ ์‚ญ์ œํ•˜๊ณ  CD/DVD ๋“œ๋ผ์ด๋ธŒ๋ฅผ ์ถ”๊ฐ€..

OS/Error 2021.01.19

# VM CentOS7์—์„œ yum error [could not resolve host] ๋ฐœ์ƒ

vm์— centos ๊ตฌ์„ฑ ํ›„ yum ์‹คํ–‰์‹œ ํ•ด๋‹น ์—๋Ÿฌ๋กœ ์„ค์น˜๊ฐ€ ์•ˆ๋  ๋•Œ๊ฐ€ ์žˆ๋‹ค. ํ™•์ธ์‚ฌํ•ญ 1. ping์œผ๋กœ ์™ธ๋ถ€ ํ†ต์‹  ํ…Œ์ŠคํŠธ $ ping 8.8.8.8 ํ™•์ธ์‚ฌํ•ญ 2. NetworkManager resolve.conf ํ™•์ธ $ vi /etc/resolv.conf nameserver 192.168.10.1 # ์ถ”๊ฐ€ $ systemctl restart NetworkManager # NetworkManager ์žฌ์‹คํ–‰ $ systemctl status NetworkManager # NetworkManager ๊ธฐ๋™ ํ™•์ธ ๋‹ค์‹œ yum install ์ˆ˜ํ–‰ํ•˜๋ฉด ์ •์ƒ ์ˆ˜ํ–‰ ๋  ๊ฒƒ์ด๋‹ค.

OS/Error 2021.01.18

# VirtualBox์—์„œ CentOS7 ๊ณ ์ • IP ์„ค์ •

๊ธฐ๋ณธ์ ์œผ๋กœ Clean OS๋ฅผ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด ์•„๋ž˜ ์ž‘์—…์€ ํ•ด์ฃผ์ž. yum update yum install epel-release -y Step 1. VirtualBox ๋„คํŠธ์›Œํฌ ์„ค์ •ํ•˜๊ธฐ Step 2. ์„œ๋ฒ„์˜ ๋„คํŠธ์›Œํฌ ์„ค์ • ๋ณ€๊ฒฝ $ vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="dhcp" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy"..

OS 2021.01.12