๐ŸŒฟ Front-end developer's work (ํ”„๋ก ํŠธ์—”๋“œ์˜ ์—…๋ฌด ๋ฒ”์œ„๋Š” ์–ด๋””๊นŒ์ง€์ธ๊ฐ€)

fe9

์ด ๊ธ€์€ Bradfrost ์— ์žˆ๋Š” "front of the front-end and back of the front-end web development" ๋ฅผ ๋ฒˆ์—ญํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์›๋ฌธ


fe10

๊ณ„์†ํ•ด์„œ ์ด์–ด์ง€๋Š” ์ˆ˜๋งŽ์€ ๋…ผ๋ž€๋“ค(..)
ํ”„๋ก ํŠธ์—”๋“œ์˜ ์—…๋ฌด ๋ฒ”์œ„๋Š” ๊ณผ์—ฐ ์–ด๋””๊นŒ์ง€์ผ๊นŒ?

์•„ํ† ๋ฏน ๋””์ž์ธ์‹œ์Šคํ…œ(Atomic design system)์„ ์ •์˜ํ•˜์˜€๋˜
'๋ธŒ๋ž˜๋“œ ํ”„๋กœ์ŠคํŠธ(Bradfrost)'๊ฐ€ ์ด ๋…ผ๋ž€์„ ์ข…๊ฒฐ์‹œํ‚ค๋ ค ๊ธ€์„ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ œ๋ชฉ์€ "front of the front-end and back of the front-end web development" ์ž…๋‹ˆ๋‹ค.


[1] front of the front-end

1. ํ”„๋ก ํŠธ ์ฝ”๋“œ๋ฅผ ์œ„ํ•œ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์˜ ์—…๋ฌด ์ •์˜

ํ™”๋ฉด์— ๋ณด์—ฌ์ง€๋Š” UI๋ฅผ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋Š”
HTML, CSS, JavaScript ์ฝ”๋“œ ์ž‘์„ฑ์„ ์ „๋ฌธ์œผ๋กœํ•˜๋Š” ์›น ๊ฐœ๋ฐœ์ž ์ž…๋‹ˆ๋‹ค.


