- XD κΈ°λ³Έ νμ΄μ§ κΈ°ν
- front-end κΈ°λ³Έ νκ²½ setting - nvmμΌλ‘ node, yarn μ€μΉ
# nvm μ€μΉ ν # node μμ μ μΈ λ²μ μ€μΉ $ nvm install 12.18.4 # μμ μ μΈ λ²μ μΌλ‘ λ°κΎΈκΈ° $ nvm use 12.18.4 # -g : μ»΄ν¨ν° μ 체μ μ€μΉ $ npm install -g yarn $ yarn create react-app front_end
-
back-end κΈ°λ³Έ νκ²½ setting
-
Getting Start
- Node.js λ€μ΄
npm install express-session --save
-
Running Server
node app.js
-
DB table ꡬμ±
-
User(id(private key)(30), passwd(16), name, grade)
- id -> μ¬μ©μ μμ΄λ(PRIVATE KEY)
- passwd -> μ¬μ©μ λΉλ°λ²νΈ (hash λ¨λ°©ν₯ μ¬μ©)
- name -> μ΄λ¦
- grade -> νλ (μ΄λ±νμ κΈ°μ€)
- μ΄λ©μΌ μ ν κΈ°λ₯ λ£μμλ
-
POST(head, type, body, user, show boolean, index autoindex(private key))
- index -> κ²μλ¬Ό μμ(PRIVATE KEY) autoindex
- head -> κΈ μ λͺ©
- type -> κΈ λΆλ₯ νλͺ©
- body -> κΈ λ΄μ©
- user -> μ¬μ©μ μμ΄λ
- show -> κ²μκΈ κ³΅κ°μ¬λΆ(boolean)
-
BaseClass(index autoindex(private key))
- index -> μμ μΈλ±μ€(integer)(PRIVATE KEY) autoindex
-
HardClass(index autoindex(private key))
- index -> μμ μΈλ±μ€(integer)(PRIVATE KEY) autoindex
-
lessonRate(id(private key), complete(), class_num integer, level
- id -> μ¬μ©μ μμ΄λ(PRIVATE KEY)
- complete -> μλ£ μ¬λΆ(boolean)
- class_num -> μμ μΈλ±μ€ (integer)
- level -> base / hard
νμ νμνμ§ μμ κ²μ textμ΄λ€.
-
-
-
front-end
μΉ νμ΄μ§ λμμΈμ νμ νκ³ νλ‘ν νμ μ μ μνμλ€. μΉ νμ΄μ§λ λ©μΈ, λ‘κ·ΈμΈ, νμκ°μ , νμ΅ ν, μ§λ¬Έ ν, λ§μ΄νμ΄μ§λ‘ ꡬμ±λλ€. νλ‘ν νμ μ μλμ κ°λ€.
λν React event Listerμ λνμ¬ νμ΅νκ³ , μΆκ°ν κΈ°λ₯ λ±μ λ Όμνμλ€.
Event Listener ꡬλ μμ
a. Ref μ‘κΈ°(DOMμ μ κ·ΌνκΈ° μνμ¬)
b. Event μ νκΈ°
c. ν¨μ λ§λ€κΈ°(ex. mouseover μ΄λ²€νΈκ° μΌμ΄λ¬μ λ μ΄λ€ νλμ ν΄μ£Όκ² λ€λ₯Ό ν¨μλ‘ νν)
d. componentDidMount()μ λ±λ‘
e. μ»΄ν¬λνΈκ° μ¬λΌμ‘μ λ ꡬλ ν΄μ νκΈ° μνμ¬ componentWillUnmount()μμ μ²λ¦¬```javascript // c. ν¨μ λ§λ€κΈ° - hoverEvent ν¨μ μμ± hoverEvent = (e) => { console.log(e); console.log(e.target); e.target.style.background = "#eee"; } // d. componentDidMount()μ λ±λ‘ componentDidMount() { this.div.current.addEventListener("mouseover", this.hoverEvent); } // e. componentWillUnmount()μμ ꡬλ ν΄μ componentWillUnmount() { this.div.current.removeEventListener("mouseover", this.hoverEvent); } ```