Hello, world! ๐Ÿ‘‹

Welcome to my blog

Visual Studio 2015 ์ถ”์ฒœ ํ”Œ๋Ÿฌ๊ทธ์ธ

Visual Studio 2015 ์ถ”์ฒœ ํ”Œ๋Ÿฌ๊ทธ์ธ โš ๏ธ Warning ์ด ๊ธ€์€ ๊ทนํžˆ ์ฃผ๊ด€์ ์ธ ๋‚ด์šฉ์ด๋ฉฐ ๋ณธ์ธ์€ C/C++๊ณผ MFC๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Eclipse ๋˜๋Š” VS Code ์™€ ๊ฐ™์€ ์—๋””ํ„ฐ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ฐœ๋…์ด ์žˆ์–ด ์œ ์šฉํ•œ ๋„๊ตฌ๋ฅผ ์„ค์น˜ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Visual studio ๋˜ํ•œ ํ™•์žฅ ๊ธฐ๋Šฅ์ด ์žˆ์–ด ํ•„์š”์— ๋”ฐ๋ผ ์„ค์น˜ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋Š”๋ฐ ๋ช‡ ๊ฐ€์ง€ ์œ ์šฉํ•œ ํ™•์žฅ์„ ์†Œ๊ฐœํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜Ž Plug-in ForceUTF8 (with BOM) Visual studio๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฌธ์„œ๋ฅผ EUC-KR ์ธ์ฝ”๋”ฉ์œผ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. Git ๋˜๋Š” ๋‹ค๋ฅธ ํ”Œ๋žซํผ์˜ ํ˜ธํ™˜์„ ์œ„ํ•ด UTF-8 ์ธ์ฝ”๋”ฉ์œผ๋กœ ์ €์žฅํ•  ํ•„์š”๊ฐ€ ์žˆ๋Š”๋ฐ, ์•ˆํƒ€๊น๊ฒŒ๋„ ๋ฌธ์„œ๋ฅผ ์ €์žฅํ•  ๋•Œ๋งˆ๋‹ค ๊ณ ๊ธ‰ ์ €์žฅ ์˜ต์…˜์„ ๋ˆŒ๋Ÿฌ ์ธ์ฝ”๋”ฉ์„ ์ง์ ‘ ์„ ํƒํ•˜์—ฌ ์ €์žฅํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ถˆํŽธํ•œ ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค....

July 16, 2023 ยท 2 min ยท 343 words ยท JongBin Park

C++ Socket ํ”„๋กœ๋กœ๊ทธ๋ž˜๋ฐ [POSIX]

C++ Socket ํ”„๋กœ๋กœ๊ทธ๋ž˜๋ฐ [POSIX] ๐Ÿ’ก Quotation ๋„คํŠธ์›Œํฌ ์†Œ์ผ“(network socket)์€ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ฒฝ์œ ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ ์˜ ์ข…์ฐฉ์ ์ด๋‹ค. ์˜ค๋Š˜๋‚  ์ปดํ“จํ„ฐ ๊ฐ„ ํ†ต์‹ ์˜ ๋Œ€๋ถ€๋ถ„์€ ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ, ๋Œ€๋ถ€๋ถ„์˜ ๋„คํŠธ์›Œํฌ ์†Œ์ผ“์€ ์ธํ„ฐ๋„ท ์†Œ์ผ“์ด๋‹ค. ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ๋“ค์€ ์†Œ์ผ“์„ ์ƒ์„ฑํ•˜๊ณ , ์ด ์†Œ์ผ“์„ ํ†ตํ•ด์„œ ์„œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•œ๋‹ค. ์†Œ์ผ“์€ RFC 147์— ๊ธฐ์ˆ ์‚ฌํ•ญ์ด ์ •์˜๋˜์–ด ์žˆ๋‹ค. wikipedia ์†Œ์ผ“์€ ์šด์˜์ฒด์ œ์— ์ข…์†๋˜์–ด ์žˆ์–ด ํ”Œ๋žซํผ๋งˆ๋‹ค ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์•„์ฃผ ์กฐ๊ธˆ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์œ ๋‹‰์Šค ๋˜๋Š” ๋ฆฌ๋ˆ…์Šค์— ์‚ฌ์šฉ๋˜๋Š” POSIX1) Socket ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์†Œ๊ฐœํ•˜๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค....

June 18, 2023 ยท 3 min ยท 518 words ยท JongBin Park

ํ†ต์‹ ์‚ฌ ๋ฌด์ œํ•œ ์š”๊ธˆ์ œ๋กœ ํ…Œ๋”๋ง ์‚ฌ์šฉํ•˜๊ธฐ

ํ†ต์‹ ์‚ฌ ๋ฌด์ œํ•œ ์š”๊ธˆ์ œ๋กœ ํ…Œ๋”๋ง ์‚ฌ์šฉํ•˜๊ธฐ ์˜คํ”ผ์Šคํ…”์— ์ธํ„ฐ๋„ท์„ ์‹ ์ฒญํ•˜๊ธฐ ์œ„ํ•ด ์•Œ์•„๋ณด๋‹ค๊ฐ€ ์ƒ๊ฐ๋ณด๋‹ค ๊ฐ€๊ฒฉ์ด ๋น„์‹ธ ๋‹ค๋ฅธ ๋Œ€์•ˆ์„ ์ฐพ์•„๋ณด๋˜ ์ค‘ ์Šค๋งˆํŠธํฐ ๋ฐ์ดํ„ฐ ์™„์ „ ๋ฌด์ œํ•œ ์š”๊ธˆ์ œ๊ฐ€ ์žˆ์–ด ๋ฐ”๋กœ ์‹ ์ฒญํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. QoS1) ๋„ ์—†๊ณ , ๊ฐ€๊ฒฉ ๋˜ํ•œ ์œ ์„  100M ์‹ ์ฒญ ๋น„์šฉ๋ณด๋‹ค ์ €๋ ดํ•˜๊ณ  ์ˆ˜๋„๊ถŒ์ด๋ผ ์›น ์„œ์น˜์™€ ์œ ํŠœ๋ธŒ ์ •๋„๋Š” ๊ฐ€๋ฟํ•˜๊ฒŒ ๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š” ์†๋„๊ฐ€ ๋‚˜์™€ ์—ฌ๋Ÿฌ๋ชจ๋กœ ์œ ์„  ์ธํ„ฐ๋„ท ์‹ ์ฒญ๋ณด๋‹ค ๋” ๋‚˜์€ ์„ ํƒ์ด ์•„๋‹ ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์œ„๊ธฐ ๊ทธ๋ ‡๊ฒŒ ์š”๊ธˆ์ œ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ํ•˜๋ฃจ๋™์•ˆ ํ‰์ƒ์‹œ ์‚ฌ์šฉํ•˜๋˜๋ฐ๋กœ ์ธํ„ฐ๋„ท์„ ์‚ฌ์šฉํ•ด๋ณด๋‹ˆ ์œ ์„ ๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ์ด์งˆ๊ฐ๋„ ์—†๊ณ  ๋น ๋ฅด๊ณ  ์ข‹์•˜์Šต๋‹ˆ๋‹ค....

June 10, 2023 ยท 2 min ยท 355 words ยท JongBin Park

C++ ๊ฐ€๋ณ€ ๊ธธ์ด ๊ตฌ์กฐ์ฒด

C++ ๊ฐ€๋ณ€ ๊ธธ์ด ๊ตฌ์กฐ์ฒด ๐Ÿ’ก Quotation Flexible array members were officially standardized in C99. In practice, compilers (e.g., GCC, Microsoftโ€™s) provided them well before C99 was standardized. Flexible array members are not officially part of C++, but language extensions are widely available. ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ค‘ ๊ฐ€๋ณ€ ๊ธธ์ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ๋ฐฉ๋ฒ•์„ ์ฐพ๋‹ค๊ฐ€ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์œ„ ๊ธ€์ฒ˜๋Ÿผ C99์— ๊ณต์‹์ ์œผ๋กœ ํ‘œ์ค€ํ™”๊ฐ€ ๋˜์—ˆ์œผ๋ฉฐ C++ ์—์„œ๋Š” ๊ณต์‹์ ์ด์ง€๋Š” ์•Š์ง€๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์— ์—ฐ์†๋œ ๊ณต๊ฐ„์œผ๋กœ ํ• ๋‹นํ•˜๋ฉฐ ํ†ต์‹ ํ•  ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค....

June 10, 2023 ยท 2 min ยท 337 words ยท JongBin Park

fmt ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ C++ ์ฝ˜์†” ๋กœ๊ฑฐ ์ž‘์„ฑํ•˜๊ธฐ

fmt ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ C++ ์ฝ˜์†” ๋กœ๊ฑฐ ์ž‘์„ฑํ•˜๊ธฐ ํ”„๋กœ๊ทธ๋žจ์˜ ๋กœ๊ทธ๋ฅผ ์“ฐ๊ธฐ ์œ„ํ•ด ๋ณดํ†ต Log4j, spdlogโ€ฆ ๋“ฑ ๋กœ๊ฑฐ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜๊ธฐ ๊ฐ„ํŽธํ•˜๋ฉฐ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ €๋Š” fmt๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ„๋‹จํžˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ˜์†” ๋กœ๊ฑฐ๋ฅผ ์ž‘์„ฑํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ˜Ž ์‰ฝ๊ณ  ๊ฐ„๋‹จํ•œ ๊ธธ ๋†”๋‘๊ณ  ์ด์ƒํ•œ ๊ธธ ๊ฐ€๊ธฐ โš ๏ธ Warning ์ƒ์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ๋กœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์Šค๋ ˆ๋“œ๋กœ ์ธํ•œ ์ž‘๋™ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. fmt๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ ์œ„ํ•ด ๊ฐ„๋‹จํžˆ ์ž‘์„ฑ๋œ ๊ฒƒ์ด๋ฏ€๋กœ ๋กœ๊ฑฐ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. fmt ๐Ÿ’ก {fmt} is an open-source formatting library providing a fast and safe alternative to C stdio and C++ iostreams....

May 27, 2023 ยท 3 min ยท 581 words ยท JongBin Park