jQuery 4.0 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถœ์‹œ

3.0 ๋ฒ„์ „ ์ถœ์‹œ ํ›„ ๊ฑฐ์˜ 10๋…„, ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์ ํŠธ ์ฐฝ๋ฆฝ ํ›„ 20๋…„ ๋งŒ์— jQuery 4.0 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. W3Techs์— ๋”ฐ๋ฅด๋ฉด, ์›น์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ๋ฐฉ๋ฌธํ•˜๋Š” ์ƒ์œ„ 10์ฒœ๋งŒ ๊ฐœ ์›น์‚ฌ์ดํŠธ ์ค‘ 70.9%๊ฐ€ jQuery๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. jQuery ์ฝ”๋“œ๋Š” MIT ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

jQuery 4.0 ๋ฆด๋ฆฌ์Šค์—๋Š” ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์„ ๊นจ๋œจ๋ฆฌ๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€๋งŒ, ๊ฐœ๋ฐœ์ž๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ์ž๊ฐ€ ์ฝ”๋“œ ๋ณ€๊ฒฝ์„ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ์ƒˆ ๋ฒ„์ „์œผ๋กœ ์›ํ™œํ•˜๊ฒŒ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ๊ฐ„์†Œํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ „์šฉ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์ด ๊นจ์ง€๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์—๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ, ์ผ๋ถ€ ๋‚ด๋ถ€ ๋ฌธ์„œํ™”๋˜์ง€ ์•Š์€ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ œ๊ฑฐ, ์ง€๋‚˜์น˜๊ฒŒ ๋ณต์žกํ•œ ๋™์ž‘์˜ ์‚ฌ์šฉ ์ค‘๋‹จ, ๊ทธ๋ฆฌ๊ณ  ์ด์ „์— ์‚ฌ์šฉ์ด ์ค‘๋‹จ๋œ API์˜ ์‚ฌ์šฉ ์ค‘๋‹จ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ด ์ค‘๋‹จ๋œ API์™€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ œ๊ฑฐํ•จ์œผ๋กœ์จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํฌํ•จํ•˜๋Š” gzip ์•„์นด์ด๋ธŒ ํฌ๊ธฐ๊ฐ€ 3KB ์ค„์–ด๋“ค์—ˆ์Šต๋‹ˆ๋‹ค(์Šฌ๋ฆผ ๋ฒ„์ „์€ 19.5KB, ์ „์ฒด ๋ฒ„์ „์€ 27.5KB).

๋ณ€๊ฒฝ ์‚ฌํ•ญ:

  • IE 10 ๋ฐ ์ด์ „ ๋ฒ„์ „ ๋ธŒ๋ผ์šฐ์ €์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(IE 11 ์ง€์›์€ ์œ ์ง€๋˜์ง€๋งŒ Query 5.0์—์„œ ์ œ๊ฑฐ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค). Edge Legacy์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ๊ตฌํ˜• ๋ธŒ๋ผ์šฐ์ €์— ๋Œ€ํ•œ ์ง€์›๋„ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Android ๋ธŒ๋ผ์šฐ์ € ๋ฐ Firefox๋Š” 115๋ฒˆ ๋ธŒ๋žœ์น˜๊นŒ์ง€ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • TrustedTypes API ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด API๋Š” eval() ๋ธ”๋ก์—์„œ ์‚ฌ์šฉ์ž ์ œ๊ณต ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜๋ชป ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ".innerHTML"์„ ์‚ฝ์ž…ํ•˜๋Š” ๋“ฑ ํŠน์ • ํŽ˜์ด์ง€ ์ปจํ…์ŠคํŠธ์—์„œ JavaScript ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” DOM ์กฐ์ž‘์œผ๋กœ ์ธํ•œ ํฌ๋กœ์Šค ์‚ฌ์ดํŠธ ์Šคํฌ๋ฆฝํŒ…(DOM XSS) ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ jQuery ๋ฉ”์„œ๋“œ๋Š” TrustedHTML ๊ฐ์ฒด ํ˜•ํƒœ์˜ HTML ์ฝ”๋“œ๋ฅผ ์ธ์ˆ˜๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • jQuery ์ฝ”๋“œ๋Š” ESM(ECMAScript Module) JavaScript ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€ํ™˜๋˜์—ˆ์œผ๋ฉฐ ๋ชจ๋“ˆ๋กœ ๋ฐฐํฌ ๋ฐ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹ค์Œ ํ•จ์ˆ˜๋“ค์€ ์ œ๊ฑฐ๋˜์—ˆ์œผ๋ฉฐ ์ด์ „์— ์‚ฌ์šฉ์ด ๊ถŒ์žฅ๋˜์ง€ ์•Š๋Š” ํ•จ์ˆ˜๋กœ ํ‘œ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. jQuery.isArray, jQuery.parseJSON, jQuery.trim, jQuery.type, jQuery.now, jQuery.isNumeric, jQuery.isFunction, jQuery.isWindow, jQuery.camelCase, jQuery.nodeName, jQuery.cssNumber, jQuery.cssProps ๋ฐ jQuery.fx.interval. ์ด๋Ÿฌํ•œ ํ•จ์ˆ˜ ๋Œ€์‹  ํ‘œ์ค€ JavaScript ํ•จ์ˆ˜์ธ Array.isArray(), JSON.parse(), String.prototype.trim() ๋ฐ Date.now()๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
  • Array ๊ฐ์ฒด์˜ ๋ฌธ์„œํ™”๋˜์ง€ ์•Š์€ ๋‚ด๋ถ€ ๋ฉ”์„œ๋“œ(push, sort, splice)๋ฅผ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ดˆ์  ๋ณ€๊ฒฝ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ์ˆœ์„œ๊ฐ€ W3C ๊ทœ๊ฒฉ์— ๋งž์ถฐ ๋ธ”๋Ÿฌ, ํฌ์ปค์Šค์•„์›ƒ, ํฌ์ปค์Šค, ํฌ์ปค์Šค์ธ ์ˆœ์„œ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ajax ๋ฐ effects ๋ชจ๋“ˆ์ด ํฌํ•จ๋˜์ง€ ์•Š์€ ์Šฌ๋ฆผ ๋ฒ„์ „์˜ ํฌ๊ธฐ๋Š” Deferred ๊ฐ์ฒด(ํ‘œ์ค€ Promise ์‚ฌ์šฉ์„ ๊ถŒ์žฅ) ๋ฐ ์ฝœ๋ฐฑ ์ „๋‹ฌ์„ ์ค‘๋‹จํ•จ์œผ๋กœ์จ 19.5KB๋กœ ์ค„์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster