ํŒŒ์ด์–ดํญ์Šค 69 ๋ฆด๋ฆฌ์Šค

์ผ์–ด๋‚ฌ๋‹ค ์›น ๋ธŒ๋ผ์šฐ์ € ๋ฆด๋ฆฌ์Šค ํŒŒ์ด์–ด ํญ์Šค 69๊ณผ ๋ชจ๋ฐ”์ผ ๋ฒ„์ „ Android ํ”Œ๋žซํผ์šฉ Firefox 68.1. ๋˜ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์ง€ ์žฅ๊ธฐ ์ง€์› 60.9.0 ะธ 68.1.0 (ESR ๋ถ„๊ธฐ 60.x๋Š” ๋” ์ด์ƒ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ถ„๊ธฐ 68.x๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.) ๊ณง ๋ฌด๋Œ€์— ์˜ค๋ฅผ ์˜ˆ์ • ๋ฒ ํƒ€ ํ…Œ์ŠคํŠธ Firefox 70 ๋ถ„๊ธฐ๊ฐ€ ์ „ํ™˜๋  ์˜ˆ์ •์ด๋ฉฐ, ์ถœ์‹œ๋Š” 22์›” XNUMX์ผ๋กœ ์˜ˆ์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ํ˜์‹ :

  • ์›์น˜ ์•Š๋Š” ์ฝ˜ํ…์ธ ๋ฅผ ์ฐจ๋‹จํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ ํ‘œ์ค€ ๋ชจ๋“œ์—๋Š” ๋ชจ๋“  ํƒ€์‚ฌ ์ถ”์  ์‹œ์Šคํ…œ์˜ ์ฟ ํ‚ค๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ์•”ํ˜ธํ™”ํ๋ฅผ ์ฑ„๊ตดํ•˜๋Š” JavaScript ์‚ฝ์ž…์„ ์ฐจ๋‹จํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์ด๋‹ ์ฝ”๋“œ๋Š” ์‚ฌ์šฉ์ž ์‹œ์Šคํ…œ์˜ CPU ๋ถ€ํ•˜๋ฅผ ํฌ๊ฒŒ ์ฆ๊ฐ€์‹œํ‚ค๋ฉฐ ์ผ๋ฐ˜์ ์œผ๋กœ ํ•ดํ‚น์˜ ๊ฒฐ๊ณผ๋กœ ์‚ฌ์ดํŠธ์— ๋„์ž…๋˜๊ฑฐ๋‚˜ ๋ชจํ˜ธํ•œ ์‚ฌ์ดํŠธ์—์„œ ์ˆ˜์ตํ™” ์ˆ˜๋‹จ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
    ์ด์ „์—๋Š” ์—„๊ฒฉํ•œ ์ฐจ๋‹จ ๋ชจ๋“œ๋ฅผ ์„ ํƒํ•  ๋•Œ๋งŒ ๋ฐ์ดํ„ฐ ์ฐจ๋‹จ์ด ํ™œ์„ฑํ™”๋˜์—ˆ์ง€๋งŒ ์ด์ œ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์ฐจ๋‹จํ•˜๋ ค๋Š” ๊ฒฝ์šฐ์—๋งŒ ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ž…๋‹ˆ๋‹ค. ์ˆจ๊ฒจ์ง„ ์‹ ๋ถ„์ฆ (โ€œ๋ธŒ๋ผ์šฐ์ € ํ•‘๊ฑฐํ”„๋ฆฐํŒ…โ€). ๋ชฉ๋ก์— ๋”ฐ๋ผ ์ฐจ๋‹จ์ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. Disconnect.me.
    ํŒŒ์ด์–ดํญ์Šค 69 ๋ฆด๋ฆฌ์Šค

    ์ฐจ๋‹จ๋˜๋ฉด ์ฃผ์†Œ ํ‘œ์‹œ์ค„์— ๋ฐฉํŒจ ๊ธฐํ˜ธ๊ฐ€ ํ‘œ์‹œ๋˜๊ณ  ์ƒํ™ฉ์— ๋งž๋Š” ๋ฉ”๋‰ด๋ฅผ ํ†ตํ•ด ์ด๋™ ๊ฒฝ๋กœ๋ฅผ ์ถ”์ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ฟ ํ‚ค๊ฐ€ ์ฐจ๋‹จ๋œ ์‚ฌ์ดํŠธ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ๋ฉ”๋‰ด์—์„œ ๊ฐœ๋ณ„ ์‚ฌ์ดํŠธ์— ๋Œ€ํ•œ ์ฐจ๋‹จ์„ ์„ ํƒ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ํŒŒ์ด์–ดํญ์Šค 69 ๋ฆด๋ฆฌ์ŠคํŒŒ์ด์–ดํญ์Šค 69 ๋ฆด๋ฆฌ์Šค

  • ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ์ฝ˜ํ…์ธ  ์ž๋™ ์žฌ์ƒ์„ ์ฐจ๋‹จํ•˜๋Š” ์˜ต์…˜์ด ํ™•์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์— ์ถ”๊ฐ€๋œ ์ž๋™ ์žฌ์ƒ ์˜์ƒ์˜ ์†Œ๋ฆฌ๋ฅผ ์Œ์†Œ๊ฑฐํ•˜๋Š” ๊ธฐ๋Šฅ ์™ธ์— ๊ตฌํ˜„ ์‚ฌ์šด๋“œ ์Œ์†Œ๊ฑฐ์— ๊ตญํ•œ๋˜์ง€ ์•Š๊ณ  ๋น„๋””์˜ค ์žฌ์ƒ์„ ์™„์ „ํžˆ ์ค‘์ง€ํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ด์ „์— ์›น์‚ฌ์ดํŠธ์— ๊ด‘๊ณ  ๋™์˜์ƒ์ด ํ‘œ์‹œ๋˜์—ˆ์ง€๋งŒ ์†Œ๋ฆฌ๊ฐ€ ๋‚˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ƒˆ ๋ชจ๋“œ์—์„œ๋Š” ๋ช…์‹œ์ ์ธ ํด๋ฆญ ์—†์ด๋Š” ์žฌ์ƒ์ด ์‹œ์ž‘๋˜์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค. ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ๋ณธ "์˜ค๋””์˜ค ์ฐจ๋‹จ" ๋ชจ๋“œ๋ฅผ ๋ณด์™„ํ•˜๋Š” ์ƒˆ๋กœ์šด ํ•ญ๋ชฉ "์˜ค๋””์˜ค ๋ฐ ๋น„๋””์˜ค ์ฐจ๋‹จ"์ด ์ž๋™ ์žฌ์ƒ ์„ค์ •(์˜ต์…˜ > ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ๋ฐ ๋ณด์•ˆ > ๊ถŒํ•œ > ์ž๋™ ์žฌ์ƒ)์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

    ํŒŒ์ด์–ดํญ์Šค 69 ๋ฆด๋ฆฌ์Šค

    ์ฃผ์†Œ ํ‘œ์‹œ์ค„์˜ โ€œ(i)โ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ๋‚˜ํƒ€๋‚˜๋Š” ์ปจํ…์ŠคํŠธ ๋ฉ”๋‰ด๋ฅผ ํ†ตํ•ด ํŠน์ • ์‚ฌ์ดํŠธ์™€ ๊ด€๋ จ๋œ ๋ชจ๋“œ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ํŒŒ์ด์–ดํญ์Šค 69 ๋ฆด๋ฆฌ์Šค

  • USA ๋ฐ "en-US" ๋นŒ๋“œ ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ ์ƒˆ ํƒญ์„ ์—ด ๋•Œ ํ‘œ์‹œ๋˜๋Š” ์‹œ์ž‘ ํŽ˜์ด์ง€์˜ ๋ธ”๋ก ๋ ˆ์ด์•„์›ƒ์ด ๋ณ€๊ฒฝ๋˜์—ˆ์œผ๋ฉฐ Pocket ์„œ๋น„์Šค์—์„œ ๊ถŒ์žฅํ•˜๋Š” ์ถ”๊ฐ€ ์ฝ˜ํ…์ธ  ํ‘œ์‹œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ธ”๋ก ํฌ๊ธฐ์™€ ๊ถŒ์žฅ ์‚ฌํ•ญ ์ˆ˜๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ์œผ๋ฉฐ ์ƒˆ๋กœ์šด ์ฃผ์ œ ์„น์…˜์ด ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(๊ฑด๊ฐ•, ๊ณผํ•™, ๊ธฐ์ˆ  ๋ฐ ์—”ํ„ฐํ…Œ์ธ๋จผํŠธ).
  • Adobe Flash ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ†ตํ•ด Flash ์ฝ˜ํ…์ธ ๋ฅผ ์žฌ์ƒํ•˜๋Š” ๊ธฐ๋Šฅ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Flash๋ฅผ ์˜๊ตฌ์ ์œผ๋กœ ํ™œ์„ฑํ™”ํ•˜๋Š” ์˜ต์…˜์ด Adobe Flash Player ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์ •์—์„œ ์ œ๊ฑฐ๋˜์–ด ์„ ํƒํ•œ ๋ชจ๋“œ๋ฅผ ๊ธฐ์–ตํ•˜์ง€ ์•Š๊ณ  Flash๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ํŠน์ • ์‚ฌ์ดํŠธ์— ๋Œ€ํ•ด ๊ฐœ๋ณ„์ ์œผ๋กœ ํ™œ์„ฑํ™”(๋ช…์‹œ์  ํด๋ฆญ์œผ๋กœ ํ™œ์„ฑํ™”)ํ•˜๋Š” ์˜ต์…˜๋งŒ ๋‚จ์•˜์Šต๋‹ˆ๋‹ค. Firefox ESR ๋ธŒ๋žœ์น˜๋Š” 2020๋…„ ๋ง๊นŒ์ง€ Flash๋ฅผ ๊ณ„์† ์ง€์›ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
  • ์žฅ์• ๊ฐ€ ์žˆ๋Š” ๊ธฐ๋ณธ ํŒŒ์ผ ์ฒ˜๋ฆฌ userContent.css ะธ userChrome.css, ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์ดํŠธ ๋””์ž์ธ์ด๋‚˜ Firefox ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ฌด์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ์ด์œ ๋Š” ๋ธŒ๋ผ์šฐ์ € ์‹œ์ž‘ ์‹œ๊ฐ„์„ ์ค„์ด๊ธฐ ์œ„ํ•ด์„œ์ž…๋‹ˆ๋‹ค. userContent.css ๋ฐ userChrome.css๋ฅผ ํ†ตํ•œ ๋™์ž‘ ๋ณ€๊ฒฝ์€ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฑฐ์˜ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์œผ๋ฉฐ CSS ๋ฐ์ดํ„ฐ ๋กœ๋“œ๋Š” ์ถ”๊ฐ€ ๋ฆฌ์†Œ์Šค๋ฅผ ์†Œ๋น„ํ•ฉ๋‹ˆ๋‹ค(์ตœ์ ํ™”๋Š” ๋ถˆํ•„์š”ํ•œ ๋””์Šคํฌ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค). userChrome.css ๋ฐ userContent.css ์ฒ˜๋ฆฌ๋ฅผ about:config๋กœ ๋˜๋Œ๋ฆฌ๊ธฐ ์œ„ํ•ด "toolkit.legacyUserProfileCustomizations.stylesheets" ์„ค์ •์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์„ค์ •์€ ์ด๋ฏธ userChrome.css ๋˜๋Š” userContent.css๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด ์ž๋™์œผ๋กœ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.
  • WebRTC์˜ ๊ฒฝ์šฐ ๋‹ค์–‘ํ•œ ๋น„๋””์˜ค ์ฝ”๋ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฑ„๋„์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์–ด ์ฐธ๊ฐ€์ž๊ฐ€ ๋‹ค์–‘ํ•œ ํด๋ผ์ด์–ธํŠธ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™”์ƒ ํšŒ์˜ ์„œ๋น„์Šค ์ƒ์„ฑ์„ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • ARM64 ์•„ํ‚คํ…์ฒ˜์˜ ๊ฒฝ์šฐ JavaScript ์—”์ง„์€ JIT ์ปดํŒŒ์ผ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ธŒ๋ผ์šฐ์ € ์‹๋ณ„์ž(navigator.userAgent, navigator.platform ๋ฐ navigator.oscpu)์—์„œ 32๋น„ํŠธ OS ํ™˜๊ฒฝ์—์„œ 64๋น„ํŠธ ๋ฒ„์ „์˜ Firefox ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค(์ด์ „์—๋Š” Flash์— ํ•„์š”ํ–ˆ์ง€๋งŒ ์ถ”๊ฐ€ ๋ฒกํ„ฐ๊ฐ€ ๋‚จ์•˜์Šต๋‹ˆ๋‹ค). ์ˆจ๊ฒจ์ง„ ์‚ฌ์šฉ์ž ์‹๋ณ„์„ ์œ„ํ•ด)
  • Picture-in-Picture ๋ชจ๋“œ์—์„œ ๋น„๋””์˜ค๋ฅผ ๋ณด๊ธฐ ์œ„ํ•œ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ธŒ๋ผ์šฐ์ €์—์„œ ํƒ์ƒ‰ํ•˜๋Š” ๋™์•ˆ ๊ณ„์† ํ‘œ์‹œ๋˜๋Š” ๋ถ€๋™ ์ฐฝ ํ˜•ํƒœ๋กœ ๋น„๋””์˜ค๋ฅผ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“œ์—์„œ ๋ณด๋ ค๋ฉด ํˆดํŒ์„ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ๋น„๋””์˜ค๋ฅผ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์œผ๋กœ ํด๋ฆญํ•  ๋•Œ ํ‘œ์‹œ๋˜๋Š” ์ปจํ…์ŠคํŠธ ๋ฉ”๋‰ด์—์„œ "Picture in Picture"๋ฅผ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ž์ฒด ์ปจํ…์ŠคํŠธ ๋ฉ”๋‰ด ํ•ธ๋“ค๋Ÿฌ๋ฅผ ๋Œ€์ฒดํ•˜๋Š” YouTube์—์„œ๋Š” ์˜ค๋ฅธ์ชฝ- ๋‘ ๋ฒˆ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ Shift ํ‚ค๋ฅผ ๋ˆ„๋ฅธ ์ฑ„ ํด๋ฆญ). "media.videocontrols.picture-in-picture.enabled" ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ about:config์—์„œ ๋ชจ๋“œ ์ง€์›์„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ํŒŒ์ด์–ดํญ์Šค 69 ๋ฆด๋ฆฌ์Šค

  • ์ถ”๊ฐ€๋จ ๋“ฑ๋ก ์–‘์‹์„ ์ž‘์„ฑํ•  ๋•Œ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋œ ๊ฐ•๋ ฅํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ํ•จ๊ป˜ ํžŒํŠธ๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ ์ƒ์„ฑ๊ธฐ(about:config์˜ "signon. Generation.available") ๊ตฌํ˜„

    ํŒŒ์ด์–ดํญ์Šค 69 ๋ฆด๋ฆฌ์Šค

  • ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ด€๋ฆฌ์ž์—๊ฒŒ ์ถ”๊ฐ€ ์ฒซ ๋ฒˆ์งธ ์ˆ˜์ค€ ๋„๋ฉ”์ธ์˜ ๋งฅ๋ฝ์—์„œ ๊ณ„์ •์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๋ชจ๋“  ํ•˜์œ„ ๋„๋ฉ”์ธ์— ๋Œ€ํ•ด ์ €์žฅ๋œ ํ•˜๋‚˜์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, login.example.com์— ์ €์žฅ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ์ด์ œ www.example.com ์‚ฌ์ดํŠธ์˜ ์–‘์‹ ์ž๋™ ์™„์„ฑ์— ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
  • ์ถ”๊ฐ€๋จ ์šฐ์„ ๊ด€๋ฆฌ๊ณผ์žฅ ํ•ธ๋“ค๋Ÿฌ ํ”„๋กœ์„ธ์Šค ๊ทธ๊ฒƒ์€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์šด์˜ ์ฒด์ œ์— ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ™œ์„ฑ ํƒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ฝ˜ํ…์ธ  ํ”„๋กœ์„ธ์Šค์—๋Š” ๋ฐฐ๊ฒฝ ํƒญ๊ณผ ์—ฐ๊ฒฐ๋œ ํ”„๋กœ์„ธ์Šค(๋น„๋””์˜ค ๋˜๋Š” ์˜ค๋””์˜ค๋ฅผ ์žฌ์ƒํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ)๋ณด๋‹ค ๋” ๋†’์€ ์šฐ์„  ์ˆœ์œ„(๋” ๋งŽ์€ CPU ๋ฆฌ์†Œ์Šค ํ• ๋‹น)๊ฐ€ ๋ถ€์—ฌ๋ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ํ˜„์žฌ Windows ํ”Œ๋žซํผ์—์„œ๋งŒ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ, ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ about-config์˜ dom.ipc.processPriorityManager.enabled ์˜ต์…˜์„ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ํ™œ์„ฑํ™”๋จ ๊ธฐ๋ณธ์ ์œผ๋กœ API ์‚ฌ์šฉ์ž ์Šคํฌ๋ฆฝํŠธ, ์›น ํŽ˜์ด์ง€ ์ปจํ…์ŠคํŠธ์—์„œ ์‚ฌ์šฉ์ž ์ •์˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด WebExtensions ๊ธฐ์ˆ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ Greasemonkey ์Šคํƒ€์ผ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜๋ฉด ํ˜„์žฌ ๋ณด๊ณ  ์žˆ๋Š” ํŽ˜์ด์ง€์˜ ๋””์ž์ธ๊ณผ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด API๋Š” ์ด๋ฏธ Firefox์— ํฌํ•จ๋˜์–ด ์žˆ์ง€๋งŒ ์ง€๊ธˆ๊นŒ์ง€ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด about:config์—์„œ "extensions.webextensions.userScripts.enabled" ์„ค์ •์„ ์ง€์ •ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. tabs.executeScript ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•˜๋Š” ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ๊ธฐ์กด ์ถ”๊ฐ€ ๊ธฐ๋Šฅ๊ณผ ๋‹ฌ๋ฆฌ ์ƒˆ๋กœ์šด API๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณ„๋„์˜ ์ƒŒ๋“œ๋ฐ•์Šค ํ™˜๊ฒฝ์—์„œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ฒฉ๋ฆฌํ•˜๊ณ  ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉฐ ๋‹ค์–‘ํ•œ ํŽ˜์ด์ง€ ๋กœ๋”ฉ ๋‹จ๊ณ„๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • navigator.mediaDevices ์†์„ฑ์€ ์ด์ œ ๋ณด์•ˆ ์ปจํ…์ŠคํŠธ์—์„œ ํŽ˜์ด์ง€๋ฅผ ์—ด ๋•Œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. HTTPS, localhost ๋˜๋Š” ๋กœ์ปฌ ํŒŒ์ผ์„ ํ†ตํ•ด ์—ด ๋•Œ;
  • CSS ์†์„ฑ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฒ„ํ”Œ๋กœ ์ธ๋ผ์ธ ะธ ์˜ค๋ฒ„ํ”Œ๋กœ ๋ธ”๋ก๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ธ”๋ก ๋ฐ ์ธ๋ผ์ธ ์š”์†Œ๋ฅผ ๋„˜์–ด ํ™•์žฅ๋˜๋Š” ์ฝ˜ํ…์ธ  ํ‘œ์‹œ๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๊ผฌ๋ฆฌ ์ž๋ฅด๊ธฐ ๋˜๋Š” ์Šคํฌ๋กค ๋ง‰๋Œ€ ํ‘œ์‹œ). ์ฝ˜ํ…์ธ  ์ถœ๋ ฅ ๋ชจ๋“œ(์œ„์—์„œ ์•„๋ž˜๋กœ ๋˜๋Š” ํ•œ ์ค„์”ฉ)์— ๋”ฐ๋ผ Overflow-x ๋ฐ Overflow-y๋กœ ์ž๋™ ๋ณ€ํ™˜์„ ํ†ตํ•ด ์†์„ฑ์ด ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.
  • CSS ์†์„ฑ์˜ ๊ฒฝ์šฐ ๊ณต๋ฐฑ ์ค‘๋‹จ ๊ณต๋ฐฑ ๊ฐ’์— ๋Œ€ํ•œ ์ง€์›์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ตฌํ˜„๋œ CSS ์†์„ฑ ํฌํ•จํ•˜๋Š”, ์š”์†Œ์™€ ๊ทธ ๋‚ด์šฉ์ด DOM ํŠธ๋ฆฌ์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„๊ณผ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
  • CSS ์†์„ฑ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์„ ํƒ, ์‚ฌ์šฉ์ž๊ฐ€ ํ…์ŠคํŠธ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์„ ํƒ๊ธฐ์— @supports ๊ทœ์น™์„ ์„ค์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(
    ํŠน์ • ์„ ํƒ๊ธฐ๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ง€์›๋˜๊ฑฐ๋‚˜ ์ง€์›๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์—๋งŒ CSS๋ฅผ ์„ ํƒ์ ์œผ๋กœ ์ ์šฉํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” "@supports selector(selector-to-test){โ€ฆ}" ํ˜•์‹;

  • ์ถ”๊ฐ€ ์ง€์› ๊ณต๊ฐœ ํ•„๋“œ ์ƒ์„ฑ์ž ์™ธ๋ถ€์—์„œ ์ดˆ๊ธฐํ™”๋˜๋Š” ์‚ฌ์ „ ์ •์˜๋œ ์†์„ฑ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” JavaScript ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค์ž…๋‹ˆ๋‹ค. ๊ฐ€๊นŒ์šด ๋ฏธ๋ž˜์—๋Š” ํด๋ž˜์Šค ์™ธ๋ถ€์—์„œ ๋ณผ ์ˆ˜ ์—†๋Š” ์ „์šฉ ํ•„๋“œ์— ๋Œ€ํ•œ ์ง€์›๋„ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค.

    ํด๋ž˜์Šค ์ œํ’ˆ {
    ์ด๋ฆ„;
    ์„ธ๊ธˆ = 0.2; /*๊ณต๊ฐœ ํ•„๋“œ*/
    #๊ธฐ๋ณธ๊ฐ€๊ฒฉ = 0; /*์‚ฌ์ „*/
    ๊ฐ€๊ฒฉ;

    ์ƒ์„ฑ์ž(์ด๋ฆ„, ๊ธฐ๋ณธ ๊ฐ€๊ฒฉ) {
    this.name = ์ด๋ฆ„;
    this.basePrice = ๊ธฐ๋ณธ๊ฐ€๊ฒฉ;
    this.price = (basePrice * (1 + this.tax)).toFixed(2);
    }
    }

  • API ์ถ”๊ฐ€ ๊ด€์ฐฐ์ž ํฌ๊ธฐ ์กฐ์ •, ํŽ˜์ด์ง€์˜ ์ง€์ •๋œ ์š”์†Œ ํฌ๊ธฐ ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ์•Œ๋ฆผ์ด ์ „์†ก๋˜๋Š” ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด API์™€ window.onresize ๋ฐ CSS ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ์˜ ์ฃผ์š” ์ฐจ์ด์ ์€ ์ „์ฒด ํ‘œ์‹œ ์˜์—ญ์ด ์•„๋‹Œ ํŽ˜์ด์ง€์˜ ํŠน์ • ์š”์†Œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ „์ฒด ๋ณด์ด๋Š” ์ฝ˜ํ…์ธ ;
  • ํ•˜๋‚˜์˜ ๋ฉ”์†Œ๋“œ๋กœ ํ‘œํ˜„๋˜๋Š” Microtasks API๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. (WindowOrWorkerGlobalScope.queueMicrotask(), ๋งˆ์ดํฌ๋กœํƒœ์Šคํฌ ๋Œ€๊ธฐ์—ด์— ์ถ”๊ฐ€ํ•˜์—ฌ ๋‚ฎ์€ ์ˆ˜์ค€์—์„œ ์ฝœ๋ฐฑ ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ์˜ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ๋ฉ”์†Œ๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค ๋ธ”๋กญ.ํ…์ŠคํŠธ(), Blob.arrayBuffer(), ๋ธ”๋กญ.์ŠคํŠธ๋ฆผ(), DOMMatrix.fromMatrix(), AbstractRange() ๋ฐ StaticRange();
  • ์ž๊ฒฉ ์ฆ๋ช… ์—†์ด ์š”์ฒญ์— ๋Œ€ํ•ด "*" ๋งˆ์Šคํฌ๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์ด Access-Control-Expose-Headers, Access-Control-Allow-Methods ๋ฐ Access-Control-Allow-Headers HTTP ํ—ค๋”์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์›น ์ฝ˜์†”์€ ์‚ฌ์šฉ์ž ์›€์ง์ž„ ์ถ”์ ๊ณผ ๊ด€๋ จ๋œ ํ™œ๋™์— ๋Œ€ํ•œ ๊ฒฝ๊ณ  ๊ทธ๋ฃน์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    ํŒŒ์ด์–ดํญ์Šค 69 ๋ฆด๋ฆฌ์Šค

  • ๋ฆฌ์†Œ์Šค(CSP, ํ˜ผํ•ฉ ์ฝ˜ํ…์ธ  ๋“ฑ) ์ฐจ๋‹จ ์ด์œ ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๊ฐ€ ๋„คํŠธ์›Œํฌ ํ™œ๋™ ๊ฒ€์‚ฌ ํŒจ๋„์— ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉฐ, ์ „์ฒด URL์ด ํฌํ•จ๋œ ์„ ํƒ์  ์—ด์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    ํŒŒ์ด์–ดํญ์Šค 69 ๋ฆด๋ฆฌ์Šค

  • JavaScript ๋””๋ฒ„๊ฑฐ๊ฐ€ ๋” ๋น ๋ฅด๊ฒŒ ์‹คํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์›๊ฒฉ ๋””๋ฒ„๊น… ๊ธฐ๋Šฅ์ด about:debugging ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ด๋™๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋น„๋™๊ธฐ ํ•จ์ˆ˜(Async)์˜ ๋‹จ๊ณ„๋ณ„ ๋””๋ฒ„๊น… ์ง€์›์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€๋จ ๋งˆ์šฐ์Šค, ํ„ฐ์น˜ ์Šคํฌ๋ฆฐ, ์• ๋‹ˆ๋ฉ”์ด์…˜, DOM, ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ์™€ ๊ด€๋ จ๋œ ์ด๋ฒคํŠธ ๋ฐœ์ƒ๊ณผ ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ํด๋ž˜์Šค์˜ ์ค‘๋‹จ์ 
    ๋…ธ๋™์ž ๋“ฑ

    ํŒŒ์ด์–ดํญ์Šค 69 ๋ฆด๋ฆฌ์Šค

  • ๊ฐ์‚ฌ ํŽ˜์ด์ง€ ํ‘œ์‹œ๋ฅผ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์ฒด ํ…์ŠคํŠธ ์„ค๋ช… ์ฝ˜ํ…์ธ (์˜ˆ: "alt" ์†์„ฑ์˜ ํ…์ŠคํŠธ ํ‘œ์‹œ)
    ์ด๋ฏธ์ง€ ๋Œ€์‹ );

    ํŒŒ์ด์–ดํญ์Šค 69 ๋ฆด๋ฆฌ์Šค

  • ์—ฌ๋Ÿฌ ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ๊ฐ€ ์žฅ์ฐฉ๋œ macOS ์‹œ์Šคํ…œ์—์„œ๋Š” WebGL ์ฝ˜ํ…์ธ  ์ฒ˜๋ฆฌ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์ „๋ ฅ ํšจ์œจ์ ์ธ GPU๋กœ ๋”์šฑ ์ ๊ทน์ ์œผ๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ผํšŒ์„ฑ WebGL ํ˜ธ์ถœ์„ ์œ„ํ•ด ์—๋„ˆ์ง€ ํšจ์œจ์ ์ธ GPU์—์„œ ๊ฐ•๋ ฅํ•œ GPU๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ๋ณดํ˜ธ ๊ธฐ๋Šฅ๋„ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. macOS์šฉ ๋นŒ๋“œ๋Š” ํ‘œ์ค€ Finder ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ ์ง„ํ–‰ ์ƒํ™ฉ๋„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. PKG ํ˜•์‹์˜ Firefox ์„ค์น˜ ๋นŒ๋“œ ๊ตฌ์„ฑ์ด ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ตœ์‹  ์—…๋ฐ์ดํŠธ(10+)๊ฐ€ ํฌํ•จ๋œ Windows 1903์˜ ๊ฒฝ์šฐ ์ง€๋ฌธ, ์–ผ๊ตด ์ธ์‹ ๋˜๋Š” USB ํ† ํฐ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์ดํŠธ์—์„œ ์ธ์ฆํ•  ์ˆ˜ ์žˆ๋„๋ก Windows Hello๋ฅผ ํ†ตํ•œ ์›น ์ธ์ฆ HmacSecret ํ™•์žฅ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹จ์ข… Android์šฉ Firefox์˜ ์ƒˆ ๋ฆด๋ฆฌ์Šค ํ˜•์„ฑ(์ฝ”๋“œ๋ช…์€ Fenix์ž„) ๊ฐœ๋ฐœ ์ค‘ GeckoView ์—”์ง„๊ณผ Mozilla Android ๊ตฌ์„ฑ ์š”์†Œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋ฐ”์ผ ์žฅ์น˜์šฉ ์ƒˆ ๋ธŒ๋ผ์šฐ์ €์ž…๋‹ˆ๋‹ค. Android์šฉ Firefox์— ๋Œ€ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์€ Firefox 68์˜ ESR ๋ถ„๊ธฐ์˜ ์ผ๋ถ€๋กœ ์—ฐ์ค‘ ๋‚ด๋‚ด ์ถœ์‹œ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ด์ œ ๋ฆด๋ฆฌ์Šค๊ฐ€ ๊ตฌ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 68.1. ์ƒˆ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๋ ค๋ฉด ํ…Œ์ŠคํŠธ ๋นŒ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    Firefox ๋ฏธ๋ฆฌ๋ณด๊ธฐ.

ํ˜์‹ ๊ณผ ๋ฒ„๊ทธ ์ˆ˜์ • ์™ธ์—๋„ Firefox 69์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 30๊ฐœ์˜ ์ทจ์•ฝ์ , ๊ทธ ์ค‘ ํ•˜๋‚˜๋งŒ(CVE-2019-11751) ๋‘๋“œ๋Ÿฌ์ง„ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” Windows ํ”Œ๋žซํผ์—๋งŒ ํ•ด๋‹น๋˜๋ฉฐ ๋‹ค๋ฅธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ ์ž„์˜์˜ ํŒŒ์ผ์ด ์‹œ์Šคํ…œ์— ๊ธฐ๋ก๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฉ”์‹œ์ง• ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋งํฌ๋ฅผ ์—ด ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋งํฌ ํ˜•์‹์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด '์‹œ์ž‘' ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ž๋™ ์‹คํ–‰ ํŒŒ์ผ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์‹ฌ๊ฐํ•œ ์ทจ์•ฝ์ ์˜ ์ˆ˜๊ฐ€ ๊ฐ์†Œํ•œ ์ด์œ ๋Š” ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ ๋ฐ ์ด๋ฏธ ํ•ด์ œ๋œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค์™€ ๊ฐ™์€ ๋ฉ”๋ชจ๋ฆฌ ๋ฌธ์ œ๊ฐ€ ์ด์ œ ์œ„ํ—˜ํ•˜์ง€๋งŒ ์น˜๋ช…์ ์ด์ง€๋Š” ์•Š์€ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ํŠน์ˆ˜ ์ œ์ž‘๋œ ํŽ˜์ด์ง€๋ฅผ ์—ด ๋•Œ ์ž ์žฌ์ ์œผ๋กœ ๊ณต๊ฒฉ์ž ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” ์œ ์‚ฌํ•œ ๋ฌธ์ œ 13๊ฐœ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€