๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Python/๊ธฐ์ดˆ

ํŒŒ์ด์ฌ ํŠœํ„ฐ, ํŒŒ์ด์ฌ ์ฝ”๋“œ ์‹œ๊ฐํ™” ํ™•์ธํ•˜๊ธฐ ์ข‹์€ ์‚ฌ์ดํŠธ :: ๋งˆ์ด์ž๋ชฝ

by ๐ŸŒปโ™š 2020. 3. 11.

ํŒŒ์ด์ฌ ํŠœํ„ฐ๋ผ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์•Œ๊ณ ๊ณ„์‹ ๊ฐ€์š”? ํ•œ๋ฒˆ ์‚ฌ์šฉํ•ด๋ดค๋Š”๋ฐ ๋ณต์žกํ•œ ์ฝ”๋“œ ๋‚ด์šฉ์„ ํ•œ์ค„์”ฉ ์‹คํ–‰์‹œ์ผœ ์ฝ”๋“œ์˜ ๋‚ด์šฉ์„ ์‹œ๊ฐํ™”ํ•ด์„œ ๋ณด์—ฌ์ฃผ๋Š” ํŽธ๋ฆฌํ•œ ํˆด๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๋ชจ๋“ˆ๋“ค์„ ์‚ฌ์šฉํ•˜์—ฌ ์–ด๋–ค ํ”„๋กœ์ ํŠธ์˜ ์ „๋ฐ˜์ ์ธ ํ๋ฆ„์„ ํ™•์ธํ•˜๊ธฐ๋ณด๋‹ค๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ๋ˆˆ์œผ๋กœ ํ๋ฆ„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“œ๋„ค์š”.

 

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

 

 

ํŒŒ์ด์ฌ ํŠœํ„ฐ

Visualize your code and get live help now ๋งํฌ๋ฅผ ํด๋ฆญํ•˜๋ฉด ์ง์ ‘ ํŒŒ์ด์ฌ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด์„œ ํ•œ์ค„ ํ•œ์ค„ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

 

ํŒŒ์ด์ฌ ์žฌ๊ท€ํ•จ์ˆ˜ ํ๋ฆ„ ์˜ˆ์‹œ

def listSum(numbers):
    if not numbers:
        return 0
    else:
        (f, rest) = numbers
        return f + listSum(rest)

myList = (1, (2, (3, None)))
total = listSum(myList)

ํ™ˆํŽ˜์ด์ง€์— ๋‚˜์™€์žˆ๋Š” ๊ฐ„๋‹จํ•œ ์žฌ๊ท€ํ•จ์ˆ˜ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ์‹์œผ๋กœ ๋ณต์žกํ•˜์ง€ ์•Š๋Š”๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ๋จธ๋ฆฌ๋ฅผ ์กฐ๊ธˆ ์จ์•ผํ•˜๋Š” ์ฝ”๋“œ๋“ค!์„ ์‹œ๊ฐํ™”ํ•ด์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ํŒŒ์ด์ฌ ํŠœํ„ฐ์ž…๋‹ˆ๋‹ค.

Visualize Execution ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ์ฝ”๋“œ๋กœ ํ๋ฆ„์„ ํ•œ๋‹จ๊ณ„์”ฉ ์‹œ๊ฐํ™”ํ•ด์„œ๋ณผ ์ˆ˜ ์žˆ๊ณ 

Live Programming Mode๋ฅผ ํด๋ฆญํ•˜๋ฉด ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

 

 

ํŒŒ์ด์ฌ ํŠœํ„ฐ ์ฝ”๋“œ ์‹œ๊ฐํ™” ํ๋ฆ„

์ด๋Ÿฐ์‹์œผ๋กœ ํ•œ์ค„์”ฉ ๋กœ์ง์ด ์–ด๋–ป๊ฒŒ ๋ณ€ํ•˜๊ณ  ์žˆ๋Š”์ง€, ํ˜„์‹œ์ ์—์„œ ์ž๋ฃŒํ˜•์˜ ์ƒํƒœ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋˜์–ด ์žˆ๋Š”์ง€...

๋”ฑ ๋ณด์ž๋งˆ์ž ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์ดํ•ด ์•ˆ๋˜๋Š” ๋ถ€๋ถ„์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ฐธ ์‚ฌ์šฉํ•˜๊ธฐ ์ข‹์„๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

 

 

 

๊ฐ ์ค„๋งˆ๋‹ค ์‹คํ–‰์„ ํ•ด์ฃผ๊ณ  ๋ฌด์—‡๋ณด๋‹ค ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ์•„๊ฒŒ ๋˜๊ฑฐ๋‚˜ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ๊ฐ ๋กœ์ง์•ˆ์œผ๋กœ ๋‹ค์‹œ ๋“ค์–ด๊ฐ€ ๋ฐ˜๋ณตํ•˜์—ฌ ์ง„ํ–‰ ์ƒํƒœ๋ฅผ ์ผ์ผํžˆ ํ•˜๋‚˜์”ฉ ๋‹ค ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

 

 

 

ํŠนํžˆ ์ด๋Ÿฐ ์žฌ๊ท€ํ•จ์ˆ˜๊ฐ™์€ ๋ถ€๋ถ„์—์„œ๋Š” ์†์œผ๋กœ ๊ทธ๋ฆฌ๋ฉด์„œ ํ•œ์ค„์”ฉ ํ™•์ธํ•ด๋„ ๋งŽ์ด ํ—ท๊ฐˆ๋ฆฌ๋Š”๋ฐ ์ •๋ง ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์‹œ๊ฐํ™”ํ•ด์„œ ๋ณด์—ฌ์ฃผ๋Š”๊ฒƒ์ด ํŒŒ์ด์ฌ ํŠœํ„ฐ์˜ ์ตœ๋Œ€ ์žฅ์ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

์ด ์‚ฌ์ดํŠธ๋Š” UC San Diego์˜  Philip Guo ๊ต์ˆ˜๋‹˜์ด ๊ฐœ๋ฐœํ•˜์‹  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ œ์ž‘ ๊ณผ์ •์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ์•„๋ž˜ ๋งํฌ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

http://pgbovine.net/publications.htm#Online_Python_Tutor_web_based_program_visualization_SIGCSE_2013

 

์ €๋„ ์•„์ง ๋งŽ์ด ์‚ฌ์šฉํ•ด๋ณด์ง€๋Š” ์•Š์•˜์ง€๋งŒ, ์ •๋ง ์œ ์šฉํ•˜๊ฒŒ ์ž˜ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์€ ์‚ฌ์ดํŠธ์ž…๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ ํŠœํ„ฐ๋งŒ์˜ ๋˜๋‹ค๋ฅธ ๊ฐ•์ ์€ ํŒŒ์ด์ฌ ๋ง๊ณ ๋„ Java, C, C++, Javascript, TypeScript, Ruby์™€ ๊ฐ™์€ ์–ธ์–ด๋กœ๋„ ๋˜‘๊ฐ™์ด ์ฝ”๋“œ์˜ ์‹œ๊ฐํ™”๋กœ ํ๋ฆ„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

Python Tutor - Visualize Python, Java, C, C++, JavaScript, TypeScript, and Ruby code execution

VISUALIZE CODE AND GET LIVE HELP Learn Python, Java, C, C++, JavaScript, and Ruby Python Tutor (created by Philip Guo) helps people overcome a fundamental barrier to learning programming: understanding what happens as the computer runs each line of code. W

pythontutor.com

๋Œ“๊ธ€