์นํ์ค์ด๋? 2000๋
๋ ์ด์๋ ์ธํฐ๋ท ์ต์คํ๋ก๋ฌ์์๋ ์๋์ด ๋์ด๋ ์ฌํ๋ฆฌ๋ ํ์ด์ดํญ์ค ๊ฐ์ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์์๋ ์๋์ด ๋์ง ์๋ ๋ฑ ๋ธ๋ผ์ฐ์ ๊ฐ ํธํ์ด ๋์ง ์์์ ๋๊ธ์ ๋ชป ๋ค๋ ์ ๋๊ฐ ์๋๋ผ ํ๋ฉด์ด ์์ ์ ์์ ์ผ๋ก ๋์ค์ง ์๋ ์ผ๋ ์์์ต๋๋ค. ์ด๋ฅผ ๋ง๊ณ , ์น์ ์ ์์ ์ผ๋ก ๊ตฌ๋์ํค๊ธฐ ์ํด์๋ ๊ฐ๋ฐ์๋ค์ด ๊ฐ ๋ธ๋ผ์ฐ์ ๋ง๋ค ๋ฐ๋ก ๊ฐ๋ฐ์ ํด์ฃผ์ด์ผ๋ง ํ์ต๋๋ค. ์ด๋ฐ ์๊ณ ๋ฅผ ์์ ๊ณ ์น ๊ฐ๋ฐ์ ํ์์ ํต์ผ์ํจ ๊ฒ์ด ๋ฐ๋ก ์น ํ์ค์ด๋ผ๊ณ ํฉ๋๋ค ์น ํ์ค์ด๋ W3C(World Wide Web Consortium)์์ ๊ถ๊ณ ํ๋ ‘์น์์ ํ์ค์ ์ผ๋ก ์ฌ์ฉ๋๋ ๊ธฐ์ ์ด๋ ๊ท์น’์ผ๋ก, ์ฌ์ฉ์๊ฐ ์ด๋ ํ ์ด์์ฒด์ ๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ๋๋ผ๋ ์นํ์ด์ง๊ฐ ๋์ผํ๊ฒ ๋ณด์ด๊ณ ์ ์์ ์ผ๋ก ์๋ํ ์ ์๋๋ก ํ๋ ์น ํ์ด์ง ์ ์ ๊ธฐ๋ฒ์ ๋ด๊ณ ์์ต..
์ฝ๋์คํ ์ด์ธ
์ฝ๋ฉ ์
๋ฌธ์๋ค์ด ์ฝ๋ฉ์ ์ด๋ ค์ ํ๋ ์ด์ ๋ ํฌ๊ฒ 2๊ฐ์ง๋ผ๊ณ ์๊ฐํ๋ค ์ฒซ๋ฒ์งธ, ๊ธด ์ฝ๋๋ฅผ ๋ณผ๋ ์ด๋์๋ถํฐ ์ฝ์ด์ผ ํ ์ง ๋ชจ๋ฅธ๋ค๋ ์ ๋๋ฒ์งธ, ์ค๋ฅ๊ฐ ์์๋, ์ด๋์ ์ค๋ฅ๊ฐ ์๊ฒผ๋์ง ๋ชจ๋ฅธ๋ค๋ ์ ์ด ๋๊ฐ์ง ์์ธ๋๋ฌธ์ ๋ช์๊ฐ์ด๊ณ ๋จธ๋ฆฌ๋ฅผ ์ธ๋งค๋ฉด์ ๊ดด๋ก์ํ๋๋ฐ,,, ๊ทธ๋ฌ๋ค๊ฐ ๋ฒ์์์ด ์ฝ๊ฒ ์จ๋ค์ใ
๊ทธ๋ฆฌ๊ณ ๋๋ ์ฝ๋ฉ์ ๋ชปํ๋ ๊ตฌ๋... ํฌํก ๋ผ๊ณ ๋งํ๋ฉฐ ์ข์ ๊ฐ์ ๋๋ฌผ์ ํ์น๊ฒ ๋๋ค. ์ด๋ฏธ ์ฝ๋ฉ์ ์ข ํ๋ ์ธ๊ฐ๋ค์ ์ดํด๋ฅผ ๋ชปํ๊ฒ ์ง๋ง, ๋์ฒ๋ผ ์์ง ๋
ธํ์ฐ๋ฅผ ํฐ๋ํ์ง ๋ชปํ ์ฌ๋๋ค์๊ฒ ์กฐ๊ธ์ด๋ผ๋ ์ฝ๋ฉ์ ์์ํ๊ฒ ๋ง๋ค์ด์ค ์ด์ผ๊ธฐ๋ฅผ ํด๋ณด๋ ค๊ณ ํ๋ค ์์ ๋๊ฐ์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ผ๊น? ์ฒซ๋ฒ์งธ, ๊ธด ์ฝ๋๋ฅผ ๋ณผ๋ ์ด๋์๋ถํฐ ์ฝ์ด์ผ ํ ์ง ๋ชจ๋ฅธ๋ค๋ ์ => ์์ฐจ์ ์ผ๋ก ์ฝ๋๋ค ๋๋ฒ์งธ, ์ค๋ฅ๊ฐ ์์๋, ์ด๋์ ์ค๋ฅ๊ฐ ์๊ฒผ๋์ง ๋ชจ๋ฅธ..
React Custom Component ์ค์์ ๊ฐ์ฅ ๋์ด๋๊ฐ ๋์๋ autocomplete์ด๋ค. ์๋นํ ์ฝ๋๊ฐ ๊ธธ๊ณ ๊ด๋ จ์๋ ํจ์์ state๋ค์ด ์์ฌ์์ด ์ฒ์๋ถํฐ ๊ฐ์ ์ก๊ธฐ๊ฐ ์ด๋ ค์ ๋ค. ํ์ง๋ง, ํฌ๊ธฐํ ์๋ ์์ง ๋ ๋๊น์ง ํ๋ ์คํ์ผ์ธ ๋๋ ํ๋ํ๋ ์ฝ๋๋ฅผ ๋ฏ์ด๋ณด๋ฉฐ ์ดํดํ๊ธฐ๋ก ํ๋ค ์ด๋ค ๋ฆฌ์กํธ ์ฝ๋๋ฅผ ๋ณผ๋, ๊ทธ ์ฝ๋๋ฅผ ๋ณด๊ณ ๋ฐ๋ก ๊ตฌ์กฐ๋ฅผ ์ก๊ธฐ๋ ์ฝ์ง ์๋ค. ๊ทธ๋์ 3๊ฐ์ง ๊ธฐ์ค์ ๊ฐ์ง๊ณ ๊ตฌ์กฐ๋ฅผ ํ์
ํ๋ค ์ฒซ๋ฒ์งธ, ์ปดํฌ๋ํธ๋ผ๋ฆฌ tree ๊ตฌ์กฐ๋ฅผ ๋ง๋ ๋ค ๋๋ฒ์งธ, state๊ฐ ์ด๋์ ์ ์๋์ด์ ์ด๋๋ก ํ๋ฅด๋๊ฐ? ์ธ๋ฒ์งธ, ํจ์๊ฐ ์ด๋์ ์ ์๋์ด์ ์ด๋๋ก ํ๋ฅด๋๊ฐ? ์ด 3๊ฐ์ง ๊ธฐ์ค์ ๊ณ ๋ คํ๋ฉด์ ๊ฐ๋จํ ๊ทธ๋ฆผ์ ๊ทธ๋ ค๋ณด์๋ค. (์ฝ์ง๋ ์์๋ค... ์ ์ป๋ค ๋ด์์ ) ์ฝ๋๋ ๋๋ฌด ๊ธฐ๋๊น, styled component์ rea..
CCD (Componet Driven Development) ๋ง์ฝ ๊ธฐํ์๊ฐ ์ด์ ์ ์ฌ์ฉํ๋ ๋ฒํผ์ ์ด๋ฒ์๋ ์ฌ์ฉํ์๊ณ ํฉ๋๋ค ๊ทธ๋ ๋ค๋ฉด ๋์์ด๋์ ๊ฐ๋ฐ์๋ ์๋กญ๊ฒ ๋ฒํผ์ ๋ง๋ค์ด์ผ ํ ๊น์? ์ฌ์ฌ์ฉ ํ ์ ์๋ UI ์ปดํฌ๋ํธ๊ฐ ํ์ํ๊ฒ ์ฃ ! ์ด ๊ณ ๋ฏผ์ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฑ์ฅํ ๊ฐ๋ฐ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก Componet Driven Development(CCD) ์
๋๋ค ๋ ๊ณ ์ฒ๋ผ ๋ถํ ๋จ์๋ก UI ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค๊ณ ์กฐ๋ฆฝํด๋๊ฐ๋ ๊ฐ๋ฐ์
๋๋ค CSS in JS CSS๊ฐ ๋ณต์กํด์ง์ ๋ฐ๋ผ, CSS๋ ์ปดํฌ๋ํธ ์์ญ์ผ๋ก ๋ถ๋ฌ๋ค์ด๊ฒ ๋จ! CSS in JS ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด CSS๋ ์ฝ๊ฒ Javascript ์์ ๋ฃ์ด์ค ์ ์์ผ๋ฏ๋ก, HTML + JS + CSS๊น์ง ๋ฌถ์ด์ ํ๋์ JSํ์ผ ์์์ ์ปดํฌ๋ํธ ๋จ์๋ก ๊ฐ๋ฐํ ์ ์๊ฒ ๋ฉ๋๋ค. ์ด..
์ฒ์์ (my agora states) ํ์ผ์ ๋ดค์๋ ์์ํ ์ฝ๋๊ฐ ๋๋ฌด ๋ง์์ ์ด๋ป๊ฒ ์ฝ๋๋ฅผ ์์ํด์ผ ํ ์ง ๊ฐ๋ ์ก๊ธฐ ํ๋ค์๋ค ๊ทธ๋์ ์ฑ ์งํผํฐ์๊ฒ ์ฝ๋ ํ์ค ํ์ค์ฉ ๋ฌผ์ด๋ณด๋ฉฐ ์ฃผ์์ ๋ฌ๊ธฐ ์์ํ๋ค ํนํ ์ด๋ค ๊ฐ๋
์ ์ดํดํ๊ธฐ ์ด๋ ค์ฐ๋ฉด ์์๋ ์ถ๊ฐ์ ์ผ๋ก ๋ฌผ์ด๋ณด๋ฉด์ ์ ๊ทผํ๋ค A์ B์ ์ฐจ์ด์ ์ ๋ฌป๋ ์ง๋ฌธ๋ ํฐ ๋์์ด ๋๋ค ๋ด ์น๊ตฌ ์ฑ gpt ...ใ
์ด๋ฒ์ ๋๋์ ์ ์๋ฌด๋ฆฌ ์์ํ๊ณ ์ด๋ ค์ด ์ฝ๋๋ผ๋ ์์ฌ์ฝ๋๋ฅผ ์์ฑํ๋ค๋ฉด ์ดํดํ์ง ๋ชปํ ๊ฒ ์๋ค๋ ๊ฒ์ด๋ค. ์ ๋ชจ๋ฅผ ์๋ก ๋ฉ๋ฑ๋ฉ๋ฑ ์ฝ๋๋ง ๋ณด์ง ๋ง๊ณ ๋ญ๋ผ๋ ์ณ์ผ ํ๋ค!! (my agora states) const express = require('express');//express ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ถ๋ฌ์, express ๋ณ์์ ํ ๋นํ๊ณ const app = express..
๋ฌธ์ src ๋๋ ํ ๋ฆฌ ์์๋ ํด๋์ค๊ฐ ์กด์ฌํฉ๋๋ค. constructor, super, extends, class ํค์๋๋ฅผ ์ด์ฉํ์ฌ ๊ตฌํํฉ๋๋ค. ์์๊ณผ ๊ด๋ จ๋ ํค์๋ super, extends๋ ๊ณต์๋ฌธ์๋ฅผ ์ฝ์ด๋ณธ ํ ์ ์ฉํด๋ด
๋๋ค. ํ์ด ๋จผ์ Grub ์ ์์ฑํ๋ค, Bee, HoneMakerBee,ForagerBee ์์๋๋ก ์์ฑํ๋ฉด ๋ฉ๋๋ค. class Grub { // TODO.. constructor(){ // class๋ ํญ์ constructor()๋ฅผ ํฌํจํ๋ค this.age = 0; this.color = `pink`; this.food = `jelly`; } eat(){ return `Mmmmmmmmm jelly` // ์ฝ์์ด ์๋๋ผ ๋ฆฌํด์ ์จ์ผ ํ๋ค } } module.exports = Grub..
scope ํจ์์ ์ธ๋ฌธ์ผ๋ก ์ ์ํ ํจ์๋ ํจ์ ํธ์ด์คํ
์ด ์ผ์ด๋๋ค.ํจ์ ํํ์์ ๋ถ๊ฐ๋ฅ ํจ์ ํธ์ด์คํ
: ํจ์ ์ ์ธ ์ด์ ์ ํธ์ถ์ด ๋๋ค. describe('scope ๋ํด์ ํ์ตํฉ๋๋ค.', function () { // scope๋ ๋ณ์์ ๊ฐ(๋ณ์์ ๋ด๊ธด ๊ฐ)์ ์ฐพ์ ๋ ํ์ธํ๋ ๊ณณ์ ๋งํฉ๋๋ค. ๋ฐ๋์ ๊ธฐ์ตํ์๊ธฐ ๋ฐ๋๋๋ค. it('ํจ์ ์ ์ธ์(declaration)๊ณผ ํจ์ ํํ์(expression)์ ์ฐจ์ด๋ฅผ ํ์ธํฉ๋๋ค.', function () { let funcExpressed = 'to be a function'; expect(typeof funcDeclared).to.equal("function"); expect(typeof funcExpressed).to.equal("string"); functio..