Skip to content

Latest commit

ย 

History

History
131 lines (79 loc) ยท 5.48 KB

File metadata and controls

131 lines (79 loc) ยท 5.48 KB

Codacy Badge

BlocklyLibrarySystem

๊ฐœ์š”

์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ Blockly์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ์ œ์ž‘ํ•œ ๋ธ”๋ก ์ฝ”๋”ฉ ๋„๊ตฌ์— ์ฝ”๋”ฉ ํšจ์œจ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜

์„ค์น˜ ๊ฐ€์ด๋“œ

ํŒŒ์ผ ์œ„์น˜

  • nodeGit ์„œ๋ฒ„: ํ•ด๋‹น ํ”„๋กœ์ ํŠธ repository๋กœ ์ด๋™

  • ์„œ๋ฒ„ ์‹คํ–‰ ์œ„์น˜: BlocklyLibrarySystem > Server > "node app.js"

  • ๋กœ์ปฌ ์„œ๋ฒ„ ์ฃผ์†Œ: http://localhost:7700/playground.html

  • Playground ์œ„์น˜: BlocklyLibrarySystem > blockly > tests > playground.html

  • ์†Œ์Šค ์ฝ”๋“œ ์œ„์น˜: BlocklyLibrarySystem > blockly > tests > src

  • ๋ธ”๋ก ์ •์˜ ์ฝ”๋“œ ์œ„์น˜: BlocklyLibrarySystem > blockly > blocks

  • JS ์ƒ์„ฑ ์ฝ”๋“œ ์œ„์น˜: BlocklyLibrarySystem > blockly > generators > javascript

UI ํ‚ค์›Œ๋“œ ์„ค๋ช…

  • ์ž‘์—…๊ณต๊ฐ„: ๋ธ”๋ก์„ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„ (ํ™”๋ฉด ์ค‘์•™์— ์œ„์น˜)

  • ํ”„๋กœ์ ํŠธ ์„ค์ • ์ฐฝ: ํ”„๋กœ์ ํŠธ์™€ ๊ด€๋ จ๋œ ์ž‘์—…์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„ (ํ™”๋ฉด ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์— ์œ„์น˜)

  • ์นดํ…Œ๊ณ ๋ฆฌ: ํ™”๋ฉด ์™ผ์ชฝ์— ์„ธ๋กœ๋กœ ๋‚˜์—ด๋˜์–ด ๋ชฉ๋ก์œผ๋กœ ๋ณด์—ฌ์ฃผ๋Š” ํ™”๋ฉด์„ ๋œปํ•œ๋‹ค. (Logic, Loops, Maths ํˆด๋ฐ•์Šค ๋“ฑ์ด ๋‚˜์—ด๋˜์–ด ์žˆ๋Š” ํ™”๋ฉด)

  • ํˆด๋ฐ•์Šค: ์นดํ…Œ์ฝ”๋ฆฌ์—์„œ ๋ชฉ๋ก ํ•˜๋‚˜๋ฅผ ํด๋ฆญํ–ˆ์„ ๋•Œ ๋ณด์ด๋Š” ์ฐฝ

  • ๋ฎคํ…Œ์ด์…˜ ์ฐฝ: ๋ธ”๋ก์˜ ์„ค์ •/๋ชจ์–‘์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ์ฐฝ

  • ๋ฎคํ…Œ์ด์…˜ ๋ฒ„ํŠผ: ๋ฎคํ…Œ์ด์…˜ ์ฐฝ์„ ๋„์šฐ๋Š” ๋ฒ„ํŠผ (๋ธ”๋ก ์™ผ์ชฝ ์ƒ๋‹จ์— ์œ„์น˜ํ•œ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด ๋ชจ์–‘)

์„œ๋ฒ„ ์‹คํ–‰ ๋ฐฉ๋ฒ•

  1. ์„œ๋ฒ„๊ฐ€ ์œ„์น˜ํ•œ ๊ฒฝ๋กœ์—์„œ nodeJS ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ(cmd, powershell, git-shell, etc.)์„ ์‹คํ–‰ํ•œ๋‹ค.

  2. "node app.js"๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์‹คํ–‰ํ•œ๋‹ค.

  3. ๋ธŒ๋ผ์šฐ์ €์— ๋กœ์ปฌ ์„œ๋ฒ„ ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๋‹ค.

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

GitHub๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” nodeGit ์„œ๋ฒ„๊ฐ€ ์‹คํ–‰ ์ค‘์ด์–ด์•ผ ํ•œ๋‹ค.

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‚ด๋ณด๋‚ด๊ธฐ

  1. ์นดํ…Œ๊ณ ๋ฆฌ์—์„œ 'Functions' ํˆด๋ฐ•์Šค๋ฅผ ๋ˆ„๋ฅธ๋‹ค.

  2. ๋‘ ์ข…๋ฅ˜์˜ ํ•จ์ˆ˜ ์ค‘, ์šฉ๋„์— ๋งž๋Š” ํ•จ์ˆ˜๋ฅผ ์„ ํƒํ•˜์—ฌ ์ž‘์—…๊ณต๊ฐ„์— ์ถ”๊ฐ€ํ•œ๋‹ค.

  3. ํ•จ์ˆ˜์˜ ๋ช…์„ ์ง€์ •ํ•œ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ํ•จ์ˆ˜ ๋ธ”๋ก์˜ ๋ฎคํ…Œ์ด์…˜ ๋ฒ„ํŠผ(ํ†ฑ๋‹ˆ๋ฐ”ํ€ด)์„ ๋ˆŒ๋Ÿฌ ์„ค์ •ํ•œ๋‹ค.

  4. ํ•จ์ˆ˜ ๋‚ด๋ถ€์— ๋‹ค๋ฅธ ๋ธ”๋ก์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ตฌํ˜„ ๋‚ด์šฉ์„ ์ž…๋ ฅํ•œ๋‹ค.

  5. ํ”„๋กœ์ ํŠธ ์„ค์ • ์ฐฝ์—์„œ 'Export Library' ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค. (๋ˆ„๋ฅด๋Š” ๋™์‹œ GitHub์— commit + push)

  6. ๋กœ์ปฌ์— ์ €์žฅ์„ ์›ํ•˜๋Š” ๊ฒฝ์šฐ, ํŒŒ์ผ ํƒ์ƒ‰์ฐฝ์„ ํ†ตํ•ด ์ €์žฅ์„ ๊ณ„์† ์ง„ํ–‰ํ•œ๋‹ค.

๊นƒ์—ฐ๋™ ์‹œ๋‚˜๋ฆฌ์˜ค: Library file sharing using git

  1. github ๋กœ๊ทธ์ธ ์ •๋ณด ์ž…๋ ฅ
  2. Export ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  3. ์›๊ฒฉ ์ €์žฅ์†Œ์— ์ €์žฅ(์ €์žฅ์†Œ ๋™์  ์ƒ์„ฑ์€ ๊ตฌํ˜„ ์•ˆ๋˜์–ด ์žˆ์Œ)

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ๋ฒ•์€ ์ด ๋‘ ๊ฐ€์ง€๊ฐ€ ์กด์žฌํ•œ๋‹ค.

1.'Import' ์ด๋ฒคํŠธ ๋ธ”๋ก์„ ์‚ฌ์šฉํ•œ ๋ฐฉ๋ฒ•

  1. ์นดํ…Œ๊ณ ๋ฆฌ์—์„œ 'Import' ํˆด๋ฐ•์Šค๋ฅผ ๋ˆ„๋ฅธ๋‹ค.
  2. '๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉํ•˜๊ธฐ' ์ด๋ฒคํŠธ ๋ธ”๋ก์„ ์ž‘์—…๊ณต๊ฐ„์— ์ถ”๊ฐ€ํ•œ๋‹ค.
  3. ๋‹ค์‹œ 'Import' ํˆด๋ฐ•์Šค๋ฅผ ๋ˆ„๋ฅธ๋‹ค.
  4. url์„ ์ ์„ ์ˆ˜ ์žˆ๋Š” ๋ธ”๋ก์„ '๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉํ•˜๊ธฐ' ์ด๋ฒคํŠธ ๋ธ”๋ก ์•„๋ž˜์— ์ถ”๊ฐ€ํ•œ๋‹ค.
  5. url์— BLK ํŒŒ์ผ์˜ raw ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ๋Š” ์ฃผ์†Œ๋ฅผ ๋„ฃ์–ด์ค€๋‹ค.
  • GitHub์˜ blob ํ‘œ์‹œ ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•ด๋„ ๋œ๋‹ค. recommended!!!
  • (์˜ˆ: https://github.com/myUserId/TestNodegit/blob/master/main.blk)
  • url์— ์ƒ๋Œ€ ์ฃผ์†Œ๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด, ๋กœ์ปฌ์„œ๋ฒ„์˜ ๊ฒฝ๋กœ์—์„œ BLK๋ฅผ ์ฝ์–ด์˜ฌ ์ˆ˜๋„ ์žˆ๋‹ค.
  1. ํ”„๋กœ์ ํŠธ ์„ค์ • ์ฐฝ์—์„œ 'Read library header'๋ฅผ ๋ˆ„๋ฅด๋ฉด ์นดํ…Œ๊ณ ๋ฆฌ ๋ชฉ๋ก์˜ ๋งจ ๋์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ถ”๊ฐ€๋œ๋‹ค.
  1. 'Import Library' ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•
  1. ํ”„๋กœ์ ํŠธ ์„ค์ • ์ฐฝ์—์„œ 'Import Library' ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค.
  2. ์ฝ์–ด์˜ฌ BLK ํŒŒ์ผ์„ ์„ ํƒํ•œ๋‹ค. (ํ˜„์žฌ๋Š” Playground ์œ„์น˜์™€ ๋™์ผํ•œ ๊ณต๊ฐ„์˜ ํŒŒ์ผ๋งŒ ์‚ฌ์šฉ๊ฐ€๋Šฅ!)
  3. ์„ ํƒ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์นดํ…Œ๊ณ ๋ฆฌ ๋ชฉ๋ก์˜ ๋งจ ๋์— ์ถ”๊ฐ€๋œ๋‹ค.

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉํ•˜๊ธฐ

  1. ์นดํ…Œ๊ณ ๋ฆฌ์— ์ถ”๊ฐ€๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ์›ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ํˆด๋ฐ•์Šค๋ฅผ ๋ˆ„๋ฅธ๋‹ค.
  2. ์ผ๋ฐ˜ ๋ธ”๋ก๊ณผ ๋™์ผํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.
  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ธ”๋ก์˜ ๋ฎคํ…Œ์ด์…˜ ์ฐฝ์€ ํ•จ์ˆ˜์˜ ๊ตฌํ˜„ ๋ธ”๋ก์„ ๋ณด์—ฌ์ฃผ๋„๋ก ๋˜์–ด ์žˆ๋‹ค. (์ˆ˜์ • ๋ฐ˜์˜ ์•ˆ๋จ)

์‚ฌ์šฉ ๊ฐ€๋Šฅ ์Šคํ”„๋ผ์ดํŠธ(Sprite)๊ด€๋ จ ๋ธ”๋ก ๋ชฉ๋ก

  • [ ]๋งŒํผ ์›€์ง์ด๊ธฐ
  • [ ]๋„ ๋งŒํผ [ ]๋กœ ๋Œ๋ฆฌ๊ธฐ
  • ๋งˆ์šฐ์Šค์œ„์น˜๋กœ [ ]์ดˆ ๋™์•ˆ ์›€์ง์ด๊ธฐ (ํŠน์ • ์ƒํ™ฉ์—์„œ ๋ฒ„๊ทธ ์กด์žฌ)
  • [ ]๋„ ๋ฐฉํ–ฅ์œผ๋กœ ๋Œ์•„๋ณด๊ธฐ
  • [ ]์œ„์น˜
  • [ ]๋ผ๊ณ  ๋งํ•˜๊ธฐ
  • ๋‹ค์Œ ์ปค์ŠคํŠฌ
  • ํด๋ฆญ ์‹œ
  • [ ]์ดˆ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ
  • { } ๋ฌดํ•œ๋ฐ˜๋ณตํ•˜๊ธฐ
  • ํด๋ก  ์ƒ์„ฑ ์‹œ
  • ๋‚˜์˜ ํด๋ก  ์ƒ์„ฑํ•˜๊ธฐ (๋ถˆ์•ˆ์ •)
  • [ํ…Œ๋‘๋ฆฌ/์Šคํ”„๋ผ์ดํŠธ]์— ์ ‘์ด‰ ์‹œ
  • touching color [ ]

์‚ฌ์šฉ ํ™˜๊ฒฝ

๋ฒˆํ˜ธ ํ™˜๊ฒฝ
1 nodejs 10.15.3(latest)
2 chrome, firefox(portable ์‚ฌ์šฉ x)