Skip to content

eleven-Book-shelf/Eleven-Book-shelf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

381 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Eleven-Book-shelf

๐Ÿ“š ์›นํˆฐ๊ณผ ์›น์†Œ์„ค์„ ์ข‹์•„ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ์„œ๋น„์Šค ๐Ÿ“š

๐Ÿ“š ๊ฐ ์„œ๋น„์Šค ๋งํฌ ๐Ÿฅ“

backend frontend
175937078 175937078

๐Ÿ‚ ํŒ€์› ์†ŒํŒ€์› ์†Œ๊ฐœ ๐ŸŒŒ

161007461 167049108 154627607 109952440
ํ•œ์ •์šด ๊น€๋ฏผ์‹ ์กฐ๊ทœ์„ฑ ์ด๋ฏผํ˜ธ
ํŒ€์žฅ ํŒ€์› ํŒ€์› ๋ถ€ํŒ€์žฅ
์‚ฌ์šฉ์ž ๊ธฐ๋Šฅ ๋Œ“๊ธ€ ๊ธฐ๋Šฅ ํฌ๋กค๋ง ๊ธฐ๋Šฅ ๊ฒŒ์‹œํŒ ๊ธฐ๋Šฅ
(์†Œ์…œ) ๋กœ๊ทธ์ธ / ๋กœ๊ทธ์•„์›ƒ ๋ถ๋งˆํฌ ๊ธฐ๋Šฅ ์ปจํ…์ธ  ์กฐํšŒ ์ถ”์ฒœ ๊ธฐ๋Šฅ
ํ”„๋ก ํŠธ์—”๋“œ ์ข‹์•„์š” ๊ธฐ๋Šฅ ๋ฐฐํฌ, CI

๐Ÿš‰์ฃผ์š”๊ธฐ๋Šฅ๐Ÿšƒ

ํฌ๋กค๋ง์„ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘, ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋Šฅ, ์œ ์ €๋ณ„ ์ถ”์ฒœ ๊ธฐ๋Šฅ, ๋ถ๋งˆํฌ ๋ฐ ์ข‹์•„์š” ๊ธฐ๋Šฅ์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋Šฅ

๐Ÿฅค ๊ธฐ๋Šฅ ๋ช…์„ธ์„œ ๐Ÿฅฅ

๐Ÿงฒ API ๋ช…์„ธ์„œ ๐Ÿ› 
๐Ÿ”‘ ํ˜‘์—…๋ฃฐ ๐Ÿ”‘

Github Rules

๐Ÿš ์‹์‚ฌ ์‹œ๊ฐ„

  • ์ ์‹ฌ์‹œ๊ฐ„ : 12:00 ~ 14:00
  • ์ €๋…์‹œ๊ฐ„ : 18:00 ~ 19:00
  • ์œ„ ์‹œ๊ฐ„ ๋‚ด์—์„œ ํ•œ ์‹œ๊ฐ„ ๋‚ด๋กœ ๋จน๊ณ ์˜ค๊ธฐ! *
  1. ํšŒ์˜ํ•  ๋•Œ ๋งˆ์ดํฌ๋ž‘ ์บ  ๊ผญ ํ‚ค๊ธฐ!

  2. ๊ณ„ํšํ‘œ ์ž˜ ์ž‘์„ฑํ•˜๊ธฐ(๋‹น์ผ ์˜ค์ „ 9์‹œ์— ์ž‘์„ฑ)

  3. ์ ๊ทน์ ์œผ๋กœ ์˜๊ฒฌ ๋‚ด๊ธฐ 4. ์ง„ํ–‰์ƒํ™ฉ ์ž์ฃผ ๊ณต์œ ํ•˜๊ธฐ 5. ํŠœํ„ฐ๋‹˜์—๊ฒŒ ์ž์ฃผ ์ฐพ์•„๊ฐ€๊ธฐ

  4. 10๋ถ„ ์ด์ƒ ์—†์„ ๋•Œ๋Š” ์Šฌ๋ž™์— ๋‚จ๊ธฐ๊ธฐ(๋Œ“๊ธ€๋กœ ๋ณต๊ท€๊นŒ์ง€ ๊ผญ ํ‘œ์‹œ)

  5. ZEP์— ์ž๊ธฐ ์ƒํƒœ ํ‘œ์‹œํ•˜๊ธฐ(์ž ๊น ๋น„์šธ ๋• ์ž๋ฆฌ๋น„์›€ / ์‹์‚ฌ์‹œ๊ฐ„ ๋• ํœด์‹์ค‘)

  6. ์Šฌ๋ž™์€ ๊ด€๋ จ๋œ ๋‚ด์šฉ์€ ๋Œ“๊ธ€๋กœ๋งŒ

์ž‘์—… ํƒ€์ž… ์ž‘์—…๋‚ด์šฉ
โœจ update ํ•ด๋‹น ํŒŒ์ผ์— ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด ์ƒ๊น€
๐ŸŽ‰ add ์—†๋˜ ํŒŒ์ผ์„ ์ƒ์„ฑํ•จ, ์ดˆ๊ธฐ ์„ธํŒ…
๐Ÿ› bugfix ๋ฒ„๊ทธ ์ˆ˜์ •
โ™ป๏ธ refactor ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
๐Ÿฉน fix ์ฝ”๋“œ ์ˆ˜์ •
๐Ÿšš move ํŒŒ์ผ ์˜ฎ๊น€/์ •๋ฆฌ
๐Ÿ”ฅ del ๊ธฐ๋Šฅ/ํŒŒ์ผ์„ ์‚ญ์ œ
๐Ÿป test ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ
๐Ÿ’„ style css
๐Ÿ™ˆ gitfix gitignore ์ˆ˜์ •
๐Ÿ”จscript package.json ๋ณ€๊ฒฝ(npm ์„ค์น˜ ๋“ฑ)

๐ŸŽซERD๐ŸŽซ

11 (1)

๐Ÿ“‹ ์•„ํ‚คํ…์ณ ๐Ÿ“‹

์•„ํ‚คํ…์ณ drawio (1)

๊ธฐ์ˆ ์  ์˜์‚ฌ๊ฒฐ์ •

Spring

Spring

โ€ข ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ๋ถ„์„์—์„œ ๋Œ€์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ํ™œ์šฉ

Redis

๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ๊ธฐ๋Šฅ ์ง€์›

โ€ข ์ง์ ‘์ ์œผ๋กœ DB๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ๋ฆฌ์†Œ์Šค๋ฅผ ๋œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”, ํšจ์œจ์ ์ด๊ณ  ๋น ๋ฅธ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์˜ ์ธ๋ฉ”๋ชจ๋ฆฌ ๋ฐฉ์‹

โ€ข String, Hash, Sorted Set, List, Set ๋“ฑ ๋‹ค์–‘ํ•œ ์ž๋ฃŒ ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰์— ํ™œ์šฉ

GitHub Actions

GitHub Repository์™€์˜ ํ†ตํ•ฉ์œ ์—ฐ์„ฑ

โ€ข GitHub๊ณผ ํ†ตํ•ฉํ•˜์—ฌ CI/CD ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•๊ฐ€๋Šฅ, ํƒ€ ๋…๋ฆฝ์ ์ธ CI/CD ์„œ๋ฒ„์™€ ๋น„๊ตํ•ด ๋ณ„๋„์˜ ํ™˜๊ฒฝ ์„ค์ •์ด ๋ถˆํ•„์š”

์œ ์—ฐํ•œ ์›Œํฌํ”Œ๋กœ์šฐ

โ€ข ๊ฐœ๋ฐœ์ž ์š”๊ตฌ์— ๋งž๊ฒŒ ์ง์ ‘ ์•ก์…˜์„ ๋งŒ๋“ค์–ด ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ํ™•์žฅ, ๋นŒ๋“œ ๋ฐ ๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ์„ ์‰ฝ๊ฒŒ ์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅ

Dockerhub

์ปจํ…Œ์ด๋„ˆํ™”๋ฅผ ํ†ตํ•œ ์ผ๊ด€์ ์ธ ๋ฐฐํฌ

โ€ข BackEnd ๋…๋ฆฝ์ ์œผ๋กœ ์ปจํ…Œ์ด๋„ˆํ™”ํ•˜์—ฌ ๊ฐœ๋ณ„ ์œ ์ง€๋ณด์ˆ˜์™€ ์ถ”๊ฐ€์ ์ธ ํ™•์žฅ์„ฑ ํ™•๋ณด

Dockerhub ์ค‘์•™๊ด€๋ฆฌ

โ€ข ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ์ค‘์•™ ๊ด€๋ฆฌ์™€, Scale Out ์— ๋Œ€์‘ํ•˜์—ฌ ๋™์ผํ•œ ํ™˜๊ฒฝ ๊ตฌ์„ฑ ์œ ์šฉ์„ฑ

CI/CD ํŒŒ์ดํ”„ ๋ผ์ธ ๊ตฌ์ถ•

โ€ข GitHub Actions์™€์˜ ํ†ตํ•ฉ ์œ ์šฉ์„ฑ์œผ๋กœ ๋นŒ๋“œํ•œ ์ด๋ฏธ์ง€๋ฅผ Dockerhub์— ํ‘ธ์‹œํ•˜๊ณ  ์ž๋™ํ™”๋œ ๋ฐฐํฌ ์ง€์›

Vercel

๋„๋ฉ”์ธ์„ ์ด์šฉํ•œ ์ •๋ฆฌ

