E D R , A S I H C RSS

Zero Page_200_OK



1. Technology

2. References

3. Runtime Environment

4. Integrated Development Environment

  • Microsoft Visual Studio (AJAX.NET -> jQuery)
  • JetBrains WebStorm
  • Oracle NetBeans
  • Aptana Studio (Titanium Studio)
  • Cloud9 IDE (Node.js)
    • Mozilla Bespin -> Mozilla Skywriter -> Ajax.org Ace -> Cloud9 -> http://c9.io/

5.1. 2012๋…„ 7›” 4ผ - ‹คŠต

  • ›น ๊ธฐˆ , ™˜๊ฒฝ, ๋ ˆผ๋ŸฐŠค †Œ๊ฐœ
  • ‹คŠต …Œ๋งˆ „  • - ๊ฐž ›น ๊ฒŒž„  œž‘•˜๊ธฐ
  • XHTML1.0, CSS2.1 ๊ธฐˆ

5.1.1. ›„๊ธฐ

  • ๋ณ€˜•„
    •   žฅ ง‘— ˜ค๋‹ˆ Cloud9 IDE๊ฐ€ ๋น ๋ฅด๊ฒŒ ž˜ ๋ฉ๋‹ˆ๋‹ค. •™๊ต— žˆ๋Š” ‚ฌ๋žŒ๋“ค๋„ …ŒŠคŠธ ๋ถ€ƒ•ฉ๋‹ˆ๋‹ค. •™๊ต ๋„Šธ›Œฌ ๊ด€๋ จ ดŠˆธง€ ๊ทธ๋ƒฅ ๊ทธ ‹œ๊ฐ„๋Œ€ c9.io „œ๋น„Šค ๊ด€๋ จ ดŠˆธง€ ๊ถ๊ธˆ•˜๊ตฐš”.
    • ๊ฐž ž‹ ˜ Cloud9 IDE Dashboard—„œ Workspace๋ฅผ ๋งŒ๋“ค–ด ๊ณผ œ๋ฅผ „–‰•˜๊ณ  URL„ ๊ณตœ •ฉ‹œ๋‹ค. ๊ณผ œ๋Š” "๋ฉ”๋‰ด ๋งŒ๋“ค๊ธฐ"˜€๋Š”๋ฐ –ด๋–ค ๋ชจŠตœผ๋กœ ๊ตฌ˜„•ด๋„ ข‹Šต๋‹ˆ๋‹ค!
      • ˜น‹œ —ฌ „žˆ Cloud9 IDEด ๋™ž‘•˜ง€ •Šœผ๋ฉด ด๋ฒˆ ๋‚ดšฉ€ ด๋ผด–ธŠธ ๊ตฌ˜„๋งŒ žˆœผ๋ฏ€๋กœ JSFiddle— Save•˜๊ณ  URL„ ๋งฌ•˜๊ฐ๋‚˜ ZeroPage_200_OK/†ŒŠค Ž˜ดง€— ˜ฌ๋ฆฌ…”๋„ ๋ฉ๋‹ˆ๋‹ค.
    • œ„— ๋งฌ•œ  €˜ Workspace Project˜ index.html ŒŒผ— ๋ฉ”๋‰ด ƒ˜”Œ„ ๊ตฌ˜„•ด๋‘—ˆŠต๋‹ˆ๋‹ค. ƒ๋‹จ˜ Preview๋กœ ™•ธ•˜๋ฉด„œ   ˆžˆ ฐธกฐ•ด„œ ๋งŒ๋“ค๋ฉด ๋„›€ด ๋ ๊ฒ๋‹ˆ๋‹ค.

  •  •„๊ฒฝ - c9.io๋Š” •„𔕠 ๋•Œ ๋จน†ตด ๋˜๋„š”... ‹คŠต …Œ๋งˆ๊ฐ€ ›น ๊ฒŒž„  œž‘ด๋ฉด Challengers˜ ฝ˜…ธ ๋ฅผ ๋ณด๊ฐ••˜๊ธฐ œ„•ด ธ๊ณตง€๋Šฅœผ๋กœ ”Œ๋ ˆด๊ฐ€ šฉด•œ ๊ฒŒž„„ ๊ธฐš•ด•ผ๊ฒ Šต๋‹ˆ๋‹ค...ใ…‹ใ…‹

5.2. 2012๋…„ 7›” 7ผ - ด๋ก 

  • „Šธ›Œฌ™€ ธ„ฐ๋„
  • ›”๋“œ ™€ด๋“œ ›น(WWW)๊ณผ W3C ‘œค€(Recommendation)
  • HTTP(HyperText Transfer Protocol) †Œ๊ฐœ

5.2.1. ›„๊ธฐ

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

5.3. 2012๋…„ 7›” 11ผ - ‹คŠต

  • XHTML๊ณผ CSS ๊ณผ œ •ด„
  • Form ๊ณ„—ด ƒœ๊ทธ ™œšฉ
  • JavaScript DOM API ฒซ†Œ๊ฐœ

5.3.1. ›„๊ธฐ

  • form ๊ด€๋ จœผ๋กœ ‚ฌšฉž ž…๋ ฅ„ ๋ฐ›„ ˆ˜ žˆ—ˆ๋˜ ๋ถ€๋ถ„ ‹คŠต„ ฃผ๋กœ ๋ฐฐ› Šต๋‹ˆ๋‹ค. ๊ทผ๋ฐ ๊ถ๊ธˆ•œ๊ฒŒ ๋„ค‘— html5 –˜๊ธฐ๋ฅผ •˜‹œ๋ฉด„œ <a href=""><button>abc</button></a> html5—„œ๋Š” ด๋ ‡๊ฒŒ ‚ฌšฉ•  ˆ˜ žˆ๋Š”๋ฐ ด๋Ÿฐ๊ฒŒ ž๋ฐ”Šคฌ๋ฆฝŠธ๋ฅผ “ธ ˆ˜ —†๋Š” ๊ฒฝšฐ— ๋œ๋‹ค๊ณ  •˜…จ๋Š”๋ฐ ๊ทธ๋Ÿผ ›๋ž˜ ๋ฒ„Šผ˜ onclick๊ฐ™€ on~๋Š” ž๋ฐ”Šคฌ๋ฆฝŠธธ๊ด๊ฐ€š”? - „œ˜ฃผ

5.4. 2012๋…„ 7›” 14ผ - ด๋ก 

5.4.1. ›„๊ธฐ

  • ด๋ฒˆ ฃผ œ๋Š” ˜•„ด˜••œ…Œ —ฌ๋Ÿฌ๋ฒˆ ๋“ค—ˆ๋˜ ๋‚ดšฉด—ˆ„š”. ™•‹คžˆ —ฌ๋Ÿฌ๋ฒˆ ๋“คœผ๋‹ˆ๊นŒ ๋ฌดŠจ ด•ผ๊ธฐ๋ฅผ •˜๋Š”ง€ กฐ๊ธˆ ๋” ๋น ๋ฅด๊ฒŒ ด•ด•  ˆ˜ žˆ—ˆ๋˜ ๊ฒƒ ๊ฐ™Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ง€๋‚œ๋ฒˆ ๋“ค„ ๋•Œ—๋Š” ๊ถ๊ธˆ•œ๊ฒŒ ƒ๊ฐ •ˆ ๋‚ฌ—ˆ๋Š”๋ฐ ด๋ฒˆ—” ๊ถ๊ธˆ•œ๊ฒŒ ƒ๊ธฐ๋”๊ตฐš”. ๋ญง€ -ใ……-;; ใ…‹ใ…‹ ๋‹ค๋งŒ ๋‹คŒฃผ— • •„๋ฒ„ง€ Œ”ˆœด๋ผ ฐธ—ฌ๋ฅผ ๋ชป •˜๊ฒŒ ๋˜–ด„œ ข€ •„‰ฌšธ ๋ฟ.. -_-a ๊ทธ๋ฆฌ๊ณ  ๊ณต๋ชจ „๊ณผ ๊ด€๋ จ•ด„œ ๋๋‚˜๊ณ  ด๋Ÿฐ  €๋Ÿฐ ด•ผ๊ธฐ๊ฐ€ ๋งŽด ๋‚˜™”—ˆ๋Š”๋ฐ, ž˜ „–‰๋˜–ด šฐ๋ฆฌ ž˜ •˜๊ณ  žˆ–ดš”~ ๋ผ๋Š” ๋ชจŠต„ ๋ณด—ฌคฌœผ๋ฉด •˜๋„š” - ๊ถŒˆœ˜

  • https๋Š”  •๋ง –ด๋ คšด ฃผ œ ๊ฐ™๋„š”. ผ๋‹จ ด•ด ๋˜๊ณ  ๋‚˜๋ฉด ‰ฌšด๋ฐ ๋ญ”๊ฐ€ ด๊ฒƒ  €๊ฒƒ –ฝ˜€žˆ๋Š” ๋А๋‚Œด๋„š”. ๋”ฐง€๊ณ  ๋ณด๋ฉด ๋ ˆด–ด •˜๋‚˜ ถ”๊ฐ€๋˜—ˆ„ ๋ฟธ๋ฐ ๋‚œด๋„๋Š” ๊ธ‰ ƒŠน. „…˜ด๋‚˜ ฟ ‚ค๊ฐ™€๊ฒฝšฐ—๋Š” ๋‚˜˜ค๊ฒŒ ๋œ ๋ฐฐ๊ฒฝ„ •Œ๊ฒŒ๋˜–ด„œ ™•‹ค•˜๊ฒŒ ด•ด•˜๊ณ  ๊ฐ€๋Š” ๋А๋‚Œด๋„š”. - •ˆ˜ค€

  • ๊ฐœธ œผ๋กœ ด๋ž˜ €๋ž˜ ๋งŽด ๋“ฃ๊ธฐ๋งŒ •œ šฉ–ด๋“ค(ฟ ‚ค, HTTPS ๊ธฐƒ€ ๋“๋“)— ๋Œ€•ด„œ ž„•˜๊ฒŒ ๋“ค„ ˆ˜ žˆ–ด„œ ข‹•˜Šต๋‹ˆ๋‹ค. ๋ณด•ˆ ๊ด€๋ จ€ ˜ˆ „ ๋ฐ๋ธ”Šค ๋•Œ๋„ ž ๊น ๋“ค„ ๊ธฐšŒ๊ฐ€ žˆ—ˆ๋Š”๋ฐ, ๊ทธ ๋•Œ๋Š” ž˜ ด•ด๋ฅผ ๋ชป –ˆ—ˆ๋Š”๋ฐ ๋ฐ˜๋ณต•ด„œ ๋“ค–ด„œ ๊ทธ๋Ÿฐง€ ด๋ฒˆ—๋Š” ด•ด๊ฐ€ ž˜ ๋Šต๋‹ˆ๋‹ค. ๋‹คŒœผ๋กœ๋Š” ž๋ฐ”Šคฌ๋ฆฝŠธ ๋ฌธ๋ฒ•— ๋Œ€•ด„œ ๋‹ค๋ฃจ‹ ๋‹ค๊ณ  •˜…จ๋Š”๋ฐ –ด๋–ค ๋ฐฉ–ฅœผ๋กœ ๋‚˜๊ฐˆง€ ๊ถ๊ธˆ•˜๋„š” - „œ๋ฏผ๊ด€

5.5. 2012๋…„ 7›” 21ผ - ด๋ก 

5.5.1. ›„๊ธฐ

  • ž๋ฐ”Šคฌ๋ฆฝŠธ˜ ๊ธฐˆ ธ ๋ถ€๋ถ„ด—ˆ๋Š”๋ฐ ž˜ ๋ชฐ๋ž๋˜ ๊ตฌกฐ— ๋Œ€•ด„œ •Œ๊ฒŒ ๋˜–ด ข‹•˜Šต๋‹ˆ๋‹ค. ‹ค–‰ ปจ…ŠคŠธ๋Š” Šนžˆ ž˜ •Œ•„๋‘๊ณ  ๊ฐˆ •„š”๊ฐ€ žˆ๋‹ค๋Š” ƒ๊ฐด ๋“ค—ˆŠต๋‹ˆ๋‹ค. - •ˆ˜ค€
  • ž๋ฐ”Šคฌ๋ฆฝŠธ—„œ žฃผ this –˜๊ธฐ๊ฐ€ ๋‚˜˜ค๋˜๋ฐ, ด๋ฒˆ— ด•ผ๊ธฐ๋ฅผ ๋“ค„ ˆ˜ žˆ–ด„œ ข‹•˜Šต๋‹ˆ๋‹ค. ๊ฐœธ ธ ๋А๋‚Œ„ ๋ง•˜ž๋ฉด •จˆ˜๊ฐ€ ๋ฐด„ฐ๋กœ ทจ๊ธ‰๋˜๋Š”๋ฐ •จˆ˜ ๋‚ด๋ถ€—„œ •จˆ˜๋ฅผ ˜ธถœ•œ ๊ฐฒด(execution context)˜  •๋ณด๋ฅผ ‚ฌšฉ•˜๊ธฐ œ„•ด„œ this๋ฅผ ‚ฌšฉ•œ๋‹ค๋Š” ๋А๋‚Œด๋Š”๋ฐ ๋งž๋Š”ง€ ๋ชจ๋ฅด๊ฒ ๊ตฐš”. p.print๋ฅผ ๋„˜๊ธฐ๋Š” ๊ฒƒ๋„ ‹ค œ๋กœ class p— žˆ๋Š” •จˆ˜๋ฅผ ๋„˜๊ธฐ๋Š” ๊ฒŒ •„๋‹ˆ๋ผ p.print— ๋ฐ”ธ๋”ฉ ๋œ –ด๋–ค •จˆ˜๋ฅผ ๋„˜๊ธฐ๋Š” ๊ฒƒด๋‹ˆ๊นŒ ๋‚ด๋ถ€˜ this๊ฐ€ ๊ธฐกด OOP™€ ๊ฐ™ด •ด๋‹น class˜ ธŠค„Šค๋Š” ๋  ˆ˜ —†๊ฒ ฃ . ๊ทธ๋ฆฌ๊ณ   œผ ๋งˆŒ— ๋“ค—ˆ๋˜ ๊ฒƒ€ —ญ‹œ ˜ˆ „— –ˆ๋˜ Šค„ฐ๋””—„œ ๋‹ค๋ค˜๋˜ ž๋ฐ”Šคฌ๋ฆฝŠธ˜ ๋„ค ๊ฐ€ง€ Šนง•— ๋Œ€•ด„œ ๋“ค„ ˆ˜ žˆ—ˆ๋‹ค๋Š”  ด—ˆŠต๋‹ˆ๋‹ค. ‚ฌ‹ค ˜ˆ „ Šค„ฐ๋”” ๋–„ ๋ฌดฒ™ ๋“ฃ๊ณ  ‹ถ—ˆ๋Š”๋ฐ ๊ฐœธ ธ ‚ฌ •œผ๋กœ ฐธ๊ฐ€๋ฅผ •  ˆ˜ —†–ด„œ ๊ฝค •„‰ฌ› ๋˜ „ฐ๋ผ ;;; ๋งˆง€๋ง‰—๋Š” ๊ฐœธ ธ ‚ฌ •œผ๋กœ ‹œ๊ฐ„ด •ˆ ๋งž•„„œ ข€ ๊ธ‰•˜๊ฒŒ ๋‚˜๊ฐ”๋Š”๋ฐ, ๊ทธ๋ž˜๋„ ตœ๋Œ€•œ ๋“ค„ ˆ˜ žˆ๋Š” ๋ฐ๊นŒง€ ๋“ฃ๊ธฐ๋ฅผ ž˜ •œ ๊ฒƒ ๊ฐ™€ ๋А๋‚Œด ๋“ค—ˆŠต๋‹ˆ๋‹ค. - „œ๋ฏผ๊ด€
  • ž๋ฐ”Šคฌ๋ฆฝŠธ˜ –ธ–ด Šน„— ๋”ฐ๋ผ„œ ๋ฐฐšฐ๊ณ  ๊ธฐ๋ณธ ธ ‚ฌšฉ ๋ฌธ๋ฒ•— ๋Œ€•ด„œ ๋ฐฐ› Šต๋‹ˆ๋‹ค. ๋ช…๋ น˜• ๊ตฌกฐ  ”„๋กœ๊ทธ๋ž˜๋ฐ –ธ–ด ธ ๋ถ€๋ถ„— ๋Œ€•ด„œ๋Š” ๊ทธ๋ ‡๊ฒŒ –ด๋ คšด๊—†—ˆ๋Š”๋ฐ ๊ทธ ๋’ค˜ •จˆ˜˜• „ –ธ  ”„๋กœ๊ทธ๋ž˜๋ฐ –ธ–ด ๋ถ€๋ถ„—„œ ด๋กœ €๋ž‘ •จˆ˜— •จˆ˜๋ฅผ ธž๋กœ ฃผ๋Š” ๋ถ€๋ถ„ด ๊ฐ™ด “ฐด๋‹ˆ๊นŒ ข€ ๋ณตžก–ˆ—ˆŠต๋‹ˆ๋‹ค. กฐ๊ธˆ ๋” ๊ณต๋ถ€•ด•ผ •  ๊ฒƒ ๊ฐ™Šต๋‹ˆ๋‹ค. var Person = function(){}; ๊ฐ™€ ๋ถ€๋ถ„๋‚˜ this๊ฐ€ new๋ฅผ –ˆ„ ๋•Œ—๋งŒ  œ๋Œ€๋กœ ๋™ž‘•œ๋‹ค๋Š” ๋ถ€๋ถ„๋„ Šนด–ˆŠต๋‹ˆ๋‹ค. ๋ฌธ๋ฒ• ธ ๋ถ€๋ถ„ žฒด๋Š” ๊ทธ๋ ‡๊ฒŒ –ด๋ คšด ๊ฒƒ ๊ฐ™ง€ •Š€๋ฐ •จˆ˜๋ฅผ ค‘ฒฉ•ด„œ “ฐ๊ฐ๋‚˜ ๊ทธ๋Ÿฐ ๋ถ€๋ถ„ด •ฝ๊ฐ„ •Œ•„๋ณด๊ธฐ ž˜๋“  ๊ฒƒ ๊ฐ™Šต๋‹ˆ๋‹ค. - „œ˜ฃผ

5.6. 2012๋…„ 7›” 25ผ - ‹คŠต

5.6.1. ›„๊ธฐ

  • „œ๋ฒ„—„œ ๋ฐด„ฐ๋ฅผ ๊ฐ€ ธ™€„œ ๋ณด—ฌค˜•ผ •˜๋Š” ๊ฒฝšฐ— ‹๊ธ€Šค๋ ˆ๋“œ๋ฅผ ‚ฌšฉ•˜๊ธฐ ๋•Œ๋ฌธ— ƒ๊ธฐ๋Š” ๋ฌธ œ — ๋Œ€•ด„œ ๋ฐฐšฐ๊ณ  ด๋ฅผ ฒ˜๋ฆฌ•˜๊ธฐ œ„•œ ๋ฐฉ๋ฒ•„ ๋ฐฐ› Šต๋‹ˆ๋‹ค. ฒ˜Œ—๋Š” iframe„ ดšฉ•œ ฒ˜๋ฆฌ๋ฅผ ๋ฐฐ› ๋Š”๋ฐ iframe ๋‚ด๋ถ€๋Š” ๋…๋ฆฝ ธ Ž˜ดง€ด๊ธฐ ๋•Œ๋ฌธ— ๋ฐ”๊นฅ˜ ๋ Œ๋”๋ง— ˜–ฅ„ •ˆฃผง€๋งŒ Ž˜ดง€๋ฅผ ด๋™•˜๋Š” †Œ๋ฆฌ๊ฐ€ ๋‚˜๊ณ , iframeด „œ๋ฒ„ธก˜ ๋ฐด„ฐ๋ฅผ ฝ–ด„œ ๋ Œ๋”๋ง •ด„ ๋•Œ „œ๋ฒ„ธก˜ Šคฌ๋ฆฝŠธ๊ฐ€ ‹ค–‰๋˜๋Š” ๋ฌธ œ  ๋“ด žˆŒ„ •Œ•˜Šต๋‹ˆ๋‹ค. ด๋ฅผ ๋Œ€ฒด•˜๊ธฐ œ„•ด ajax๋ฅผ ‚ฌšฉ•˜๋Š”๋ฐ ajax๋Š” ๋ Œ๋”๋ง€ •˜ง€ •Š๊ณ  š”ฒญ Šค๋ ˆ๋“œ๋งŒ ƒ„•ด„œ ฒ˜๋ฆฌ๋ฅผ •˜๋Š” ๋ฐฉ‹ธ๋ฐ xmlHttpRequest๋‚˜ ActiveXObject๊ฐ™€ ๋‚ดžฅ๊ฐฒด๋ฅผ จ„œ š”ฒญ Šค๋ ˆ๋“œ๋ฅผ ƒ„•œ๋‹ค๋Š”๊ธ ๋ฐฐ› Šต๋‹ˆ๋‹ค. ajax๋ผ๊ณ  ๋ง€ ๋งŽด ๋“ค—ˆ๋Š”๋ฐ ๊ตฌฒด œผ๋กœ –ด๋–ค •จˆ˜๋‚˜ –ด๋–ค ๊ฐฒด๋ฅผ “ฐ๋ฉด ajaxธ๊ด๊ฐ€๋Š” ž˜ ๋ชฐ๋ž—ˆ๋Š”๋ฐ ผ๋ฐ˜ œผ๋กœ ๋น„๋™๊ธฐ ฒ˜๋ฆฌ๋ฅผ •˜๋Š”๊ฐ๋ฉด ajax๋ผ๊ณ  ๋ง•  ˆ˜ žˆ๋‹ค๊ณ  •˜…จŠต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ค‘๊ฐ„— body.innerHTML„ ง ‘ ˆ˜ ••˜๋Š” ๋ถ€๋ถ„—„œ ๋ฌธ œ๊ฐ€ ƒ๊ฒผ—ˆ๋Š”๋ฐ innerHTML„ †๋Œ€๋ฉด DOMด ๋‹ค‹œ ๋งŒ๋“ค–ด ธ„œ •ธ๋“ค๋Ÿฌ๊ฐ€  „๋ถ€ ๋‹ค ‚ฌ๋ผ„๋‹ค๋Š” ๊ฒƒ๋„ ๊ธฐ–ต„ •ด๋‘ฌ•ผ๊ฒ Šต๋‹ˆ๋‹ค. - „œ˜ฃผ

5.7. 2012๋…„ 7›” 28ผ - ด๋ก 

5.8. 2012๋…„ 8›” 1ผ - ‹คŠต

  • ๋น„๋™๊ธฐ HTTP Request ๋ณตŠต.
  • JSON
    • ž๋ฐ”Šคฌ๋ฆฝŠธ—„œ ๊ฐฒด๋ฅผ ‘œ˜„•˜๊ธฐ œ„•œ ‘œ๊ธฐ๋ฒ•.
    • ž๊ธฐž‹ ˜ ๋ ˆผ๋ŸฐŠค(‚ฌดด๋ฆญ ๋ ˆผ๋ŸฐŠค), ปคŠค…€ ˜ค๋ธŒ Šธ(•จˆ˜ or ๊ฐฒด) ๋“€ ง๋ ฌ™”๊ฐ€ –ด๋ ต๊ธฐ ๋•Œ๋ฌธ— ๋Œ€ƒ— ๋“ค–ด๊ฐ€ง€ •Š๋Š”๋‹ค.
    • JSON.stringify() ๋ฉ”†Œ๋“œ™€ JSON.parse() ๋ฉ”†Œ๋“œ๋ฅผ ดšฉ•ด„œ JSON˜ Serialization <-> Deserializationด ๊ฐ€๋Šฅ•˜๋‹ค.
  • jQuery
    • Builder Pattern˜ ผข…œผ๋กœ jQuery˜ ๋ฉ”†Œ๋“œ๋ฅผ ‹ค–‰•œ ด›„— jQuery ๋ฐฐ—ด ๊ฐฒด๋ฅผ ๋ฐ˜™˜•จœผ๋กœจ •จˆ˜˜ chainning„ •ด„œ ‚ฌšฉ•  ˆ˜ žˆ๋‹ค.
    • DOM ๊ฐฒด๋ฅผ wrapping •œ ๊ฒƒœผ๋กœ CSS selector ๋ฌธ๋ฒ•œผ๋กœ DOM—„œ Element๋ฅผ ฐพ•„ ˜ฌ ˆ˜ žˆ๋‹ค.
    • Element๋ฅผ ฐพ„ ๋•Œ CSS ๋ฌธ๋ฒ•„ ดšฉ•˜—ฌ ž‘—…„ •  ˆ˜๋„ žˆ๊ณ  jQuery˜ ๋ฉ”†Œ๋“œ๋ฅผ ดšฉ•ด„œ ž‘—…„ •  ˆ˜๋„ žˆ๋Š”๋ฐ, ๋ณตžก•œ ๋Œ€ƒ„ •œ ๋ฒˆ๋งŒ ฐพ•„„œ ž‘—…„ •  ๊ฒฝšฐ—๋Š” CSS ๋ฌธ๋ฒ•„ ดšฉ•˜๋Š” ๊ฒƒด ข‹๊ณ , ฐพ€ ๋Œ€ƒ—„œ —ฌ๋Ÿฌ ž‘—…„ •  ๊ฒฝšฐ—๋Š” jQuery •จˆ˜๋ฅผ ‚ฌšฉ•˜๊ฐ๋‚˜ •ด๋‹น Element๋ฅผ ๋ณ€ˆ˜—  €žฅ•ด ๋‘—ˆ๋‹ค๊ฐ€ ‚ฌšฉ•˜๋Š” ๊ฒƒด „๋Šฅ ๋ฉด—„œ ข‹๋‹ค.
    • ๋Œ€ƒ Element๋ฅผ ฐพ๋“  ๋ชป ฐพ€ •ญƒ ๋ฐฐ—ด„ ๋ฐ˜™˜•˜๊ธฐ ๋•Œ๋ฌธ— ๋ฐ˜™˜ ๊ฒฐ๊ณผ— ƒ๊ด€ —†ด ๋ฐฐ—ด— ๋Œ€•œ ฒ˜๋ฆฌ๋งŒ ๊ณ ๋ ค•˜๋ฉด ๋œ๋‹ค.

5.8.1. ›„๊ธฐ

  • ›ˆ๊ธฐ— css„ค๋ช…–ˆ„ ๋•Œ css…€๋ ‰„ฐ ๋ฌธ๋ฒ•๋„ „ค๋ช…„ •ดฃผ…จ—ˆ๋Š”๋ฐ ๋งŽด ๊นŒ๋จน–ด„œ —ท๊ฐˆ๋ ธ—ˆŠต๋‹ˆ๋‹ค. -_- —ญ‹œ •œ ๋‘ ๋ฒˆ ๋ณธ๊ธ๋กœ๋Š” ๊ธˆ๋ฐฉ žŠ–ด๋ฒ„๋ฆฌ๊ธฐ ‰ฌšด ๊ฒƒ ๊ฐ™Šต๋‹ˆ๋‹ค. jQuery•จˆ˜˜ ๋Œ€๋ถ€๋ถ„€ ˜ธถœ ›„ jQuery๊ฐฒด๋ฅผ ๋ฆฌ„•˜๊ธฐ ๋•Œ๋ฌธ— •จˆ˜˜ ฒดด๋‹ด ๊ฐ€๋Šฅ•˜๋‹ค๋Š” –˜๊ธฐ๋ฅผ •˜…จ—ˆ๋Š”๋ฐ ๊ตฌ๊ธ€˜ guava๋„ ๊ทธ๋ ‡๊ณ  š”ฆ˜€ ด๋Ÿฐ ˜•ƒœ˜ ๊ตฌ˜„ด ๋งŽ€๊ง€ ๊ถ๊ธˆ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฒฐ๊ณผ ๊ฐ’„ ๋ฐ›•„„œ ๊ณ„†•ด„œ ๋‹ค๋ฅธ ž‘—…„ •˜๋Š” ๊ฒฝšฐ๊ฐ€ •„๋‹ˆ๋ผ๋ฉด ฒดด๋‹ด๋‚˜ ๊ทธ๋ƒฅ •œ ๋ฒˆ— ๊ณ„‚ฐ•˜๋Š” ๋ฐฉ‹ด๋‚˜ ๋ณ„ ฐจด๊ฐ€ —†๋Š”๊ด๊ฐ€š”? - „œ˜ฃผ

5.9. 2012๋…„ 8›” 4ผ - ด๋ก 

  • JavaScript (prototype/closure)
    • Private instance property
  • URI encode
    • Charset
      • ASCII, EUC-KR, CP949, Unicode(UCS), UTF-8
    • JavaScript functions
      • escape, unescape (deprecated) : encoding ŠคŽ™ด  ••ด ธ žˆง€ •Š•„„œ ๋ธŒ๋ผšฐ €๋งˆ๋‹ค ๊ตฌ˜„ด ๋‹ค๋ฅผ ˆ˜ žˆ๋‹ค.
      • encodeURI, decodeURI
      • encodeURIComponent, decodeURIComponent
  • document.cookie
  • Browser Object Model : ž๋ฐ”Šคฌ๋ฆฝŠธ๋กœ Browser™€ ƒ˜ธž‘šฉ•˜๊ธฐ œ„•ด  œ๊ณต๋˜๋Š” API๋“ค˜ ง‘•ฉ. ๊ณต‹ ธ ‘œค€€ กดžฌ•˜ง€ •Š•„„œ กฐ๊ธˆ”ฉ ๋‹ค๋ฅผ ˆ˜ žˆ๋‹ค.
    • window.history
    • window.location
      • Same origin policy
        • Iframe/frames
          • document.domain
        • Ajax(XHR)
    • window.navigator

