๋ฐ˜์‘ํ˜•
๋‚ด ์ธ์ƒ์—์„œ ๋ฏฟ์„ ๊ฑด ์˜ค์ง ๋‚˜ ์ž์‹ ๋ฟ!

The only one you can truly trust is yourself.


๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ/ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ดˆ๋ณด๊ฐ€ ๊ฒช๋Š” ๋ฌธ์ œ๋“ค 9

AI ์ฝ”๋“œ ์ž๋™์™„์„ฑ ๋„๊ตฌ Tabnine AI Assistant

GitHub Copilot์€ ์›”์ •์•ก(์›” $10)์ด๋ผ๊ณ ? ์–ด์ฐจํ”ผ ๊ทธ๋ ‡๊ฒŒ ์—ด์‹ฌํžˆ ์ฝ”๋”ฉํ•˜์ง€๋„ ์•Š์„ํ…Œ๋‹ˆ๊นŒ... ํ•„์š” ์—†๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ๊ทธ๋ž˜๋„ ์ฝ”๋”ฉ ์ดˆ์งœ๋‹ค ๋ณด๋‹ˆ๊นŒ ์ž๊พธ ๊ตฌ๊ธ€๋ง์„ ํ•˜๊ณ , ์Šคํƒ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ์— ๊ฐ€์„œ ์ด๊ฒƒ์ €๊ฒƒ ์ฝ”๋“œ๋ฅผ ๋ณต๋ถ™ใ…‹ ๊ฐ€์ ธ์™€์„œ ์‹คํ–‰ํ•ด๋ณด๊ณ  ์–ด? ์™œ ์•ˆ๋ผ? ์ด๋Ÿฌ๋ฉด์„œ 30๋ถ„~ 1์‹œ๊ฐ„~ ํ›„๋‹ค๋‹ฅ ์ง€๋‚˜๊ฐ„๋‹ค. GitHub Copilot ๊นƒํ—ˆ๋ธŒ ์ฝ”ํŒŒ์ผ๋Ÿฟ ๊นƒํ—ˆ๋ธŒ ์ฝ”ํŒŒ์ผ๋Ÿฟ์ด๋ผ๊ณ  ์†Œ์Šค ์ฝ”๋“œ ์ž‘์„ฑ์„ ๋„์™€์ฃผ๋Š” AI๋ผ๊ณ  ํ•œ๋‹ค. Copilot์ด๋ผ๋Š” ๋‹จ์–ด ์ž์ฒด๊ฐ€ ๋น„ํ–‰๊ธฐ์˜ ๋ถ€์กฐ์ข…์‚ฌ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๊ทผ๋ฐ ๋ญ ๋‚˜๋„ ์•„๋Š”๊ฒŒ ์—†์œผ๋‹ˆ๊นŒ ์„ค๋ช…ํ•  ๊ฒŒ ์—†๊ณ , ์ผ๋‹จ ํ•œ๋ฒˆ ๋”ฐ๋ผํ•ด๋ด์•ผ inspirer9.tistory.com ๊ทธ๋ž˜์„œ ๋ญ”๊ฐ€ ๋‹ค๋ฅธ๊ฒŒ ๋˜ ์žˆ์ง€ ์•Š์„๊นŒ ์‹ถ์–ด์„œ ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ, ์•„๋‹ˆ๋‚˜ ๋‹ค๋ฅผ๊นŒ, ์—ญ์‹œ ์žˆ๋‹ค. Tabnine AI Assistant๋ผ๊ณ  ํ•œ๋‹ค...

GitHub Copilot ๊นƒํ—ˆ๋ธŒ ์ฝ”ํŒŒ์ผ๋Ÿฟ