โ€ข FrontEnd ์™€ ๋…๋ฆฝ์ ์œผ๋กœ ์ปจํ…Œ์ด๋„ˆํ™”ํ•˜์—ฌ ๊ฐœ๋ณ„ ์œ ์ง€๋ณด์ˆ˜์™€ ์ถ”๊ฐ€์ ์ธ ํ™•์žฅ์„ฑ ํ™•๋ณด

CI/CD ํŒŒ์ดํ”„ ๋ผ์ธ ๊ตฌ์ถ•

โ€ข GitHub Actions์™€์˜ ํ†ตํ•ฉ ์œ ์šฉ์„ฑ์œผ๋กœ ๋นŒ๋“œํ•œ ์ด๋ฏธ์ง€๋ฅผ Dockerhub์— ํ‘ธ์‹œํ•˜๊ณ  ์ž๋™ํ™”๋œ ๋ฐฐํฌ ์ง€์›

๐Ÿ› ๏ธ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

WebDriver ์š”์†Œ ์ฐพ๊ธฐ ์˜ค๋ฅ˜.

xPath ๊ฐ’์„ ์‚ฌ์šฉํ•ด์„œ ํ•ด๋‹น ์š”์†Œ์˜ ์œ„์น˜๋ฅผ ์ง€์ •. ์ดํ›„ ์ง€์ •๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ๋•Œ ํ•ด๋‹น ์œ„์น˜์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋กœ ์กด์žฌํ•จ. ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋Š” ๋ฌธ์ œ ๋ฐœ์ƒ.WebDriver๋Š” ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰์ค‘. xPath ๊ฐ’ ์ •ํ™•ํ•จ. ๋ช‡๋ช‡ ์ž‘ํ’ˆ์—์„œ ํ•ด๋‹น xPath์œ„์น˜์—๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•˜๋Š” ์ƒํ™ฉ.

xPath ๊ฐ’์„ ์ƒ๋Œ€๊ฒฝ๋กœ์—์„œ ํ•ด๋‹น ์œ„์น˜๋งŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ๋ณ€๊ฒฝํ•จ

  • ๊ฐ™์€ ์œ„์น˜์— ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ์ด๊ธฐ์— ๊ฐ™์€ ์ƒํ™ฉ ๋ฐœ์ƒ.

HTML ๊ตฌ์กฐ ์žฌํ™•์ธ ํ›„ ํ•„์š” ๋ฐ์ดํ„ฐ, ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ xPath ๊ฐ’ ์ถ”์ถœ ํ›„ ์žฌํ™•์ธ.

  • ๋™์ผํ•จ. xPath ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋Š” ๊ฐ™์€ ์œ„์น˜์ž„.

๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ๋•Œ ํ™•์ธ์ด ๋ถˆ๊ฐ€ํ•˜๋‹ค๋ฉด ๊ฐ€์ ธ์˜จ ํ›„ ๊ฑธ๋Ÿฌ๋‚ด๋„๋ก ์ˆ˜์ •.

  • ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ์™€ ๋ถˆํ•„์š” ๋ฐ์ดํ„ฐ์˜ ์ฐจ์ด์ ์ด โ€˜#โ€™์˜ ์กด์žฌ ์œ ๋ฌด๋กœ ํ™•์ธ. #์ด ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ๋งŒ ์ €์žฅํ•˜๋„๋ก ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉ. ๋งŒ์•ฝ #์ด ํ•˜๋‚˜๋ผ๋„ ํฌํ•จ๋˜์ง€ ์•Š์•„ ๋นˆ ๋ฌธ์ž์—ด์„ ์ €์žฅํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” โ€˜์—†์Œโ€™ ์ €์žฅ์œผ๋กœ ํ•ด๋‹น ํ•„๋“œ์— ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์„ ๋ช…์‹œ์ ์œผ๋กœ ํ‘œํ˜„ํ•จ.
MySQL EC2์™€ ๋ฐฑ์—”๋“œ EC2 ๊ฐ„์— ์—ฐ๊ฒฐ ๋ฌธ์ œ

๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ์Šคํ„ด์Šค๋ฅผ ๋ถ„๋ฆฌ ํ›„, ์—ฐ๊ฒฐ ์ค‘ ๋ณด์•ˆ์„ ์œ„ํ•ด MySQL ๋‚ด๋ถ€ ์„ค์ •์—์„œ ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค์˜ IP๋กœ๋งŒ ์š”์ฒญ์„ ํ—ˆ์šฉํ•˜๊ฒŒ๋” bind-address ๋ฅผ ์ง€์ •ํ•จ. ์ด๋•Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ์Šคํ„ด์Šค๊ฐ€ ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค์˜ ์š”์ฒญ์„ ์ •์ƒ์ ์œผ๋กœ ๋ฐ›์•„์ฃผ์ง€ ๋ชปํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ œ๋Œ€๋กœ ์—ฐ๊ฒฐ๋˜์ง€ ๋ชปํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ.

์˜คํƒ€๋ฅผ ํ™•์ธํ•ด ๋ดค๋‹ค

โ€ข ์–ด๋””์—๋„ ์˜คํƒ€๋‚˜ ๋ฌธ์ œ๋  ๊ฒƒ์€ ๋ณด์ด์ง€ ์•Š์•˜๋‹ค.

์ธ๋ฐ”์šด๋“œ ๊ทœ์น™์— ๋ฐฑ์—”๋“œ IP ๊ฒฝ๋กœ๋กœ ํฌํŠธ ํ—ˆ์šฉ์„ ํ™•์ธํ•ด ๋ดค๋‹ค.

โ€ข ์—ฐ๊ฒฐํ•œ ๋ถ€๋ถ„์€ ์ œ๋Œ€๋กœ ํ—ˆ์šฉ์ด ๋˜์–ด์žˆ์—ˆ๋‹ค.

๋นŒ๋“œํ•œ ๋ฐฑ์—”๋“œ ์ด๋ฏธ์ง€ ํŒŒ์ผ ์žฌํ™•์ธ ํ•ด๋ดค๋‹ค.

โ€ข ์ด๊ฒƒ๋„ ์ด์ƒ์ด ์—†์—ˆ๋‹ค.

๋กœ์ปฌ ํ”„๋กœ์ ํŠธ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ์Šคํ„ด์Šค ์ ‘์†์‹œ๋„๋ฅผ ํ•ด๋ณด์•˜๋‹ค.

โ€ข ์ด๊ฒƒ๋„ ์ ‘์† ๋ถˆ๊ฐ€๋ผ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ๋ณด์•„ํ•˜๋‹ˆ ๋ฌธ์ œ๋ฅผ ์–ด๋А ์ •๋„ ์•Œ๊ฒŒ ๋ฌ๋‹ค.

bind-address ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ์Šคํ„ด์Šค์˜ ip๋กœ ์ง€์ •ํ–ˆ๋‹ค.

โ€ข ์ •์ƒ์ ์œผ๋กœ ์ ‘์†์ด ๋˜์—ˆ๋‹ค.

Nginx ๋ฅผ ์ด์šฉํ•œ ํ”„๋ก์‹œ ๋ฌธ์ œ

ํ”„๋ก ํŠธ์™€ ๋ฐฑ์—”๋“œ๋ฅผ ํ•œ Ec2์— ๋™์‹œ์— ๋ฐฐํฌํ–ˆ์„๋•Œ ๋ฐฑ์—”๋“œ์— ์š”์ฒญ์„ ์ œ๋Œ€๋กœ ๋ณด๋‚ด์ง€ ๋ชปํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•จ

โ€ข nginx์˜ default.conf ์„ค์ • ํŒŒ์ผ์„ ์ˆ˜์ •ํ–ˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์Œ

๋ฐฑ์—”๋“œ์—์„œ ์š”์ฒญ ๋‚ด์šฉ์˜ URL์„ ์ „๋ถ€ ํ™•์ธํ•˜๊ฒŒ ํ–ˆ์ง€๋งŒ ๋ฌธ์ œ๋ฅผ ํ™•์ธ

โ€ข URL์€ ์ž…๋ ฅ์€ ์ œ๋Œ€๋กœ ๋˜๋Š”๊ฒƒ์ด ํ™•์ธ๋จ ํ•˜์ง€๋งŒ ์š”์ฒญ์„ ์ œ๋Œ€๋กœ ๋ฐ›์ง€ ๋ชปํ•จ. ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ์š”์ฒญ์„ ์‹œ๋„ํ•ด ๋ณด๋ฉด ํ”„๋ก ํŠธ์— ๊นŒ์ง€ ์žฌ๋Œ€๋กœ ๋ฐ˜ํ™˜๋˜๋Š” ๊ฒƒ์„ ๋ด์„  CORS ๋ฌธ์ œ๋Š” ์•„๋‹ˆ์˜€์Œ

โ€ข default.conf ์„ค์ • ํŒŒ์ผ์„ ์ข€๋” ์ž์„ธํ•˜๊ฒŒ ์‚ดํŽด๋ณธ ๊ฒฐ๊ณผ '/api/' ์—ฌ์•ผ ํ–ˆ๋˜ ๊ฒƒ์ด 'api/'์œผ๋กœ ๋˜์–ด ์žˆ์–ด ์ธ์‹์„ ํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๊ฒƒ ์ˆ˜์ •ํ›„ ์ •์ƒ์ ์œผ๋กœ ์ง„ํ–‰

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors