Mycroft-core: Mycroft ์„œ๋น„์Šค ์ค‘์ง€ ๋ฐ ์‹œ์ž‘์„ ์œ„ํ•œ CLI ๋ช…๋ น ๊ฐ„์†Œํ™”

์— ๋งŒ๋“  2017๋…„ 09์›” 15์ผ  ยท  8์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: MycroftAI/mycroft-core

_Origin: ์ด ๋ฌธ์ œ๋Š” @kathyreid ์™€ @penrods ์˜ ๋Œ€ํ™”๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ œ๊ธฐ๋˜์—ˆ์œผ๋ฉฐ Mycroft ์„œ๋น„์Šค๋ฅผ ๋ณด๋‹ค ์ง๊ด€์ ์œผ๋กœ ์ค‘์ง€ํ•˜๊ณ  ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์Šคํ† ๋ฆฌ

Mycroft์˜ ๊ฐœ๋ฐœ์ž ๋˜๋Š” ๋ช…๋ น์ค„ ์‚ฌ์šฉ์ž ๋กœ์„œ ์ €๋Š” Mycroft ์„œ๋น„์Šค๋ฅผ ์ค‘์ง€ํ•˜๊ณ  ์‹œ์ž‘ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ง๊ด€์ ์ด์–ด์„œ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ• ๋Œ€์‹  ํ”Œ๋žซํผ ํ™•์žฅ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

Mycroft์˜ ํ•ต์‹ฌ ๊ด€๋ฆฌ์ž ๋กœ์„œ Mycroft ์„œ๋น„์Šค๋ฅผ ์ค‘์ง€ํ•˜๊ณ  ์‹œ์ž‘ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ง๊ด€์ ์ด์–ด์„œ '์‹œ์ž‘ํ•˜๊ธฐ' ์งˆ๋ฌธ์˜ ์–‘์ด ์ค„์–ด๋“ค์–ด ๊ธฐ๋Šฅ ํ™•์žฅ ๋ฐ ๊ณ ๊ธ‰ ๋ฌธ์ œ ๋””๋ฒ„๊น…์— ์‹œ๊ฐ„์„ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

Mycroft์˜ ๊ฐœ๋ฐœ์ž, CLI ์‚ฌ์šฉ์ž ๋˜๋Š” ํ•ต์‹ฌ ์œ ์ง€ ๊ด€๋ฆฌ์ž ๋กœ์„œ ์ €๋Š” ์„œ๋น„์Šค ์‹œ์ž‘ ๋ฐ ์ค‘์ง€๊ฐ€ ์ง๊ด€์ ์ด๊ณ  ๋งค๊ฐœ๋ณ€์ˆ˜ํ™”๋˜์–ด ํ–ฅํ›„ ๊ฐœ๋ฐœ์—์„œ ์„œ๋น„์Šค ์ค‘์ง€, ์‹œ์ž‘ ๋ฐ ๋‹ค์‹œ ์‹œ์ž‘์„ ์‰ฝ๊ฒŒ ํŠธ๋ฆฌ๊ฑฐํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

ํ—ˆ์šฉ ๊ธฐ์ค€

  • Mycroft ์„œ๋น„์Šค ์‹œ์ž‘, ์ค‘์ง€ ๋ฐ ๋‹ค์‹œ ์‹œ์ž‘์€ ์ง๊ด€์ ์ธ ํ‘œ์ค€ ๊ตฌ๋ฌธ์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ ํ–‰์„ ๋”ฐ๋ผ Ubuntu์—์„œ systemctl ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ๋ฌธ์„ ๋ฏธ๋Ÿฌ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
$ mycroft [action] [subservice] [parameter]

์˜ˆ๋ฅผ ๋“ค์–ด

$ mycroft start all
$ mycroft stop all
$ mycroft restart all

$ mycroft start voice
$ mycroft start all --quiet
  • ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ Mycroft ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ์‚ฌํšŒํ™”๋˜์–ด์•ผ ํ•˜๊ณ  ์ด๋“ค๋กœ๋ถ€ํ„ฐ ์˜๊ฒฌ์„ ๊ตฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ตฌ๋ฌธ์€ mycroft-core repo์— ๋Œ€ํ•œ README.md์™€ docs.mycroft.ai ๋ชจ๋‘์— ๋ช…ํ™•ํ•˜๊ฒŒ ๋ฌธ์„œํ™”๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ด๋Š” @kathyreid ์˜ ์ž‘์—…์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค).
medium Enhancement - proposed help wanted

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

์ฐพ๊ธฐ ์‰ฌ์šด ์Šคํฌ๋ฆฝํŠธ ๋ช‡ ๊ฐ€์ง€๋ฅผ ์ œ์•ˆํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ฆ‰:
$ ./mycroft-start.sh
$ ./mycroft-stop.sh

ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ๋ธŒ๋ผ์šฐ์ง•ํ•  ๋•Œ, ์ด๊ฒƒ๋“ค์€ ์ดˆ๋ณด์ž์—๊ฒŒ ํŠ€์–ด๋‚˜์˜ฌ ๊ฒƒ์ž…๋‹ˆ๋‹ค. "์˜ค, ์ด๋ ‡๊ฒŒ ์‹œ์ž‘ํ•˜๋Š”๊ตฐ์š”!"

๊ทธ๋Ÿฐ ๋‹ค์Œ ์„ ํƒ์ ์œผ๋กœ ํŠน์ • ์„œ๋น„์Šค ์ด๋ฆ„์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ
mycroft-start.sh [๋ชจ๋‘ | ๋ชฉ์†Œ๋ฆฌ|์Šคํ‚ฌ|... ]
mycroft-stop.sh [๋ชจ๋‘ | ๋ชฉ์†Œ๋ฆฌ|์Šคํ‚ฌ|... ]

๋‹ค์‹œ ์‹œ์ž‘ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. "์‹œ์ž‘"์€ ์ด๋ฏธ ์‹คํ–‰ ์ค‘์ธ ๋ชจ๋“  ๊ฒƒ์„ ์ค‘์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ค‘๋ณต ์„œ๋น„์Šค๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•  ์ˆ˜ ์—†์Œ). ์„œ๋น„์Šค์—๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์—†์œผ๋ฏ€๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜๋„ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

์ฐพ๊ธฐ ์‰ฌ์šด ์Šคํฌ๋ฆฝํŠธ ๋ช‡ ๊ฐ€์ง€๋ฅผ ์ œ์•ˆํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ฆ‰:
$ ./mycroft-start.sh
$ ./mycroft-stop.sh

ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ๋ธŒ๋ผ์šฐ์ง•ํ•  ๋•Œ, ์ด๊ฒƒ๋“ค์€ ์ดˆ๋ณด์ž์—๊ฒŒ ํŠ€์–ด๋‚˜์˜ฌ ๊ฒƒ์ž…๋‹ˆ๋‹ค. "์˜ค, ์ด๋ ‡๊ฒŒ ์‹œ์ž‘ํ•˜๋Š”๊ตฐ์š”!"

๊ทธ๋Ÿฐ ๋‹ค์Œ ์„ ํƒ์ ์œผ๋กœ ํŠน์ • ์„œ๋น„์Šค ์ด๋ฆ„์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ
mycroft-start.sh [๋ชจ๋‘ | ๋ชฉ์†Œ๋ฆฌ|์Šคํ‚ฌ|... ]
mycroft-stop.sh [๋ชจ๋‘ | ๋ชฉ์†Œ๋ฆฌ|์Šคํ‚ฌ|... ]

๋‹ค์‹œ ์‹œ์ž‘ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. "์‹œ์ž‘"์€ ์ด๋ฏธ ์‹คํ–‰ ์ค‘์ธ ๋ชจ๋“  ๊ฒƒ์„ ์ค‘์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ค‘๋ณต ์„œ๋น„์Šค๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•  ์ˆ˜ ์—†์Œ). ์„œ๋น„์Šค์—๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์—†์œผ๋ฏ€๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜๋„ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋งŽ์€ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์— ์ด์— ๋Œ€ํ•œ ๋‚˜์˜ ๊ฒฌํ•ด๊ฐ€ ์˜ณ์ง€ ์•Š์•˜๋‹ค๋Š” ์ ์— ๋Œ€ํ•ด ์‚ฌ๊ณผ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์‹ฌํ”Œํ•œ UI๋ฅผ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” Windows .NET, WPF ๋“ฑ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜€์œผ๋ฏ€๋กœ ์ดˆ๊ธฐ ์‘๋‹ต์€ UI๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์ƒํƒœ์˜ ์ƒํƒœ๋ฅผ ํ‘œ์‹œํ•œ ๋‹ค์Œ ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์ถœ๋ ฅ ํ…์ŠคํŠธ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๊ณณ์ด ์žˆ๋Š” ๊ฐ„๋‹จํ•œ ๊ฒƒ์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ? ๋˜ํ•œ ์‹œ์ž‘, ์ค‘์ง€, ๋ฌด์—‡์ด๋“  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ picroft์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์ง€๋งŒ UI๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์ค„ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๋ฐฑ์—”๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  Linux ์œ ํ˜•์ด ๋ช…๋ น์ค„์„ ์ข‹์•„ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ์•„ํ‹ฐ์ŠคํŠธ, ๋””์ž์ด๋„ˆ ๋“ฑ์€ UI๋ฅผ ๋†’์ด ํ‰๊ฐ€ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. Python์—๋Š” ๋งŽ์€ UI ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ž‘๊ฒŒ ์‹œ์ž‘ํ•ด์„œ ์‰ฌ์šด ์ผ์„ ํ–ˆ๋‹ค๋ฉด ๋ฐœ์ „ํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ  ๊ฒฐ๊ตญ์—๋Š” ์™„์ „ํžˆ ๋ฏธ์ณค์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ํ”„๋กœํ† ํƒ€์ž… ์ดˆ์•ˆ์„ ์ž‘์„ฑํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ์‹œ์ž‘ํ•  ๋ฌด์–ธ๊ฐ€๋ฅผ ์ฐพ๊ณ  ์žˆ์—ˆ๋‹ค. ์žฌ๋ฏธ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

mycroft๋Š” ์‹œ์ž‘ํ•˜๋ ค๊ณ  ํ•˜๋Š” ๊ฒƒ๊ณผ ์ผ์น˜ํ•˜๋Š” ๋ชจ๋“  ์„œ๋น„์Šค๋ฅผ ๊ฐ•์ œ๋กœ ์ค‘์ง€ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๊นŒ? ์„œ๋น„์Šค์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๋˜ํ•œ start-mycroft.sh ๋ฐ stop-mycroft.sh๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ start.sh(๋ชจ๋“  ์„ธ๋ถ€์ ์ธ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋Œ€ํ•ด mycroft.sh๋กœ ์ ‘์œผ์‹ญ์‹œ์˜ค)๋ฅผ ์‚ญ์ œํ•˜๋Š” ์ด๋ฆ„ ๋ณ€๊ฒฝ์— ํˆฌํ‘œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

@highjinx411 ์š”์ „๋‚  Mattermost์—์„œ ์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ €์™€ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆ„์…จ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. GUI๋Š” ์ข‹์€ ์ƒ๊ฐ์ด์ง€๋งŒ ๊ฐ€๋Šฅํ•œ ํ•œ ์ฐฝ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ๊ณผ ๊ฐ™์€ ๊ฒƒ๋“ค๊ณผ ๋…๋ฆฝ์ ์ด๊ณ  ํฌ๋กœ์Šค ํ”Œ๋žซํผ์„ ์œ„ํ•œ mycroft-core์˜ ์ผ๋ถ€๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ์ œ์•ˆํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ GUI๋Š” "enclosure-picroft"์™€ ๊ฐ™์€ ์ธํด๋กœ์ €๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค(์˜ˆ: "enclosure-windows").

์ง„์ •ํ•œ ํฌ๋กœ์Šค ํ”Œ๋žซํผ GUI๋ฅผ ์ƒ๊ฐํ•ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ €๋„ ๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค!

์ถ”์‹ : ์ €๋Š” ์˜ค๋ž˜๋œ Windows ์‚ฌ์šฉ์ž์ž…๋‹ˆ๋‹ค. ์˜ˆ์ „์—๋Š” AutoSketch 4์—์„œ AutoSketch 10๊นŒ์ง€ ๋Œ€๋ถ€๋ถ„์˜ GUI ๊ฐœ๋ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ข‹์€ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค!

ํฌ๋กœ์Šค ํ”Œ๋žซํผ GUI๋Š” ๊ฐ€๋Šฅํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํ”Œ๋žซํผ ์ข…์†์„ฑ์„ ๋งŒ๋“ค๋ฉด ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ด์ ์„ ํฌ๊ธฐํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ œํ•œ์ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์•ฑ์ด Windows์— ์žˆ๋Š” ๊ฒฝ์šฐ ์ด์ ์ด ๋  ์ˆ˜ ์žˆ๋Š” Windows ๊ด€๋ จ ํ˜ธ์ถœ์„ ์žƒ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ๊ฐ€๋Šฅํ•œ ํ•œ ํ’๋ถ€ํ•œ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ธํด๋กœ์ €์˜ ์ผ๋ถ€๊ฐ€ ๋˜์–ด์•ผ ํ•œ๋‹ค๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํœด๋Œ€ํฐ์šฉ Xamarin์„ ์‚ฌ์šฉํ•˜์—ฌ "๊ต์ฐจ" ํ”Œ๋žซํผ ์•ฑ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ํ”Œ๋žซํผ ์ข…์†์ ์ธ ๋ถ€๋ถ„์ด ์žˆ์œผ๋ฉฐ ๊ฒฐ๊ตญ ๊ฐ OS์— ๋Œ€ํ•œ ํŠน์ • ์‹คํ–‰ ํŒŒ์ผ์„ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  GUI์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๋Š” ์œ ์ผํ•œ ๊ฒƒ์€ ์‹œ์ž‘, ์ค‘์ง€, ์ƒํƒœ ๊ฐ€์ ธ์˜ค๊ธฐ ๋“ฑ์„ ๋…ธ์ถœํ•˜๋Š” ์ฝ”์–ด์˜ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ชจ๋“  GUI๋Š” ์ฝ”์–ด๊ฐ€ ์„ค์น˜๋œ ํ”Œ๋žซํผ์— ๊ด€๊ณ„์—†์ด ๋™์ผํ•œ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ Linux๊ฐ€ bash ์Šคํฌ๋ฆฝํŠธ๋กœ ์ž˜ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ Windows๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ์ž˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค. GUI๊ฐ€ ํ”Œ๋žซํผ์— ๋Œ€ํ•œ mycroft ์ฝ”์–ด ์ธ์Šคํ„ด์Šค๋ฅผ ๋ณผ ์˜ˆ์ •์ž…๋‹ˆ๊นŒ? Windows GUI๋Š” Windows ์ฝ”์–ด๋งŒ ๋ณด๊ณ  Linux GUI๋Š” Linux ์ฝ”์–ด๋งŒ ๋ณด๋‚˜์š”? ์•„๋‹ˆ๋ฉด Windows GUI๊ฐ€ IP๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ณ  OS์— ๊ด€๊ณ„์—†์ด ํ•ด๋‹น IP๊ฐ€ ์„ค์น˜๋œ ๊ณณ์ด๋ฉด ์–ด๋””์—์„œ๋‚˜ ์ฝ”์–ด์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” PR #1107์ด ํŠธ๋ฆญ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๋ฏฟ์Šต๋‹ˆ๋‹ค. @KathyReid , ์ด๊ฒƒ์„ ๋‹ซ์œผ

@penrods ์— ๋™์˜

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