Skip to content

๐ŸŒˆ ์žฌ๋Šฅ ๊ธฐ๋ถ€ ๋ฐ ํŒ๋งค ํ”Œ๋žซํผ ๋ฌด์ง€๊ฐœ ๋งˆ์ผ“

Notifications You must be signed in to change notification settings

RainbowMarkets/RainbowMarket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒˆย ์žฌ๋Šฅ ๊ธฐ๋ถ€ ๋ฐ ํŒ๋งค ํ”Œ๋žซํผ ๋ฌด์ง€๊ฐœ ๋งˆ์ผ“

  • ๐Ÿ”— ๋ฐฐํฌURL
  • ๐Ÿ’ป ํ…Œ์ŠคํŠธ ๊ณ„์ •
    test1 id : rainbowmarket@official.com
    test1 pw : 123456

ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

๊ฐœ์š”

  • ๋ ˆ์ธ๋ณด์šฐ ๋งˆ์ผ“์€ ์žฌ๋Šฅ์„ ๊ธฐ๋ถ€ํ•˜๊ฑฐ๋‚˜ ํŒ๋งคํ•˜๋Š” SNS์ž…๋‹ˆ๋‹ค.
  • ์ž์‹ ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์žฌ๋Šฅ์„ ํ•„์š”๋กœ ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๊ธฐ๋ถ€ํ•˜์—ฌ ๋„์›€์„ ์ฃผ๊ฑฐ๋‚˜, ๋„์›€์ด ํ•„์š”ํ•œ ์‚ฌ๋žŒ์ด ๊ฒŒ์‹œ๊ธ€์„ ์˜ฌ๋ ค ์›ํ•˜๋Š” ์žฌ๋Šฅ์„ ๊ฐ€์ง„ ์‚ฌ๋žŒ์„ ์ฐพ์•„ ๋„์›€์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” SNS์ž…๋‹ˆ๋‹ค.
  • ์žฌ๋Šฅ ๊ธฐ๋ถ€๋ฅผ ํ•˜์ง€ ์•Š์•„๋„ ์–ด๋–ค ์ฃผ์ œ์— ๋Œ€ํ•˜์—ฌ ๋Œ“๊ธ€์„ ์ฃผ๊ณ ๋ฐ›๊ฑฐ๋‚˜ ๋˜๋Š” ์ฑ„ํŒ…์„ ํ•จ์œผ๋กœ์จ ์„œ๋กœ์˜ ์ƒ๊ฐ์„ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋งˆ์Œ์— ๋“œ๋Š” ํ”ผ๋“œ ๊ฒŒ์‹œ๋ฌผ์— ์ข‹์•„์š”๋ฅผ ๋ˆ„๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž ๊ฒ€์ƒ‰์„ ํ†ตํ•ด ํŒ”๋กœ์šฐ๋ฅผ ํ•˜์—ฌ ํ™ˆ ํ”ผ๋“œ์—์„œ ๊ฒŒ์‹œ๋ฌผ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ œ์ž‘ ๊ธฐ๊ฐ„

2022.12.09 - 2023.01.03

โฌ†๏ธTop

ํŒ€์› ์†Œ๊ฐœ

์ด์„์šฐ ๊น€๋‹ค์ • ๊ถŒ์ง€ํ˜œ ์ด์œ ์ง„
Skylark92 DADA6041 jhfrontend yjlee9909

์—ญํ•  ๋ถ„๋‹ด

โฌ†๏ธTop

๊ฐœ๋ฐœ ํ™˜๊ฒฝ

๊ธฐ์ˆ  ์Šคํƒ

  • Front-End
    • HTML, CSS, JavaScript, React, styled-components
  • Back-End
    • ์ œ๊ณต๋œ API ์‚ฌ์šฉ
  • Design

ํ˜„์ƒ๊ด€๋ฆฌ ๋ฐ ํ˜‘์—… ๋„๊ตฌ

  • GitHub, Git
  • GitHub Issues : ๊ฐ์ž ํ™œ๋™ ๋‚ด์—ญ์— ๋Œ€ํ•ด ์ด์Šˆ ๋“ฑ๋ก ํ›„ ์ž‘์—… ์ง„ํ–‰
  • Discord : ์‹ค์‹œ๊ฐ„ ์†Œํ†ต ๋ฐ ํ™”๋ฉด ๊ณต์œ 
  • Slack : ๊ฐ ์ปดํฌ๋„ŒํŠธ๋ณ„ ์ „๋‹ฌ ์‚ฌํ•ญ ์ž‘์„ฑ
  • VScode liveshare : ๊ณตํ†ต์ ์ธ ๋ฌธ์ œ ๊ฐ™์ด ํ•ด๊ฒฐ
  • Notion : ์ฃผ๊ฐ„ ํšŒ์˜๋ก ์ž‘์„ฑ ๋ฐ ๊ธฐ๋ก

์ด์Šˆ ๊ด€๋ฆฌ

sfd

projects

  • Slack ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ์ปดํฌ๋„ŒํŠธ๋ณ„ ์ „๋‹ฌ ์‚ฌํ•ญ ์ž‘์„ฑ

asvasv

โฌ†๏ธTop

๊ตฌํ˜„๊ธฐ๋Šฅ


Splash ํšŒ์›๊ฐ€์ž… ๋กœ๊ทธ์ธ
ํ™ˆํ™”๋ฉด ๊ณ„์ • ๊ฒ€์ƒ‰ ์œ ์ € ํ”„๋กœํ•„
๋‚ด ํ”„๋กœํ•„ ๋‚ด ํ”„๋กœํ•„ ์ˆ˜์ • ํŒ”๋กœ์šฐ, ํŒ”๋กœ์›Œ
์žฌ๋Šฅ ํŒ๋งค ๋“ฑ๋ก ์žฌ๋Šฅ ํŒ๋งค ์ˆ˜์ • ์žฌ๋Šฅ ํŒ๋งค ๋งํฌ ์ด๋™
์žฌ๋Šฅ ํŒ๋งค ๋ชฉ๋ก ์‚ญ์ œ 404 ํŽ˜์ด์ง€ ๊ฒŒ์‹œ๊ธ€ ๋“ฑ๋ก
๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ • ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ
๊ฒŒ์‹œ๊ธ€ ๋Œ“๊ธ€ ๋“ฑ๋ก ๊ฒŒ์‹œ๊ธ€ ๋Œ“๊ธ€ ์‚ญ์ œ ๊ฒŒ์‹œ๊ธ€ ์ข‹์•„์š”
๋ชจ๋‹ฌ ๊ธฐ๋Šฅ ์‹ ๊ณ  ๋กœ๊ทธ์•„์›ƒ

โฌ†๏ธTop

ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

๐Ÿ“ฆrainbowmarket
โ”ฃ ๐Ÿ“‚.git
โ”ฃ ๐Ÿ“‚public
โ”ƒ โ”ฃ ๐Ÿ“œfavicon.ico
โ”ƒ โ”— ๐Ÿ“œindex.html
โ”ฃ๐Ÿ“ฆsrc
โ”ƒ โ”ฃ ๐Ÿ“‚assets
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚images
โ”ƒ โ”ฃ ๐Ÿ“‚components
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚ChatRoom
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Join
โ”ƒ โ”ƒ โ”ƒ โ”— ๐Ÿ“‚JoinWithEmail
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Member
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Navbar
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Posts
โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Comment
โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚CommentAdd
โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚CommentDetail
โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”— ๐Ÿ“‚PostDate
โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚PostBtn
โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚PostCommentBtn
โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”— ๐Ÿ“‚PostHearBtn
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚ProductInput
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Profile
โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚ProfileFeedSection
โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚ProfileFeedHeader
โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚ProfileItemSection
โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚ProfileItemList
โ”ƒ โ”ƒ โ”ƒ โ”— ๐Ÿ“‚ProfileSection
โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚ProfileFollow
โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚ProfileFooter
โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚ProfileHeader
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Splash
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚TopBar
โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚CommonTopBar
โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚FollowTopBar
โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚MainTopBar
โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚SaveTopBar
โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚SearchTopBar
โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚UpLoadTopBar
โ”ƒ โ”ƒ โ”— ๐Ÿ“‚common
โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Error
โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Loading
โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Login
โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Modal
โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Alert
โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Modal
โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”— ๐Ÿ“‚Toast
โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚PostContent
โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚SetProfile
โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚SetProfileHeader
โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚SetProfileImage
โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚SetProfileInput
โ”ƒ โ”ƒ โ”ƒ โ”— ๐Ÿ“‚UserList
โ”ƒ โ”ฃ ๐Ÿ“‚context
โ”ƒ โ”ฃ ๐Ÿ“‚hooks
โ”ƒ โ”ฃ ๐Ÿ“‚pages
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Chat
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Follow
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Home
โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚IsHaveFeed
โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚NoFeed
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Join
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚NotFound
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Post
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Product
โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Profile
โ”ƒ โ”ƒ โ”— ๐Ÿ“‚Search
โ”ƒ โ”ฃ ๐Ÿ“œApp.js
โ”ƒ โ”ฃ ๐Ÿ“œGlobalStyle.js
โ”ƒ โ”— ๐Ÿ“œindex.js
โ”ฃ ๐Ÿ“œ.gitignore
โ”ฃ ๐Ÿ“œREADME.md
โ”ฃ ๐Ÿ“œpackage-lock.json
โ”— ๐Ÿ“œpackage.json

โฌ†๏ธTop

ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

1. API ๋ฐ์ดํ„ฐ ๋ฌดํ•œ ์š”์ฒญ

  • ๋ฌธ์ œ : ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก์„ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ API ์š”์ฒญ์ด ๊ณ„์†ํ•ด์„œ ์ผ์–ด๋‚จ.
  • ์›์ธ : useState Hook์„ ์‚ฌ์šฉํ•ด ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก์˜ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ–ˆ๋Š”๋ฐ, ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค ๋‹ค์‹œ ๋ Œ๋”๋ง ํ•˜๊ธฐ ์œ„ํ•ด ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ "ํ•จ์ˆ˜"๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ๊ทธ ์•ˆ์— ์ž‘์„ฑ๋œ API ์š”์ฒญ ๊ตฌ๋ฌธ์ด ๋‹ค์‹œ ์‹คํ–‰๋˜๊ณ  ์ƒํƒœ๋ฅผ ๋˜ ๋ณ€๊ฒฝํ•˜๊ฒŒ ๋œ๋‹ค. ์ด ์ผ์ด ๋ฐ˜๋ณต๋˜๋ฉด์„œ ๋ฌดํ•œ๋ฃจํ”„ ๋ฐœ์ƒ.
  • ํ•ด๊ฒฐ : useEffect Hook์„ ์‚ฌ์šฉํ•˜์—ฌ, ํŠน์ • ๊ฐ์‹œํ•˜๋Š” ์ƒํƒœ์˜ ๋ณ€ํ™”์—๋งŒ API ์š”์ฒญ์„ ํ•˜๋„๋ก ํ•จ.

2. ๋ฌดํ•œ ์Šคํฌ๋กค ํŽ˜์ด์ง• ์‹œ ๋งˆ์ง€๋ง‰ ํŽ˜์ด์ง€ ๋ฌดํ•œ ์š”์ฒญ

  • ๋ฌธ์ œ : ๋งจ ๋งˆ์ง€๋ง‰ ํŽ˜์ด์ง€์— ๋„๋‹ฌ ์‹œ ํ•ด๋‹น ๋งˆ์ง€๋ง‰ ํŽ˜์ด์ง€๊ฐ€ ๊ณ„์†ํ•ด์„œ ์ถ”๊ฐ€๋จ.
  • ์›์ธ : Intersection Observer API๋ฅผ ์ด์šฉํ•˜์—ฌ ํ˜„์žฌ ํ™”๋ฉด์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ ๋„๋‹ฌ ์‹œ ๋‹ค์Œ ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•˜๋„๋ก ์„ค๊ณ„ํ–ˆ๋Š”๋ฐ, ํŽ˜์ด์ง€์˜ ๋์— ๋„๋‹ฌํ•˜๋”๋ผ๋„ ํ™”๋ฉด์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ์—๋งŒ ๋„๋‹ฌํ•˜๋ฉด ์ƒˆ๋กœ์šด ์š”์ฒญ์„ ๊ณ„์†ํ•ด์„œ ๋ณด๋ƒ„.
  • ํ•ด๊ฒฐ : ํŽ˜์ด์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ๋งˆ๋‹ค ์ด์ „ ๋ฐฐ์—ด๊ณผ ๋น„๊ตํ•˜์—ฌ ๋ณ€ํ™”๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ๋”์ด์ƒ ์š”์ฒญ์„ ๋ณด๋‚ด์ง€ ์•Š์Œ.

3. ์ด๋ฏธ์ง€์—…๋กœ๋“œ๋ฒ„ํŠผ์ด ์›ํ•˜๋Š” ์œ„์น˜์— ๊ณ ์ •๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ

  • ๋ฌธ์ œ : ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด์—์„œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฒ„ํŠผ์ด ์›ํ•˜๋Š” ์œ„์น˜์— ๊ณ ์ •๋˜์ง€ ์•Š์Œ.
  • ์›์ธ : ํ•ด๋‹น ๋ฒ„ํŠผ์˜ ์Šคํƒ€์ผ ์š”์†Œ ์ค‘ position์„ fixed๋กœ ํ•˜๊ณ , right์™€ bottom ๊ฐ’์œผ๋กœ ์œ„์น˜๋ฅผ ์กฐ์ •ํ–ˆ๋Š”๋ฐ fixed position์ผ ๋•Œ ๋ถ€๋ชจ ์š”์†Œ๋ฅผ ์ธ์‹ํ•˜์ง€ ๋ชปํ•ด ํ™”๋ฉด ๊ธฐ์ค€์œผ๋กœ ์ด๋™ํ•˜๊ฒŒ ๋จ.
  • ํ•ด๊ฒฐ : position: fixed๊ฐ€ ์•„๋‹Œ position: sticky ์Šคํƒ€์ผ์„ ์ด์šฉํ•˜์—ฌ ๋ถ€๋ชจ ์š”์†Œ๋ฅผ ์ธ์‹ํ•จ๊ณผ ๋™์‹œ์— ์œ„์น˜๋ฅผ ๊ณ ์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ.

4. ๊ฒŒ์‹œ๊ธ€ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ฌ ์‹œ์— ๊ฐœํ–‰๋ฌธ์ž๋ฅผ ์ธ์‹ํ•˜์ง€ ๋ชปํ•จ

  • ๋ฌธ์ œ : ๊ฒŒ์‹œ๊ธ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์™€ ๋‚ด์šฉ์„ ํ™”๋ฉด์— ์ถœ๋ ฅํ•  ๋•Œ, ๊ฐœํ–‰๋ฌธ์ž๋Š” ๋ฌด์‹œ๋˜์–ด ํ™”๋ฉด์— ๊ฐœํ–‰ ์—†์ด ๋‚ด์šฉ์ด ํ‘œ์‹œ๋จ.
  • ์›์ธ : ๋ฆฌ์•กํŠธ์—์„œ๋Š” XSS(Cross Site Scripting) ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋ Œ๋”๋ง ์ „์— HTML ๋ณธ์—ฐ์˜ ํƒœ๊ทธ๋‚˜ ์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ฑฐํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ž(\n)๋กœ ๋‹ด๊ฒจ์˜ค๋Š” ๊ฐœํ–‰๋ฌธ์ž๋ฅผ ๋ Œ๋”๋ง ํ•ด์ฃผ์ง€ ์•Š์Œ.
  • ํ•ด๊ฒฐ : ํ•ด๋‹น ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒŒ์‹œ๊ธ€ ์Šคํƒ€์ผ ์š”์†Œ์— { word-break: break-all, white-space: pre-wrap }๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ํ•ด๊ฒฐ.

5. ๋ฐฐํฌ ํ›„, ํ™”๋ฉด ์ƒˆ๋กœ๊ณ ์นจ ์‹œ 404 ์—๋Ÿฌ ๋ฐœ์ƒ

  • ๋ฌธ์ œ : ์•ฑ์„ ๋นŒ๋“œํ•˜์—ฌ netlify๋ฅผ ์ด์šฉํ•ด ๋ฐฐํฌํ–ˆ๋Š”๋ฐ, ๋ชจ๋ฐ”์ผ์—์„œ ์ƒˆ๋กœ๊ณ ์นจ ์‹œ netlify์˜ 404์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒ
  • ์›์ธ : ๋ฆฌ์•กํŠธ์—์„œ ๋ฃจํŠธ ๊ฒฝ๋กœ๋Š” "/"์ด๊ณ  ์ด ๊ฒฝ๋กœ์—์„œ๋Š” index.html์„ ์ฝ๋Š”๋‹ค. ๋ฆฌ์•กํŠธ๋กœ ๋ผ์šฐํŒ… ๋œ ๊ฒฝ๋กœ์—์„œ๋Š” ์ƒˆ๋กœ๊ณ ์นจ ์‹œ ํ•ด๋‹น ์†Œ์Šค๋ฅผ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ, netlify์—์„œ 404 ์—๋Ÿฌ๋ฅผ ๋‚ด๋ฑ‰๋Š”๋‹ค.
  • ํ•ด๊ฒฐ : public ํด๋” ์•ˆ์— redirets ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ์•ˆ์— ์•„๋ž˜์™€ ๊ฐ™์€ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค. ์ด๋Š” ์–ด๋– ํ•œ ๊ฒฝ๋กœ(/*)๋กœ ๋“ค์–ด์™€๋„ ๋ฃจํŠธ์˜ index.html์„ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค.
    /* /index.html 200
    

โฌ†๏ธTop

ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ ํ›„ ๋Š๋‚€ ์ 

๐Ÿผ ๊น€๋‹ค์ •

๊ธฐ๊ฐ„ ๋‚ด์— ๋๋‚ด๊ธฐ๋งŒ ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์˜€๋Š”๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ์—ฌ์œ ๋กญ๊ฒŒ ๋ณ„ ํƒˆ ์—†์ด ํ•ด๋‚ด์„œ ๋งค์šฐ ๊ธฐ์ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๊ธฐ๋Šฅ ์ด์ƒ์„ ํ•ด๋‚ธ ๋ถ€๋ถ„๋“ค๋„ ์žˆ์–ด ๋งค์šฐ ๊ธฐ๋ปค์œผ๋ฉฐ, ์ฝ”๋“œ๋ฅผ ์“ฐ๋‹ค ๋ง‰ํžˆ๋ฉด ๋ชจ๋‘๊ฐ€ ๋‚˜์„œ์„œ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ๋„์™€์ฃผ์—ˆ๋Š”๋ฐ ์ •๋ง ์ด์ƒ์ ์ธ ํŒ€ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฒฝํ—˜ํ•ด ๋ดค๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’— ๊ถŒ์ง€ํ˜œ

์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๋งŒํผ ์†Œํ”„ํŠธ ์Šคํ‚ฌ, ๋Œ€ํ™” ์Šคํ‚ฌ๋„ ์ค‘์š”ํ•˜๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ˜ผ์ž ํ–ˆ์„ ๋•Œ ์–ด๋ ค์› ๋˜ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฐ๋ณด๋‹ค ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐ๋˜๋Š” ๊ฒƒ์„ ๋ณด๋ฉด์„œ ์•ˆ๋„ํ•˜๋ฉด์„œ๋„ ํ•œํŽธ์œผ๋กœ๋Š” ์‹ฌ์ ์œผ๋กœ ํž˜๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํŒ€์›๋“ค์— ๋น„ํ•ด ์ƒ๋Œ€์ ์œผ๋กœ ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ์ง€๋งŒ, ์ ์–ด๋„ ์ฝ”๋“œ ํ๋ฆ„์„ ์ฝ๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค๋Š” ์ ์ด ์ €์—๊ฒŒ ํฐ ๋ฐœ์ „์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ‘ฉโ€๐Ÿ’ป ์ด์„์šฐ

์‹œ์ž‘ํ•  ๋•Œ๋Š” ์†Œํ”„ํŠธ ์Šคํ‚ฌ, ๊ทธ๋ฆฌ๊ณ  ๋ฆฌ๋”์‹ญ์˜ ๋ฐœ์ „์„ ๊ธฐ๋Œ€ํ–ˆ์ง€๋งŒ ๋ฌด๋‚œํ•˜๊ฒŒ ์ž˜ ๋”ฐ๋ผ์™€ ์ค€ ํŒ€์›๋“ค ๋•๋ถ„์— ํฐ ์šฐ์—ฌ๊ณก์ ˆ ์—†์ด ์—ฌ๊ธฐ๊นŒ์ง€ ์™”๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ๊นŒ์ง€ ์˜ค๋Š” ๋ฐ ๊ณ ๋ฏผํ•œ ์‹œ๊ฐ„๋“ค ๋˜ํ•œ ์ €์—๊ฒŒ ์žˆ์–ด ํฐ ๋ฐœ์ „์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ˜‘์—…ํ•  ๋•Œ ํ•„์š”ํ•œ ๊ธฐ์ˆ ๋“ค์— ๋Œ€ํ•ด ๋งŽ์ด ์•Œ ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜์Šต๋‹ˆ๋‹ค.

๐Ÿฐ ์ด์œ ์ง„

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

โฌ†๏ธTop

About

๐ŸŒˆ ์žฌ๋Šฅ ๊ธฐ๋ถ€ ๋ฐ ํŒ๋งค ํ”Œ๋žซํผ ๋ฌด์ง€๊ฐœ ๋งˆ์ผ“

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •