[Front-end๐Ÿฆ] #36 ๋ชจ์˜ ๋ฉด์ ‘

๋˜์ƒยท2021๋…„ 12์›” 17์ผ
0

front-end

๋ชฉ๋ก ๋ณด๊ธฐ
50/58
post-thumbnail

1. ๋ฉด์ ‘ ์—ฐ์Šต

1. SOP

  • Same Origin Policy

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

const pageOther = document.querySelector('.youtube');
const pageSame = document.querySelector('.sameOrigin');

// pageDocument : same origin ์ด๋ฉด document ๋ฅผ ๋ฐ˜ํ™˜ํ•จ.
// ๊ทผ๋ฐ ์™œ sameOrigin ๋„ ๋ฐ˜ํ™˜์ด ์•ˆ๋ผ?
// iframe ๋กœ๋”ฉ์ด ๋๋‚˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ ์ ‘๊ทผํ•ด์„œ.
console.log(pageOther.contentDocument);
console.log(pageSame.contentDocument);



2. CORS

  • Cross-Origin Resource Sharing

SOP ์ •์ฑ…์„ ์šฐํšŒํ•ด์„œ ๋‹ค๋ฅธ ๋„๋ฉ”์ธ๊ฐ„์˜ ์ž์› ์š”์ฒญ์—๋„ ์‘๋‹ตํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ. ์‘๋‹ต ํ—ค๋”์—์„œ ํ—ˆ์šฉํ•˜๋ฉด ๋‹ค๋ฅธ ์ถœ์ฒ˜๊ฐ„์˜ ๋ฆฌ์†Œ์Šค ๊ณต์œ ๊ฐ€ ๊ฐ€๋Šฅ.

HTTP ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•ด์„œ, ํ•œ ์ถœ์ฒ˜์—์„œ ์‹คํ–‰ ์ค‘์ธ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋‹ค๋ฅธ ์ถœ์ฒ˜์˜ ์ž์›์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ด๋‹ฌ๋ผ๊ณ  ๋ธŒ๋ผ์šฐ์ €์— ์š”์ฒญํ•˜๋Š” ์ฒด์ œ. ๋ฆฌ์†Œ์Šค๊ฐ€ ์ž์‹ ์˜ ์ถœ์ฒ˜(๋„๋ฉ”์ธ, ํ”„๋กœํ† ์ฝœ, ํฌํŠธ)์™€ ๋‹ค๋ฅผ ๋•Œ HTTP ์š”์ฒญ์„ ์‹คํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค.

Access-Control-Allow-Origin: * ๋กœ ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉด ์–ด๋””๋“ ์ง€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. MDN CORS ์—์„œ๋Š” ์ด๋ ‡๊ฒŒ ํ•˜์ง€ ๋ง ๊ฒƒ์„ ๊ถŒ๊ณ ํ•˜๊ณ  ์žˆ์Œ.


์นด์นด์˜ค API

์ „์—.. ์•ˆ๋“œ๋กœ์ด๋“œ์— ๋„ค์ด๋ฒ„ ์ง€๋„ ๋ถˆ๋Ÿฌ์˜ค๋Š๋ผ ๋ฒ„์ ผ ์˜ค๋ฅ˜ ๋‚˜๊ณ  ๋‚œ๋ฆฌ๋‚ฌ์—ˆ๋Š”๋ฐ.. ์นด์นด์˜ค ์ง€๋„๋Š” ์ƒ๊ฐ๋ณด๋‹ค ์‰ฝ๊ฒŒ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๊ฐ€์ด๋“œ ๋ฌธ์„œ

SOP์—์„œ ๋‹ค๋ฅธ ์ถœ์ฒ˜์™€ ๊ต๋ฅ˜ํ•˜๋Š” ๊ฒƒ์€ ๋ง‰ํžˆ์ง€๋งŒ,
script src ๊ฐ™์€ ๊ฒƒ์„ ํ†ตํ•ด์„œ ํ•˜๋Š” ๊ฒƒ์€ ์ƒ๊ด€ ์—†๋‹ค.
๋Œ€์‹  ์•„๋ฌด๋‚˜ ์ ‘๊ทผํ•˜๋ฉด ์•ˆ๋˜๋‹ˆ๊นŒ API ํ‚ค๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•˜๊ฒŒ ๋งŒ๋“  ๊ฒƒ.

