Loading...
2023. 1. 15. 16:27

[Netty] Netty๋กœ ๋ฐฐ์›Œ๋ณด๋Š” Non-blocking I/O ๊ธฐ์ดˆ

์˜ค๋Š˜์€ Java ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ฝƒ์ธ Netty์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. What is Netty ? Netty๋ฅผ ๋“ค์–ด๋ณด์‹  ๋ถ„๋“ค์ด๋ผ๋ฉด ์•„๋งˆ ํ•œ ๋ฒˆ ์ฏค c10k ๋ฌธ์ œ๋ผ๋Š” ๊ฒƒ์„ ๊ฒฝํ—˜ํ•ด๋ณด์…จ๊ฑฐ๋‚˜ ๊ด€์‹ฌ์„ ๊ฐ€์กŒ์„๋งŒํ•œ ๋ถ„์ด์‹ค ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. Netty๋Š” JVM์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Java NIO ๊ธฐ๋ฐ˜์˜ Non-blocking ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ์–ด๋А ํŠน์ • ํ”„๋กœํ† ์ฝœ(HTTP ๋“ฑ)์˜ ์„œ๋ฒ„๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ TCP, UDP์˜ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ Non-blocking I/O๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. Non-blocking์ด ๋ฌด์—‡์ธ๊ฐ€์š”? ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด, ์–ด๋– ํ•œ ์ž‘์—…์„ ๋ง‰ํž˜์—†์ด ์ด์–ด๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด์ž๋ฉด ์šฐ๋ฆฌ๊ฐ€ ๋ง›์žˆ๋Š” ๋ง›์ง‘์—๊ฐ€์„œ ์Œ์‹์„ ๋จน์œผ๋Ÿฌ ๊ฐ”์Šต๋‹ˆ๋‹ค. ..

2022. 11. 12. 15:27

[Kafka] docker-compose๋ฅผ ํ™œ์šฉํ•œ ๋” ์‰ฌ์šด Kafka ์„œ๋ฒ„ ์„ค์น˜

์ง€๋‚œ ํฌ์ŠคํŠธ์—์„œ Docker๋ฅผ ์ด์šฉํ•ด Kafka์™€ Zookeeper๋ฅผ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Zookeeper์™€ Kafka ์ด๋ฏธ์ง€๋ฅผ pullํ•˜๊ณ  runํ•˜๊ณ , ๋„คํŠธ์›Œํฌ๋ฅผ ๋งŒ๋“œ๋Š” ์ž‘์—…์„ ์ผ์ผ์ด ๋ช…๋ น์–ด๋กœ ์น˜๊ธฐ์—๋Š” ๋„ˆ๋ฌด ๋ถˆํŽธํ•˜๊ณ  ๋ฒˆ๊ฑฐ๋กœ์šด ์ž‘์—…๋“ค์ด ๋งŽ์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ์—” docker-compose๋ฅผ ์ด์šฉํ•ด์„œ ๋ช…๋ น์–ด ํ•˜๋‚˜๋งŒ ๊ฐ€์ง€๊ณ  ์‰ฝ๊ฒŒ ๋กœ์ปฌ์—์„œ Kafka ๋ธŒ๋กœ์ปค๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. docker-compose ๋จผ์ € ์งง๊ฒŒ docker-compose์— ๋Œ€ํ•ด์„œ ์„ค๋ช…์„ ๋“œ๋ฆฌ์ž๋ฉด docker-compose๋Š” Docker์˜ ๊ตฌ์„ฑ ์š”์†Œ(์ด๋ฏธ์ง€, ๋„คํŠธ์›Œํฌ, ๋ณผ๋ฅจ, ์‹คํ–‰ ์ „๋žต)๋“ค์„ ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ ์—ฎ์–ด ์‹คํ–‰ํ•˜๋Š” ํ†ตํ•ฉ ์‹คํ–‰ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์ฆ‰ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰์‹œํ‚ค๋Š” ๋„์ปค ์• ํ”Œ๋ฆฌ์ผ€์ด..

2022. 11. 6. 21:49

[Spring] ๋น„๋™๊ธฐ ์ž‘์—…๊ณผ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์œ„ํ•œ TaskExecutor, TaskScheduler ๊ธฐ๋ณธ

Spring Framework๋Š” TaskExecutor ์ธํ„ฐํŽ˜์ด์Šค์™€ TaskScheduler ์ธํ„ฐํŽ˜์ด์Šค๋กœ Task(์ž‘์—…)์˜ ๋น„๋™๊ธฐ ์‹คํ–‰๊ณผ ์Šค์ผ€์ค„๋ง์— ๋Œ€ํ•œ ์ถ”์ƒํ™” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฒƒ์ด ํ•„์š”ํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ์š”? ๊ธฐ๋ณธ์ ์œผ๋กœ Spring์€ Multi-Thread ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉฐ Singleton Pattern์„ ์ด์šฉํ•ด ๋ชจ๋“  Bean๋“ค์„ ๊ณต์œ ํ•˜์—ฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ API๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ณผ์ •์„ Blockingํ•˜์ง€ ์•Š๊ณ  ๋‹ค์ค‘ ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ์ฒ˜๋ฆฌํ•œ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๊ฐ€ API ํ˜ธ์ถœ ์ดํ›„ Bean ๋‚ด ์–ด๋–ค ํŠน์ • ์ž‘์—…์— ๋Œ€ํ•œ ๋น„๋™๊ธฐ ์‹คํ–‰์€ ๋ณด์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. TaskExecutor TaskExecutor๋Š” Spring 2.0์—์„œ ๋“ฑ์žฅํ•œ ๋น„๋™๊ธฐ ์‹คํ–‰ ์ถ”์ƒํ™” ์ธํ„ฐํŽ˜์ด์Šค๋กœ..

2022. 10. 30. 16:57

[Rust] ๊ฐœ๋…๋ถ€ํ„ฐ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•๊นŒ์ง€ ์ฐจ๊ทผ์ฐจ๊ทผ ์‹œ์ž‘ํ•ด๋ณด๊ธฐ

์š”์ฆ˜ ๋ชจ๋˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ๋งŽ์ด ๋‚˜์˜ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ๊ธ€์˜ Golang, ๋ชจ์งˆ๋ผ์˜ Rust ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ธ Clojure, Rescript ๋“ฑ ๋‹ค์–‘ํ•œ ์–ธ์–ด๊ฐ€ ๋งŽ์ด ๋‚˜์˜ค๊ณ  ์žˆ๋Š”๋ฐ์š”. ํŠนํžˆ ์ตœ๊ทผ์—๋Š” ๊ตฌ๊ธ€์—์„œ C++ ๋Œ€ํ•ญ ์–ธ์–ด๋กœ Carbon์ด๋ผ๋Š” ์–ธ์–ด๊นŒ์ง€๋„ ๋‚˜์™”์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ์— ๋‹ค๋ฃฐ ์ฃผ์ œ๋Š” ๋ฐ”๋กœ ๋ชจ์งˆ๋ผ์˜ Rust์ธ๋ฐ์š”. ์ตœ๊ทผ ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๊ฐœ๋ฐœ์—๋„ Rust ์–ธ์–ด๊ฐ€ ๊ณต์‹ ์ฑ„ํƒ๋˜์–ด ํ™”๋‘๊ฐ€ ๋˜๊ณ  ์žˆ๋Š” Rust์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. What is Rust? ์ œ๊ฐ€ ์ฒ˜์Œ Rust ์–ธ์–ด๋ฅผ ๋“ค์—ˆ์„ ๋•Œ๋Š” 3๋…„ ์ „, YouTube์˜ ์ผ€๋นˆ๋‹˜ ๋ฐฉ์†ก์—์„œ์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ ๋•Œ๋ถ€ํ„ฐ ์ญˆ์šฑ ์•„๋ฌด๊ฒƒ๋„ ํ•ด์˜ค์ง€ ์•Š์•˜์—ˆ์Šต๋‹ˆ๋‹ค๋งŒ Golang๊ณผ Rust ๋‘˜ ์ค‘ ์—„์ฒญ ์ €์šธ์งˆ์„ ํ–ˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด์—ˆ์ฃ . ํ•˜์ง€๋งŒ ์ด์ œ๋Š” ์ž์‹ ์žˆ๊ฒŒ Rust ์–ธ..

2022. 10. 29. 22:07

[Spring] Spring Advisor์™€ Pointcut - ์‹ค์ „ํŽธ

์ด์ „ ๊ธ€์—์„œ DefaultPointcutAdvisor์™€ ๋‹ค์–‘ํ•œ Pointcut๋“ค์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ๋‹ค๋ค„๋ดค์Šต๋‹ˆ๋‹ค. 2022.10.10 - [Programming/Spring] - [Spring] Spring Advisor์™€ Pointcut - ๊ฐœ๋…ํŽธ [Spring] Spring Advisor์™€ Pointcut - ๊ฐœ๋…ํŽธ Spring AOP ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ด์šฉํ•ด Advice๋ฅผ ๋งŒ๋“ค์–ด ๋ฉ”์„œ๋“œ์˜ ์ „ํ›„์ฒ˜๋ฆฌ๋ฅผ ํ”„๋ก์‹œ ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. 2022.05.16 - [Programming/Spring] - [Spring] Spring Advice๋กœ ์ปค์Šคํ…€ ์–ด๋“œ๋ฐ”์ด์Šค ๋งŒ๋“ค๊ธฐ [Spring] Spr.. blog.neonkid.xyz Pointcut์€ ์ธํ„ฐํŽ˜์ด์Šค ํ˜•ํƒœ๋กœ ๋˜์–ด ์žˆ์ง€๋งŒ Spring AOP์—์„œ ์ด๋ฏธ ๋งŽ์€ ๊ตฌํ˜„์ฒด๋“ค์ด..

2022. 10. 10. 19:11

[Spring] Spring Advisor์™€ Pointcut - ๊ฐœ๋…ํŽธ

Spring AOP ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ด์šฉํ•ด Advice๋ฅผ ๋งŒ๋“ค์–ด ๋ฉ”์„œ๋“œ์˜ ์ „ํ›„์ฒ˜๋ฆฌ๋ฅผ ํ”„๋ก์‹œ ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. 2022.05.16 - [Programming/Spring] - [Spring] Spring Advice๋กœ ์ปค์Šคํ…€ ์–ด๋“œ๋ฐ”์ด์Šค ๋งŒ๋“ค๊ธฐ [Spring] Spring Advice๋กœ ์ปค์Šคํ…€ ์–ด๋“œ๋ฐ”์ด์Šค ๋งŒ๋“ค๊ธฐ ์ด๋ฒˆ ํฌ์ŠคํŠธ๋ถ€ํ„ฐ๋Š” Spring AOP ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ด์šฉํ•˜์—ฌ ์‹ค์ œ Advice๋ฅผ ๋งŒ๋“ค์–ด๋ณด๊ณ , ์œ„๋น™ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Advice Interface Advice์— ๋Œ€ํ•ด ๋‹ค์‹œ ๋ณต์Šตํ•ด๋ณด์ž๋ฉด Advice๋Š” ํŠน์ • ์กฐ์ธํฌ์ธํŠธ ์ฆ‰, ๋ฉ”์„œ๋“œ๊ฐ€ blog.neonkid.xyz Spring AOP์˜ ProxyFactory ํด๋ž˜์Šค๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ž‘์„ฑํ•œ ๋ฉ”์„œ๋“œ์—์„œ AOP ํ”„๋ก์‹œ ์ธ์Šคํ„ด์Šค๋ฅผ ์–ป๊ณ  ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์„ ..

2022. 10. 9. 20:44

[Kafka] ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ด์šฉํ•œ Kafka ์„ค์น˜

์ง€๋‚œ ํฌ์ŠคํŠธ์—์„œ ์šฐ๋ฆฌ๋Š” Kafka๊ฐ€ ์–ด๋–ค์‹์œผ๋กœ ๊ตฌ์„ฑ๋˜์—ˆ๋Š”์ง€๋ฅผ ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค. 2022.07.31 - [Middleware/Kafka] - [Kafka] ์นดํ”„์นด์˜ ์ฝ”๋””๋„ค์ดํ„ฐ Zookeeper [Kafka] ์นดํ”„์นด์˜ ์ฝ”๋””๋„ค์ดํ„ฐ Zookeeper ์šฐ๋ฆฌ๊ฐ€ ์ปดํ“จํ„ฐ์— ์นดํ”„์นด๋ฅผ ์„ค์น˜ํ•˜๋ ค๋ฉด ๋ฐ˜๋“œ์‹œ ๋”ฐ๋ผ์„œ ์„ค์น˜ํ•ด์•ผํ•˜๋Š” ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์ฃผํ‚คํผ(Zookeeper)์ธ๋ฐ์š”. ๋‹ค๋ฅธ ๋ฉ”์‹œ์ง€ ํ์™€ ๋‹ค๋ฅด๊ฒŒ ์นดํ”„์นด๋Š” ์™œ ์ฃผํ‚คํผ๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ๊ฒƒ์ผ๊นŒ์š”? ์ฝ”๋””๋„ค blog.neonkid.xyz ์นดํ”„์นด๋ฅผ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„ ํ˜ธ์ŠคํŠธ์— ์ง์ ‘ ์„ค์น˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ด์šฉํ•œ ์„ค์น˜ ์„œ๋ฒ„ ํ˜ธ์ŠคํŠธ์— ์ง์ ‘ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์€ ํ™˜๊ฒฝ ๋ถ„๋ฆฌ ์—†์ด Homebrew, PPA๋ฅผ ์ด์šฉํ•ด์„œ ์ž์‹ ์˜ ์„œ๋ฒ„ ํ™˜๊ฒฝ์— ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋…๋ฆฝ๋œ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•˜์ง€..

2022. 7. 31. 23:09

[Kafka] ์นดํ”„์นด์˜ ์ฝ”๋””๋„ค์ดํ„ฐ Zookeeper

์šฐ๋ฆฌ๊ฐ€ ์ปดํ“จํ„ฐ์— ์นดํ”„์นด๋ฅผ ์„ค์น˜ํ•˜๋ ค๋ฉด ๋ฐ˜๋“œ์‹œ ๋”ฐ๋ผ์„œ ์„ค์น˜ํ•ด์•ผํ•˜๋Š” ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์ฃผํ‚คํผ(Zookeeper)์ธ๋ฐ์š”. ๋‹ค๋ฅธ ๋ฉ”์‹œ์ง€ ํ์™€ ๋‹ค๋ฅด๊ฒŒ ์นดํ”„์นด๋Š” ์™œ ์ฃผํ‚คํผ๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ๊ฒƒ์ผ๊นŒ์š”? ์ฝ”๋””๋„ค์ด์…˜ ์„œ๋น„์Šค ์‹œ์Šคํ…œ (Coordination System) ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์„ ๋‹ค๋ฃจ๋‹ค๋ณด๋ฉด ๊ฐ€์žฅ ํฐ ๋‚œ์ œ๊ฐ€ ๋ฐ”๋กœ ๋ถ„์‚ฐ๋œ ์‹œ์Šคํ…œ๋ผ๋ฆฌ ์–ด๋–ป๊ฒŒ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•  ๊ฒƒ์ธ๊ฐ€? ์ž…๋‹ˆ๋‹ค. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค, ์นดํ”„์นด ๋“ฑ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ์ž์ฒด๋Š” ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ•˜์œ„ ๋…ธ๋“œ๋“ค์ด ์ง‘๊ฒฐ ๋˜์–ด ์žˆ๋Š” ํ˜•ํƒœ๊ฐ€ ๋ณดํ†ต์ธ๋ฐ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ํ•˜์œ„ ๋…ธ๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ํ•ด์•ผํ•  ์ผ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐ ํ•˜์œ„ ๋…ธ๋“œ๋“ค์˜ Healthcheck Lock Processing ๋ถ„์‚ฐ๋œ ์„œ๋ฒ„๋“ค๋ผ๋ฆฌ ํ†ต์‹ ํ•  ๋•Œ ์„œ๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณต์œ ํ•˜๋ ค๋‹ค ๋ณด๋ฉด ์ž์› ์ ์œ  ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๋ฐ, ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ..

2022. 7. 30. 14:48

[Kafka] Apache Kafka๋Š” ๋ฌด์—‡์ด๊ณ  ์™œ ์„ฑ๋Šฅ์ด ๋น ๋ฅผ๊นŒ?

์นดํ”„์นด๋ž€ ๋ฌด์—‡์ผ๊นŒ? ์นดํ”„์นด๋ž€ ๋ง์„ ๋“ค์–ด๋ณธ ์ ์€ ์žˆ์ง€๋งŒ ์•„์ง ์‚ฌ์šฉํ•ด๋ณธ ์ ์ด ์—†๋‹ค๋ฉด ์ด ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๋˜๊ฒŒ ์ƒ์†Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์นดํ”„์นด๋Š” Linkedin์—์„œ ์ฒ˜์Œ ๊ฐœ๋ฐœํ•˜์—ฌ ์•„ํŒŒ์น˜ ์˜คํ”ˆ ์†Œ์Šค๊นŒ์ง€ ์˜ค๊ฒŒ ๋œ ๋Œ€์šฉ๋Ÿ‰ ๋ฉ”์‹œ์ง€ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ๋ฉ”์‹œ์ง€ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ํ”Œ๋žซํผ ์—ฌ๊ธฐ์„œ ์ด์•ผ๊ธฐํ•˜๋Š” ๋ฉ”์‹œ์ง€๋ž€, ์šฐ๋ฆฌ๊ฐ€ ๊ฐœ๋ฐœํ•œ ์ผ๋ จ์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋ น ์šฐ๋ฆฌ๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•  ๋•Œ ์„œ๋กœ ๊ธฐ๋Šฅ์„ ๋ถ„๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ํ•จ์ˆ˜๋ผ๋ฆฌ ํ†ต์‹ ์„ ์œ„ํ•ด์„œ ๋ณด๋‚ด๊ณ  ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ๋“ค์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์šฐ๋ฆฌ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋Š” ์–ด๋–จ๊นŒ์š”? ์„œ๋กœ ํ”„๋กœ์„ธ์Šค๋„ ๋‹ค๋ฅด๊ณ  ์ธ์Šคํ„ด์Šค๋„ ๋‹ค๋ฅธ ์ƒํ™ฉ์—์„œ ๊ฐ ์„œ๋น„์Šค๋ผ๋ฆฌ ํ†ต์‹ ํ•˜๋ ค๋ฉด ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” ๋ฉ”์‹œ์ง€ ํ๋ฅผ ..

2022. 7. 24. 17:33

[PowerShell] Windows Terminal๊ณผ oh my posh๋กœ Powershell์„ ๋” ์ด์˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ

๊ฐœ์ธ์ ์œผ๋กœ Windows๋ฅผ ์“ธ ์ผ์ด๋ผ๊ณค ๋งŽ์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์€ ๋Œ€๋ถ€๋ถ„ Linux ํ˜น์€ OS X์—์„œ ์ง„ํ–‰ํ•˜๊ณ , Windows๋Š” ๊ฒŒ์ž„ ๋จธ์‹ ์ด๋‚˜ Windows binary ๊ฐœ๋ฐœ ์™ธ์—๋Š” ๊ฑฐ์˜ ์“ธ ์ผ์ด ์—†์—ˆ์œผ๋‹ˆ๊น์š”. ๊ทธ๋Ÿฐ๋ฐ, ์ตœ๊ทผ Windows Terminal์„ ๋ณด๊ณ  ์ด์ œ Powershell๋„ ๊พธ๋ฏธ๋Š” ์‹œ๋Œ€๊ฐ€ ์™”๋‹ค๋Š” ๊ฒƒ์„ ๋А๋ผ๋ฉฐ ์‚ฌ์šฉ๊ธฐ์™€ ํ•จ๊ป˜ ์ด๋ป์ง„ Windows Terminal์„ ์†Œ๊ฐœํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ๋”ฑ๋”ฑํ•˜๋‹ค ๋ชปํ•ด ์นœ์ˆ™ํ•˜์ง€ ์•Š์€ Powershell๊ณผ CMD Windows ๋ช…๋ น ํ”„๋กฌํฌํŠธ๋Š” ๊ทธ์•ผ๋ง๋กœ ๋ ˆ๊ฑฐ์‹œ๋ฅผ ์ƒ์ง•ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฅผ ๋Œ€์ฒดํ•˜๊ธฐ ์œ„ํ•ด Windows Server 2008๊ณผ Windows Vista์—์„œ๋ถ€ํ„ฐ Powershell์„ ๋„์ž…ํ–ˆ์ง€๋งŒ ์Šคํฌ๋ฆฝํŠธ๋Š” ํ’๋ถ€ํ•˜๊ฒŒ ์ง€์›ํ•˜๋”๋ผ๋„ ์นœ์ˆ™ํ•˜์ง€ ์•Š์€ UI ๋“ฑ์€ ์ €์—๊ฒŒ ..