2024-04-05
- reset.css (index.html)
- bootstrap5.css (index.html)
- additionClasses.css (index.html)
- fontawesome (index.html)
@/db ์์ createDB.js ๋ผ๋ ํ์ผ์
node createDB.js์ด๋ ๊ฒ ์ ๋ ฅํ์ฌ ์ฌ์ฉํ๋ฉด ๋จ. ์๋ก์ด ์ฌ์ฉ์๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ถ๊ฐ ๋ฐ์ดํฐ๊ฐ ํ์ํ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ฉด ์ข์ ์์ธํ๊ฑด ํ์ผ ์ด์ด์ ํ์ธ
๋ง์ฝ ์ด๋ค ์ถ๊ฐ ์ปฌ๋ผ์ด ํ์ํ๋ค๋ฉด expense.json ๊ณผ createDB.js ๋ฅผ ์ ์์ ํ๋ฉด ๋จ
๋ง์ฝ ์ฝ์์ ๋ง ๋๊ฐ ๋์ฐ๊ธฐ ๊ท์ฐฎ์ผ๋ฉด npm pm2 ๊น์์ ์ด์ฉํ๋๊ฒ๋ ์ถ์ฒ๋๋ฆฌ๊ณ ๊ทธ๋๋ ๋ถํธํ๋ฉด ์จ๋ผ์ธ ์๋ฒ๋ฅผ ์ ๊ณตํ๊ฒ ์
๋ฌผ๋ก json-server ์ฉ์ด๊ณ ๋น์ฐํ json-server๋ฅผ ์ฌ์ฉํ ๋
json-server db/db.json.js์ด๋ ๊ฒ ์ ๋ ฅํ๋ฉด ๋จ
์๋ ๋ด์ฉ๋ค์ ๋ชจ๋ ์์ '๊ฐ๊ธ์ ', '์ต๋ํ' ๋ฑ์ ๋จ์ด๊ฐ ์๋ต๋์ด์๋ค๊ณ ์๊ฐํ๋ฉด ์ข์ต๋๋ค.
ex) css๋ฅผ ์ง์ ํ ๋ class๋ฅผ ์ฌ์ฉํ๋ค. -> ๊ฐ๊ธ์ css๋ฅผ ์ง์ ํ ๋ class๋ฅผ ์ฌ์ฉํ๋ค.
์ฆ ์ ํด์ง๊ฑด ์๊ณ , ๋ณธ์ธ์ด ์๊ฐํ๊ธฐ์ ์ด๋ ๊ฒ ํ๋ฉด ๋ค๊ฐ์ด ํธํ ์ ์๊ฒ ๋ค ์ถ์ ์ฌํญ์ด ์์ผ๋ฉด ์ธ์ ๋ ์ง ๊ณต์ ํ์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
1. CSS
- css๋ฅผ ์ง์ ํ ๋ class ์ฌ์ฉ & ์ผ๋ฐฅ ์คํ์ผ
<div class="cate-box"></div>- ์์๋ค์ ์ง์ ํ ๋ ์ธ๋๋ฐ 2๊ฐ ์ด์ฉ
<div class="cate-box">
<div class="cate-box__item">์์ดํ
</div>
</div>-
#id or <style scoped> ๋ ๋ค๋ฅธ๊ฑธ ๋ฎ์ด ์์ธ๋ ์ฌ์ฉ
์ฌ์ฌ์ฉ์ด ์ด๋ ต๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ ๋น๋๊ฐ ๋ง์ผ๋ฉด ์๋จ -
px ๋์ rem ์ฌ์ฉ. rem์ด ๋ฐ์ํ์ ๋ ์ข๊ธฐ ๋๋ฌธ
๋ค๋ง img ๋ฑ ์ต์ ๊ณ ์ ๊ฐ์ด ์กด์ฌํ๊ณ , felx-wrap ๋ฑ์ด ์ ์ฉ๋์ด์ผํ๋ค๋ฉด px ์ฌ์ฉ
.cate-box {
font-size: 1.8rem;
}์ฐ๋ฆฌ ํ๋ก์ ํธ์์๋ html ์ด 10px ๊ณ ์ , body ๊ฐ 1.6rem ์ผ๋ก ๋ํดํธ๊ฐ์ผ๋ก ์ธํ
๋๋ฏ๋ก ๊ณ ๋ คํด์ ๋ง๋ค๋ฉด ๋จ
ex) 1.4rem == 14px
2. ID
- css๋ class ์ฌ์ฉ ์ถ์ฒ & input ์ v-model ์ฌ์ฉ ์ถ์ฒ
bootstrap ์ด๋ label ๋ฑ์์ id๊ฐ ํ์ฐ์ ์ผ๋ก ์ฐ์ด๋ ๊ณณ์ด ์์. ์ด๋ฐ ๊ฒฝ์ฐ ์ฌ์ฉํจ
<label for="cate-option">์ ํํ๊ธฐ</label>
<input type="checkbox" id="cate-option"/>3. DB
-DB์ ์ปฌ๋ผ๊ฐ์ ์ค๋ค์ดํฌ ํ์
const data = {
cate_id: cateId;
}์ผ์ชฝ์ DB์ ๊ฐ์ด๊ณ ์ค๋ฅธ์ชฝ์ ์๋ฐ์คํฌ๋ฆฝํธ์์ ์์ฑ๋ ๋ณ์๋ผ๋๊ฒ์ ๊ตฌ๋ถํ ์ ์๋ค.
-axios ์ฌ์ฉ์ delete ๋ ์ฌ์ฉํ์ง ์์, ๋์ ๊ฐ ํญ๋ชฉ์ is_delete ๊ฐ์ ์ถ๊ฐํ์ฌ 0 <-> 1 ์ ์๋ค๊ฐ๋ค ํ๊ฒ ํจ
//์นดํ
๊ณ ๋ฆฌ ์ญ์
const data = {
...
is_delete : 1
}
axios.put(url,data);-json ์ ์ซ์๋ฅผ ์ ๋ ฅ์ ๋ฌด์กฐ๊ฑด ์ซ์ํ์ ์ผ๋ก ํ๋ค.
//์์ข์ ์
const data = {
id: "1"
}
//์ข์ ์
const data = {
id: 1
}
//๊ทธ๋ฅ ์ด๋ ๊ฒ ํด๋ ๋จ
const data = {
id: parseInt(id)
}5. ์ ์ธ
์ด ํญ๋ชฉ์ ํ๋ก์ ํธ ์งํ๋์ ๋ฐ๋ผ ๊ณ์ ์ถ๊ฐ๋๊ฑฐ๋ ๋ณ๊ฒฝ๋ ์ ์์.
- ์์ = ๋๋ถ์๋ก ํ๋ค. ์์จ๋ ๋ฌด๊ด ์ฐ๋ฆฌ ํ๋ก์ ํธ์์ ์ธ์ผ๋ ๋ณ๋ก ์์๋ฏ
MAX_USER = 10;- ๋ฐฐ์ด์ ๋ค์ Arr์ ๋ถ์ด๋ฉด ์ข๋ค.
const cateArr = [1,3,4,1,2];6. GIT
- merge ๋ฐฉ์์ ํญ์ ์ ๋์ ์ผ๋ก ํด์ผํฉ๋๋ค.
-
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ณตํตํ์ผ๋ค์ ํ์ฅ์ธ ๊ด๋ฆฌ
ex) images/common, css/common, utils/common ๋ฑ ์ฌ์ฌ์ฉ ๋น๋์๊ฐ ๋์ ํ์ผ๋ค -
๋ณธ์ธ์ด ๋ง๋ ํ์ผ๋ค์ ์ง์ merge ํ์๋ฉด ๋ฉ๋๋ค.
ex) css/login ๋ฑ ํน์ ํ์ด์ง๋ง์ ์ํ css -
๋ณธ์ธ์ด ๋ง๋ค์์ด๋, ์ฌ๋ฌ๊ณณ์์ ์ฐ์ด๋ ์ฌ์ฌ์ฉ์ด ์์ฃผ ์ผ์ด๋๋ ํ์ผ๋ค์ ํ์ฅ์ด merge ํฉ๋๋ค.
ex) pagination, button, input ๋ฑ ๊ธฐ๋ณธ์ ์ธ ํ ๋ง ๊ด๋ จ
-
branch ๋ fork ๋ ๋ณธ์ธ ํธํ ๋ฐฉ๋ฒ๋๋ก ํ์๋ฉด ๋ฉ๋๋ค. ํฐ ์ฐจ์ด ์์. ์ด๋ด ๋ ์ด๊ฒ๋ ํด๋ณด๊ณ ์ ๊ฒ๋ ํด๋ด์ผ์ง
-
commit ๋ฉ๋ชจ ์์ฑ๋ฐฉ๋ฒ
์ด๊ฑด GPT๊ฐ ์๋ ค์ค๊ฑด๋ฐ ๊ด์ฐฎ์ ๊ฒ๋ค ์์ผ๋ฉด ์ถํ ์์ or ์ถ๊ฐ ์์ฒญ
feat: ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ
์: feat: add user authentication
fix: ๋ฒ๊ทธ ์์
์: fix: resolve login issue
docs: ๋ฌธ์ ๊ด๋ จ ๋ณ๊ฒฝ
์: docs: update README with setup instructions
style: ์ฝ๋ ์คํ์ผ ๋ณ๊ฒฝ (ํฌ๋งท, ์ธ๋ฏธ์ฝ๋ก ์ถ๊ฐ ๋ฑ)
์: style: format code with prettier
refactor: ์ฝ๋ ๋ฆฌํฉํ ๋ง (๊ธฐ๋ฅ ๋ณ๊ฒฝ ์์ด ์ฝ๋ ๊ตฌ์กฐ ๊ฐ์ )
์: refactor: simplify user service logic
perf: ์ฑ๋ฅ ๊ฐ์
์: perf: improve query performance
test: ํ
์คํธ ์ฝ๋ ์ถ๊ฐ ๋๋ ์์
์: test: add unit tests for user service
chore: ๊ธฐํ ๋ณ๊ฒฝ์ฌํญ (๋น๋ ํ๋ก์ธ์ค, ํจํค์ง ๋งค๋์ ์ค์ ๋ฑ)
์: chore: update npm dependencies
build: ๋น๋ ๊ด๋ จ ๋ณ๊ฒฝ
์: build: update webpack configuration
ci: CI ์ค์ ๋ณ๊ฒฝ
์: ci: update GitHub Actions workflow