CORS error ๋Š” ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๊ฒƒ!!
404 error ๊ฐ™์€ ๊ฒƒ์€ ์„œ๋ฒ„๊ฐ€ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๊ฒƒ!

-> ์„œ๋ฒ„์—์„œ๋Š” ์‘๋‹ต์ด 200์ธ๋ฐ ๋ธŒ๋ผ์šฐ์ €๋Š” CORS error ๊ฐ€ ๋‚  ์ˆ˜ ์žˆ๋‹ค.



3. ์›น ํŽ˜์ด์ง€ ๋ Œ๋”๋ง ๊ณผ์ •

  1. ์‚ฌ์šฉ์ž๊ฐ€ ํŽ˜์ด์ง€์— ์ ‘์†ํ•ด์„œ HTML์„ ๋‚ด๋ ค๋ฐ›์Œ.
  2. DOM, CSSOM ํŠธ๋ฆฌ ์ƒ์„ฑ : ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง ์—”์ง„์—์„œ html์„ ํŒŒ์‹ฑํ•˜์—ฌ DOM tree๋ฅผ ๊ทธ๋ฆฐ๋‹ค. ๊ทธ ํ›„, link ํƒœ๊ทธ๋ฅผ ํ†ตํ•ด CSS๋ฅผ ํŒŒ์‹ฑํ•˜์—ฌ CSSOM tree๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  3. ๋ Œ๋”๋ง ํŠธ๋ฆฌ ์ƒ์„ฑ : ์ด ๋‘˜์„ ๊ฒฐํ•ฉํ•˜๊ณ  ๋ Œ๋”๋ง์— ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๋‚จ๊ฒจ์„œ ๋ Œ๋”๋ง ํŠธ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  4. ๋ ˆ์ด์•„์›ƒ ๋‹จ๊ณ„ : ์ƒ๋Œ€ ํ”ฝ์…€์„ ์ ˆ๋Œ€์ ์ธ ํ”ฝ์…€๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ BOX ๋ชจ๋ธ์„ ๊ณ„์‚ฐํ•˜์—ฌ ํ™”๋ฉด์— ๋ฟŒ๋ ค์ค€๋‹ค.
  5. ํŽ˜์ธํŒ… ๋‹จ๊ณ„ : ๋ Œ๋”๋ง ๋…ธ๋“œ์˜ ๊ฐ ๋…ธ๋“œ๋ฅผ ํ™”๋ฉด์˜ ํ”ฝ์…€๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
    ์ด ๊ณผ์ •์„ ์ง„ํ–‰ํ•˜๋‹ค๊ฐ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์— ์ˆ˜ํ–‰๊ถŒํ•œ์„ ๋„˜๊ฒจ ๊ฒฐ๊ณผ ๊ฐ’์„ ๋ฐ›์œผ๋ฉด DOM ํŒŒ์‹ฑ์€ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค.

์ดํ›„ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ html, css๊ฐ€ ๋ณ€ํ™”ํ•˜๊ฒŒ ๋˜๋ฉด,

  1. reflow : ๋ณ€๊ฒฝ์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋“  ๋…ธ๋“œ์˜ ์ˆ˜์น˜๋ฅผ ๋‹ค์‹œ ๊ณ„์‚ฐํ•˜์—ฌ ๋ Œ๋”๋ง ํŠธ๋ฆฌ๋ฅผ ์žฌ์ƒ์„ฑ + ๋ ˆ์ด์•„์›ƒ ๋‹จ๊ณ„
  2. repaint : ๋ณ€๊ฒฝ๋œ ๋ Œ๋”๋ง ํŠธ๋ฆฌ๋ฅผ ํ™”๋ฉด์— ๋‚˜ํƒ€๋ƒ„

๋‹จ์ˆœํžˆ ์ƒ‰์ƒ ๊ฐ™์€ ๊ฒƒ๋งŒ ๋ณ€๊ฒฝ๋˜๊ฒŒ ๋˜๋ฉด repaint๋งŒ ์ผ์–ด๋‚˜๊ฒŒ๋œ๋‹ค.

https://medium.com/๊ฐœ๋ฐœ์ž์˜ํ’ˆ๊ฒฉ/๋ธŒ๋ผ์šฐ์ €์˜-๋ Œ๋”๋ง-๊ณผ์ •-5c01c4158ce
https://d2.naver.com/helloworld/59361



4. GET, POST

http ์š”์ฒญ ๋ฉ”์„œ๋“œ์˜ ์ข…๋ฅ˜๋กœ

GETPOST
๋ชฉ์ ์ •๋ณด ์กฐํšŒ๋ฆฌ์†Œ์Šค ์ƒ์„ฑ/๋ณ€๊ฒฝ
๋ณด๋‚ด๋Š” ์ •๋ณดhttp body์— ๋‹ด์•„์„œ
url?์ •๋ณด์ •๋ณด์ •๋ณด
http ํ—ค๋”์— ๋‹ด์•„์„œ
๋ณด์•ˆ์ •๋ณด๊ฐ€ ๋“œ๋Ÿฌ๋‚จ๋“œ๋Ÿฌ๋‚˜์ง€ ์•Š์Œ
๊ธธ์ด ์ œํ•œ์žˆ์Œ์—†์Œ
์‘๋‹ตํ•ญ์ƒ ๊ฐ™์Œ๋•Œ์— ๋”ฐ๋ผ ๋‹ค๋ฆ„
ํŠน์ง•๋ธŒ๋ผ์šฐ์ €์— ์บ์‹ฑํ•ด๋‘๊ณ  ์‚ฌ์šฉ



5. ์šฐ๋ฆฌ ํšŒ์‚ฌ์— ์ž…์‚ฌํ•œ๋‹ค๋ฉด ์–ด๋–ค ๊ธฐ์—ฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐ ํ•˜๋‚˜์š”?

OMG...

  • ๊ตฌ์ฒด์ ์œผ๋กœ! ๋ณธ์ธ์˜ ๊ฐ•์ ์„ ์–ดํ•„ํ•˜๋ฉด์„œ ๋‚จ๋“ค๋„ ๋‹ค ์“ธ ๊ฒƒ ๊ฐ™์€ ๊ฒƒ์€ ๋นผ๊ณ  ๋งํ•˜์ž.



6. section, article์˜ ์‚ฌ์šฉ ์šฉ๋„

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

  • ๋…๋ฆฝ์ ์ธ ๊ฒƒ๊ณผ ๋‹ค๋ฅธ ๋‚ด์šฉ๊ณผ ๊ด€๋ จ์ด ์—†๋Š” ๊ฒƒ์€ ๋™์˜์–ด๊ฐ€ ์•„๋‹˜.



7. CSS Sprite ๊ธฐ๋ฒ• ์ •์˜, ์žฅ๋‹จ์ 

CSS Sprite ๊ธฐ๋ฒ•์€ ํŽ˜์ด์ง€์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์•„์ด์ฝ˜ ์ด๋ฏธ์ง€๋“ค์„ ํ•˜๋‚˜์˜ ์ด๋ฏธ์ง€๋กœ ๋งŒ๋“ค์–ด์„œ background-position ์˜ ์กฐ์ •์„ ํ†ตํ•ด ์•„์ด์ฝ˜์„ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค. ์žฅ์ ์œผ๋กœ๋Š” ์ด๋ฏธ์ง€๋ฅผ ํ•˜๋‚˜๋งŒ ๋ถˆ๋Ÿฌ์˜ค๋ฉด ๋ผ์„œ ์š”์ฒญ ํšŸ์ˆ˜๊ฐ€ ์ค„์–ด๋“ค์–ด ๋กœ๋”ฉ ์‹œ๊ฐ„์ด ์งง์•„์ง„ ์žฅ์ ์ด ์žˆ๊ณ , ๋‹จ์ ์œผ๋กœ๋Š” ๊ฐœ๋ณ„ ์ด๋ฏธ์ง€์˜ position์„ ์•Œ์•„์•ผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ์•„์ด์ฝ˜ ํ•˜๋‚˜๋ฅผ ๋ณ€๊ฒฝํ•  ๋•Œ์—๋„ Sprite ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์‹œ ๋งŒ๋“œ๋Š”.. ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.



8. ํ˜•์ƒ๊ด€๋ฆฌ๋„๊ตฌ(๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ)

๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์€ ํŒŒ์ผ์˜ ํ˜•์ƒ์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ๊ธฐ๋กํ•ด๋‘๋Š” ๋„๊ตฌ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ ์ €์žฅ์†Œ๋กœ๋„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ๋ญ”๊ฐ€ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด ๊ฒฝ์šฐ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ์ง€ ์•Š์€ ๋ฒ„์ „์œผ๋กœ ๋กค๋ฐฑํ•˜๊ฑฐ๋‚˜, ์ด์ „ ๋ฒ„์ „๊ณผ ์ฐจ์ด์ ์„ ๋น„๊ตํ•˜์—ฌ ์˜ค๋ฅ˜๋ฅผ ์ฐพ์•„๋‚ด๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜, branch๋‚˜ pull request ๋“ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์„œ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๊ณผ ํ˜‘์—…์„ ํ•  ๋•Œ๋„ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.



9. alt์™€ title์˜ ์ฐจ์ด

๋‘˜ ๋‹ค ์ด๋ฏธ์ง€๋ฅผ ์„ค๋ช…ํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค. ์ฐจ์ด์ ์€ alt ๋Š” ๋Œ€์ฒด ํ…์ŠคํŠธ๋กœ ์ด๋ฏธ์ง€๊ฐ€ ๋กœ๋”ฉ๋˜์ง€ ์•Š์•˜์„ ๋•Œ ํ™”๋ฉด์— ๋ณด์ด๋Š” ํ…์ŠคํŠธ์ž…๋‹ˆ๋‹ค. ๋˜, ์Šคํฌ๋ฆฐ๋ฆฌ๋”๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•˜๋Š” ์œ ์ €๋“ค์—๊ฒŒ๋„ ์ด๋ฏธ์ง€ ๋‚ด์šฉ์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ์ž…๋‹ˆ๋‹ค. ๊ทธ์— ๋ฐ˜ํ•ด title์€ ์ด๋ฏธ์ง€ ์œ„์— ๋งˆ์šฐ์Šค ์ปค์„œ๊ฐ€ ์œ„์น˜ํ–ˆ์„ ๋•Œ ๋ณด์—ฌ์ง€๋Š” ๋งํ’์„ ์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ค์ง€ ๋ชปํ–ˆ์„ ๋•Œ, ํ™”๋ฉด์— ๋ณด์ด์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.



10. ํ”„๋ก ํŠธ์—”๋“œ ๊ด€๋ จ ๊ณต๋ถ€๋Š” ์–ด๋–ป๊ฒŒ ์ง„ํ–‰ํ•˜๊ณ  ๊ณ„์‹ ๊ฐ€์š”?

ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. HTML๊ณผ CSS๋Š” ์—ฌ๋Ÿฌ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค์–ด๋ณด๋Š”๊ฒŒ ๋„์›€์ด ๋  ๊ฒƒ ๊ฐ™์•„์„œ ์—ฌ๋Ÿฌ ํ™ˆํŽ˜์ด์ง€๋ฅผ ํด๋ก  ํ•˜๋ฉด์„œ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๊ณ , ๋ชจ๋ฅด๋Š”๊ฒŒ ์žˆ์„ ๋•Œ ์ฐพ์•„๋ณด๊ณ , ์ตœ๋Œ€ํ•œ ์ฒ˜์Œ ๋งŒ๋“ค๋•Œ๋ถ€ํ„ฐ ์‹œ๋ฉ˜ํ‹ฑํ•œ ๊ตฌ์กฐ๋กœ ์›น ์ ‘๊ทผ์„ฑ๋„ ๊ณ ๋ คํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์งœ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

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

  • ํ˜‘์—…๊ณผ ํŒ€ ํ”„๋กœ์ ํŠธ์— ๊ด€ํ•œ ์–ดํ•„์„ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค...



profile
0๋…„์ฐจ iOS ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€