Openlibrary: Python 2 ๋ฐ Python 3 ๋ชจ๋‘์—์„œ ์‹คํ–‰

์— ๋งŒ๋“  2018๋…„ 03์›” 19์ผ  ยท  20์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: internetarchive/openlibrary

์ฐจ๋‹จ์ž: internetarchive/infogami#56, internetarchive/infogami#50

#846์—์„œ ๋…ผ์˜๋œ ๊ฒƒ์ฒ˜๋Ÿผ ์ธํ„ฐ๋„ท ์•„์นด์ด๋ธŒ ์ฝ”๋“œ ๊ธฐ๋ฐ˜์—๋Š” ํ˜„์žฌ Python 2๋กœ ์ž‘์„ฑ๋˜๊ณ  Python 3์—์„œ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๋งŽ์€ ์ฝ”๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๋งํฌ ๋Š” Python 2์™€ Python 3์˜ ์ฃผ์š” ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

ํŽธ์ง‘: @cclauss ์˜ ์ œ์•ˆ์— ๋”ฐ๋ผ ์—…๋ฐ์ดํŠธ๋จ

  • [x] Python 3 ๊ตฌ๋ฌธ๊ณผ ํ˜ธํ™˜๋˜๋„๋ก ์ฝ”๋“œ๋ฒ ์ด์Šค ๊ฐ€์ ธ์˜ค๊ธฐ(์ƒํƒœ๋Š” Py3์—์„œ ์‹คํ–‰ํ•  ๋•Œ __make lint__ ์ฐธ์กฐ)

    • [x] #1466 Python 3์—์„œ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ฐฉ์‹ ์ˆ˜์ •

    • [x] #1509 ์š”๊ตฌ ์‚ฌํ•ญ์— __six__๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค(์•„๋ž˜์— ์–ธ๊ธ‰๋œ __future__๋ณด๋‹ค ๋œ ๋ฏธ๋ฌ˜ํ•ฉ๋‹ˆ๋‹ค).

    • [x] #1517 ํ•จ์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” Python 3์—์„œ ๋ช…์‹œ์  ํŠœํ”Œ์ด ์•„๋‹ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • [x] #1603 #1466์—์„œ ๋˜๋Œ๋ ค์ง„ __lambda__ ์ˆ˜์ •์„ ๋‹ค์‹œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    • [x] #1468 catalog/marc/load.py์˜ ์ž˜๋ชป๋œ \N ๋ฌธ์ž ์ด์Šค์ผ€์ดํ”„

    • [x] #1501 __print()__๋Š” plugins/upstream/acs4.py์— ์žˆ๋Š” Python 3์˜ ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.

    • [x] ์ •์˜๋˜์ง€ ์•Š์€ ์ด๋ฆ„ __python3 -m flake8 . --count --exclude=์Šคํฌ๋ฆฝํŠธ/20 , ๊ณต๊ธ‰์—…์ฒด/ --select=F821__

    • [x] __basestring__์— ๋Œ€ํ•œ PR #1563

    • [x] __cmp()__์— ๋Œ€ํ•œ PR #1643

    • [x] __execfile()__์— ๋Œ€ํ•œ PR #1525

    • [x] __file()__์— ๋Œ€ํ•œ PR #1564

    • [x] __raw_input()__์— ๋Œ€ํ•œ PR #1526

    • [x] __unicode__์— ๋Œ€ํ•œ PR(์ด๊ฒƒ์€ ๊นŒ๋‹ค๋กญ๊ณ  ๋งˆ์ง€๋ง‰๊นŒ์ง€ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค.)



      • [x] __xrange()__์— ๋Œ€ํ•œ PR #1524



  • [x] Python 3์„ ์ง€์›ํ•˜๋„๋ก ์ข…์†์„ฑ์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค(๋ช‡ ๊ฐ€์ง€ ํžŒํŠธ๋Š” #1454 ์ฐธ์กฐ).
  • [x] __infogami__ ์™€ ๊ฐ™์€ ๊ณต๊ธ‰์—…์ฒด์—์„œ ์ˆ˜์ •

    • [x] __์ถ”๊ฐ€ ์˜ต์…˜__, __ํŠธ๋ฆฌ๊ฑฐ ๋นŒ๋“œ__( https://travis-ci.org/internetarchive/acs4_py)

    • [x] ์ธํ„ฐ๋„ท ์•„์นด์ด๋ธŒ/ac4_py#7

    • [x] ์ธํ„ฐ๋„ท ์•„์นด์ด๋ธŒ/infogami#40

    • [x] ์ธํ„ฐ๋„ท ์•„์นด์ด๋ธŒ/infogami#42

    • [x] ์ธํ„ฐ๋„ท ์•„์นด์ด๋ธŒ/infogami#43

    • [x] internetarchive/infogami#56 #50์—์„œ Cherrypick ์•ˆ์ „ํ•œ ์ˆ˜์ž…ํ’ˆ

    • [x] internetarchive/infogami#50 ๋” ๋งŽ์€ Python 3 ์—…๋ฐ์ดํŠธ

    • [x] Internetarchive/infogami, Python 3์—์„œ Travis CI ํ…Œ์ŠคํŠธ ํ†ต๊ณผ

  • [x] Travis ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๊ณ  Python 3์—์„œ __allow_failures__ ๋ชจ๋“œ๋ฅผ ๋•๋‹ˆ๋‹ค.
  • [ ] ํ…Œ์ŠคํŠธ, ํ…Œ์ŠคํŠธ, ํ…Œ์ŠคํŠธ
@cclauss 2 Work In Progress Epic

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

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

์ด์™€ ๊ฐ™์€ ๊ฒƒ์€ ์‹œ๊ฐ„์— ๋ฏผ๊ฐํ•˜๋ฏ€๋กœ 3-4๋…„ ๋œ ์ž„์˜์˜ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ์€ ์ข‹์€ ์ •๋ณด ์†Œ์Šค๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๊ณ„ํš ๋ชฉ์ ์„ ์œ„ํ•ด ์ค‘์š”ํ•œ ๊ฒƒ์€ ํ•„์ˆ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋ชจ๋‘ Python 3์„ ์ง€์›ํ•˜๋Š” ์‹œ๊ธฐ, Python 2 ์ง€์›์„ ์ค‘๋‹จํ•  ์‹œ๊ธฐ, ์ตœ์‹  ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋„๊ตฌ์˜ ๋ชจ์Šต ๋“ฑ๊ณผ ๊ฐ™์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋‚ฎ๊ธฐ ๋•Œ๋ฌธ์— ๋‹น์žฅ ์ƒ๊ฐํ•ด์•ผ ํ•  ์ค‘์š”ํ•œ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

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

๋ช…๋ฐฑํ•œ ์ง„์ˆ ์˜ ์œ„ํ—˜์„ ๊ฐ์ˆ˜ํ•˜๊ณ  ์šฐ์„  ์ˆœ์œ„๋Š” a) Python 3์—์„œ ์ค‘๋‹จ๋˜๊ณ  b) OL์—์„œ ์‚ฌ์šฉ๋˜๋Š” Python 2 ๊ธฐ๋Šฅ์„ ์‹๋ณ„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

์ด์™€ ๊ฐ™์€ ๊ฒƒ์€ ์‹œ๊ฐ„์— ๋ฏผ๊ฐํ•˜๋ฏ€๋กœ 3-4๋…„ ๋œ ์ž„์˜์˜ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ์€ ์ข‹์€ ์ •๋ณด ์†Œ์Šค๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๊ณ„ํš ๋ชฉ์ ์„ ์œ„ํ•ด ์ค‘์š”ํ•œ ๊ฒƒ์€ ํ•„์ˆ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋ชจ๋‘ Python 3์„ ์ง€์›ํ•˜๋Š” ์‹œ๊ธฐ, Python 2 ์ง€์›์„ ์ค‘๋‹จํ•  ์‹œ๊ธฐ, ์ตœ์‹  ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋„๊ตฌ์˜ ๋ชจ์Šต ๋“ฑ๊ณผ ๊ฐ™์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋‚ฎ๊ธฐ ๋•Œ๋ฌธ์— ๋‹น์žฅ ์ƒ๊ฐํ•ด์•ผ ํ•  ์ค‘์š”ํ•œ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ๋ฉด์—์„œ @tfmorris ์™€์˜ ์™„์ „ํ•œ ๋™์˜.
๊ฒฐ๊ตญ infogami ๋ฅผ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒฝ๋กœ๋ฅผ ์•Œ์•„๋‚ด์•ผ ํ•˜๋ฏ€๋กœ ์ด์— ๋Œ€ํ•œ ๋ฌธ์ œ๋ฅผ ์กฐ์งํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

ํ , "์šฐ์„  ์ˆœ์œ„"๊ฐ€ ์žˆ๊ณ  "์šฐ์„  ์ˆœ์œ„"๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ ๊ฒƒ์ด ๊ธ‰ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ทธ ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์ด ์ค‘์š”ํ•˜์ง€๋งŒ ๊ธ‰ํ•˜์ง€๋Š” ์•Š๋‹ค๊ณ  ๋งํ•˜๊ณ  ์‹ถ๋‹ค. ์ถฉ๋ถ„ํžˆ ์˜ค๋ž˜ ๋ฌด์‹œํ•˜๋ฉด ๋ฐ˜๋“œ์‹œ ํŒŒ์†๋ฉ๋‹ˆ๋‹ค.

@LeadSongDog ๋ˆ„๊ตฌ์—๊ฒŒ ๋™์˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? ์šฐ์„  ์ˆœ์œ„์™€ ๊ด€๋ จํ•˜์—ฌ ์–ด๋–ค ๋ณ€ํ™”๋ฅผ ๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๊นŒ?

@tfmorris ์ •ํ™•ํžˆ ๋™์˜ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ 1์ฐจ์›์  ์šฐ์„ ์ˆœ์œ„๊ฐ€ ์œ„๊ธฐ๊ด€๋ฆฌ๋กœ ์ด์–ด์ง„๋‹ค๋Š” ๋ง์”€์ž…๋‹ˆ๋‹ค. ์–ด๋ ค์šด ๊ฒƒ์ด ๋‚ฎ์€ ์šฐ์„  ์ˆœ์œ„๋กœ ๋ถ„๋ฅ˜๋˜๋ฉด ๋ฌด์ธ ์ƒํƒœ๊ฐ€ ๋˜๊ฑฐ๋‚˜ ํŒŒ์†์„ ์ผ์œผ์ผœ ๊ธด๊ธ‰ํ•˜๊ฒŒ ๋  ๋•Œ๊นŒ์ง€ ๋‹ซํž™๋‹ˆ๋‹ค. ์šฐ์„  ์ˆœ์œ„๋ฅผ ์ „ํ˜€ ๋‘์ง€ ์•Š๋Š” ๊ฒƒ์ด ๋” ๋‚ซ์Šต๋‹ˆ๊นŒ?

PR #1273 ๋•๋ถ„์— ํ˜„์žฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ์ถ”์ ํ•˜๋Š” Travis CI ์ž‘์—…์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”, ์ €๋Š” OpenLibrary๋ฅผ ์ฒ˜์Œ ์‚ฌ์šฉํ•˜์ง€๋งŒ ์ด๊ฒƒ์€ ์ œ๊ฐ€ ํ•˜๊ณ  ์‹ถ์€ ์ผ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. '์ข‹์€ ์ดˆํŒ'์€ ์•„๋‹ˆ๋”๋ผ๋„ ์ฒœ์ฒœํžˆ๋ผ๋„ ์ง„ํ–‰ํ•ด๋„ ๋ ๊นŒ์š”?

์ฐธ๊ณ : ์ด ๋ชฉ๋ก์€ ์ด ๋ฌธ์ œ์˜ ๋งจ ์œ„๋กœ ์ด๋™๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ด ๋ฌธ์ œ์˜ ์ œ๋ชฉ์„ "__Python 2 ๋ฐ Python 3__ ๋ชจ๋‘์—์„œ ์‹คํ–‰__"์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. Python 2 ์ง€์›์„ ์ œ๊ฑฐํ•˜๊ธฐ _์ „์—_ ๋‘ ๊ฐ€์ง€ ๋ชจ๋‘์—์„œ ์ž‘๋™ํ•˜๋Š” ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ๊ฐ–๋Š” ๊ฒƒ์ด ๋ถ„๋ช…ํžˆ ๋ชจ๋ฒ” ์‚ฌ๋ก€์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. Python 2 ์ˆ˜๋ช… ์ข…๋ฃŒ๊นŒ์ง€ 423์ผ.

@cclauss ๊ท€ํ•˜์˜ ํ—ˆ๋ฝํ•˜์— ์ œ๋ชฉ์ด ๋ณ€๊ฒฝ๋˜๊ณ  ์ฒดํฌ๋ฆฌ์ŠคํŠธ๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์œผ๋ฏ€๋กœ ์œ„์˜ ๋ฉ”์‹œ์ง€๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? (2๊ฐœ์˜ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋™๊ธฐํ™”๋˜์ง€ ์•Š๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด)

Infogami ์™ธ์— ์ถ”์ฒœํ•  ์ˆ˜ ์žˆ๋Š” ์ถ”๊ฐ€ ํ›„์† ์กฐ์น˜๋Š” ๋งค์šฐ ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.bowing_man:

์ด๋Ÿฌํ•œ ์ผ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์›๋™๋ ฅ์ด ๋˜์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ž์‹ ์—๊ฒŒ ๋งž๋Š” ํŽธ์ง‘์„ ์ž์œ ๋กญ๊ฒŒ ํ•˜์‹ญ์‹œ์˜ค. ๋” ์ด์ƒ Travis ํ…Œ์ŠคํŠธ๋ฅผ ์ฐจ๋‹จํ•˜์ง€ ์•Š๋Š” ์ง€์ ๊นŒ์ง€ Infogami๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐ ์ง‘์ค‘ํ•ฉ์‹œ๋‹ค. ๋‚ด ์ดˆ์ ์€ ๋‹ค๋ฅธ ๊ณณ์— ์žˆ์—ˆ์ง€๋งŒ ์•ž์œผ๋กœ ๋ช‡ ์ฃผ ์•ˆ์— ๋‹ค์‹œ ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

