Skip to content

Latest commit

ย 

History

History
183 lines (123 loc) ยท 19.6 KB

File metadata and controls

183 lines (123 loc) ยท 19.6 KB
slug
/2024/07/13

2024-07-13

  • ์ €์ž๋Š” ์ž‘์—… ํ™˜๊ฒฝ์—์„œ ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฃจ๊ณ  ๋นˆ๋ฒˆํ•œ ๋ฐฉํ•ด๋ฅผ ๋ฐ›๋Š” ๋™์•ˆ ์ง‘์ค‘๋ ฅ์„ ์œ ์ง€ํ•˜๋Š” ์–ด๋ ค์›€์— ๋Œ€ํ•ด ๋…ผ์˜ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋“ค์€ ์ž‘์—… ์ผ์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…, ์ƒ๊ฐ ๋ฐ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ค‘๋‹จ ํ›„ ์‹ ์†ํ•˜๊ฒŒ ์ง‘์ค‘๋ ฅ์„ ๋˜์ฐพ๊ณ  ์ƒ๊ฐ์„ ๋ช…ํ™•ํžˆ ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
  • ๋‹น์‹ ์ด ํ•˜๊ณ  ์žˆ๋Š” ์ผ์„ ์ ๊ณ , ์ผ์„ ์žฌ๊ฐœํ•  ๋•Œ ๋งˆ์ง€๋ง‰ ํ•ญ๋ชฉ์„ ๊ฒ€ํ† ํ•˜๋Š” ์Šต๊ด€์€ ๊ฐ„๋‹จํ•˜์ง€๋งŒ ํšจ๊ณผ์ ์ธ ์ƒ์‚ฐ์„ฑ ๋„๊ตฌ๋กœ ์ œ์‹œ๋ฉ๋‹ˆ๋‹ค.
  • ์ž‘์—… ์ผ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ •์‹  ๋ชจ๋ธ์„ ๊ตฌ์ฒด์ ์ธ ๊ฐ€๋Šฅ์„ฑ์œผ๋กœ ๊ณ ์ •์‹œ์ผœ ํšจ์œจ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ผ๊ธฐ ์“ฐ๊ธฐ๋Š” ๊ฒฉ์ฐจ๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ์ž์‹ ๊ฐ์„ ํ‚ค์šฐ๋ฉฐ, ํŠนํžˆ ๋ณต์žกํ•œ ์‹œ์Šคํ…œ์—์„œ ์ฒ ์ €ํ•จ์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
  • ๋ฌผ๋ฆฌ์  ๋…ธํŠธ๋ถ, ๋””์ง€ํ„ธ ์•ฑ, GitHub ์ด์Šˆ์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•๊ณผ ๋„๊ตฌ๋ฅผ ์ผ๊ธฐ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ผ๊ด€์„ฑ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ์ž์œ  ์Šค๋ ˆ๋“œ CPython์€ CPython 3.13์˜ ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ, ๋™์ผํ•œ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋‚ด์—์„œ ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์—ฌ ๊ธ€๋กœ๋ฒŒ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋ฝ(GIL)์„ ์„ ํƒ ์‚ฌํ•ญ์œผ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค (PEP 703).
  • ์ด ์‹คํ—˜์  ๊ธฐ๋Šฅ์€ ์Šค๋ ˆ๋“œ ์•ˆ์ „์„ฑ๊ณผ ABI ๋น„ํ˜ธํ™˜์„ฑ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ์ œ๊ธฐํ•˜์ง€๋งŒ, ์—ฌ๋Ÿฌ CPU ์ฝ”์–ด๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•˜์—ฌ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” PyData ์Šคํƒ์„ ์‹œ์ž‘์œผ๋กœ ํ˜ธํ™˜์„ฑ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, Python 3.13์šฉ cp313t ํœ ์„ PyPI์— ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ numpy์™€ pywavelets์™€ ๊ฐ™์€ ํŒจํ‚ค์ง€์˜ ์Šค๋ ˆ๋“œ ์•ˆ์ „์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋…ธ๋ ฅ์„ ๊ณ„์†ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด์ œ ์ž์œ  ์Šค๋ ˆ๋“œ CPython์„ ์‹คํ—˜ํ•ด๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ฃผ์š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์ด GIL(๊ธ€๋กœ๋ฒŒ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋ฝ)์„ ์ง€์›ํ•˜์ง€ ์•Š์œผ๋ฉด ์ตœ์†Œํ•œ์˜ ๋…ธ๋ ฅ์œผ๋กœ๋„ ์ƒ๋‹นํ•œ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด ๊ฐœ๋ฐœ์€ ์˜ค๋ž˜๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋น ๋ฅด๊ฒŒ ์ ์‘ํ•˜์ง€ ๋ชปํ•  ๊ฒฝ์šฐ, ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ๊ฐ€ ์‹œ์žฅ ์ ์œ ์œจ์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์—ฌ ๋ฉ€ํ‹ฐํ”„๋กœ์„ธ์‹ฑ์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์—†์ด ๊ธฐ๊ณ„์˜ ๋ชจ๋“  ์ฝ”์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋‹จ์ˆœํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Python 3.14๋Š” ๊ธฐ๋ณธ ๋ฉ€ํ‹ฐํ”„๋กœ์„ธ์‹ฑ ๋ฐฉ์‹์„ fork์—์„œ spawn ๋˜๋Š” forkserver๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ์ผ๋ถ€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์˜ˆ์ •์ด์ง€๋งŒ, ์ž์œ  ์Šค๋ ˆ๋”ฉ์œผ๋กœ์˜ ์ „ํ™˜์€ ์—ฌ์ „ํžˆ fork-์•ˆ์ „ ์ฝ”๋“œ ๋ณด์žฅ ๋ฐ ๋™์‹œ์„ฑ ๋ฒ„๊ทธ ์ฒ˜๋ฆฌ์™€ ๊ฐ™์€ ๋„์ „ ๊ณผ์ œ๋ฅผ ๋„์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • "Crafting Interpreters"๋Š” ํŒŒ์‹ฑ๋ถ€ํ„ฐ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜๊นŒ์ง€ ๋‹ค์–‘ํ•œ ์ฃผ์ œ๋ฅผ ๋‹ค๋ฃจ๋ฉฐ, ์ž์‹ ๋งŒ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋งŒ๋“ค๊ณ ์ž ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ํฌ๊ด„์ ์ธ ์ฑ…์ž…๋‹ˆ๋‹ค.
  • ๋…์ž๋“ค์€ ๋™์  ํƒ€์ดํ•‘, ๋ ‰์‹œ์ปฌ ์Šค์ฝ”ํ”„, ์ผ๊ธ‰ ํ•จ์ˆ˜, ํด๋กœ์ €, ํด๋ž˜์Šค ๋ฐ ์ƒ์†๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ์–ธ์–ด๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ์ด ์ฑ…์€ ๋‹คํŠธ ์–ธ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ตฌ๊ธ€ ์—”์ง€๋‹ˆ์–ด ๋กœ๋ฒ„ํŠธ ๋‚˜์ด์ŠคํŠธ๋กฌ์ด ์ €์ˆ ํ–ˆ์œผ๋ฉฐ, ์ธ์‡„๋ณธ, ์ „์ž์ฑ…, ์›น ํ˜•์‹์œผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
  • "Crafting Interpreters"๋Š” ๊ธฐ์ˆ ์  ๊ตฌํ˜„๊ณผ ๊ฐœ๋…์  ํ†ต์ฐฐ๋ ฅ์„ ๊ท ํ˜• ์žˆ๊ฒŒ ๋‹ค๋ฃจ์–ด, ์˜ˆ๋น„ ์—”์ง€๋‹ˆ์–ด๋“ค์—๊ฒŒ ํ›Œ๋ฅญํ•œ ์ž์›์œผ๋กœ ์นญ์†ก๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๋“ค์€ ์ฑ…์˜ ๋ช…ํ™•์„ฑ๊ณผ ์‹ค์šฉ์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ๋†’์ด ํ‰๊ฐ€ํ•˜๋ฉฐ, ์ผ๋ถ€๋Š” ์ฝ”๋”ฉ์„ ํ•˜๋ฉด์„œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ฝ์„ ๊ฒƒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.
  • ์ผ๋ถ€ ์‚ฌ๋žŒ๋“ค์ด ์ž๋ฐ”๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ–ˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ•จ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ์ด ์ฑ…์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋งŒ๋“œ๋Š” ๊ธฐ์ดˆ๋ฅผ ๋ฐฐ์šฐ๋Š” ๋ฐ ์œ ์šฉํ•˜๋ฉฐ ๊ธฐ์ˆ  ๋ฌธ์„œ ์ž‘์„ฑ์˜ ๋†’์€ ๊ธฐ์ค€์„ ์„ธ์šด ๊ฒƒ์œผ๋กœ ํ‰๊ฐ€๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋นŒ ์›Œํ„ฐ์Šจ์€ '์บ˜๋นˆ๊ณผ ํ™‰์Šค' ์—ฐ์žฌ๋ฅผ ์ข…๋ฃŒํ•œ ์ง€ 5๋…„ ํ›„ ์ž์‹ ์˜ ์ž‘ํ’ˆ ์ง„ํ™”์— ๋Œ€ํ•ด ํšŒ๊ณ ํ•˜๋ฉฐ, ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์ž์‹ ์˜ ์ทจํ–ฅ๊ณผ ๊ธฐ์ˆ ์ด ์–ด๋–ป๊ฒŒ ๋ณ€ํ–ˆ๋Š”์ง€ ์–ธ๊ธ‰ํ–ˆ๋‹ค.
  • ๊ทธ๋Š” ์ผ์š”์ผ ์—ฐ์žฌ ๋งŒํ™”๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์žˆ์–ด ๋…ํŠนํ•œ ๋„์ „๊ณผ ๊ธฐ์จ์„ ๊ฐ•์กฐํ•˜๋Š”๋ฐ, ์ด๋Š” ์ผ์ผ ์—ฐ์žฌ ๋งŒํ™”์— ๋น„ํ•ด ๋” ์ •๊ตํ•œ ๊ทธ๋ฆผ๊ณผ ํ™•์žฅ๋œ ์Šคํ† ๋ฆฌํ…”๋ง์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ–ˆ๋‹ค.
  • Watterson์€ ๋งŒํ™”์— ๋Œ€ํ•œ ๊นŠ์€ ์• ์ •์„ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ๊ทธ๋ฆผ๊ณผ ์Œ์•… ๊ฐ™์€ ๋‹ค๋ฅธ ๊ด€์‹ฌ์‚ฌ๋ฅผ ํƒ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด 10๋…„ ๋งŒ์— ์—ฐ์žฌ๋ฅผ ์ข…๋ฃŒํ•˜๊ธฐ๋กœ ํ•œ ๊ฒฐ์ •์„ ๋…ผ์˜ํ•ฉ๋‹ˆ๋‹ค.
  • ๋นŒ ์›Œํ„ฐ์Šจ์˜ ์‚ฌ๋ž‘๋ฐ›๋Š” ๋งŒํ™” '์บ˜๋นˆ๊ณผ ํ™‰์Šค'๋Š” ์–ด๋ฆฐ์ด์™€ ์–ด๋ฅธ ๋ชจ๋‘์—๊ฒŒ ์—ฌ์ „ํžˆ ๊ณต๊ฐ์„ ๋ถˆ๋Ÿฌ์ผ์œผํ‚ค๋ฉฐ, ์‹œ๋Œ€๋ฅผ ์ดˆ์›”ํ•œ ์ฆ๊ฑฐ์›€๊ณผ ๊ณต๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๋นŒ ์›Œํ„ฐ์Šจ์˜ ์ตœ์‹ ์ž‘ 'The Mysteries'๋Š” ํ˜ธ๊ธฐ์‹ฌ, ํ†ต์ œ, ๊ธฐ์ˆ  ๋ฐœ์ „์˜ ์ฃผ์ œ๋ฅผ ํƒ๊ตฌํ•˜๋Š” ๋‹ค๋ฉด์ ์ธ ์šฐํ™”๋กœ, ๊ทธ ๊ฐ€์น˜์— ๋Œ€ํ•œ ์˜๊ฒฌ์€ ๋‹ค์–‘ํ•˜๋‹ค.
  • ์บ˜๋นˆ๊ณผ ํ™‰์Šค์— ๋Œ€ํ•œ ๋…ผ์˜๋Š” ๋…์ž๋“ค์˜ ์‚ถ์— ๋ฏธ์นœ ์˜ํ–ฅ, ์™€ํ„ฐ์Šจ์ด ๋…ธ๋ฒจ์ƒ์„ ๋ฐ›์„ ๊ฐ€๋Šฅ์„ฑ, ๊ทธ๋ฆฌ๊ณ  ์ƒํ’ˆํ™”๊ฐ€ ๋งŒํ™”์˜ ์œ ์‚ฐ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์— ๋Œ€ํ•œ ๋…ผ์Ÿ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
  • Product Hunt์—์„œ์˜ ์ถœ์‹œ์—๋Š” ๋‘ ๊ฐ€์ง€ ์ƒˆ๋กœ์šด ๋„๊ตฌ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค: CSS Grid Generator์™€ Illustration Generator.
  • CSS Grid Generator๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์—ด, ํ–‰, ๊ทธ๋ฆฌ๊ณ  ๊ฐ„๊ฒฉ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•˜์—ฌ ๋งž์ถคํ˜• CSS ๊ทธ๋ฆฌ๋“œ ๋ ˆ์ด์•„์›ƒ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋ฉฐ, ์‰ฝ๊ฒŒ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ƒ์„ฑ๋œ HTML ๋ฐ CSS ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ์ด ๋„๊ตฌ๋Š” ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž ์ง€์ • ๊ฐ€๋Šฅํ•œ ์—ด, ํ–‰, ๊ฐ„๊ฒฉ ๋ฐ ์š”์†Œ ์žฌ๋ฐฐ์น˜๋ฅผ ์œ„ํ•œ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ CSS ๊ทธ๋ฆฌ๋“œ ์ƒ์„ฑ๊ธฐ(cssgridgenerator.io)๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์œผ๋ฉฐ, ๋ช‡ ๊ฐ€์ง€ ๋ฒ„๊ทธ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๊ทธ ๊ฐ„๋‹จํ•จ๊ณผ ์œ ์šฉ์„ฑ์œผ๋กœ ๊ธ์ •์ ์ธ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๋“ค์€ ๊ทธ๋ฆฌ๋“œ ์š”์†Œ๊ฐ€ ๊ฒฝ๊ณ„ ๋ฐ–์œผ๋กœ ์ด๋™ํ•˜๊ฑฐ๋‚˜ ์ƒ์ž๊ฐ€ ๋ฐ˜์‘ํ˜•์œผ๋กœ ํฌ๊ธฐ ์กฐ์ ˆ์ด ๋˜์ง€ ์•Š๋Š” ๋“ฑ์˜ ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ ํ–ˆ์œผ๋ฉฐ, ๊ณต์œ ๋ฅผ ์œ„ํ•œ URL ์ƒํƒœ ์ถ”๊ฐ€์™€ ์ฝ”๋“œ์˜ ์˜คํ”ˆ ์†Œ์Šคํ™”๋ฅผ ๊ฐœ์„  ์‚ฌํ•ญ์œผ๋กœ ์ œ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ด ๋„๊ตฌ๋Š” ์œ ์šฉํ•œ ํ•™์Šต ์ž๋ฃŒ๋กœ์„œ, ๊ทธ๋ฆฌ๋“œ ๋ ˆ์ด์•„์›ƒ์„ ์‹ ์†ํ•˜๊ฒŒ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ์„œ ์›น ๋””์ž์ธ ๋„๊ตฌ์˜ ์ง„ํ™”๋ฅผ ๋ฐ˜์˜ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ํ‰๊ฐ€๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฆฌ์ฒด์Šค๋Š” LVM์—์„œ dm-integrity๋กœ ์ „ํ™˜ํ•˜๊ณ  ๋ฒค์น˜๋งˆํ‚น์„ ์œ„ํ•œ ๋‘ ๋ฒˆ์งธ ์„œ๋ฒ„๋ฅผ ์„ค์ •ํ•˜์—ฌ RAID ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก 7-ํ”ผ์Šค Syzygy ํ…Œ์ด๋ธ”๋ฒ ์ด์Šค ์„œ๋ฒ„๋ฅผ ์ตœ์ ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ฃผ์š” ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์—๋Š” RAID 5 ์„ค์ • ๋ฌธ์ œ, mmap์—์„œ์˜ ๋†’์€ ๊ผฌ๋ฆฌ ์ง€์—ฐ ์‹œ๊ฐ„, ํŠน์ • ๋ฐ์ดํ„ฐ ๋ชฉ๋ก์— SSD๋ฅผ ์‚ฌ์šฉํ•œ ๊ฐœ์„  ๋ฐ ์ฝ๊ธฐ ๋ณ‘๋ ฌํ™”๊ฐ€ ํฌํ•จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ตœ์ ํ™”๋กœ ์ธํ•ด ์šด์˜ ํ™˜๊ฒฝ์—์„œ ์‘๋‹ต ์‹œ๊ฐ„์ด ๊ฐœ์„ ๋˜์—ˆ์œผ๋ฉฐ, ์ „์ฒด ์„ธ๋ถ€ ์‚ฌํ•ญ๊ณผ ์›์‹œ ๋ฐ์ดํ„ฐ๋Š” GitHub์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฌด๋ฃŒ ์˜คํ”ˆ ์†Œ์Šค ์ฒด์Šค ํ”Œ๋žซํผ์ธ Lichess๊ฐ€ ํ…Œ์ด๋ธ”๋ฒ ์ด์Šค ์„œ๋ฒ„๋ฅผ ์ตœ์ ํ™”ํ•˜์—ฌ ์‘๋‹ต ์‹œ๊ฐ„๊ณผ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.
  • ์ด ํ”Œ๋žซํผ์€ ๊ธฐ๋ถ€์™€ ์ž์›๋ด‰์‚ฌ๋กœ ์šด์˜๋˜๋ฉฐ, ์ง์›์€ ๋‹จ ๋‘ ๋ช…๋ฟ์œผ๋กœ ๋†’์€ ์šด์˜ ๋น„์šฉ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Œ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค.
  • ์ตœ๊ทผ ๋ฒ ํƒ€ ๋ชจ๋ฐ”์ผ ์•ฑ ์—…๋ฐ์ดํŠธ์—๋Š” ๋” ๊น”๋”ํ•œ ๋””์ž์ธ๊ณผ ํ–…ํ‹ฑ ํ”ผ๋“œ๋ฐฑ์ด ํฌํ•จ๋˜์–ด ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ฒฝํ—˜์˜ ์ง€์†์ ์ธ ๊ฐœ์„ ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • ํŒŒ์ด์–ดํญ์Šค๊ฐ€ ๊ธฐ๋ณธ ์„ค์ •์œผ๋กœ ๊ด‘๊ณ  ์ถ”์ ์„ ๋„์ž…ํ•˜์—ฌ ํ”„๋ผ์ด๋ฒ„์‹œ์™€ ๋ธŒ๋ผ์šฐ์ € ์ž๊ธˆ ์กฐ๋‹ฌ ๋ชจ๋ธ์— ๋Œ€ํ•œ ๋…ผ์Ÿ์„ ์ด‰๋ฐœ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.
  • ๋น„ํ‰๊ฐ€๋“ค์€ ํ•„์ˆ˜์ ์ธ ํ†ต์‹  ๋„๊ตฌ๊ฐ€ ๊ด‘๊ณ  ๊ธฐ์ˆ ์— ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค๊ณ  ์ฃผ์žฅํ•˜๋ฉฐ, Mozilla๊ฐ€ Google์˜ ์ž๊ธˆ์— ์˜์กดํ•˜๋Š” ๊ฒƒ์€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๊ณ  ๋ณธ๋‹ค.
  • ์‚ฌ์šฉ์ž๋Š” ์„ค์ •์—์„œ ์ถ”์  ๊ธฐ๋Šฅ์„ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ด ์กฐ์น˜๋Š” Mozilla์— ๋Œ€ํ•œ ์‹ ๋ขฐ๋ฅผ ์†์ƒ์‹œ์ผฐ์œผ๋ฉฐ, ํ”„๋ผ์ด๋ฒ„์‹œ ์ค‘์‹ฌ ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ์ง€์† ๊ฐ€๋Šฅํ•œ ์ž๊ธˆ ์กฐ๋‹ฌ์— ๋Œ€ํ•œ ๋” ํฐ ์šฐ๋ ค๋ฅผ ๋ถˆ๋Ÿฌ์ผ์œผ์ผฐ์Šต๋‹ˆ๋‹ค.
  • Firefox 128์€ ์ถ”์  ์œ ์ธ์„ ์ค„์—ฌ ํ”„๋ผ์ด๋ฒ„์‹œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด 'ํ”„๋ผ์ด๋ฒ„์‹œ ๋ณดํ˜ธ ๊ท€์†' ์„ค์ •์„ ์˜ตํŠธ์•„์›ƒ ๋ฐฉ์‹์œผ๋กœ ๋„์ž…ํ•ฉ๋‹ˆ๋‹ค.
  • ๋น„ํ‰๊ฐ€๋“ค์€ ์ด ์กฐ์น˜๊ฐ€ ์‚ฌ์šฉ์ž ์‹ ๋ขฐ๋ฅผ ์ €ํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ฃผ์žฅํ•˜๋ฉฐ, ์กฐ์ž‘, ์ฃผ์˜๋ ฅ ํฌํš, ๊ทธ๋ฆฌ๊ณ  ์ตœ๊ทผ Mozilla์˜ ๊ด‘๊ณ  ํšŒ์‚ฌ ์ธ์ˆ˜์™€ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๊ฐ•์กฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • LibreWolf ๋ฐ Ladybird์™€ ๊ฐ™์€ ๋Œ€์•ˆ์€ ๋” ๋งŽ์€ ํ”„๋ผ์ด๋ฒ„์‹œ ์ค‘์‹ฌ์˜ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ฐพ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค.
  • ๊ณจ๋“œ๋งŒ ์‚ญ์Šค๋Š” ์ƒ์„ฑํ˜• AI์˜ ๊ฒฝ์ œ์  ํƒ€๋‹น์„ฑ์— ์˜๋ฌธ์„ ์ œ๊ธฐํ•˜๋Š” ์—ฐ๊ตฌ ๋ณด๊ณ ์„œ๋ฅผ ๋ฐœํ‘œํ•˜๋ฉฐ, ๋†’์€ ์ธํ”„๋ผ ๋น„์šฉ์— ๋น„ํ•ด ์ด์ ์ด ๋ฏธ๋ฏธํ•˜๋‹ค๊ณ  ๊ฐ•์กฐํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฒฝ์ œํ•™์ž์™€ ์ „๋ฌธ๊ฐ€๋“ค์˜ ํ†ต์ฐฐ์„ ๋‹ด์€ ์ด ๋ณด๊ณ ์„œ๋Š” ํ˜„์žฌ ์ฃผ์‹ ์‹œ์žฅ์˜ ๋‚™๊ด€๋ก ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ƒ์„ฑํ˜• AI๊ฐ€ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๊ธฐ๋Œ€ํ•˜๋Š” ๋ณ€ํ˜์ ์ธ ๊ธฐ์ˆ ์ด ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Œ์„ ์‹œ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
  • ๋น„๊ต๋Š” ๊ฐ€์ƒ ํ˜„์‹ค๊ณผ ๋ธ”๋ก์ฒด์ธ๊ณผ ๊ฐ™์€ ๊ณผ๋Œ€ํ‰๊ฐ€๋œ ๋‹ค๋ฅธ ๊ธฐ์ˆ ๋“ค๊ณผ ์ด๋ฃจ์–ด์ง€๋ฉฐ, AI์˜ ๋น„์šฉ๊ณผ ์ž ์žฌ์ ์ธ ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ์— ๋Œ€ํ•œ ํšŒ์˜๋ก ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณจ๋“œ๋งŒ ์‚ญ์Šค๋Š” AI๋ฅผ ๊ณผ๋Œ€ํ‰๊ฐ€๋˜๊ณ , ๋น„์‹ธ๋ฉฐ, ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ์ง€์ ํ•˜์—ฌ ๊ธฐ์ˆ  ์• ํ˜ธ๊ฐ€๋“ค ์‚ฌ์ด์—์„œ ํฐ ๋…ผ์Ÿ์„ ๋ถˆ๋Ÿฌ์ผ์œผ์ผฐ์Šต๋‹ˆ๋‹ค.
  • ๋น„ํ‰๊ฐ€๋“ค์€ AI๊ฐ€ ํŠน์ • ์œ ์šฉํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ, ์•„์ง ๊ด‘๋ฒ”์œ„ํ•˜๊ณ  ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ฑฐ๋‚˜ ์˜ค๋ฅ˜ ์—†๋Š” ์ •๋ณด ์ถœ์ฒ˜๋กœ์„œ ๊ธฐ๋Šฅํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ์ฃผ์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ์ด ๋…ผ์Ÿ์€ AI์˜ ํ˜„์žฌ ํ•œ๊ณ„๋ฅผ ๋ณด๋Š” ์‚ฌ๋žŒ๋“ค๊ณผ ์ธํ„ฐ๋„ท๊ณผ ๊ฐ™์€ ๊ณผ๊ฑฐ์˜ ๊ธฐ์ˆ  ํ˜๋ช…์— ๋น„์œ ํ•˜์—ฌ AI์˜ ์žฅ๊ธฐ์ ์ธ ์ž ์žฌ๋ ฅ์„ ๋ฏฟ๋Š” ์‚ฌ๋žŒ๋“ค ์‚ฌ์ด์˜ ๋ถ„์—ด์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค.
  • 1976๋…„, KFC์˜ ์ฐฝ๋ฆฝ์ž์ธ ํ• ๋žœ๋“œ ์ƒŒ๋”์Šค ๋Œ€๋ น์€ ๋งจํ•ดํŠผ KFC์˜ ์Œ์‹ ํ’ˆ์งˆ์„ ๋น„ํŒํ•˜๋ฉฐ ํŠ€๊น€ ์‹œ๊ฐ„, ๊ธฐ๋ฆ„์˜ ์‹ ์„ ๋„, ์ „๋ฐ˜์ ์ธ ๋ง›์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ง€์ ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒŒ๋”์Šค๋Š” 1964๋…„์— KFC๋ฅผ ๋งค๊ฐํ–ˆ์ง€๋งŒ ๊ณ ๋ฌธ์œผ๋กœ ๋‚จ์•„ ์žˆ์—ˆ์œผ๋ฉฐ, ํšŒ์‚ฌ์˜ ๋ณ€ํ™”์— ๋ถˆ๋งŒ์„ ํ‘œํ•˜๋ฉฐ ๊ทธ๋ ˆ์ด๋น„ ์†Œ์Šค๋ฅผ '๋ฒฝ์ง€ ํ’€'์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๊นŒ์ง€ ํ–ˆ๊ณ , ์ด๋กœ ์ธํ•ด ํ•œ ๊ฐ€๋งน์ ์ฃผ๋กœ๋ถ€ํ„ฐ ์†Œ์†ก์„ ๋‹นํ–ˆ๋‹ค.
  • ์ด ์‚ฌ๊ฑด์€ ํšŒ์‚ฌ์™€ ๊ฒฐ๋ณ„ํ•œ ํ›„์—๋„ ํ’ˆ์งˆ์— ๋Œ€ํ•œ ์ƒŒ๋”์Šค์˜ ํ—Œ์‹ ๊ณผ ๊ทธ์˜ ๊ฑฐ์นจ์—†๋Š” ์„ฑ๊ฒฉ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒŒ๋”์Šค ๋Œ€๋ น์€ ํšŒ์‚ฌ๋ฅผ ๋งค๊ฐํ•œ ํ›„ KFC๊ฐ€ ํ’ˆ์งˆ์„ ํƒ€ํ˜‘ํ–ˆ๋‹ค๊ณ  ๋น„ํŒํ•˜๋ฉฐ, ๋” ์ด์ƒ ๊ทธ์˜ ์›๋ž˜ ๋ ˆ์‹œํ”ผ๋ฅผ ๋”ฐ๋ฅด์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ฃผ์žฅํ–ˆ๋‹ค.
  • ์ƒŒ๋”์Šค๋Š” KFC์˜ ๋น„์šฉ ์ ˆ๊ฐ์— ๋Œ€ํ•œ ์ง‘์ค‘์ด ์ œํ’ˆ ํ’ˆ์งˆ์˜ ์ €ํ•˜๋กœ ์ด์–ด์กŒ๋‹ค๊ณ  ์ฃผ์žฅํ•˜๋ฉฐ, ์ด๋Š” ๊ธฐ์—… ๊ด€ํ–‰๊ณผ ์‹ํ’ˆ ๊ธฐ์ค€์— ๋Œ€ํ•œ ๋…ผ์Ÿ์„ ์ด‰๋ฐœ์‹œ์ผฐ๋‹ค.
  • ํ† ๋ก ์—์„œ๋Š” KFC์˜ ํ’ˆ์งˆ์ด ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ๋‹ค๋ฅด๋ฉฐ, ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๋ฏธ๊ตญ ์™ธ ์ง€์—ญ์—์„œ ๋” ๋‚˜์€ ๊ฒฝํ—˜์„ ํ–ˆ๋‹ค๊ณ  ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ด ๊ฒŒ์‹œ๋ฌผ์€ HTML๊ณผ CSS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜์‘ํ˜• ๋ง‰๋Œ€ ์ฐจํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ๋…ผ์˜ํ•˜๋ฉฐ, ๋ฐ˜์‘ํ˜• ๋””์ž์ธ์—์„œ SVG์˜ ํ•œ๊ณ„์— ๋Œ€ํ•ด ๋‹ค๋ฃน๋‹ˆ๋‹ค.
  • HTML, CSS, ๊ทธ๋ฆฌ๊ณ  SVG๋ฅผ ๊ฒฐํ•ฉํ•œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ๊ฐ•์กฐํ•˜์ง€๋งŒ, ๋‹จ์ˆœ์„ฑ๊ณผ ๊ฒฌ๊ณ ํ•จ์„ ์œ„ํ•ด HTML๊ณผ CSS๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์˜ ์ด์ ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค.
  • ์ ‘๊ทผ์„ฑ์€ ์ฃผ์š” ์ดˆ์ ์œผ๋กœ, ์Šคํฌ๋ฆฐ ๋ฆฌ๋” ํ˜ธํ™˜์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์‹œ๋งจํ‹ฑ ์š”์†Œ์™€ ARIA ์—ญํ• ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ํ† ๋ก ์€ HTML๊ณผ CSS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜์‘ํ˜• ๋ง‰๋Œ€ ์ฐจํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์— ์ค‘์ ์„ ๋‘๋ฉฐ, ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ๊ณผ ๋„์ „ ๊ณผ์ œ๊ฐ€ ๊ฐ•์กฐ๋ฉ๋‹ˆ๋‹ค.
  • ์ฃผ์š” ์š”์ ์œผ๋กœ๋Š” ๊ธ€๊ผด ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ์–ด๋ ค์›€, ์ฐจํŠธ๋ฅผ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๋ณต์žก์„ฑ, ๊ทธ๋ฆฌ๊ณ  ์œ ๋™์ ์ธ ๋ ˆ์ด์•„์›ƒ์— ๋Œ€ํ•œ SVG์˜ ํ•œ๊ณ„๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
  • ์ผ๋ถ€ ์‚ฌ์šฉ์ž๋Š” ๊ธฐ์‚ฌ์— ์žˆ๋Š” ์ฐจํŠธ๊ฐ€ ์‹ค์ œ ๋ฐ˜์‘ํ˜• HTML/CSS ์ฐจํŠธ๊ฐ€ ์•„๋‹Œ ์ด๋ฏธ์ง€๋ผ๋Š” ์ ์„ ์ง€์ ํ•˜๋ฉฐ ๊ธฐ์‚ฌ์˜ ์ •ํ™•์„ฑ์— ๋Œ€ํ•œ ๋…ผ์Ÿ์„ ๋ถˆ๋Ÿฌ์ผ์œผ์ผฐ์Šต๋‹ˆ๋‹ค.
  • GitHub์€ React๋กœ ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑํ•˜๋ฉด์„œ ๋ธ”๋ ˆ์ž„ ๋ทฐ์™€ ๊ฐ™์€ ์ฃผ์š” ๊ธฐ๋Šฅ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ๊ตฌ์‹์ฒ˜๋Ÿผ ๋Š๊ปด์ง€๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์žฌ์ž‘์„ฑ์€ ๋ธŒ๋ผ์šฐ์ €์˜ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์— ๋ฌธ์ œ๋ฅผ ์ผ์œผ์ผฐ์œผ๋ฉฐ, ์ด๋Š” JavaScript๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜์—ฌ ์„œ๋ฒ„ ์ธก์—์„œ ๋ Œ๋”๋ง๋œ ํŽ˜์ด์ง€๋ฅผ ํ‘œ์‹œํ•จ์œผ๋กœ์จ ์ผ์‹œ์ ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • GitHub์˜ ์ƒํƒœ ํŽ˜์ด์ง€, Actions, ๋ณ‘ํ•ฉ ๋ฒ„ํŠผ๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ๋“ค๋„ ์ €ํ•˜๋˜์—ˆ์œผ๋ฉฐ, Microsoft๊ฐ€ ํ•ต์‹ฌ ๊ธฐ๋Šฅ๋ณด๋‹ค AI์— ์ง‘์ค‘ํ•˜๋Š” ๊ฒƒ์€ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๊ฐ€ ์ง€์†๋  ์ˆ˜ ์žˆ์Œ์„ ์‹œ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๋“ค์€ GitHub์˜ ์ •์ฒด๋œ ๊ธฐ๋Šฅ๊ณผ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ํ๋ฆ„๊ณผ ๊ฐ™์€ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์—์„œ์˜ ์ค‘์š”ํ•œ ๊ฐœ์„  ๋ถ€์กฑ์— ๋Œ€ํ•ด ๋ถˆ๋งŒ์„ ํ‘œํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ผ๋ถ€๋Š” ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ Microsoft์˜ ์˜ํ–ฅ๋ ฅ๊ณผ React๋กœ์˜ ์ „ํ™˜ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Actions์™€ Codespaces์™€ ๊ฐ™์€ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋ง์ž…๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž ๊ฒฝํ—˜๊ณผ ๊ธฐ๋Šฅ์„ฑ์„ ๊ฐœ์„ ํ•˜๋ผ๋Š” ์š”๊ตฌ๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๋“ค์€ ๋Œ€์•ˆ๊ณผ ๊ฐœ์„ ์ ์„ ์ œ์•ˆํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • gpu.cpp๋Š” Vulkan, Metal, DirectX์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ํ•˜๋“œ์›จ์–ด ๋ฐ API๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด WebGPU ์‚ฌ์–‘์„ ํ™œ์šฉํ•˜์—ฌ ํœด๋Œ€์šฉ GPU ์—ฐ์‚ฐ์„ ์œ„ํ•ด ์„ค๊ณ„๋œ ๊ฒฝ๋Ÿ‰ C++ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.
  • ์ฃผ์š” ๊ธฐ๋Šฅ์—๋Š” ์ตœ์†Œํ•œ์˜ API ํ‘œ๋ฉด, ๋น ๋ฅธ ์ปดํŒŒ์ผ/์‹คํ–‰ ์ฃผ๊ธฐ, ๊ทธ๋ฆฌ๊ณ  createContext(), createTensor(), dispatchKernel()๊ณผ ๊ฐ™์€ GPU ์ž์› ๊ด€๋ฆฌ ๋ฐ ๊ณ„์‚ฐ์„ ์œ„ํ•œ ํ•„์ˆ˜ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
  • ๋Œ€์ƒ ๋…์ž์—๋Š” ์‹ ๊ฒฝ๋ง ๋ชจ๋ธ, ๋ฌผ๋ฆฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜, ์˜ค๋””์˜ค/๋น„๋””์˜ค ์ฒ˜๋ฆฌ์™€ ๊ฐ™์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•ด ํœด๋Œ€์šฉ GPU ๊ณ„์‚ฐ์ด ํ•„์š”ํ•œ ๊ฐœ๋ฐœ์ž์™€ ์—ฐ๊ตฌ์ž๊ฐ€ ํฌํ•จ๋˜๋ฉฐ, ์ง€์†์ ์ธ ๊ฐœ์„ ๊ณผ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ง€์›์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
  • gpu.cpp๋Š” OpenGL, Direct3D, Metal์— ์ต์ˆ™ํ•œ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‹จ์ผ ํ—ค๋” ํŒŒ์ผ API๋ฅผ ์ œ๊ณตํ•˜๋Š” ํœด๋Œ€์šฉ ์ €์ˆ˜์ค€ GPU ์—ฐ์‚ฐ์„ ์œ„ํ•œ ๊ฒฝ๋Ÿ‰ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.
  • ๋„์„œ๊ด€์€ ์›นGPU ๊ตฌํ˜„์— ์˜์กดํ•˜๋ฉฐ, ์ด๋Š” ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๊ธฐ๋Šฅ๊ณผ dawn ๋ฐ wgpu์™€ ๊ฐ™์€ ์„ฑ์ˆ™ํ•œ ๊ตฌํ˜„์œผ๋กœ ์œ ๋ช…ํ•˜์ง€๋งŒ, ์ผ๋ถ€ ์‚ฌ์šฉ์ž๋Š” ๊ทธ ์™„์ „์„ฑ์— ๋Œ€ํ•ด ์˜๋ฌธ์„ ์ œ๊ธฐํ•ฉ๋‹ˆ๋‹ค.
  • ํ† ๋ก ์—์„œ๋Š” Vulkan, Metal, OpenCL, ROCm, CUDA์™€ ๊ฐ™์€ ๋‹ค๋ฅธ GPU ๊ณ„์‚ฐ ํ”„๋ ˆ์ž„์›Œํฌ์™€์˜ ์„ฑ๋Šฅ ๋น„๊ต์— ๋Œ€ํ•œ ๊ด€์‹ฌ์„ ๊ฐ•์กฐํ•˜๋ฉฐ ๋ฒค์น˜๋งˆํฌ์˜ ํ•„์š”์„ฑ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณตํ†ต ํ‘œํ˜„ ์–ธ์–ด(CEL)๋Š” ๋‹จ์ˆœ์„ฑ, ์†๋„, ์•ˆ์ „์„ฑ ๋ฐ ์ด์‹์„ฑ์„ ์œ„ํ•ด ์„ค๊ณ„๋œ ๋น„ํŠœ๋ง ์™„์ „ ์–ธ์–ด๋กœ, C++, Go, Java ๋ฐ TypeScript์™€ ์œ ์‚ฌํ•œ C ์Šคํƒ€์ผ์˜ ๊ตฌ๋ฌธ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • CEL์€ ์™„์ „ํžˆ ์ƒŒ๋“œ๋ฐ•์Šค๋œ ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์€ ์ž์›์„ ์†Œ๋ชจํ•  ๋•Œ ํŠนํžˆ ๊ฐ€๋ฒผ์šด ํ‘œํ˜„์‹ ํ‰๊ฐ€์— ์ด์ƒ์ ์ด๋ฉฐ, ํ‘œํ˜„์‹์„ ํ‰๊ฐ€ํ•˜๊ธฐ ์œ„ํ•œ ํŒŒ์„œ์™€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
  • ์˜ˆ์‹œ ์‚ฌ์šฉ ์‚ฌ๋ก€์—๋Š” ๋ฆฌ์†Œ์Šค ์ด๋ฆ„ ํ™•์ธ, ์‹œ๊ฐ„ ์ฐฝ ๊ฒฐ์ •, ์ด๋ฉ”์ผ ์ฃผ์žฅ ํ™•์ธ์ด ํฌํ•จ๋˜๋ฉฐ, ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜์™€ ๋™์‹œ ์‹คํ–‰์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๋Ÿฌ์ŠคํŠธ๋กœ ์ž‘์„ฑ๋œ ๊ณตํ†ต ํ‘œํ˜„ ์–ธ์–ด(CEL) ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋Š” cel-go์— ๋น„ํ•ด ๊ทธ ๋‹จ์ˆœ์„ฑ๊ณผ ํšจ์œจ์„ฑ์œผ๋กœ ์ฃผ๋ชฉ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด ํ”„๋กœ์ ํŠธ๋Š” ํ˜„์žฌ clarkmcc์— ์˜ํ•ด ์œ ์ง€ ๊ด€๋ฆฌ๋˜๊ณ  ์žˆ์œผ๋ฉฐ, Axum ์Šคํƒ€์ผ์˜ ํ•จ์ˆ˜์™€ ์‚ฌ์šฉ์ž ์ •์˜ ํด๋กœ์ €๋ฅผ CEL ํ‘œํ˜„์‹์—์„œ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ถ€ ์ง€์›๋˜์ง€ ์•Š๋Š” ์‚ฌ์–‘ ์ธก๋ฉด์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ง€์†์ ์ธ ์ง„์ „์ด ์ด๋ฃจ์–ด์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๋“ค์€ ํŠนํžˆ WebAssembly(WASM)์— ๋Œ€ํ•ด ์ž‘์€ ๋Ÿฐํƒ€์ž„ ํ’‹ํ”„๋ฆฐํŠธ์™€ ์ผ์ •ํ•œ ์‹คํ–‰ ์‹œ๊ฐ„์„ ๋†’์ด ํ‰๊ฐ€ํ•˜๋ฉฐ, ์ด๋Š” ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํ‘œ์ค€์ด ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ถ€๋Š” CUE์™€ Starlark์™€ ๊ฐ™์€ ๋Œ€์•ˆ์„ ์„ ํ˜ธํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด ๊ธฐ์‚ฌ๋Š” ๋‹ค์–‘ํ•œ ํŒ€๊ณผ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์—์„œ 12๋…„๊ฐ„์˜ ๊ฒฝํ—˜์„ ๋ฐ”ํƒ•์œผ๋กœ Git ์ปค๋ฐ‹ ๋ฐ ์ปค๋ฐ‹ ๊ธฐ๋ก์— ๋Œ€ํ•œ ํ†ต์ฐฐ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ฃผ์š” ์‚ฌํ•ญ์—๋Š” ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์˜ ์ค‘์š”์„ฑ, ๋ฆฌ๋ฒ ์ด์Šค ๋ณ‘ํ•ฉ์— ๋Œ€ํ•œ ์„ ํ˜ธ, ๊ทธ๋ฆฌ๊ณ  ์‹ค์ˆ˜๋กœ๋ถ€ํ„ฐ ๋ณต๊ตฌํ•˜๊ธฐ ์œ„ํ•ด git reflog๋ฅผ ๋ฐฐ์šฐ๋Š” ์œ ์šฉ์„ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
  • ์›์ž์  ์ปค๋ฐ‹, ์ƒ์„ธํ•œ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์˜ ๊ฐ€์น˜์™€ ํŒ€์›๋“ค ์‚ฌ์ด์—์„œ ์ข‹์€ ์ปค๋ฐ‹ ๊ด€ํ–‰์„ ์žฅ๋ คํ•˜๋Š” ์–ด๋ ค์›€์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค.
  • git reflog`๋Š” ์ด์ „ ์ƒํƒœ๋ฅผ ๋ณต๊ตฌํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•˜์ง€๋งŒ, ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ์‚ญ์ œ๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์—๋Š” ๋„์›€์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋ช…ํ™•ํ•˜๊ณ  ์œ ์šฉํ•œ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋Š” ํŠนํžˆ ์Šค์ฟผ์‹œ ๋ณ‘ํ•ฉ์˜ ๊ฒฝ์šฐ ํ•„์ˆ˜์ ์ด๋ฉฐ, commitizen๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋Š” ์ปค๋ฐ‹ ์œ„์ƒ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ช…ํ™•์„ฑ์„ ์œ„ํ•ด ์›์ž์  ์ปค๋ฐ‹(ํ•œ ์ปค๋ฐ‹๋‹น ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ/์•„์ด๋””์–ด)์„ ๊ถŒ์žฅํ•˜๋ฉฐ, git add -p ๋ฐ git difftool๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฒ€ํ† ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.