Ipython: ๋…ธํŠธ๋ถ์—์„œ ๋ฌดํ•œ ๋ฃจํ”„๋ฅผ ์ค‘๋‹จํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2013๋…„ 01์›” 13์ผ  ยท  29์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: ipython/ipython

์ €๋Š” ์ตœ๊ทผ์— Workshop on Genomics์—์„œ Python ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋Œ€ํ•ด ์†Œ๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ํŠœํ† ๋ฆฌ์–ผ์„ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” ๋…ธํŠธ๋ถ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ–ˆ๊ณ  ๋งค์šฐ ํ˜ธํ‰์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค(๊ณ ๋งˆ์›Œ์š”!). ๋ฃจํ”„์— ๋Œ€ํ•œ ํ† ๋ก  ์ค‘์— ํ•™์ƒ๋“ค์—๊ฒŒ for ๋ฃจํ”„์˜ ์˜ˆ๋ฅผ while ๋ฃจํ”„๋กœ ๋ณ€ํ™˜ํ•˜๋„๋ก ์š”์ฒญํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ณผ์ •์—์„œ ๋งŽ์€ ํ•™์ƒ๋“ค์ด ๋ฌดํ•œ ๋ฃจํ”„๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ํ•™์ƒ์—๊ฒŒ๋Š” Firefox๊ฐ€ ์ถฉ๋Œํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋…ธํŠธ๋ถ ์„œ๋ฒ„๋ฅผ ์ข…๋ฃŒํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ํ•™์ƒ๋“ค์€ Ubuntu ๊ธฐ๋ฐ˜ ๊ฐ€์ƒ ๋จธ์‹ ๊ณผ Firefox๋ฅผ ๋ธŒ๋ผ์šฐ์ €๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋„์›€์ด ๋œ๋‹ค๋ฉด ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ฐ€์ƒ ๋จธ์‹  ์‚ฌ๋ณธ์—์„œ ์ด ๋™์ž‘์„ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์กฐ์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

needs-info

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ ์–ด๋„ ์ผ๋ถ€ ์‹œ์Šคํ…œ์—์„œ๋Š” ์ด ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๋…ธํŠธ๋ถ์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

while True:
    print "foo"

์ด๋กœ ์ธํ•ด Firefox๋Š” 100% CPU๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์–ด๋–ค ๋ฐฉ์‹์ด๋‚˜ ํ˜•ํƒœ๋กœ๋“  ์‘๋‹ตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Firefox์™€ IPython ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ฒƒ์ด ์‹œ์Šคํ…œ์„ ๋ณต๊ตฌํ•˜๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์•„์ดํŒŒ์ด์ฌ 3.0.0
ํŒŒ์ด์–ดํญ์Šค 42.0
Linux 3.13.0-24-์ผ๋ฐ˜

๋ชจ๋“  29 ๋Œ“๊ธ€

์ถฉ๋Œํ•˜๋Š” ๊ฒƒ์ด ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ถฉ๋Œ์‹œํ‚ค์ง€ ์•Š์€ ๊ฒƒ์ด ์•„๋‹Œ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?
(ํ•œ ๋ฉ”๋‰ด์— kill ์ปค๋„์ด ์žˆ์–ด์•ผ ํ•จ)

์„œ๋ฒ„๋ฅผ ์ฃฝ์ด๋Š” ๋ณด์•ˆ ์˜ตํŠธ์ธ ํƒ€์ž„์•„์›ƒ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปค๋„์ด ๋„ˆ๋ฌด ์˜ค๋ž˜ ๋ฐ”์˜๊ฑฐ๋‚˜ ํ”„๋ŸฐํŠธ์—”๋“œ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์€ ์ž…๋ ฅ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์— ๋‘ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฌดํ•œ ๋ฃจํ”„๋ฅผ ์ค‘๋‹จํ•˜๋Š” ๊ฒƒ์€ ์™„๋ฒฝํ•˜๊ฒŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ปค๋„ ๋ฉ”๋‰ด์—์„œ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ํด๋ฆญํ•˜์‹ญ์‹œ์˜ค.
  • ๋ฃจํ”„๊ฐ€ ๊ฐ ๋‹จ๊ณ„์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ์ธ์‡„ํ•˜๋ฉด ์—„์ฒญ๋‚œ ์–‘์˜ ์ถœ๋ ฅ์ด ์ƒ์„ฑ๋˜์–ด ๋ธŒ๋ผ์šฐ์ €์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฌธ์ œ #1975๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

@Carreau ์ถœ๋ ฅ์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค

@takluyver ์ปค๋„ ๋ฉ”๋‰ด๊ฐ€ ์‘๋‹ตํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ธ์‡„ ์ค‘์ธ ๋ฃจํ”„์™€ ์ธ์‡„๋˜์ง€ ์•Š์€ ๋ฃจํ”„์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๋ฃจํ”„์˜ ์˜ˆ๋ฅผ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

2013๋…„ 1์›” 13์ผ 16์‹œ 11๋ถ„์— Daniel McDonald [email protected] ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

@Carreau https://github.com/Carreau ์ถœ๋ ฅ์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค

@takluyver https://github.com/takluyver ์ปค๋„ ๋ฉ”๋‰ด๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.
๋ฐ˜์‘ํ•˜๋Š”. ์ด๊ฒƒ์€ ์ธ์‡„ ์ค‘์ธ ๋ฃจํ”„์™€ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฃจํ”„์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
์ธ์‡„๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

โ€”
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ Gi tHubhttps://github.com/ipython/ipython/issues/2781#issuecomment -12195606์—์„œ ํ™•์ธํ•˜์„ธ์š”.

๋‹จ์–ด๊ฐ€ ์„œ๋กœ์˜ ์•„๋‚˜๊ทธ๋žจ์ด ์•„๋‹ ๋•Œ์˜ ์ˆœ์ง„ํ•œ/๋”์ฐํ•œ ์•„๋‚˜๊ทธ๋žจ ์•Œ๊ณ ๋ฆฌ์ฆ˜

from random import shuffle 
word1 = list("quietx")
word2 = list("quite")
while word1 != word2:
    shuffle(word1)

๋ฐฉ๊ธˆ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ Firefox ๋ฐ Ubuntu์—์„œ ๋ฌธ์ œ ์—†์ด ์ค‘๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์—์„œ ์•ˆ์ •์ ์œผ๋กœ ๋ณต์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

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

๋” ์ด์ƒ ์ด๋ฅผ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋Š” ์œ„์น˜์— ์žˆ์ง€ ์•Š์œผ๋ฉฐ
์ž‘์—…์žฅ. ๋‚ด๊ฐ€ ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ๋‹ค๋ฅธ ๋ˆ„๊ตฌ๋„ ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์ ์„ ๊ฐ์•ˆํ•  ๋•Œ
๊ทธ๊ฒƒ์„ ์š”ํ–‰์œผ๋กœ ์น˜์ž.

๋น ๋ฅธ ๋‹ต๋ณ€์— ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ฐ์‚ฌ๋“œ๋ฆฌ๋ฉฐ ์‹์‚ฌ ์‹œ๊ฐ„์— ๋Œ€ํ•ด ์‚ฌ๊ณผ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

2013๋…„ 1์›” 13์ผ ์ผ์š”์ผ ์˜ค์ „ 9์‹œ 57๋ถ„์— Thomas Kluyver [email protected] ์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ Firefox์—์„œ ๋ฌธ์ œ ์—†์ด ์ค‘๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
& ์šฐ๋ถ„ํˆฌ. ์‹œ์Šคํ…œ์—์„œ ์•ˆ์ •์ ์œผ๋กœ ๋ณต์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

โ€”
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ Gi tHubhttps://github.com/ipython/ipython/issues/2781#issuecomment -12196271์—์„œ ํ™•์ธํ•˜์„ธ์š”.

๊ฑฑ์ • ๋งˆ. ๋ฒ„๊ทธ๋ฅผ ์žฌํ˜„ํ•  ๋ฐฉ๋ฒ•์„ ์ฐพ์œผ๋ฉด ์–ธ์ œ๋“ ์ง€ ๋‹ค์‹œ ์—ด์–ด์ฃผ์„ธ์š”.

๋‚˜๋Š” ์ด๊ฒƒ์„ ํฌ๋กฌ์˜ IPython ๋…ธํŠธ๋ถ์—์„œ ํ•ญ์ƒ ์–ป์Šต๋‹ˆ๋‹ค (๊ทธ๋ฆฌ๊ณ  ๋ฐฉ๊ธˆ ํŒŒ์ด์–ด ํญ์Šค์—์„œ ํ…Œ์ŠคํŠธํ–ˆ๋Š”๋ฐ "์„ฑ๊ณต"ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ถฉ๋Œํ–ˆ์Šต๋‹ˆ๋‹ค). ๋‚˜๋Š” _์ƒ๊ฐ__ ์ž์ฃผ ์ธ์‡„ํ•˜๋Š” ๋ฌดํ•œ ๋ฃจํ”„๊ฐ€ ์žˆ์„ ๋•Œ๋งˆ๋‹ค ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ข…์ข… ๋””๋ฒ„๊น…์„ ์œ„ํ•ด print ๋ฌธ์„ ์ž…๋ ฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ถฉ๋Œ๋กœ ์ธํ•ด ๋‚ด ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ–ˆ๋˜ ์ฝ”๋“œ๋ฅผ ์žƒ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ถฉ๋Œ์„ ์ผ์œผํ‚ค๋Š” ๋ฐ ์‚ฌ์šฉํ•œ ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

numpy๋ฅผ np๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ
x = np.array([0,1,2,3,4])
it = np.nditer(x,flags=['f_index'])
๊ทธ๋ ‡์ง€ ์•Š์€ ๋™์•ˆ.์™„๋ฃŒ:
๊ทธ๊ฒƒ์„ ์ธ์‡„ํ•˜์‹ญ์‹œ์˜ค. ์ƒ‰์ธ

์ €์—๊ฒŒ๋„ ์ด๋Ÿฐ์ผ์ด...
์ฒ˜์Œ์—๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์‘๋‹ตํ•˜์ง€ ์•Š๊ณ  ๋‚˜์ค‘์— ์ „์ฒด ์‹œ์Šคํ…œ์ด ๋ฉˆ์ถ”๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ•์ œ๋กœ ํ•˜๋“œ ๋ฆฌ์…‹์„ ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
xfce ๋ฐ์Šคํฌํƒ‘/ํŒŒ์ด์–ดํญ์Šค์™€ ํ•จ๊ป˜ Ubuntu๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
๋„์›€์ด ๋œ๋‹ค๋ฉด ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ํ•„์š”ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ์„ธ๋ถ€์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค...
@minrk

์ด ๋ฌธ์ œ๋Š” ์—ฌ์ „ํžˆ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค!

์ปค๋„ ๋ฉ”๋‰ด์—์„œ "์ธํ„ฐ๋ŸฝํŠธ" ๋˜๋Š” "๋‹ค์‹œ ์‹œ์ž‘"์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ „ํ˜€ ์ ์šฉ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์‹คํ–‰ ์ค‘์ธ ์•„์ด์ฝ˜์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๊ฒ€์€์ƒ‰ ๊ณต์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์ปดํ“จํ„ฐ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด๋„ ๋…ธํŠธ๋ถ์„ ๋‹ค์‹œ ํด๋ฆญํ•˜๋ฉด ๊ณ„์† ๋ฐ˜๋ณต๋ฉ๋‹ˆ๋‹ค!

