Welcome !
N.K Github

[GP] C++์—์„œ Map์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

์ด ๊ธ€์€ N.K Dev Lab์—์„œ ์ž‘์„ฑ๋œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์•ˆ๋…•ํ•˜์„ธ์š”. ์˜ค๋Š˜์€ C++ STL์— ๋Œ€ํ•œ ๊ธ€์„ ์จ๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๋ณธ๋ž˜ ์ €๋Š” STL๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ์ ์ธ ๊ธ€์€ ์ž˜ ์“ฐ์ง€ ์•Š์œผ๋ ค ํ–ˆ์Šต๋‹ˆ๋‹ค. ์›Œ๋‚™ Documentation๋„ ์ž˜ ๋˜์–ด ์žˆ๋Š” ํŽธ์ด๊ณ , ๋ธ”๋กœ๊ทธ์˜ ๊ธ€ ์ฃผ์ œ๋กœ ์“ฐ๊ธฐ์—๋Š” ์ ํ•ฉ...

[GP] C++ ์–ธ์–ด์—์„œ MQTT ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

์ด ๊ธ€์€ N.K Dev lab์˜ ๋‚ด์šฉ ์ค‘ ์ผ๋ถ€๋ฅผ ๋‹ด์•„์˜จ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์ง€๋‚œ ํฌ์ŠคํŠธ์— ์ด์–ด์„œ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ํ™œ์šฉํ•œ MQTT ์‚ฌ์šฉ์— ๋Œ€ํ•ด ์ ์–ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ C++ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๋„๋ก ํ•˜์ฃ . libmosquitto C++ ์–ธ์–ด์—์„œ ์‚ฌ์šฉํ•  MQTT ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ...

[GP] Unix Thread์˜ ๊ธฐ๋ณธ์„ ๋‹ค์ ธ๋ณด์ž

์ด ๊ธ€์€ ์ €์˜ Github Page์˜ ๋‚ด์šฉ ์ค‘ ์ผ๋ถ€๋ฅผ ๋‹ด์•„์˜จ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ๊ธ€์„ ์จ์˜จ์ง€ ๋ฒŒ์จ 4๊ฐœ์›”์ด ์ง€๋‚ฌ์ง€๋งŒ, ํ•™๊ต ์ƒํ™œ๊ณผ ์„ฑ์  ๊ด€๋ฆฌ ๋“ฑ์œผ๋กœ ์ธํ•ด ์ปจํ…์ธ ๊ฐ€ ๋งŽ์ด ๋ถ€์กฑํ•˜์—ฌ ์ด๋ฆฌ์ €๋ฆฌ ์ƒ๊ฐํ•ด ๋ณธ ๊ฒฐ๊ณผ, ์ด ๊ฐœ๋ฐœ ๋ธ”๋กœ๊ทธ์— ์ œ๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ๋ชจ๋“  ๊ฐœ๋ฐœ ์ง€์‹๋“ค์„ ์˜ฌ๋ฆฌ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค...

[GP] Boost Library ์„ค์น˜์™€ ์‚ฌ์šฉ

์ด ๊ธ€์€ ์ €์˜ Github Page์˜ ๋‚ด์šฉ ์ค‘ ์ผ๋ถ€๋ฅผ ๋‹ด์•„์˜จ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์Œ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ, CMake์— ๊ด€ํ•œ ํฌ์ŠคํŠธ๋ฅผ Tistory์— ๊ฒŒ์‹œ๋ฅผ ํ•ด๋ฒ„๋ ธ๋„ค์š”. ์ด ๊ฐœ๋ฐœ์ž ํŽ˜์ด์ง€์— ์‹ ๊ฒฝ์„ ์ผ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ์•„๋ฌด๋ž˜๋„ ์•„์ง Tistory ๋ธ”๋กœ๊ทธ๋Š” ์žŠํ˜€์ง€์ง€ ์•Š์•˜๋‚˜ ๋ด…๋‹ˆ๋‹ค. (๋‹ค์Œ์—๋Š”...

4
3์›”

CMake๋ฅผ ์ด์šฉํ•œ C/C++ ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ

Makefile์ด๋ผ๋Š” ๊ฒƒ์„ ํ•œ ๋ฒˆ ์ฏค์€ ๋‹ค๋“ค ๋“ค์–ด๋ณด์…จ์„ ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. Visual Studio IDE ๋„๊ตฌ๋ฅผ ์ด์šฉํ•˜๋ฉด Makefile์„ ์˜คํžˆ๋ ค ๋ณด๊ธฐ ํž˜๋“ค ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ, Unix, Linux์—์„œ C, C++ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜์…จ๋‹ค๊ฑฐ๋‚˜ ํฌ๋กœ์Šค ํ”Œ๋žซํผ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜์‹ ...

2
1์›”

chkmd5 (ํŒŒ์ผ MD5 ํ•ด์‹œ๊ฐ’ ๊ฐ€์ ธ์˜ค๋Š” ํ”„๋กœ๊ทธ๋žจ, only Windows OS)

์˜ค๋Š˜์€ ๊ฐ„๋‹จํ•œ ๋ช…๋ น์–ด๋ฅผ ํ•œ ๊ฐœ ๋งŒ๋“ค์–ด๋ดค์Šต๋‹ˆ๋‹ค.ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ์ธ์ž๋กœ ๋ฐ›์•„, MD5 ํ•ด์‹œ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š” ํ”„๋กœ๊ทธ๋žจ์ธ๋ฐ์š”. ๋ช…๋ น์–ด ์‚ฌ์šฉ์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ น์–ด ์ด๋ฆ„(ํ”„๋กœ๊ทธ๋žจ ์ด๋ฆ„)์„ ์ž…๋ ฅํ•œ ํ›„, ์›ํ•˜๋Š” ํŒŒ์ผ ํ˜น์€ ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด, ํ•ด๋‹น ํŒŒ์ผ์˜ MD5 ๊ฐ’์„ ์ถœ๋ ฅํ•ด์ค๋‹ˆ๋‹ค. ํด๋”๋‚˜ ์—†...

System Call Function VS Library Call Function

์˜ค๋Š˜ ํฌ์ŠคํŠธ๋Š” ๊ฐœ๋ฐœ์ž๋กœ์จ ๋ฐ˜๋“œ์‹œ ์งš๊ณ  ๋„˜์–ด๊ฐ€์•ผํ•  ๋ถ€๋ถ„ ์ค‘์— ํ•˜๋‚˜๋ฅผ ์จ๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ํ•จ์ˆ˜์˜ ์‚ฌ์šฉ์šฐ๋ฆฌ๋Š” ์ฝ˜์†” ํ™”๋ฉด์— ์–ด๋–ค ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜ ํŒŒ์ผ์— ์ž…์ถœ๋ ฅ์„ ํ•œ๋‹ค๊ฑฐ๋‚˜ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›๊ฒŒ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ๊ฐ๊ฐ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉ์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ ํ•จ์ˆ˜๊ฐ€ ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š”๋Œ€๋กœ...

3
4์›”

GCC Stack Smashing Protector

C ์ปดํŒŒ์ผ๋Ÿฌ์—๋Š” ๊ต‰์žฅํžˆ ์ข…๋ฅ˜๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. Dev C Compiler, Visual C Compiler, GNU C Compiler .... ๋ญ ๊ทธ ์™ธ์—๋„ ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ์ง€์š”? ์˜ค๋Š˜์€ Buffer Overflow๋ผ๋Š” ๊ฒƒ์„ ์ฃผ์ œ๋กœ ์‹œ์ž‘ํ•˜์—ฌ, GNU C Compiler์— ์กด์žฌ...

1
8์›”

Boost thread Library

Boost ๋‘ ๋ฒˆ์งธ, ์˜ค๋Š˜์€ ์“ฐ๋ ˆ๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋จผ์ €, ์“ฐ๋ ˆ๋“œ๋ผ๋Š” ๊ฒƒ์€ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€ ์žˆ๋Š” ํ•œ ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ํ๋ฆ„์˜ ๋‹จ์œ„๋ฅผ ์ผ์ปซ๋Š” ๋ง์ž…๋‹ˆ๋‹ค. ๋ณดํ†ต์˜ ํ”„๋กœ์„ธ์Šค๋“ค์€ ํ•œ ๊ฐœ์˜ ์“ฐ๋ ˆ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ ๊ฒฝ์šฐ์— ๋”ฐ๋ฅธ ํฐ ํ”„๋กœ์„ธ์Šค๋“ค์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„...

Boost Random Number Generator Library

Boost Library์˜ ๋žœ๋คํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‚œ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ด…์‹œ๋‹ค. ๋ณดํ†ต C์–ธ์–ด์—์„œ ๋‚œ์ˆ˜๋ฅผ ๋งŒ๋“ ๋‹ค๊ณ  ํ•˜๋ฉด, rand()/srand()๋ฅผ ์‚ฌ์šฉํ•˜์…จ์„๊ฒ๋‹ˆ๋‹ค. ์ข€ ๋” ๋ง๋ถ™์—ฌ์„œ time.h๋ฅผ includeํ•˜์—ฌ time๊นŒ์ง€ ์ผ๋˜ ์‚ฌ๋žŒ๋“ค๋„ ์•„๋งˆ ๋Œ€๋ถ€๋ถ„์ผ ๊ฒƒ์ž…๋‹ˆ...

Boost Library

์ œ๊ฐ€ ๋“ฃ๋Š” ์ˆ˜์—…์€ ์•„๋‹ˆ์ง€๋งŒ, ์ž๋ฃŒ ๊ตฌ์กฐ ์‹œ๊ฐ„์— ์ด๋ก  ์œ„์ฃผ๋กœ ์ˆ˜์—…์„ ํ•˜๋Š” ๊ต์ˆ˜๋‹˜๊ณผ ๋‹ฌ๋ฆฌ ์‹ค๋ฌด์— ๋งž๊ฒŒ ์ˆ˜์—…์„ ํ•˜๋Š” ๊ต์ˆ˜๋‹˜์ด ์žˆ์—ˆ๋Š”๋ฐ, ๊ทธ ๊ต์ˆ˜๋‹˜์€ ์ž๋ฃŒ ๊ตฌ์กฐ ์‹œ๊ฐ„์— Boost Library๋ฅผ ์ด์šฉํ•˜๋ผ๊ณ  ํ•˜์‹œ๋Š”๊ตฐ์š”. ๊ทธ๋ž˜์„œ http://www.boost.org/ ์—์„œ Boo...