๊นƒํ—ˆ๋ธŒ ์ฝ”ํŒŒ์ผ๋Ÿฟ์ด๋ผ๊ณ  ์†Œ์Šค ์ฝ”๋“œ ์ž‘์„ฑ์„ ๋„์™€์ฃผ๋Š” AI๋ผ๊ณ  ํ•œ๋‹ค. Copilot์ด๋ผ๋Š” ๋‹จ์–ด ์ž์ฒด๊ฐ€ ๋น„ํ–‰๊ธฐ์˜ ๋ถ€์กฐ์ข…์‚ฌ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๊ทผ๋ฐ ๋ญ ๋‚˜๋„ ์•„๋Š”๊ฒŒ ์—†์œผ๋‹ˆ๊นŒ ์„ค๋ช…ํ•  ๊ฒŒ ์—†๊ณ , ์ผ๋‹จ ํ•œ๋ฒˆ ๋”ฐ๋ผํ•ด๋ด์•ผ๊ฒ ๋‹ค. https://www.youtube.com/watch?v=whoGwwAIq0k ๊ฐ€์ž…์„ ํ•˜๊ณ , ์ด๋ฉ”์ผ ์ธ์ฆํ•˜๊ณ , Free ๋ฒ„์ „์œผ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ณด๋„๋ก ํ•˜์ž. ์ฒ˜์Œ์— ํ•  ๊ฑฐ๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋งŒ๋“ค๊ณ , README ํŒŒ์ผ ์ƒ์„ฑ... ๊ทธ๋Ÿฐ ๋‹ค์Œ์—๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ ์ฝ”๋”ฉํ•ด๋ณด๊ธฐ + ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ ์„ค์น˜ + GitHub Desktop ์„ค์น˜ ์ฝ”ํŒŒ์ผ๋Ÿฟ ์“ธ๋ ค๋ฉด ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ๋ฅผ ์จ์•ผํ•˜๋‚˜? ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ Visual Studio Code, Visual Studio 2022 ๋‘ ๊ฐœ๋งŒ ์ง€์›ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ํ•œ๋‹ฌ ๋ฌด๋ฃŒ ์ดํ›„ ๋ˆ๋‚ด์•ผ ํ•œ๋‹ค๊ณ ..

gcc๋ง๊ณ  g++ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๊ฒฐ๋˜๋Š” ๋ฌธ์ œ

๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ธฐ๋กœ ํ•˜๊ณ , 10๋…„์ „์— ์ œ๋Œ€๋กœ ๋ชป ๋๋ƒˆ๋˜ ๋งˆ์ง€๋ง‰ ๊ณผ์ œ, "์›Œํฌ ์“ฐ๋ ˆ๋“œ์— ๋ชฌ์Šคํ„ฐ ์›€์ง์ด๊ณ , ์œ ์ €๊ฐ€ ์ ‘์†ํ•ด์„œ ๊ทธ๊ฑธ ๊ด€์ฐฐํ•  ์ˆ˜ ์žˆ๋Š” epoll ์„œ๋ฒ„"๋ฅผ ๋ชฉํ‘œ๋กœ ๊ณต๋ถ€๋ฅผ ํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ, ๊ทธ๋ž˜์„œ ๋‹ค์‹œ ์ฒ˜์Œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š”๋ฐ... ์ผ๋‹จ ์šฐ๋ถ„ํˆฌ 10.10 - i386์—๋‹ค๊ฐ€ TextEditor๋ž‘ gcc ์ด์šฉ. ์„œ๋ฒ„ , ํด๋ผ์ด์–ธํŠธ ์†Œ์Šค ๊ตฌํ•œ๊ฑฐ ๋‘ ๊ฐœ ์ปดํŒŒ์ผ server.cc , client.cc gcc -g -o server server.cc ํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋‚จ /tmp/ccXP80hZ.o : (.eh_frame+0x12): undefined reference to '__gxx_personality_v0' collect2: ld returned 1 exit status ์–ด๋””์„œ ๋งŽ์ด ๋ดค๋˜ ์˜ค๋ฅ˜์ธ๋ฐ?..

2021 ์นด์นด์˜ค ์‹ ์ž…๊ณต์ฑ„ 1์ฐจ ์˜จ๋ผ์ธ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ

์™€~ ์š”์ฆ˜์€ ์ฝ”ํ…Œ๋ฅผ ์ด๋ ‡๊ฒŒ ํ•˜๋Š”๊ตฌ๋‚˜! ์นด์นด์˜ค ์‹ ์ž… ๊ณต์ฑ„ ๋ฌธ์ œ 2021 ์นด์นด์˜ค ์‹ ์ž…๊ณต์ฑ„ 1์ฐจ ์˜จ๋ผ์ธ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ for Tech developers ๋ฌธ์ œํ•ด์„ค ์ง€๋‚œ 2020๋…„ 9์›” 12์ผ ํ† ์š”์ผ ์˜คํ›„ 2์‹œ๋ถ€ํ„ฐ 7์‹œ๊นŒ์ง€ 5์‹œ๊ฐ„ ๋™์•ˆ 2021 ์นด์นด์˜ค ์‹ ์ž… ๊ฐœ๋ฐœ์ž ๊ณต์ฑ„ 1์ฐจ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๊ฐ€ ์ง„ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ์—๋Š” ์ด 7๊ฐœ์˜ ๋ฌธ์ œ๊ฐ€ ์ถœ์ œ๋˜์—ˆ์œผ๋ฉฐ, ๊ฐœ๋ฐœ ์–ธ์–ด๋Š” C++, Java, Jav tech.kakao.com ๋ฌธ์ œ๋Š” ์—ฌ๊ธฐ์„œ ๋‚˜์˜ค๋‹ˆ, ์—ฌ๊ธฐ์— ์žˆ๋Š” ๊ฑธ ๋‹ค ๊ณต๋ถ€ํ•˜๋ฉด 1์ฐจ ์˜จ๋ผ์ธ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋Š” ํ•ฉ๊ฒฉ์ผ ๋“ฏ... ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์‹ ๊ทœ ์•„์ด๋”” ์ถ”์ฒœ ์นด์นด์˜ค์— ์ž…์‚ฌํ•œ ์‹ ์ž… ๊ฐœ๋ฐœ์ž ๋„ค์˜ค๋Š” ์นด์นด์˜ค๊ณ„์ •๊ฐœ๋ฐœํŒ€์— ๋ฐฐ์น˜๋˜์–ด, ์นด์นด์˜ค ์„œ๋น„์Šค์— ๊ฐ€์ž…ํ•˜๋Š” ์œ ์ €๋“ค์˜ ์•„์ด๋””๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์—…๋ฌด๋ฅผ ๋‹ด๋‹นํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋„ค์˜ค์—๊ฒŒ ์ฃผ์–ด์ง„ ์ฒซ ์—…๋ฌด๋Š” ์ƒˆ๋กœ..

hash_map<string, int> ์‚ฌ์šฉ์‹œ ์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค.

2011๋…„... hash_map ์‚ฌ์šฉ์‹œ ์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค. ๊ตฌ๊ธ€๋ง์„ ํ•ด์„œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ์‹์„ ์ฐพ์•„๋‚ด์„œ ํ•ด๋ดค๋Š”๋ฐ ๋‹ค ์†Œ์šฉ์—†์—ˆ๊ณ , ์ปดํŒŒ์ผ ์˜ต์…˜๋งŒ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋˜๋Š” ๊ฑฐ ์˜€๋‹ค. hash_map์ด ์•„์ง ํ‘œ์ค€์ด ์•„๋‹ˆ๋ผ์„œ ์ปดํŒŒ์ผ ํ•  ๋•Œ ์˜ต์…˜์„ ๋” ๋ถ™์—ฌ์ค˜์•ผ ํ•˜๋Š” ๊ฑฐ์˜€์Œ... ใ… .ใ…  ์ปดํŒŒ์ผํ•  ๋•Œ ์•„๋ž˜ ๋Œ€์‹  g++ -g -o s s.cc ์•„๋ž˜์ฒ˜๋Ÿผ ํ•˜๋ฉด ๋˜๋Š” ๊ฑฐ์˜€๋‹ค. g++ -Wall -std=c++0x -o s s.cc ์•ˆ ๊ทธ๋Ÿฌ๋ฉด ์ด๋Ÿฐ ์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค. /usr/include/c++/4.4/c++0x_warning.h:31:2 error: #error This file requires compiler and library support for the upcoming ISO C++ standard, C++0x. This support is..

C์–ธ์–ด ์†๋„ ์ธก์ •์šฉ ํ…œํ”Œ๋ฆฟ

C์–ธ์–ด๋กœ ์ง  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ์–ผ๋งˆ๋‚˜ ๋น ๋ฅผ๊นŒ ๊ถ๊ธˆํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค. (์™œ ๊ถ๊ธˆํ•ด์•ผ ํ•˜๋ƒ๊ณ ?) ๊ทธ...๊ทธ๊ฑฐ์•ผ ๊ฒŒ์ž„ ๋งŒ๋“œ๋‹ˆ๊นŒ... ์•„ ์ด์   ํ•„์š”์—†์ง€? ์š”์ฆ˜์€ ์ปดํ“จํŒ… ํŒŒ์›Œ๊ฐ€ ๊ดด๋ฌผ์ด๋ผ์„œ (์‹œ๋ฌด๋ฃฉ) ์•”ํŠผ ๊ทธ๋ž˜๋„ ๋‚œ ๊ถ๊ธˆํ•˜๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์„ฑ๋Šฅ์„ ์ธก์ •ํ•  ๋•Œ ์ผ๋ฐ˜์ ์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด ํ•œ ๋‹ค์Œ์— (2)-(1)ํ•ด์„œ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„์„ ์ธก์ •ํ•œ๋‹ค. // ์ž‘์—… ์‹œ์ž‘ ์‹œ๊ฐ ์ €์žฅ(1) // ์ž‘์—… // ์ž‘์—… ์ข…๋ฃŒ ์‹œ๊ฐ ์ €์žฅ(2) ์˜ clock() ์ฝ”๋“œ๋กœ ๋ณด๋ฉด ์ด๋Ÿฐ ์‹์ด๋‹ค. #include #include main() { clock_t start,end; start = clock(); /* ๋ฃจํ”„ ์‹œ์ž‘ */ int j; for(int i=0; itm_hour, p_tm->tm_min, p_tm->tm_sec, timeEnded.tv_u..

for๋ฌธ๋„ ๋ชจ๋ฅด๋Š” ๋ฐ”๋ณด

TCP/IP ์†Œ์ผ“ํ”„๋กœ๊ทธ๋ž˜๋ฐ C version์ด๋ผ๋Š” ์ฑ…์„ ๋ณด๊ณ ์žˆ๋Š”๋ฐ vํŽ˜์ด์ง€์˜ ์†Œ์Šค์ฝ”๋“œ๊ฐ€ ์ดํ•ด๊ฐ€ ์•ˆ๊ฐ€... ์–ด์ฐŒ๋œ๊ต...ใ… .ใ… ; TCP/IP ์†Œ์ผ“ํ”„๋กœ๊ทธ๋ž˜๋ฐ C version TCP/IP ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(The Pocket Guide to TCP/IP Sockets)์€ ์†Œ์ผ“์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์žกํ•˜๊ณ  ๊ฐ•๋ ฅํ•œ ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์ง€์‹๊ณผ ๊ธฐ๋ฒ•๋“ค์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋น ๋ฅด๊ณ  ์šฉ์ดํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ www.yes24.com ๊ทผ๋ฐ ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ ์ด๋ฏธ ์งˆ๋ฌธ์ด ์žˆ์–ดใ…‹ http://m.k.daum.net/qna/mobile/view.html?nk_type=Q&qid=49jtC ์•Œ๊ณ ๋ณด๋‹ˆ ๋‚ด๊ฐ€ ์ € ์†Œ์Šค์ฝ”๋“œ์˜ for ๋ฌธ์„ ์ž˜ ๋ชป ๋ณด๊ณ  ์žˆ์—ˆ๋˜ ๊ฑฐ์˜€๋‹ค. ์ž˜๋ณด๋ฉด for( ; ; )์—์„œ ๋งˆ์ง€๋ง‰ increment๊ฐ€ ์—†๋Š”๊ฑฐ.ใ…‹ใ…‹ใ…‹ ์ด..

gcc์—์„œ __gxx_personality_v0 ์—๋Ÿฌ๋‚  ๋•Œ

gcc ์•„๋ž˜์ฒ˜๋Ÿผ ์˜ค๋ฅ˜๊ฐ€ ๋‚  ๋•Œ undefined reference to __gxx_personality_v0' warning: deprecated conversion from string constant to โ€˜char*โ€™ ์ฒซ๋ฒˆ์งธ ์—๋Ÿฌ๋Š” gcc -g -o server *.cc ๋ฅผ g++ -g -o server *.cc ๋กœ ๋ฐ”๊พธ๋ฉด ํ•ด๊ฒฐ๋จ. ๋‘๋ฒˆ์งธ ์—๋Ÿฌ๋Š” ํ•จ์ˆ˜๋ž‘ ๋ฐ์ดํ„ฐ๋ฅผ ๊ต์ฒดํ•˜๋ฉด ๋จ. ์˜ˆ๋ฅผ ๋“ค์–ด, char* Str = "Hello"; ๋ผ๋ฉด, const char* Str = "Hello"; ๊ทธ๋ฆฌ๊ณ  void DisplayText(char* Text); ๋ผ๋ฉด, void DisplayText(const char* Text); ์ด๋Ÿฐ ์‹์œผ๋กœ ๊ณ ์น˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚˜์ง€ ์•Š๋Š”๋‹ค.

Segment Failed (or Fault)

์–ผ๋งˆ์ „ ์ฟผ๋“œํŠธ๋ฆฌ ๋Œ€์‹  ๋น„๋””์˜ค ์นด๋“œ ๋ฉ”๋ชจ๋ฆฌ์ฒ˜๋Ÿผ 1์ฐจ์› ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ฆฌ๋‹ˆ์–ด ์„œ์น˜ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŒ๋“ค์–ด ํ…Œ์ŠคํŠธํ•˜๋‹ค๊ฐ€ ๊ฐ‘์ž๊ธฐ Segment Fault๋ž€ ์—๋Ÿฌ๋ฅผ ๋งŒ๋‚˜์„œ ์•ฝ๊ฐ„ ๋‹นํ™ฉํ–ˆ์—ˆ๋Š”๋ฐ... ๋ฉ”๋ชจ๋ฆฌ์— ์ž˜๋ชป๋œ ์ ‘๊ทผ์„ ํ• ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ์ด๊ณ , ๋ฐœ์ƒํ•˜๋Š” ์ด์œ ๋„ ์ƒ๋‹นํžˆ ๋งŽ์€ ์—๋Ÿฌ๋‹ค. ์•„๋ฌด๋ž˜๋„ ์ขŒํ‘œ๊ณ„์‚ฐํ›„ ์ž˜๋ผ๋‚ด๊ธฐ ํ•  ๋•Œ, X์ขŒํ‘œ 0๋ณด๋‹ค ์ž‘์€ ๊ณณ, ํ˜น์€ 1000๋ณด๋‹ค ํฐ ๊ณณ์— ๊ฑธ๋ฆฌ๊ฑฐ๋‚˜, Y์ขŒํ‘œ์—์„œ ๋„˜์–ด๊ฐ€๋Š” ๋ถ€๋ถ„์— ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๋‚˜ ๊ฐ™์€ ์‚ฌ๋žŒ๋“ค์ด ๋งŽ์ด ์ฐพ์•„์„œ ์œ„ํ‚ค๋ฐฑ๊ณผ์—๋„ ๋“ฑ๋ก๋˜์–ด ์žˆ๋‹ค. ใ…‹ใ…‹ใ…‹ ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ ์˜ค๋ฅ˜ - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „ (wikipedia.org) ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ ์˜ค๋ฅ˜ - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „ ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „. ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ ๊ฒฐํ•จ(Segmentation Fault)์€ ์ปดํ“จํ„ฐ ์†Œํ”„..

๋ฐ˜์‘ํ˜•