ipython 2.2.0์ด ์„ค์น˜๋œ MacBook์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋˜ํ•œ์ด ๋ฌธ์ œ๊ฐ€์žˆ์—ˆ์Šต๋‹ˆ๋‹ค : ๋ธŒ๋ผ์šฐ์ €์— ๋งค๋‹ฌ๋ ค์žˆ๋Š” ipython ๋…ธํŠธ๋ถ ๋ฐ ์ธํ„ฐ๋ŸฝํŠธ ์ปค๋„์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต๊ตฌ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ฃจํ”„ ์˜ค๋ฅ˜์— ๋”ํ•˜์—ฌ, ์ด๊ฒƒ์€ ์˜ˆ๋ฅผ ๋“ค์–ด ๋„คํŠธ์›Œํฌ ์ด์œ ๋กœ ์ธํ•ด ํ•จ์ˆ˜ ๋‚ด์˜ ์ธํ„ฐ๋„ท ์ฟผ๋ฆฌ๊ฐ€ ์ค‘๋‹จ๋˜๋Š” ๊ฒฝ์šฐ์™€ ๊ฐ™์ด ์ค‘๋‹จ๋œ ํ”„๋กœ์„ธ์Šค์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ œ ์งˆ๋ฌธ์€ ๋ช…๋ น์ค„์—์„œ ๊ธฐ๋ณธ ์ปค๋„์— ์•ก์„ธ์Šคํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ? ํ„ฐ๋ฏธ๋„์—์„œ ipython ๋…ธํŠธ๋ถ์„ ์‹œ์ž‘ํ•˜๊ณ  ํ˜„์žฌ ๋‚ด ์†”๋ฃจ์…˜์€ ํ•ด๋‹น ํ„ฐ๋ฏธ๋„์„ ํ‚ค๋ณด๋“œ๋กœ ์ค‘๋‹จํ•˜์—ฌ ์ปค๋„์„ ์™„์ „ํžˆ ์ข…๋ฃŒํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜์—๊ฒŒ๋„ ์ด ์ค‘์š”ํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋ฃจํ”„์™€ ๊ด€๋ จ์ด์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ธด ์‹œ๋ฎฌ๋ ˆ์ด์…˜์ด๋‚˜ ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ด€๋ จ์ด ์žˆ๋Š”์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์ผ๋‹จ ์ค‘๋‹จ๋˜๋ฉด ํ•˜์ดํผ์Šค๋ ˆ๋”ฉ์ด ์—ฌ์ „ํžˆ ์ž‘๋™ํ•˜๋Š” ํ•˜๋‚˜์˜ CPU๋กœ ์ถ•์†Œ๋˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด htop ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ํ•˜์ดํผ์Šค๋ ˆ๋”ฉ(numpy -> BLAS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ์•…์šฉํ•˜๊ณ  ์žˆ์Œ)์ด ์ถฉ๋Œํ•˜๋Š” ๊ฒƒ ๊ฐ™์•˜๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ๋ฏธ์นœ ๋“ฏ์ด ๋Š๋ฆฌ๊ฒŒ ์‹คํ–‰๋˜์—ˆ์ง€๋งŒ ์ค‘๋‹จํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ ์šด์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค. IPython ์ปค๋„์ด ๋ง‰ ๋ง‰ํ˜”๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์— ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

  • ๋‚˜๋Š” ๊ตฌํ˜• ๋จธ์‹ ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค(๊ทธ๋Ÿฌ๋‚˜ ์—ฌ์ „ํžˆ ๋งค์šฐ ์œ ์‚ฌํ•˜๊ณ  RAM๊ณผ CPU๊ฐ€ ์ ์Šต๋‹ˆ๋‹ค)
  • ๋‚˜๋Š” ์˜ค๋ž˜๋œ ipython <3.0์„ ์‚ฌ์šฉํ•˜๊ณ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์›๊ฒฉ IPython ๋…ธํŠธ๋ถ์—์„œ ์ž‘์—…ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋‚ด ์ถ”์ธก์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์–ด๋”˜๊ฐ€์— ์†Œ์ผ“์— โ€‹โ€‹๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค ...
  • matplotlib ์Šค๋ ˆ๋”ฉ ๋ฐฑ์—”๋“œ๊ฐ€ ์—‰๋ง์ด ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์›น ์ธํ„ฐํŽ˜์ด์Šค ๋‚ด์—์„œ ์ปค๋„์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ  ํ•˜๋˜ ์ž‘์—…์„ ๋‹ค์‹œ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค...

ํŽธ์ง‘: ์ € ์—ญ์‹œ ์žฌํ˜„ํ•˜๊ธฐ ์–ด๋ ต์ง€๋งŒ BLAS๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ(์˜ˆ: numpy์˜ ๋‚ด์ ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ) ๋ฌธ์ œ๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ช‡ ๊ฐ€์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ๋” ์‹คํ–‰ํ•ด์•ผ ํ•˜์ง€๋งŒ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์ด ๋ฌธ์ œ๋ฅผ ์ž์ฃผ ๋ณด๊ณ  ํ•ด๊ฒฐํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์ปค๋„์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ ๋ชจ๋“  ๊ฒƒ์„ ์ข…๋ฃŒํ•˜๊ณ  ๊ฐ•์ œ๋กœ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์€ ๊ฝค ๊ณ ํ†ต์Šค๋Ÿฌ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™•์‹คํžˆ ์ƒ์ƒ์˜ ๋ฒ„๊ทธ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค :)

OSX + ํฌ๋กฌ์—์„œ๋„์ด ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

@minrk , ๋‚˜๋Š” ์ด๊ฒƒ์ด ๋‹ค์‹œ ์—ด ๊ฐ€์น˜๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ๋ฌธ์ œ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ๋‹ค์‹œ ์—ด ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค.

CLI์—์„œ ์ค‘์ง€ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋Š” ๊ฒƒ์ด ๋ฌด์–ธ๊ฐ€๋ฅผ ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ๋…ธํŠธ๋ถ์€ ์™„์ „ํžˆ ์‘๋‹ตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

[I 15:26:22.224 NotebookApp] Kernel interrupted: edee0497-b340-43fd-be77-1ad67e5170ee
[I 15:26:32.197 NotebookApp] Kernel interrupted: edee0497-b340-43fd-be77-1ad67e5170ee
[I 15:26:42.688 NotebookApp] Saving file at /Untitled.ipynb
[I 15:27:30.993 NotebookApp] Kernel interrupted: edee0497-b340-43fd-be77-1ad67e5170ee
[I 15:27:35.605 NotebookApp] Kernel interrupted: edee0497-b340-43fd-be77-1ad67e5170ee
[I 15:28:43.999 NotebookApp] Saving file at /Untitled.ipynb
[I 15:29:28.038 NotebookApp] Kernel interrupted: edee0497-b340-43fd-be77-1ad67e5170ee

์ ์–ด๋„ ์ผ๋ถ€ ์‹œ์Šคํ…œ์—์„œ๋Š” ์ด ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๋…ธํŠธ๋ถ์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์•„๋งˆ๋„ ๊ณ ์น  ์ˆ˜ ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋˜ํ•œ์ด ๋ฌธ์ œ๋ฅผ๋ณด๊ณ ์žˆ๋‹ค.

์ ์–ด๋„ ์ผ๋ถ€ ์‹œ์Šคํ…œ์—์„œ๋Š” ์ด ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๋…ธํŠธ๋ถ์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

while True:
    print "foo"

์ด๋กœ ์ธํ•ด Firefox๋Š” 100% CPU๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์–ด๋–ค ๋ฐฉ์‹์ด๋‚˜ ํ˜•ํƒœ๋กœ๋“  ์‘๋‹ตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Firefox์™€ IPython ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ฒƒ์ด ์‹œ์Šคํ…œ์„ ๋ณต๊ตฌํ•˜๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์•„์ดํŒŒ์ด์ฌ 3.0.0
ํŒŒ์ด์–ดํญ์Šค 42.0
Linux 3.13.0-24-์ผ๋ฐ˜

๋กœ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์•„์ดํŒŒ์ด์ฌ 3.2.0
ํŒŒ์ด์ฌ 2.7.10
ํฌ๋กฌ ๋ฒ„์ „ 46.0.2490.86(64๋น„ํŠธ)
OSX 10.10.5

๋‚˜์—๊ฒŒ๋„ ๊ฝค ํฐ ์„ฑ๊ฐ€์‹ฌ. ์ด ๋ฌธ์ œ๋กœ ์ธํ•ด ํฌ๋กฌ๊ณผ ํ•จ๊ป˜ ์ „์ฒด ๋…ธํŠธ๋ถ ์„œ๋ฒ„๋ฅผ ์ข…๋ฃŒํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์žˆ์Šต๋‹ˆ๋‹ค. ์ธํ„ฐ๋ŸฝํŠธ ์ปค๋„ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ํด๋ฆญ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๊ฐ•์กฐ ํ‘œ์‹œ๋˜์ง€๋งŒ ์–ด๋”˜๊ฐ€์—์„œ ์ค‘์ง€ํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ์ˆ˜์‹ ๋˜์ง€ ์•Š๋Š” ์ง€์ ์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด ์ฒซ ์ธ์ƒ์€ ํฌ๋กฌ์˜ ํ…์ŠคํŠธ ๋ Œ๋”๋ง ์—”์ง„์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์ธ๋ฐ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ๊ฑฐ์˜ ๋ชจ๋ฆ…๋‹ˆ๋‹ค.

๋Š๋ฆผ์˜ ๋˜ ๋‹ค๋ฅธ ์˜ˆ๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ํฐ matplotlib๊ฐ€ ์Šคํฌ๋กคํ•œ ํ›„ ์ „๊ฒฝ์œผ๋กœ ์˜ค๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ์ „์ฒด ๋…ธํŠธ๋ถ์ด 4-5์ดˆ ๋™์•ˆ ๋งค์šฐ ๋ถˆ์•ˆ์ •ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋งŒํ•œ ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ๋งŒํผ, ์ €๋Š” ์ƒ๋‹นํžˆ ํŠผํŠผํ•œ ๊ธฐ๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ jupyter๊ฐ€ ์ œ ์ „์ฒด ๊ธฐ๊ณ„๋ฅผ ๋ฌด๋ฆŽ ๊ฟ‡๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ํŠนํžˆ ์ด์ƒํ•ฉ๋‹ˆ๋‹ค.

9/10, ์šฐ๋ฐœ์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž ์˜ค๋ฅ˜ ๋ฒ„๊ทธ๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค(๋˜๋Š” ์ ์–ด๋„ ์œ„์—์„œ ์„ค๋ช…ํ•œ ํ”„๋กœํ•„์— ๋งž์Šต๋‹ˆ๋‹ค). ์ •๊ธฐ์ ์œผ๋กœ ์‘๋‹ตํ•˜๋Š” ์ฐฝ์„ ์–ป์„ ์ˆ˜๋Š” ์—†์—ˆ์ง€๋งŒ ์ „์ฒด ํŽ˜์ด์ง€์˜ ๋งค์šฐ ๋Š๋ฆฐ ํด๋ฆฝ๋ณด๋“œ ๋ณต์‚ฌ๋ฅผ _ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค_. ๋•๋ถ„์— ์ตœ๊ทผ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์ด ์•„๋‹ˆ๋ผ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์™„ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ์ž ์žฌ์ ์ธ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” Linux Mint(18.0)์™€ firefox๋ฅผ ์‹คํ–‰ํ•˜๋ฉด์„œ ์˜ค๋Š˜๊ณผ ๊ณผ๊ฑฐ์— ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๊ฒช์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋งค์šฐ ๊ฐ„๋‹จํ•œ count() ์ƒ์„ฑ๊ธฐ์˜€์ง€๋งŒ __getitem__์„ ์—‰๋ง์œผ๋กœ ๋งŒ๋“ค๊ณ  ์žˆ์—ˆ๊ณ  ์–ด๋ฆฌ์„์€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ‚ค์— ์ธ์‡„๋ฅผ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ตœ์‹  ๋ฒ„์ „์˜ ํŒจํ‚ค์ง€๋Š” ์ถœ๋ ฅ ์ œํ•œ์„ ๊ตฌํ˜„ํ•˜๋ฏ€๋กœ ๋งŽ์€ ์–‘์˜ ์ถœ๋ ฅ์œผ๋กœ ์ธํ•ด ๋ธŒ๋ผ์šฐ์ € ์†๋„๊ฐ€ ๋Š๋ ค์ง€๋Š” ๋ฌธ์ œ๋ฅผ ์™„ํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ๋‹ซ๋Š” ๊ฒƒ์€ IPython ์ž์ฒด์— ์žˆ์ง€ ์•Š์œผ๋ฉฐ ์—ฌ์ „ํžˆ ๋ฌธ์ œ๊ฐ€ ์žˆ๊ณ  ๊ด€๋ จ์„ฑ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์˜ฌ๋ฐ”๋ฅธ ์ €์žฅ์†Œ์—์„œ ์—ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด IPython ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ์—ด๋ฆฐ ๋ฌธ์ œ ์ˆ˜๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณ„์† ๋Œ“๊ธ€์„ ๋‹ฌ๊ฑฐ๋‚˜ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋‹ค์‹œ ์—ฝ๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ํ•ด์š”.

@Carreau , ์ œ์•ˆ๋œ ์ €์žฅ์†Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ(๋˜๋Š” ๋…ธํŠธ๋ถ ๋ฌธ์ œ๊ฐ€ ์ถ”์ ๋˜๋Š” ๊ณณ์œผ๋กœ ์ „๋‹ฌ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๊นŒ...)?

jupyter/notebook ๋˜๋Š” jupyterlab/jupyterlab์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. jupyterlab์—๋„ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ฒฝ์šฐ ๋‘ ๋ฒˆ์งธ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