Python 2 ์ˆ˜๋ช… ์ข…๋ฃŒ๊นŒ์ง€ 100์ผ์„ ๊ธฐ๋…ํ•˜๊ธฐ ์œ„ํ•ด ์œ„์˜ ์ž‘์—… ๋ชฉ๋ก์„ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์˜ ์žก๋‹ด๊ณผ ์—ฌ์œ ์—์„œ ๋‚˜๋Š” ์ด๊ฒƒ์„ ์ง„ํ–‰์ค‘์ธ ์ž‘์—…์œผ๋กœ ํ‘œ์‹œํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹ด๋‹น์ž๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. @cclauss ์™€ @salman-bhai๊ฐ€ Python3์˜ ํŒ€ ๋ฆฌ๋”์ด๊ธฐ ๋•Œ๋ฌธ์— ์ตœ๊ณ ์˜ ํ›„๋ณด์ž๊ฐ€ ๋  ๊ฒƒ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

@cclauss ๊ทธ ์ด๋ชจํ‹ฐ์ฝ˜์ด ์–‘์ˆ˜์ธ์ด ๋˜๋Š” ๊ฒƒ์— ์˜ˆ์Šค์ž…๋‹ˆ๊นŒ? ๋‹น์‹ ๊ณผ @hornc ๊ฐ€ ์ž‘์—… ๋ถ„์„์—์„œ ๊ฑฐ์˜ ๋ชจ๋“  PR์„ ๋‹ด๋‹นํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Python3์— ๋Œ€ํ•œ ํŠน์ • ๋‚˜๋จธ์ง€ ๋‹จ๊ณ„/์ฐจ๋‹จ๊ธฐ๋ฅผ ๋‹ค์‹œ ํ•ด์‹œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

์™œ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์•„์กŒ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. 1์›” 1์ผ๊นŒ์ง€ ์™„๋ฃŒํ•  ํ•„์š”๋Š” ์—†์ง€๋งŒ ๊ณง ์™„๋ฃŒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ์ฃผ์š” ์ฐจ๋‹จ๊ธฐ๋Š” infogami์ด์ง€๋งŒ ์ด์‹ํ•˜๋ฉด ์‹œ์Šคํ…œ์˜ ๋‹ค๋ฅธ ๋ถ€๋ถ„์— ๋‚จ์•„ ์žˆ๋Š” ๋ฌธ์ œ๊ฐ€ ๋“œ๋Ÿฌ๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ๊ฐ infogami ๋ฌธ์ œ๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ์ถ”์ ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค infogami ์ตœ์ƒ์œ„ Python 3 ์—ํ”ฝ ๋ฌธ์ œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ์ด ๋” ํ•ฉ๋ฆฌ์ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ช‡ ๊ฐœ์›”์˜ ์œ ์˜ˆ ๊ธฐ๊ฐ„์ด ๋” ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. 12์›” ๋ง, Python Software Foundation์€ ์€ํ‡ด ๋‚ ์งœ๋ฅผ 2020๋…„ 4์›”๋กœ (๋‹ค์‹œ!) ๋ฏธ๋ค˜์Šต๋‹ˆ๋‹ค.

https://www.python.org/psf/press-release/pr20191220/

๋„ค, ํ•˜์ง€๋งŒ ์ด ํ”„๋กœ์ ํŠธ๋Š” ์ œ๊ฐ€ ์•„๋Š” ๋งˆ์ง€๋ง‰ ์ฃผ์š” ํ”„๋กœ์ ํŠธ์ด๋ฉฐ ์•„์ง๊นŒ์ง€๋Š” ์•„์ง ๋๋‚˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ตœ์ข… Python 2 ๋ฆด๋ฆฌ์Šค๊ฐ€ ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค: https://stackoverflow.blog/2020/04/23/the-final-python-2-release-marks-the-end-of-an-era/ ์ค‘์š”ํ•œ ๋ณด์•ˆ ๋ฒ„๊ทธ๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ์ข…๋ฅ˜์˜ ์ถ”๊ฐ€ ์—…๋ฐ์ดํŠธ.

์ง€๊ธˆ๋ถ€ํ„ฐ (๋ช‡ ๋‹ฌ ์ „๋ถ€ํ„ฐ) ๋งค์ผ OpenLibrary ํ”„๋กœ๋•์…˜ ์‹œ์Šคํ…œ์„ ์†์ƒ์‹œํ‚ค๋Š” ํŒจ์น˜๋˜์ง€ ์•Š์€ ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ๋…ธ์ถœ์ด ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์„ ๋‹ซ์„ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค! Python 3์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ์‹  ๋ชจ๋“  ๋ถ„๋“ค๊ป˜ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!!

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