IT

ยท๐Ÿ”  Language/C,C++
1. ๋ฌธ์ž ์ž๋ฃŒํ˜•์˜ ํŠน์ง• - ์ •์ˆ˜ ์ž๋ฃŒํ˜•์ธ char๋ฅผ ์ด์šฉํ•ด์„œ ๋ฌธ์ž ํ•œ๊ฐœ๋ฅผ ์ €์žฅํ•œ๋‹ค. ์ •์ˆ˜ ์ž๋ฃŒํ˜•์ด๋ฏ€๋กœ ๋ง์…ˆ ๋บ„์…ˆ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. - ์ •์ˆ˜๋Š” ์ˆซ์ž๋ฅผ ์˜๋ฏธํ•˜๋Š”๋ฐ ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•˜๋ƒ๋ฉด ๋ฐ”๋กœ ์•„์Šคํ‚ค ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ๋ณ€ํ™˜ํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค. - 0์€ 48, A๋Š” 65, a๋Š” 97 ์ •๋„๋งŒ ์™ธ์šธ ๊ฒƒ์„ ๊ถŒ์žฅํ•˜๊ณ  ์žˆ์œผ๋‹ˆ ์™ธ์šฐ๊ณ  ๋„˜์–ด๊ฐ€์ž. - C์–ธ์–ด์—์„œ ๋ฌธ์ž๋Š” ''(์ž‘์€ ๋”ฐ์˜ดํ‘œ)๋กœ ๋ฌถ์–ด์„œ ํ‘œํ˜„ํ•œ๋‹ค. - ์ž‘์€ ๋”ฐ์˜ดํ‘œ๋Š” ๋ฌธ์ž ํ•˜๋‚˜๋งŒ ๋ฌถ์„ ์ˆ˜ ์žˆ๊ณ , ๋‘๊ฐœ ์ด์ƒ์€ ๋ฌถ์„ ์ˆ˜ ์—†๋‹ค. 2. ๋ฌธ์ž ํ•จ์ˆ˜ **๋“ค์–ด๊ฐ€๊ธฐ์ „์— C ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ํ‚ค๋ณด๋“œ, ๋ชจ๋‹ˆํ„ฐ์™€ ๊ฐ™์€ ๋Œ€๋ถ€๋ถ„์˜ ์ฝ˜์†” ์žฅ์น˜๋Š” ์ž๋™์œผ๋กœ ์—ด๋ฆฌ๋Š” ํŒŒ์ผ์ฒ˜๋Ÿผ ๋‹ค๋ค„์ง„๋‹ค. ๋”ฐ๋ผ์„œ, C์–ธ์–ด์—์„œ๋Š” stdin ํ‘œ์ค€ ์ŠคํŠธ๋ฆผ์„ ํ†ตํ•ด ์ž…๋ ฅ ์žฅ์น˜๋ฅผ ๋‹ค๋ฃจ๊ณ , stdout ํ‘œ์ค€ ์ŠคํŠธ๋ฆผ์„ ํ†ตํ•ด ์ถœ๋ ฅ ์žฅ์น˜๋ฅผ ๋‹ค๋ฃจ๊ฒŒ..
1. ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด (Singleton Pattern) ์ด๋ž€? - ์†Œํ”„ํŠธ์›จ์–ด ๋””์ž์ธ ํŒจํ„ด์œผ๋กœ์„œ, ์‹ฑ๊ธ€ํ„ด ํŒจํ„ด(Singleton pattern)์„ ๋”ฐ๋ฅด๋Š” ํด๋ž˜์Šค๋Š”, ์ƒ์„ฑ์ž๊ฐ€ ์—ฌ๋Ÿฌ ์ฐจ๋ก€ ํ˜ธ์ถœ๋˜๋”๋ผ๋„ ์‹ค์ œ๋กœ ์ƒ์„ฑ๋˜๋Š” ๊ฐ์ฒด๋Š” ํ•˜๋‚˜์ด๊ณ  ์ตœ์ดˆ ์ƒ์„ฑ ์ดํ›„์— ํ˜ธ์ถœ๋œ ์ƒ์„ฑ์ž๋Š” ์ตœ์ดˆ์˜ ์ƒ์„ฑ์ž๊ฐ€ ์ƒ์„ฑํ•œ ๊ฐ์ฒด๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. ์ฃผ๋กœ ๊ณตํ†ต๋œ ๊ฐ์ฒด๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ์ƒ์„ฑํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” DBCP(DataBase Connection Pool)์™€ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค. ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ, ํ•œ๋ฒˆ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ์— ์ •์ ์œผ๋กœ ์˜ฌ๋ ค๋†“๊ณ , ์ด ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋ฅผ ์ „์—ญ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ค์–ด ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„๋ฅผ ์ค„์—ฌ์ฃผ๋Š” ํŒจํ„ด์ด๋‹ค. 2. ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด ์“ฐ๋Š” ์ด์œ  (1) ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„๋ฅผ ๋ฐฉ์ง€ํ•œ๋‹ค. (2) ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋“ค์ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ์‰ฝ๋‹ค. (3) ..
1. ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (Object-Oriented Programming, OOP)๋ž€? - ๋‹จ์–ด์˜ ๋œป๋ถ€ํ„ฐ ์‚ดํŽด๋ณด๋ฉด ๊ฐ€์žฅ ํ•ต์‹ฌ ๋‹จ์–ด๋Š” '๊ฐ์ฒด'์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๊ฐ์ฒด๋Š” ๋ฌด์—‡์ผ๊นŒ? ์–ด๋– ํ•œ ์—ญํ• ์„ ํ•˜๋Š” ์‚ฌ๋ฌผ์ด๋‚˜ ์›€์ง์ด๋Š” ๊ฒƒ ๋ชจ๋‘ ๋‹ค ๊ฐ์ฒด๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์  ๊ด€์ ์—์„œ ๋ณด๋ฉด, ํŠน์ • ์—ญํ• ์„ ํ•˜๋Š” ๋ฉ”์†Œ๋“œ,๋ณ€์ˆ˜, ์ž๋ฃŒ ๊ตฌ์กฐ ๋“ฑ์ด ๋  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์ด๋Ÿฐ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ปค๋‹ค๋ž€ ํ‹€๋กœ ๋ณด๋ฉด, ํŠน์ • ์—ญํ• ๋ณ„๋กœ ์ž˜~ ๋ฌถ์–ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋‹ค. ์ด๋Ÿฐ ๊ฒƒ์„ ์—ผ๋‘ํ•ด ๋‘๊ณ  ์žฅ์ , ํŠน์ง• ๊ทธ๋ฆฌ๊ณ  ์„ค๊ณ„ ์›์น™ ๋“ฑ์„ ๋ณด๋ฉด ์ดํ•ด๊ฐ€ ๋น ๋ฅด๋‹ค. 2. OOP ์žฅ์  - S/W์˜ ์งˆ์„ ํ–ฅ์ƒํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ•ํ•œ ์‘์ง‘๋ ฅ(Strong Cohesion)๊ณผ ์•ฝํ•œ ๊ฒฐํ•ฉ๋ ฅ(Weak Coupling)์„ ์ง€ํ–ฅํ•ด์•ผ ํ•˜๋Š”๋ฐ, OOP์˜ ๊ฒฝ์šฐ ํด๋ž˜..
์•ž์„œ ํ•„์š”ํ•œ ๋ฐฐ๊ฒฝ๋“ค์— ๋Œ€ํ•ด์„œ ์–ด๋Š์ •๋„ ์‚ดํŽด๋ณด๊ณ  ๋‚˜๋‹ˆ ๊ด€๋ จ๋œ ์ž๋ฃŒ๋“ค์„ ๋ณด๋Š”๋ฐ ํ›จ์”ฌ ์ˆ˜์›”ํ•จ์„ ๋Š๊ผˆ๋‹ค. ์‚ฌ์‹ค asyncio์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ = ๋ฐฐ๊ฒฝ์ง€์‹ ๊ณต๋ถ€ํ•˜๊ธฐ ์ด๊ฒƒ์ธ ๊ฒƒ ๊ฐ™๋‹ค. ์•„์ง ๋ถ€์กฑํ•œ ๊ฐœ๋…๋“ค์€ ์ถ”ํ›„ ํ•„์š”ํ•œ ๋ฐฐ๊ฒฝ์ง€์‹ ์‹œ๋ฆฌ์ฆˆ๋กœ ์ž‘์„ฑํ•ด๋ณด๋„๋ก ํ• ๊ฒƒ์ด๋‹ค. 1. Asyncio๋ž€? - ์ผ๋‹จ Async (๋น„๋™๊ธฐ) + input/output (์ž…์ถœ๋ ฅ) ์ด๋ผ๋Š” ๋œป์ด๋‹ค. - ๋น„๋™๊ธฐ๋ผ๋Š” ๊ฒƒ์€ ์ด๋ฏธ์ง€๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค. - ๋™๊ธฐ๋Š” ์ž‘์—…1์ด ๋๋‚˜๋Š” ๊ฒƒ์„ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ์ž‘์—…2๋ฅผ ํ•˜๋Š” ๋ฐ˜๋ฉด ๋น„๋™๊ธฐ๋Š” ์ž‘์—…1์ด ์ง„ํ–‰๋˜๋Š” ๋™์•ˆ ์ž‘์—…2๋„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ€์‹œ์ ์œผ๋กœ๋งŒ ๋ด๋„ ์‹œ๊ฐ„์ด ํ˜„์ €ํžˆ ์ ˆ์•ฝ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. - ๊ทธ๋Ÿผ ์™œ io(์ž…์ถœ๋ ฅ)์ด๋ƒ๋ฉด CPU๊ฐ€ ํ•˜์œ„์˜ ๋ฉ”๋ชจ๋ฆฌ ์žฅ์น˜๋“ค๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ์†๋„ ์ฐจ์ด๋กœ ์ธํ•ด CPU์˜ ์ž‘์—…..
1. ์“ฐ๋ ˆ๋“œ (Thread)๋ž€? - ํ”„๋กœ๊ทธ๋žจ(ํ”„๋กœ์„ธ์Šค)์˜ ์‹คํ–‰ ๋‹จ์œ„์ด๋ฉฐ, ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ์“ฐ๋ ˆ๋“œ๋กœ ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. - ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์“ฐ๋ ˆ๋“œ๋“ค์€ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ, ์ž์› ๋“ฑ์„ ๊ณต์œ ํ•œ๋‹ค. - ํ”„๋กœ์„ธ์Šค์™€ ๊ฐ™์ด ์‹คํ–‰, ์ค€๋น„, ๋Œ€๊ธฐ ๋“ฑ์˜ ์‹คํ–‰ ์ƒํƒœ๋ฅผ ๊ฐ€์ง€๋ฉฐ ์‹คํ–‰ ์ƒํƒœ๊ฐ€ ๋ณ€ํ• ๋•Œ๋งˆ๋‹ค ์“ฐ๋ ˆ๋“œ ๋ฌธ๋งฅ๊ตํ™˜(context switching)์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. - ๊ฐ ์“ฐ๋ ˆ๋“œ๋ณ„๋กœ ์ž์‹ ๋งŒ์˜ ์Šคํƒ๊ณผ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ๊ฐ€์ง„๋‹ค. 2. ํ”„๋กœ์„ธ์Šค ์™€ ์“ฐ๋ ˆ๋“œ (1) Process - ํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋˜์–ด ์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ CPU์˜ ์‹œ์Šคํ…œ ์ž์›์„ ํ• ๋‹น ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. (2) Thread - ์“ฐ๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์‹คํ–‰ ๋‹จ์œ„๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. - ํ•œ ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ๋™์ž‘๋˜๋Š” ์—ฌ๋Ÿฌ ์‹คํ–‰ ํ๋ฆ„..
asyncio๋ฅผ ๊ณต๋ถ€ํ•˜๋ ค๋‹ค๊ฐ€ ์ž˜ ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์ด ๋งŽ์•„์„œ ๊ทธ๋ƒฅ ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„๋ถ€ํ„ฐ ๊ณต๋ถ€ํ•˜๊ณ  ๋„˜์–ด๊ฐ€๊ณ ์ž ํ•œ๋‹ค. 1. ์ฝ”๋ฃจํ‹ด(coroutine) ์ด๋ž€? - cooperative routine์„ ์˜๋ฏธํ•˜๋Š”๋ฐ, ์„œ๋กœ ํ˜‘๋ ฅํ•˜๋Š” ๋ฃจํ‹ด์ด๋ผ๋Š” ๋œป์ด๋‹ค. - ์šฐ์„  ๋ฃจํ‹ด์ด๋ผ๋Š” ๊ฐœ๋…๋ถ€ํ„ฐ ์‚ดํŽด๋ณธ๋‹ค. def add(a, b): c = a + b # add ํ•จ์ˆ˜๊ฐ€ ๋๋‚˜๋ฉด ๋ณ€์ˆ˜์™€ ๊ณ„์‚ฐ์‹์€ ์‚ฌ๋ผ์ง print(c) print('add ํ•จ์ˆ˜') def calc(): add(1, 2) # add ํ•จ์ˆ˜๊ฐ€ ๋๋‚˜๋ฉด ๋‹ค์‹œ calc ํ•จ์ˆ˜๋กœ ๋Œ์•„์˜ด print('calc ํ•จ์ˆ˜') calc() ์ด ์ฝ”๋“œ์—์„œ calcํ•จ์ˆ˜์—์„œ add๋ฅผ ๋ถˆ๋ €๊ณ , addํ•จ์ˆ˜๊ฐ€ ๋๋‚˜๋ฉด calc๋กœ ๋‹ค์‹œ ๋Œ์•„์˜จ๋‹ค. ์ด๋•Œ, calc๊ฐ€ ๋ฉ”์ธ ๋ฃจํ‹ด์ด๊ณ , add๋Š” ์„œ๋ธŒ๋ฃจํ‹ด์ด ๋˜๋Š” ๊ฑฐ๋‹ค. - ์ด๋Ÿฐ์‹์˜..
์•ž์„œ ์˜ํ˜ผ์„ ๊ฐˆ์•„ ์ •๋ฆฌํ•œ OSI ๋ชจ๋ธ๊ณผ TCP/IP ์ •๋ฆฌ๋Š” MQTT๋ฅผ ์œ„ํ•จ์ด์—ˆ๋‹ค. 1. MQTT(๋ฉ”์‹œ์ง€ ํ์ž‰ ํ…”๋ ˆ๋ฉ”ํŠธ๋ฆฌ ํŠธ๋žœ์ŠคํฌํŠธ, Message Queuing Telemetry Transport)๋ž€? - ์šฐ์„ , Telemetry Transport์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž๋ฉด, ์ „์†ก์€ ์ „์†ก์ธ๋ฐ.. ํ…”๋ ˆ๋ฉ”ํŠธ๋ฆฌ ์ด๊ฒŒ ํ•ฉ์„ฑ์–ด์ด๋‹ค. - ์›๊ฒฉ์„ ์˜๋ฏธํ•˜๋Š” 'Tele'์™€ ์ธก์ •์„ ์˜๋ฏธํ•˜๋Š” 'Metry'์˜ ํ•ฉ์„ฑ์–ด๋กœ ์›๊ฒฉ์ง€์˜ ์ƒํƒœ๋ฅผ ๊ฐ์‹œ ๋ฐ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ๊ณ„๊ฐ„ ๊ฐ์ข… ๋ฐ์ดํ„ฐ๋ฅผ ๋””์ง€ํ„ธ ์‹ ํ˜ธ๋กœ ๋ฐ”๊ฟ”์„œ ์›๊ฒฉ์œผ๋กœ ์†ก์ˆ˜์‹ ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. - ์ฆ‰, ์• ์ดˆ์— M2M(Machine-to-Machine)์„ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ์ธ ์…ˆ์ด๋‹ค. ๋˜ํ•œ, ์š”์ฆ˜์€ ์‚ฌ๋ฌผ์ธํ„ฐ๋„ท์—๋„ ์“ฐ์ด๋Š” ๊ฒฝ๋Ÿ‰ ๋ฉ”์„ธ์ง€ ์ „์†ก ํ”„๋กœํ† ์ฝœ์ด๋‹ค. - ์œ„ํ‚คํ”ผ๋””์•„๋ฅผ ๋ณด๋ฉด MQTT๋ฅผ 7๊ณ„์ธต์˜ 7๋ฒˆ์งธ์ธ ..
ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ œ์ผ ์ค‘์š”ํ•œ ๊ฒƒ์ด '์„ค๊ณ„'์ด๋‹ค. ์„ค๊ณ„๋ฅผ ํƒ„ํƒ„ํ•˜๊ฒŒ ํ•ด์•ผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ตฌ๋ฉ์ด ์—†๋Š” ์ฝ”๋”ฉ์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค. ๋ผ๊ณ  ๋ฐฐ์› ๋‹ค. (ใ…‹ใ…‹) ์—ฌํŠผ ์•„์ง ๋‚ด ์ง€์‹์œผ๋กœ๋Š” ์„ค๊ณ„๋ฅผ ํ•˜๊ธฐ์—๋Š” ๋ฌด๋ฆฌ์ด์ง€๋งŒ, ์„ค๊ณ„๋ฅผ ์œ„ํ•œ ๋ฐฐ๊ฒฝ์ง€์‹์œผ๋กœ ๊ผญ ํ•„์š”ํ•œ OSI 7Layer ์™€ TCP/IP ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•ด ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. 1. OSI model ์ด๋ž€? - Open Systems Interconnection Reference Model ์˜ ์ค„์ž„๋ง๋กœ ๊ตญ์ œ ํ‘œ์ค€ํ™”๊ธฐ๊ตฌ์—์„œ ๊ฐœ๋ฐœํ•œ ๋ชจ๋ธ์ด๋ฉฐ, ํ˜ธํ™˜์„ฑ์˜ ๊ด€์ ์—์„œ 'ํ‘œ์ค€' ์ด๋ผ๋Š” ๋‹จ์–ด๋Š” ๊ต‰์žฅํžˆ ์ค‘์š”ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ, ๊ฑฐ์˜ ๋Œ€๋ถ€๋ถ„์˜ ์„ค๊ณ„๊ฐ€ ์ด ๋ชจ๋ธ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค. 2. WHY? - ํฐ ํ‹€์—์„œ ์ด ๋ชจ๋ธ์„ ์ฐธ์กฐํ•˜๋Š” ์ด์œ ๋Š” ํ˜ธํ™˜์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. - ์ •ํ•ด์ง„ ๊ธฐ์ค€์ด ์—†์œผ๋ฉด AํšŒ์‚ฌ..
์‹ ์ž…์ด๊ธด ํ•˜์ง€๋งŒ 6๊ฐœ์›”์˜ ๊ฒฝ๋ ฅ์„ ๊ฐ–๊ณ  ์žˆ๋‹ค๊ณ  ๊ผด์— ์ž๋งŒํ–ˆ๋‚˜๋ณด๋‹คใ…  logging ์‹œ์Šคํ…œ์— ๋Œ€ํ•ด ๋„ˆ๋ฌด ์•ˆ์ผํ–ˆ๋˜ ๊ฑฐ ๊ฐ™๋‹น ๊ทธ๋™ํ•œ ๋‚˜์—๊ฒŒ log๋Š” ์™ธ๋ถ€์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์œผ๋กœ์„œ ๋””๋ฒ„๊ทธํ•  ๋•Œ ๋ฐ”๋กœ๋ฐ”๋กœ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ทธ๋Ÿฐ ๊ทธ ์ด์ƒ๋„ ์ดํ•˜๋„ ์•„๋‹ˆ์—ˆ๋Š”๋ฐ ์›น ๋ฐฑ์—”๋“œ๋ฅผ ํ•˜๋‹ค์™€์„œ ๊ทธ๋ ‡๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด๊ณ ์‹ถ๋‹ค.. ์—ฌํŠผ ํ”„๋กœ๊ทธ๋žจ์—” ์ค‘์š”ํ•˜์ง€ ์•Š์€ ๊ฒŒ ์—†๋‹จ ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜๋‹ค. 3๋…„ ํ›„์ธ ์ง€๊ธˆ ์ด ๊ธ€์„ ์ฝ์œผ๋‹ˆ๊นŒ ๋„ˆ๋ฌด ์ฐฝํ”ผํ•˜๋‹ค ํ•˜ํ•˜^^.. ๋กœ๊ทธ๋Š” ๊ต‰์žฅํžˆ ์ค‘์š”ํ•˜๋ฏ€๋กœ ๋ชฐ๋ž๋˜ ๋‚ด ์ž์‹ ์ด ์ž˜๋ชป๋œ ๊ฒƒ์ด๋‹ค ํŒŒ์ด์ฌ์—์„œ ์ฝ˜์†” ์ถœ๋ ฅ๋ฐฉ๋ฒ•์€ print() ์ด๋ ‡๊ฒŒ ์“ฐ๋ฉด๋˜๋Š”๋ฐ, ๊ธฐ๋ณธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์žˆ๋Š” logging ์„ ์“ฐ๋ฉด ๋กœ๊ทธ๋กœ์จ ๊ด€๋ฆฌ๊ฐ€ ๋œ๋‹ค. logging.error("์—๋Ÿฌ๋ฉ”์„ธ์ง€") ์ด๋Ÿฐ์‹์œผ๋กœ ์“ฐ๋ฉด ๋œ๋‹ค. ๋กœ๊น…๋ ˆ๋ฒจ ๋กœ๊น…์—๋Š” print()์™€๋Š” ๋‹ฌ๋ฆฌ ๋กœ๊ทธ์— ๋ ˆ๋ฒจ์ด ์žˆ๋‹ค. D..
ํ‚จ์ง€ (Kinzie)
'IT' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก