๋ชฉ๋กDEV_IN (89)
let's get IT with DAVINA ๐ป
โ ๋ฌธ์ ์ค๋ช ์ฒซ ๋ฒ์งธ ๋ถ์์ ๋ถ์์ ๋ถ๋ชจ๋ฅผ ๋ปํ๋ numer1, denom1, ๋ ๋ฒ์งธ ๋ถ์์ ๋ถ์์ ๋ถ๋ชจ๋ฅผ ๋ปํ๋ numer2, denom2๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ๋ ๋ถ์๋ฅผ ๋ํ ๊ฐ์ ๊ธฐ์ฝ ๋ถ์๋ก ๋ํ๋์ ๋ ๋ถ์์ ๋ถ๋ชจ๋ฅผ ์์๋๋ก ๋ด์ ๋ฐฐ์ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด๋ณด์ธ์. ๐ซ ์ ํ ์ฌํญ 0 0) { R = a % b; //๋๋จธ์ง a = b; b = R; } return b; }โ
๋น๋'s ์ฝ์ง ์ผ์ง Local์์ ์์ ํ๋ project๋ฅผ Remote Github์ ์ฐ๊ฒฐํ๊ณ ์ถ์ ๋, ์๋์ ๊ฐ์ด SSH์ฃผ์๋ก ์ฐ๊ฒฐ์ ํ๋๋ git push๊ฐ ๊ณ์ํด์ ์คํจํ๋ค.. git remote add origin git@github.com:davina708/todo-vin.git git branch -M main git push -u origin main โญ๏ธ ํด๊ฒฐ ๋ฐฉ๋ฒ git remote remove origin git@github.com:davina708/todo-vin.git //์ฐ๊ฒฐ ๋ remote ์ ๊ฑฐ git remote add origin https://github.com/davina708/todo-vin.git //๊นํ https์ ์ฃผ์ ์ ๋ ฅ git remote -v // remo..
1. Local์ ์๋ project๋ฅผ ์๊ฒฉ์ ์ฌ๋ฆฌ์ New Repo ์์ฑํด์ฃผ๊ณ local์์ remoteํ๊ฒฝ์ผ๋ก pushํด์ฃผ๊ธฐ git remote add origin https://github.com/davina708/todo-vin.git git branch -M main git push -u origin main 2. React ํ๋ก์ ํธ์ gh-pages ์ค์นํ๊ธฐ Github Pages๋ React ํ๋ก์ ํธ๋ฅผ ์ฝ๊ฒ ๋ฐฐํฌํ ์ ์๋๋ก gh-pages ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ค. npm install gh-pages --save-dev 3. package.json ์ค์ ํ๊ธฐ "homepage": "https://๊นํ๋ธID.github.io/๋ ํฌ์งํ ๋ฆฌ์ด๋ฆ/", "scripts": { "start": "react..
1. TypeScript ์ ์ฉ (1) ์๋ก์ด ํ๋ก์ ํธ๋ฅผ TypeScript๋ก ์์ฑํ๊ธฐ npx create-react-app ํ๋ก์ ํธ์ด๋ฆ --template typescript (2) ๊ธฐ์กด React์ TypeScript ์ ์ฉํ๊ธฐ #npm npm install typescript @types/node @types/react @types/react-dom @types/jest #yarn yarn add typescript @types/node @types/react @types/react-dom @types/jest 2. TypeScript ์ค์ tsc ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ tsconfig.json์ ์์ฑํ๋ค. tsc --init ์ํ๋ ์ต์ ์ ์ถ๊ฐํ์ฌ tsconfig.json ์ ์ค์ ํ๋ค. { "compile..
1. ๋จผ์ , ํด๋น ๊ธ์ ๋๋ฅด๋ฉด ⊕๋ฒํผ ๋๋ ์ ๋ ๋จ๋ ์ฐฝ์ด ๋์ค๊ฒ ํด์ผ๊ฒ ์ง?! TodoItem.js ํน์ ๊ธ์ ๋๋ฅด๋๊น ์ฌ๊ธฐ์({text}์๋ ๋ถ๋ถ=๊ธ์ ๋๋ ์๋) onClickํจ์ ์ถ๊ฐํด์ค! import React from "react"; import { MdCheckBox, MdCheckBoxOutlineBlank } from "react-icons/md"; import "./TodoItem.css"; const TodoItem = ({ todo, onCheckToggle, onInsertToggle, onChangeSelectedTodo, }) => { const { id, text, checked } = todo; return ( {checked ? ( { onCheckToggle(id); }} ..
CSS ์์ ํ, CRUD์ ์ฒซ๋ฒ ์งธ ๊ธฐ๋ฅ์ธ Create ๊ธฐ๋ฅ ๊ตฌํ์ ๋ค์ด๊ฐ๋ค. ⊕ ๋ฒํผ์ ๋๋ฌ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ํญ๋ชฉ์ ์ถ๊ฐํ๋ ๊ธฐ๋ฅ! TodoInsert.js ๋ฐฐ๊ฒฝ์ ๋ด๋นํด์ฃผ๋ background div์ form์ ํ๋ ๋ฃ์ด์ฃผ๊ธฐ (์ฌ์ฉ์๊ฐ ์ ๋ ฅํ๋ input + ์ ์ถํ๋ button ์์) ์ด๊ฑธ ์ฌ์ฉ์๊ฐ ⊕๋ฒํผ์ ๋๋ฅผ๋๋ง ๋ชจ๋ฌ์ ๋์ฐ๊ณ ์ถ์์์? App.js import React, { useState } from "react"; import { MdAddCircle } from "react-icons/md"; import "./App.css"; import Template from "./components/Template"; import TodoInsert from "./components/Tod..
๋ถํธ์บ ํ๊ฐ ๋๋๊ณ ๋ง์ ์ฌ๋๋ค์ด ๋ ์ฌํ๋๊ณ , ์๋ก์ด ์ธ์ด ๊ธฐ๋ฐ์ผ๋ก, ๋ ์ด๋ ค์ด ์์ค์ ์ถ๊ฐ ํ๋ก์ ํธ๋ฅผ ์งํํ๊ณ ์๋ ๋ฏ ํ์ฌ ๋๋จํด๋ณด์ธ๋ค.. ๋ฌผ๋ก ์ฝ๋ฉ์ด๋๊ฑธ ์ฒ์ ์์ํ์ ๋ "๋"๋ณด๋ค๋ ํ์ฌ์ "๋ด"๊ฐ ๋ ๋ฐ์ ํด์๋ ๋ชจ์ต์ด๊ณ , ๋ถ์ํดํ์ง ๋ง์๊ณ ๋งค์ผ ๋ค์งํ์ง๋ง ๋ ๋ด๊ฐ ๊ธฐ๋ณธ๊ธฐ๊ฐ ์ฌ์ ํ ๋ง์ด ๋ถ์กฑํ๊ตฌ๋๋ฅผ ๊ณ์ ๊นจ๋ฌ์ผ๋ฉฐ ๋ง์ด ์ข์ ํ๋ ์์ฆ์ธ๊ฒ๊ฐ๋ค.. ๊ทธ ์ด๋ค ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ฐ๊ฑด ํ๋์ ํํ์ด์ง๋ฅผ ๋ง๋ค ๋, CRUD๋ฅผ ์ ๋ง ์๋ฒฝํ๊ฒ ์์ฝ๊ฒ ๊ตฌํํ ์ ์๋๊ฐ๋ฅผ ์ค์ค๋ก์๊ฒ ๋ฌผ์ด๋ณธ๋ค๋ฉด ๋๋ฌด๋๋ ๋น์ฐํ NO์๋ค.. ๊ทธ๋์ ๋ ๋ ์ด๋ ต๊ธฐ๋ณด๋จ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๋ค์ ํ ๋ฒ ๋ฆ๊ณ ์ ํ๋ก์ ํธ ์ ๋ถํธ์บ ํ์์ ๊ณผ์ ๋ก ์คฌ๋ (๋ ์คํจํ๋) Todo App์ ๋ค์ ํ๋ฒ ๋ง๋ค์ด๋ณด๊ณ ์ ์์ํ๋ค. 1. React Component ๋ง๋ค..
Module → ์ฝ๋๋ฅผ ๊ทธ ํ์ผ ๋ด๋ถ์์๋ง ํ์ ํ ์ ์๋๋ก "๋ชจ๋ํ" ํ๋ ๊ฒ! → ๋ชจ๋ํ๋ฅผ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ํ์ผ์์ ์ฝ๋๋ฅผ ๊ณต์ ํด๋ฒ๋ฆด ์ ์๋ค. (์ด๋ฆ ์ ์ธ ์ถฉ๋์ด ์ผ์ด๋ ์ ์๊ฒ ์ฐ?!?!) ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์์๋ window์, node ํ๊ฒฝ์์๋ global์ ์ ์ฅ๋์ด๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ! //index.html //๋ชจ๋ํํ๊ธฐ //module1.js //export default๋ ํํ์ผ์์ ํ๋๋ง ๊ฐ๋ฅ! export default function add(a,b){ return a+b; } //๊ทธ๋ฅ export export function print() { console.log("print"); } //module2.js import add from "./module1.js" import {pri..