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 ์ธ์ฝ๋ฉ์ผ๋ก ์ ์ฅํ ํ์๊ฐ ์๋๋ฐ, ์ํ๊น๊ฒ๋ ๋ฌธ์๋ฅผ ์ ์ฅํ ๋๋ง๋ค ๊ณ ๊ธ ์ ์ฅ ์ต์ ์ ๋๋ฌ ์ธ์ฝ๋ฉ์ ์ง์ ์ ํํ์ฌ ์ ์ฅํด์ผ ํ๋ค๋ ๋ถํธํ ์ ์ด ์์ต๋๋ค....
C++ Socket ํ๋ก๋ก๊ทธ๋๋ฐ [POSIX]
C++ Socket ํ๋ก๋ก๊ทธ๋๋ฐ [POSIX] ๐ก Quotation ๋คํธ์ํฌ ์์ผ(network socket)์ ์ปดํจํฐ ๋คํธ์ํฌ๋ฅผ ๊ฒฝ์ ํ๋ ํ๋ก์ธ์ค ๊ฐ ํต์ ์ ์ข ์ฐฉ์ ์ด๋ค. ์ค๋๋ ์ปดํจํฐ ๊ฐ ํต์ ์ ๋๋ถ๋ถ์ ์ธํฐ๋ท ํ๋กํ ์ฝ์ ๊ธฐ๋ฐ์ผ๋ก ํ๊ณ ์์ผ๋ฏ๋ก, ๋๋ถ๋ถ์ ๋คํธ์ํฌ ์์ผ์ ์ธํฐ๋ท ์์ผ์ด๋ค. ๋คํธ์ํฌ ํต์ ์ ์ํ ํ๋ก๊ทธ๋จ๋ค์ ์์ผ์ ์์ฑํ๊ณ , ์ด ์์ผ์ ํตํด์ ์๋ก ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๋ค. ์์ผ์ RFC 147์ ๊ธฐ์ ์ฌํญ์ด ์ ์๋์ด ์๋ค. wikipedia ์์ผ์ ์ด์์ฒด์ ์ ์ข ์๋์ด ์์ด ํ๋ซํผ๋ง๋ค ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์์ฃผ ์กฐ๊ธ ๋ค๋ฆ ๋๋ค. ์ด ๊ธ์์๋ ์ ๋์ค ๋๋ ๋ฆฌ๋ ์ค์ ์ฌ์ฉ๋๋ POSIX1) Socket ์ ๊ฐ๋จํ๊ฒ ์๊ฐํ๊ณ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ์ ์๊ฐํฉ๋๋ค....
ํต์ ์ฌ ๋ฌด์ ํ ์๊ธ์ ๋ก ํ ๋๋ง ์ฌ์ฉํ๊ธฐ
ํต์ ์ฌ ๋ฌด์ ํ ์๊ธ์ ๋ก ํ ๋๋ง ์ฌ์ฉํ๊ธฐ ์คํผ์คํ ์ ์ธํฐ๋ท์ ์ ์ฒญํ๊ธฐ ์ํด ์์๋ณด๋ค๊ฐ ์๊ฐ๋ณด๋ค ๊ฐ๊ฒฉ์ด ๋น์ธ ๋ค๋ฅธ ๋์์ ์ฐพ์๋ณด๋ ์ค ์ค๋งํธํฐ ๋ฐ์ดํฐ ์์ ๋ฌด์ ํ ์๊ธ์ ๊ฐ ์์ด ๋ฐ๋ก ์ ์ฒญํ๊ฒ ๋์์ต๋๋ค. QoS1) ๋ ์๊ณ , ๊ฐ๊ฒฉ ๋ํ ์ ์ 100M ์ ์ฒญ ๋น์ฉ๋ณด๋ค ์ ๋ ดํ๊ณ ์๋๊ถ์ด๋ผ ์น ์์น์ ์ ํ๋ธ ์ ๋๋ ๊ฐ๋ฟํ๊ฒ ๋๋ฆด ์ ์๋ ์๋๊ฐ ๋์ ์ฌ๋ฌ๋ชจ๋ก ์ ์ ์ธํฐ๋ท ์ ์ฒญ๋ณด๋ค ๋ ๋์ ์ ํ์ด ์๋ ์ ์์์ต๋๋ค. ์๊ธฐ ๊ทธ๋ ๊ฒ ์๊ธ์ ๋ฅผ ๋ณ๊ฒฝํ๊ณ ํ๋ฃจ๋์ ํ์์ ์ฌ์ฉํ๋๋ฐ๋ก ์ธํฐ๋ท์ ์ฌ์ฉํด๋ณด๋ ์ ์ ๊ณผ ๋น๊ตํ์ ๋ ์ด์ง๊ฐ๋ ์๊ณ ๋น ๋ฅด๊ณ ์ข์์ต๋๋ค....
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++ ์์๋ ๊ณต์์ ์ด์ง๋ ์์ง๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์๋ ๊ณต๊ฐ์ผ๋ก ํ ๋นํ๋ฉฐ ํต์ ํ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ ์ ์์ต๋๋ค....
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....