2. ์ž‘์—… ์˜์—ญ

  1. HTML

    ์‹œ๋งจํ‹ฑ ๋งˆํฌ์—…๊ณผ ์ ‘๊ทผ์„ฑ์— ์ค‘์ ์„ ๋‘๊ณ 
    ์นœ์ˆ™ํ•œ ๋ธŒ๋ผ์šฐ์ € (friendly to browsers), ๊ธฐ์ˆ  ๋ณด์กฐ (assistive technologies)
    ๊ฒ€์ƒ‰ ์—”์ง„ (search engines), ๊ธฐํƒ€ ๋‹ค๋ฅธ ํ™˜๊ฒฝ (and other environments)
    ๋“ฑ ์„ ์œ„ํ•ด HTML์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

  2. CSS

    ๋ณด์ด๋Š” ๊ฒƒ๊ณผ, ๋Š๋ผ๋Š” ๊ฒƒ์„ ์ปจํŠธ๋กค ํ•˜๋Š”
    ์›น ๊ฒฝํ—˜, ์ปฌ๋Ÿฌ, ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ, ๋ฐ˜์‘ํ˜• ๋ ˆ์ด์•„์›ƒ, ์• ๋‹ˆ๋ฉ”์ด์…˜, ๊ธฐํƒ€ UI ๋“ฑ
    ํ”„๋ก ํŠธ์—”๋“œ๋Š” CSS ๋ชจ๋“ˆ ์„ค๊ณ„, ์œ ์—ฐ์„ฑ, ํ˜ธํ™˜์„ฑ, ํ™•์žฅ์„ฑ์— ์ค‘์ ์„ ๋‘” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

  3. DOM

    ๋”์—์„œ ์กฐ์ž‘ ๊ฐ€๋Šฅํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
    ์˜ˆ๋ฅผ๋“ค์–ด ์ œ๋ชฉ์„ ํด๋ฆญ ํ•  ๋•Œ ์•„์ฝ”๋””์–ธ ํŒจ๋„์„
    ์—ด๊ธฐ, ๋‹ซ๊ธฐ, ๋ชจ๋‹ฌ์ฐฝ ๋‹ซ๊ธฐ ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์กฐ์ž‘ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  4. ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ €

    PC, ๋ชจ๋ฐ”์ผ, ํƒœ๋ธ”๋ฆฟ ๋“ฑ ๊ธฐํƒ€ ๋ชจ๋“  ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ง€์›ํ•˜๋Š” ๋””๋ฐ”์ด์Šค์—์„œ
    UI๊ฐ€ ์ž˜ ๋‚˜์˜ค๋Š”์ง€ ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ €์™€ ๋””๋ฐ”์ด์Šค๋ฅผ ํ…Œ์ŠคํŠธ ํ•ฉ๋‹ˆ๋‹ค.

  5. ์„ฑ๋Šฅ ์ตœ์ ํ™”

    ํ”„๋ก ํŠธ์—”๋“œ ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•˜๋Š” ์„ฑ๋Šฅ ์ตœ์ ํ™”๋Š”
    ๊ฐ€๋ณ๊ณ  ๋น ๋ฅธ ๋กœ๋”ฉ๊ณผ, ๋ฒ„๋ฒ…์ž„์ด ์—†๋Š” ๊ฒฝํ—˜์„์œ„ํ•ด ์„ฑ๋Šฅ์„ ์ตœ์ ํ™” ํ•ฉ๋‹ˆ๋‹ค.

  6. ๋””์ž์ด๋„ˆ์™€์˜ ํ˜‘์—…

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

  7. ๋ฐฑ์—”๋“œ ์ฝ”๋“œ๋“ค์„ ๋™์‹œ์— ๊ณ ๋ คํ•˜๋Š” ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋“ค๊ณผ์˜ ํ˜‘์—…

    ์„œ๋น„์Šค, API, ์•„ํ‚คํ…์ฒ˜ ๋“ฑ ๋ฐฑ์—”๋“œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์™€ ํ˜‘์—…์„ ํ•ฉ๋‹ˆ๋‹ค.

  8. UI ์ปดํฌ๋„ŒํŠธ

    ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋ถ„๋“ค๋„ ๊ฐ™์ด ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๋„๋ก
    UI ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ…œํ”Œ๋ฆฟ ๋‹จ์œ„๋กœ ํŒจํ‚ค์ง€ํ™” ํ•ฉ๋‹ˆ๋‹ค.

  9. ๊ฒฌ๊ณ ํ•˜๊ณ  ์ง๊ด€์ ์ธ ๋ฌธ์„œํ™”

    ๊ฐ presentational component๋“ค์„ ์œ„ํ•œ ์ปดํฌ๋„ŒํŠธ API ๋“ค์— ๋Œ€ํ•˜์—ฌ
    ๊ฒฌ๊ณ ํ•˜๊ณ  ์ง๊ด€์ ์ธ ๋ฌธ์„œํ™”๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ, ๊ฐœ๋ฐœ์ž๋“ค์ด ์‰ฝ๊ฒŒ ์ž์‹ ์ด ์›ํ•˜๋Š” ์œ„์น˜์—์„œ
    ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

  10. ๋‹จ์œ„ํ…Œ์ŠคํŠธ

    ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด
    UI ์ปดํฌ๋„ŒํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฝ”๋“œ์— ๋Œ€ํ•œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

  11. ์ข…ํ•ฉ ์ปดํฌ๋„ŒํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์œ ์—ฐ์„ฑ๊ณผ ๊ตฌ์„ฑ์„ฑ์„ ์„ค๊ณ„

    ๊ฐœ๋ฐœ์ž๋“ค๊ณผ ํ˜‘๋ ฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ ์ปดํฌ๋„ŒํŠธ๋“ค์„
    ์–ด๋–ป๊ฒŒ ์—ด๊ณ /๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ดํ•ดํ•˜๋Š”๊ฒƒ๊ณผ
    ๊ฒฝ์ง/์ž ๊ธˆ ๋ฐฉ์‹์ด ์–ด๋–ป๊ฒŒ ๋˜์–ด์žˆ๋Š”์ง€ ํŒŒ์•…ํ•ฉ๋‹ˆ๋‹ค.

  12. ํ”„๋กœ๋•ํŠธ์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ ์œ ์ง€๊ด€๋ฆฌ

    ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ ์œ ์ง€๊ด€๋ฆฌ๋ฅผ ํ•˜๋ ค๋ฉด
    ๋ฒ„์ „๊ด€๋ฆฌ, ๋ฐฐํฌ, ๊ด€๋ฆฌ, ๋ฆด๋ฆฌ์ฆˆ๋…ธํŠธ ์ž‘์„ฑ ๋“ฑ ๋ชจ๋“  ์šด์˜๊ณผ ๊ด€๋ จ๋œ ๊ด€๋ฆฌ๋ฅผ ํ•ฉ๋‹ˆ๋‹ค.


[2] Back of the front-end

1. ๋ฐฑ์—”๋“œ ์ฝ”๋“œ๋“ค์„ ๋™์‹œ์— ๊ณ ๋ คํ•˜๋Š” ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์˜ ์—…๋ฌด ์ •์˜

๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž์™€ ํ˜‘์—…ํ•˜๋ฉฐ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋Š”
์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ž‘๋™ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์›น ๊ฐœ๋ฐœ์ž ์ž…๋‹ˆ๋‹ค.


2. ์ž‘์—… ์˜์—ญ

  1. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ž‘์„ฑ

    CRUD (create, read, update, delete)์™€ ๊ฐ™์€ ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด
    ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ , ๋ผ์šฐํŠธ, ์บ์‰ฌ, ์ธ์ฆ(authentication) ๋“ฑ๋“ฑ
    ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋„๋ก ํ•„์š”ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

  2. ๋ฐ์ดํ„ฐ ์†Œ์Šค, ์„œ๋น„์Šค, API๋“ค์„ ์—ฐ๊ฒฐ ๋ฐ ํ†ตํ•ฉ ๊ด€๋ฆฌ

    CMS์—์„œ ์œ ์ €๊ฐ€ ํผ์— ์ž‘์„ฑํ•œ ์–‘์‹์„ ์ œ์ถœํ• ๋•Œ
    ํ•ด๋‹น ์„œ๋น„์Šค ํ™”๋ฉด์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒŒ์‹œํ• ์ˆ˜ ์žˆ๋„๋ก
    ์ปจํ…์ธ ๋ฅผ ๊ฒ€์ƒ‰(retrieving), ์กฐ์ž‘(manipulating)ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž‘์—… ํ•ฉ๋‹ˆ๋‹ค.

  3. UI ์ฝ”๋“œ์‚ฌ์šฉ

    ํ™”๋ฉด์— ๋ณด์—ฌ์ง€๋Š” UI๋ฅผ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์™€ ํ˜‘๋ ฅํ•˜์—ฌ
    ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๊ณ  ์‹ค์ œ ๊ธฐ๋Šฅ ๋ฐ์ดํ„ฐ์™€ ์„œ๋น„์Šค๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

  4. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ์„ฑ๋Šฅ ์ตœ์ ํ™”

    ๋น ๋ฅธ ๋ฐ˜์‘์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•ด
    ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฐ€์ ธ์˜ค๊ณ , ๊ฒŒ์‹œํ•˜๋„๋ก ์„ฑ๋Šฅ์„ ์ตœ์ ํ™” ํ•ฉ๋‹ˆ๋‹ค.

  5. ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

    ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์˜๋„ํ•œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋„๋ก
    ํ•œ์ชฝ ๋์—์„œ ๋‹ค๋ฅธ์ชฝ ๋๊นŒ์ง€(end-to-end) ์ž‘์„ฑํ•œ ๊ฒƒ์„ ํ†ตํ•ฉํ•˜๊ฑฐ๋‚˜ ๊ธฐํƒ€ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

  6. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ฐ˜ ์ธํ”„๋ผ ์„ค๊ณ„

    Nodejs ํ”„๋ ˆ์ž„์›Œํฌ๋‚˜ ํˆด, ๊ทธ๋ฆฌ๊ณ  ์„œ๋น„์Šค์™€ ๊ฐ™์€ ๊ฒƒ๋“ค๋กœ ์ธํ”„๋ผ๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

  7. ๋ฐ๋ธŒ์˜ต์Šค(Devops) ๊ด€๋ฆฌ

    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฒˆ๋“ค๋Ÿฌ, ๋ฐฐํฌ ๋„๊ตฌ, CI/CD ๋“ฑ๋“ฑ ๋ฐ๋ธŒ์˜ต์Šค๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

  8. ๋‹ค๋ฅธ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์™€ ํ˜‘๋ ฅ

    ํ™”๋ฉด์— ๋ณด์—ฌ์ง€๋Š” UI๋ฅผ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์™€ ํ˜‘๋ ฅํ•˜์—ฌ ์ปดํฌ๋„ŒํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์•ˆ์— ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ž˜ ํฌํ•จ๋˜์–ด์žˆ๋Š”์ง€, ๋ณ€ํ˜•๊ฐ€๋Šฅํ•œ์ง€, ํ•„์š”ํ•œ API๋Š” ์ž˜ ๊ฑธ๋ ค์žˆ๋Š”์ง€ ๋ชจ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒํƒœ๋ฅผ ๋นŒ๋“œํ•˜๊ธฐ ์ „์— ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  9. ํ”„๋กœ๋•ํŠธ ํŒ€๊ณผ ํ˜‘๋ ฅ

    ๋ชจ๋“  ํ”„๋กœ๋•ํŠธ์˜ ์ƒํƒœ๋ฅผ ๋ผ์ด๋ธŒ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ
    ์ •ํ™•ํžˆ ์•ˆ์ „ํ•œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ• ์ˆ˜ ์žˆ๋„๋ก ํ”„๋กœ๋•ํŠธ ํŒ€๊ณผ ํ˜‘๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  10. ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž์™€ ๋‹ค๋ฅธ IT ๋ถ€์„œ์™€ ํ˜‘๋ ฅ

    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฐฑ์—”๋“œ ์ฝ”๋“œ์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ œ๋Œ€๋กœ ํ†ตํ•ฉ/ํ†ต์‹  ํ•  ์ˆ˜ ์žˆ๋Š”์ง€
    ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž์™€ ๋‹ค๋ฅธ IT ๋ถ€์„œ์™€ ํ˜‘๋ ฅํ•˜์—ฌ ์˜ฌ๋ฐ”๋ฅธ ๊ธฐ์ˆ  ์ธํ”„๋ผ๋ฅผ ๊ตฌ์ถ• ํ•ฉ๋‹ˆ๋‹ค.


์ด ๋ฌธ์„œ๋Š” ํ”„๋ก ํŠธ์—”๋“œ ์—…๋ฌด์— ํ˜ผ๋™์„ ๊ฐ–๊ณ  ๊ณ„์‹  ๋ถ„๋“ค์ด ์ฝ์œผ๋ฉด ์ข‹์„ ๋“ฏ ํ•˜์—ฌ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.
๊ฐ ํšŒ์‚ฌ์˜ ์—…๋ฌด์— ๋”ฐ๋ผ Bradfrost ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ ๋ฌธ์„œ์™€ ์‹ค์ œ ์—…๋ฌด๋Š” ์ฐจ์ด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๋น„์Šทํ•œ ์ž๋ฃŒ๋“ค

ยฉ 2021 blog