Loading...
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 ๋“ฑ์€ ์ €์—๊ฒŒ ..

2022. 7. 2. 15:21

[OpenCV] ์›ํ•˜๋Š” ์ด๋ฏธ์ง€ ์˜์—ญ(๊ด€์‹ฌ์˜์—ญ, ROI) ์ž๋ฅด๊ธฐ(Crop)

๋ธ”๋กœ๊ทธ ๊ธ€์„ ์“ฐ๋‹ค๋ณด๋ฉด ํŠน์ • ์˜์—ญ๋งŒ์„ ์ž˜๋ผ์„œ ์ €์žฅํ•˜๊ณ  ์‹ถ์„ ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์œˆ๋„๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋ฉด ์œˆ๋„์—์„œ ์ œ๊ณตํ•˜๋Š” Windows ์‚ฌ์ง„ ๋ทฐ์–ด ๋“ฑ์˜ ํ”„๋กœ๊ทธ๋žจ์„ ์ด์šฉํ•ด ์›ํ•˜๋Š” ์ด๋ฏธ์ง€์˜ ์˜์—ญ์„ ์ž๋ฅผ ์ˆ˜ ์žˆ๋Š”๋ฐ, Mac OS X๋‚˜ Ubuntu์— ์žˆ๋‹ค๋ณด๋ฉด ๊ธฐ๋ณธ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ด๋Ÿฐ ๊ฒƒ๋“ค์„ ์ œ๊ณตํ•˜์ง€ ์•Š๋‹ค๋ณด๋‹ˆ ์“ธ ํ”„๋กœ๊ทธ๋žจ์„ ์ฐพ๊ฒŒ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žฆ์•˜๋Š”๋ฐ์š”. ์ด๋ ‡๊ฒŒ ์›ํ•˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์™€์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์›ํ•˜๋Š” ์˜์—ญ์„ ์ž๋ฅผ ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ํ•œ ๋ฒˆ ๋งŒ๋“ค์–ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. MouseEvent OpenCV์—์„œ MouseEvent๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฝœ๋ฐฑ ํ•จ์ˆ˜์— ๋Œ€ํ•ด ์ž˜ ๋ชจ๋ฅด์‹œ๊ฒ ๋‹ค๋ฉด ์•„๋ž˜์˜ ๊ธ€์„ ์ฐธ๊ณ ํ•ด๋ณด์„ธ์š”. 2016.12.18 - [Programming/OpenCV] - OpenCV์—์„œ Mouse Even..

2022. 7. 2. 14:02

[OpenCV] C++์™€ OpenCV 4.x๋กœ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐ

๊ฐ„๋งŒ์— OpenCV ๊ธ€์„ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์š” ๋ช‡๋…„ ๋ฐฑ์—”๋“œ ์—”์ง€๋‹ˆ์–ด๋ง ๊ณต๋ถ€๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉด์„œ ์žฅ๋‚œ๊ฐ์ฒ˜๋Ÿผ ์—ฌ๊ฒจ์˜ค๋˜ OpenCV ๊ธ€์„ ๋‹ค์‹œ ์“ฐ๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ์š”. ์•ˆ ๋ณธ ์‚ฌ์ด์— ๋ฒŒ์จ OpenCV 4.6 Pre-release๋กœ OpenCV 5.x ๋ฒ„์ „๊นŒ์ง€ ์˜ฌ๋ผ์˜จ ๊ฒƒ์„ ๋ณด๊ณ  ์ •๋ง ์‹œ๊ฐ„์ด ๋นจ๋ฆฌ ํ˜๋Ÿฌ๊ฐ€๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์ƒˆ์‚ผ ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค. ๋งŒ๋“ค ํ™˜๊ฒฝ ์˜ค๋Š˜์€ ์•„๋ž˜์˜ 3๊ฐ€์ง€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด์„œ OpenCV ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค์–ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. JetBrains CLion / CMake OpenCV 4.6 Ubuntu Linux 20.04 ์‚ฌ์‹ค OpenCV๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์€ C++ ์™ธ์—๋„ Python์ด ์žˆ๋Š”๋ฐ์š”. ๋”ฅ๋Ÿฌ๋‹์ด๋‚˜ ๋จธ์‹ ๋Ÿฌ๋‹์„ ์ฃผ๋กœ ํ•˜์‹œ๋Š” ๋ถ„๋“ค์€ Python์„ ์ด์šฉํ•  ๊ฒƒ์ด๊ณ , ๊ทธ ์™ธ IoT๋‚˜ ์นด๋ฉ”๋ผ ๋“ฑ ํ•˜๋“œ์›จ์–ด๋ฅผ ์ฃผ๋กœ ..