5.10. 2012๋…„ 8›” 15ผ - ‹คŠต

  • jQueryUI
    • $(document).ready() - ฒ˜Œ— ž๋ฐ”Šคฌ๋ฆฝŠธ ฝ”๋“œ๋ฅผ •ด„•  ๋•Œ •ด๋‹น ๊ฐฒด๊ฐ€ —†„ ˆ˜ žˆ๊ธฐ ๋•Œ๋ฌธ— DOM ๊ฐฒด๊ฐ€ ƒ„๋˜๊ณ  ๋‚˜„œ jQuery ฝ”๋“œ๊ฐ€ ‹ค–‰๋˜๋„๋ก ฝ”๋“œ๋ฅผ ready() •ˆ— ๋„–ดฃผ–ด•ผ •œ๋‹ค.
    • setter, getter - ๊ฐ™€ •จˆ˜๊ฐ€ setšฉ ธž๊ฐ€ ๋“ค–ดžˆ„ ๊ฒฝšฐ—๋Š” setter๋กœ, ๊ทธ๋ ‡ง€ •Š„ ๊ฒฝšฐ—๋Š” getter๋กœ ‹ค–‰๋œ๋‹ค.
    • ด๋ฒคŠธ ๋ฉ”†Œ๋“œ - ด๋ฒคŠธ ๋ฉ”†Œ๋“œ— •จˆ˜๋ฅผ ธž๋กœ ฃผง€ •Š๊ณ  ‹ค–‰‹œ‚ค๋ฉด ด๋ฒคŠธ๋ฅผ ๋ฐœƒ‹œ‚ค๋Š” ๊ฒƒด๊ณ , •จˆ˜ ธž๋ฅผ ฃผ๊ณ  ‹ค–‰‹œ‚ค๋ฉด ด๋ฒคŠธ •ธ๋“ค๋Ÿฌ— •ด๋‹น •จˆ˜๋ฅผ ๋“๋ก•œ๋‹ค. (ex. $(".add_card").click() / $(".add_card").click(function() { ... }))
    • data() ๋ฉ”†Œ๋“œ - ด๋ฒคŠธ •ธ๋“ค๋Ÿฌ— ด๋กœ €๋ฅผ “ฐ๋ฉด •ธ๋“ค๋Ÿฌ๊ฐ€ ๋“๋ก๋˜—ˆ„ ‹œ ๊ณผ •ธ๋“ค๋Ÿฌ๊ฐ€ ˜ธถœ๋˜—ˆ„ ‹œ ˜ ๋ณ€ˆ˜ ๊ฐ’ด ๋‹ค๋ฅผ ˆ˜๊ฐ€ žˆ๋‹ค. ด๋กœ €๋ฅผ “ฐง€ •Š๊ธฐ œ„•ด„œ๋Š” .data()๋ฅผ ดšฉ•˜๋ฉด •ด๋‹น data๊ฐ€ key/value ˜•ƒœ๋กœ DOMŠธ๋ฆฌ— ๋“๋ก๋œ๋‹ค.
    • append(), appendTo() - jQuery—๋Š” ๊ฐ™€ ๊ธฐ๋Šฅ˜ •จˆ˜ธ๋ฐ ฒดด๋‹„ ‰ฝ๊ฒŒ •˜๊ธฐ œ„•ด„œ caller™€ parameter๊ฐ€ ๋’ค๋ฐ”๋€ •จˆ˜๋“คด žˆ๋‹ค. (ex. A.append(B) == B.appendTo(A))
    • live() - ฒ˜Œ— ready() ๋•Œ— ด๋ฒคŠธ •ธ๋“ค๋Ÿฌ๋ฅผ ๊–ดฃผ๋Š” ‹œผ๋กœ ฝ”๋“œ๋ฅผ งฐ„ ๊ฒฝšฐ ค‘๊ฐ„— ƒ„•œ ๊ฐฒด—๋Š” ด๋ฒคŠธ •ธ๋“ค๋Ÿฌ๊ฐ€ ๊ธ๋ คžˆง€ •Š๋‹ค. •˜ง€๋งŒ ready()—„œ live() ๋ฉ”†Œ๋“œ๋ฅผ ‚ฌšฉ•ด„œ ด๋ฒคŠธ •ธ๋“ค๋Ÿฌ๋ฅผ ๊ธ ๊ฒฝšฐ ๋งค ด๋ฒคŠธ๊ฐ€ ๋ฐœƒ•œ ๋•Œ๋งˆ๋‹ค ด๋ฒคŠธ •ธ๋“ค๋Ÿฌ๊ฐ€ ๊ธ๋ ค•ผ •  ๊ฐฒด๋ฅผ ฐพ•„„œ —†œผ๋ฉด ด๋ฒคŠธ •ธ๋“ค๋Ÿฌ๋ฅผ •Œ•„„œ ๊–ดค€๋‹ค. •˜ง€๋งŒ ฒ˜Œ— •ธ๋“ค๋Ÿฌ๋ฅผ ๊–ดฃผ๋Š” ๊ฒƒ๊ณผ ๋น„๊ต•ด„œ ๋น„šฉด ๋‹ค†Œ ๋น„‹ธ๋‹ค.
  • Trello ๋งŒ๋“ค๊ธฐ
    • sortable(), appendTo(), data(), focus(), blur(), clone() ๋“˜ jQuery API๋ฅผ ‚ฌšฉ.

5.11. 2012๋…„ 8›” 18ผ † š”ผ

  • Load web page faster!!!
    • CSS -> HTML -> JavaScript ˆœ„œ๋กœ html„ ž‘„•œ๋‹ค. - CSS๊ฐ€ ๋’ค— žˆœผ๋ฉด HTML ๋ Œ๋”๋ง„ •œ ›„— CSS๊ฐ€  šฉ๋œ๋‹ค. JavaScript๊ฐ€ •ž— žˆœผ๋ฉด JavaScript๊ฐ€ ๋‹ค ๋ฐ›•„ง€๊ณ  ๋‚˜„œ ๋’ท๋ถ€๋ถ„ด ‹ค–‰๋˜๊ธฐ ๋•Œ๋ฌธ— †๋„— ๋ฌธ œ๊ฐ€ žˆ„ ˆ˜ žˆ๋‹ค.
    • JavaScript๊ฐ€ ๋’ค— žˆœผ๋ฉด ด๋ฒคŠธ๊ฐ€ ๋Šฆ๊ฒŒ ๊ธ๋ฆฌ๊ฒŒ ๋œ๋‹ค. -> Command Queue Œจ„‚ฌšฉ.
    • Script˜ š”ฒญ - import— ๋Œ€•œ š”ฒญ€ ๋ณ‘๋ ฌ œผ๋กœ ด๋ฃจ–ดง€ง€๋งŒ ๋’คชฝ˜ š”ฒญด ๋จผ € ฒ˜๋ฆฌ๋˜๋”๋ผ๋„ •žชฝ š”ฒญด ฒ˜๋ฆฌ๋˜๊ธฐ  „๊นŒง€๋Š” ๋Œ€๊ธฐ•ด•ผ •œ๋‹ค.