Skip to content

πŸ™‹πŸ»β€β™‚οΈ μ‹€μ‹œκ°„μœΌλ‘œ ν•¨κ»˜ ν•˜λŠ” ν€΄μ¦ˆ κ²Œμž„ πŸ™‹πŸ»β€β™‚οΈ

Notifications You must be signed in to change notification settings

boostcampwm-2024/web10-QuizGround

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

0


ν€΄μ¦ˆκ·ΈλΌμš΄λ“œ λ°”λ‘œκ°€κΈ°

νŒ€ λ…Έμ…˜ Β  | Β  백둜그 Β  | Β  개발 μœ„ν‚€


πŸ“„ λͺ©μ°¨


✍🏻 μ„œλΉ„μŠ€ μ†Œκ°œ

1
  • QuizGroundλŠ” μ‹€μ‹œκ°„ ν€΄μ¦ˆ κ²Œμž„ ν”Œλž«νΌμž…λ‹ˆλ‹€!
  • κ·€μ—¬μš΄ 이λͺ¨μ§€ μΊλ¦­ν„°λ‘œ λ³€μ‹ ν•˜μ—¬ ν€΄μ¦ˆλ₯Ό ν’€ 수 μžˆμ–΄μš”!
  • ν•œ κ²Œμž„λ°©μ—μ„œ μ΅œλŒ€ 200λͺ…κΉŒμ§€ ν”Œλ ˆμ΄ν•  수 μžˆμ–΄μš”!

πŸš€ 핡심 κΈ°λŠ₯

κ²Œμž„ λͺ¨λ“œ

생쑴 λͺ¨λ“œ λ˜λŠ” λž­ν‚Ή λͺ¨λ“œ 쀑 μ„ νƒν•˜μ—¬ ν”Œλ ˆμ΄ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

survival ranking3

[생쑴 λͺ¨λ“œ] ν€΄μ¦ˆλ₯Ό 맞좰 λκΉŒμ§€ μ‚΄μ•„λ‚¨μ•„λ³΄μ„Έμš”!

[λž­ν‚Ή λͺ¨λ“œ] ν€΄μ¦ˆλ₯Ό 맞좰 점수λ₯Ό λͺ¨μ•„λ³΄μ„Έμš”!

μ‹€μ‹œκ°„ μƒν˜Έμž‘μš©

μ‹€μ‹œκ°„ μ±„νŒ…κ³Ό μ‹€μ‹œκ°„ μ΄λ™μœΌλ‘œ λ‹€λ₯Έ μ‚¬μš©μžλ“€κ³Ό μƒν˜Έμž‘μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

chat update

μ‹€μ‹œκ°„ μ±„νŒ…

μ‹€μ‹œκ°„ 이동

200λͺ…κ³Ό ν•¨κ»˜ ν•˜λŠ” κ²Œμž„

μœ„ λͺ¨λ“  κΈ°λŠ₯이 200λͺ…이 μžˆλŠ” κ²Œμž„λ°©μ—μ„œλ„ κ°€λŠ₯ν•΄μš”!

ranking3

πŸ”₯ 200λͺ…μ˜ μ‹€μ‹œκ°„ μœ„μΉ˜ μ—…λ°μ΄νŠΈλ₯Ό μ΅œμ ν™”ν•˜κΈ°κΉŒμ§€

200λͺ…이 ν•œ κ²Œμž„λ°©μ—μ„œ μ›ν™œνžˆ ν”Œλ ˆμ΄ν•  수 μžˆλ„λ‘ λ…Έλ ₯ν–ˆμ–΄μš”!

[FE] μ‹€μ‹œκ°„ 200λͺ… ν”Œλ ˆμ΄μ–΄ λ Œλ”λ§ 59% μ„±λŠ₯ ν–₯상

  • 동기
    • 200λͺ…이 ν•œ κ²Œμž„λ°©μ—μ„œ μ›ν™œνžˆ ν”Œλ ˆμ΄ν•  수 μžˆλŠ” κ±Έ λͺ©ν‘œλ‘œ ν–ˆμŠ΅λ‹ˆλ‹€.
  • 행동
    • λΆ€ν•˜ ν…ŒμŠ€νŠΈλ₯Ό 톡해 200λͺ…이 μ›ν™œνžˆ ν”Œλ ˆμ΄ κ°€λŠ₯ν•œμ§€ ν…ŒμŠ€νŠΈν–ˆμŠ΅λ‹ˆλ‹€.
    • μƒνƒœμ— λŒ€ν•œ μžλ£Œκ΅¬μ‘°μ™€ ꡬ독 방식을 λ°”κΎΈμ–΄ κ°œμ„ ν–ˆμŠ΅λ‹ˆλ‹€.
  • κ²°κ³Ό
    • 200λͺ…이 5μ΄ˆκ°„ μœ„μΉ˜ μ—…λ°μ΄νŠΈλ₯Ό ν•˜λ©΄ κΈ°μ‘΄μ—λŠ” 16.71μ΄ˆκ°€ κ±Έλ Έμ§€λ§Œ 6.71초둜 59% λΉ¨λΌμ‘ŒμŠ΅λ‹ˆλ‹€.
  • ν•΄λ‹Ή κ²½ν—˜μ΄ 더 κΆκΈˆν•˜μ‹œλ‹€λ©΄?

[BE] 캐릭터 μœ„μΉ˜ μ—…λ°μ΄νŠΈ μ΅œμ ν™”

  • 동기
    • 200λͺ…이 ν•œ κ²Œμž„λ°©μ—μ„œ μ›ν™œνžˆ ν”Œλ ˆμ΄ν•  수 μžˆλŠ” κ±Έ λͺ©ν‘œλ‘œ ν–ˆμŠ΅λ‹ˆλ‹€.
  • 행동
    • λΆ€ν•˜ ν…ŒμŠ€νŠΈλ₯Ό 톡해 200λͺ…이 μ›ν™œνžˆ ν”Œλ ˆμ΄ κ°€λŠ₯ν•œμ§€ ν…ŒμŠ€νŠΈν–ˆμŠ΅λ‹ˆλ‹€.
    • λ©€ν‹° ν”„λ‘œμ„ΈμŠ€λ‘œ μš΄μ˜ν•˜μ—¬ μ†ŒμΌ“ λ©”μ‹œμ§€ 응닡 μ‹œκ°„μ„ μ€„μ˜€μŠ΅λ‹ˆλ‹€.
    • 배치 처리λ₯Ό λ„μž…ν•˜μ—¬ μ†ŒμΌ“ λ©”μ‹œμ§€ 응닡 μ‹œκ°„μ„ μ€„μ˜€μŠ΅λ‹ˆλ‹€.
  • κ²°κ³Ό
    • λ©€ν‹° ν”„λ‘œμ„ΈμŠ€λ₯Ό 톡해 μœ„μΉ˜ μ—…λ°μ΄νŠΈμ— λŒ€ν•œ μ„œλ²„ μ‘λ‹΅μ‹œκ°„μ„ p95 18.7μ΄ˆμ—μ„œ 7.1초둜 κ°œμ„ ν–ˆμŠ΅λ‹ˆλ‹€.
    • 배치 처리λ₯Ό 톡해 μœ„μΉ˜ μ—…λ°μ΄νŠΈμ— λŒ€ν•œ μ„œλ²„ μ‘λ‹΅μ‹œκ°„μ„ p95 7.1μ΄ˆμ—μ„œ 0.11초둜 κ°œμ„ ν–ˆμŠ΅λ‹ˆλ‹€.
  • ν•΄λ‹Ή κ²½ν—˜μ΄ 더 κΆκΈˆν•˜μ‹œλ‹€λ©΄?

🚨 [FE] 핡심 κ²½ν—˜

FEμ—μ„œλŠ” 이런 κ²½ν—˜λ„ ν–ˆμ–΄μš”!

Canvasλ₯Ό ν†΅ν•œ κ²Œμž„ μ΄νŽ™νŠΈ λ Œλ”λ§ μ΅œμ ν™”

  • 동기
    • ν€΄μ¦ˆκ°€ 끝날 λ•Œ μ—¬λŸ¬ μ΄νŽ™νŠΈκ°€ μž‘λ™ν•˜λ©΄μ„œ λΆ€ν•˜κ°€ 생겨 화면이 λŠλ €μ§€λŠ” λ¬Έμ œμ μ„ λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€.
  • 행동
    • canvasλ₯Ό μ‚¬μš©ν•˜μ—¬ μž¬λ Œλ”λ§ μ„±λŠ₯을 λ†’μ˜€μŠ΅λ‹ˆλ‹€.
    • Lottie μ• λ‹ˆλ©”μ΄μ…˜ νŒŒμΌμ„ μ΅œμ ν™”ν•˜μ—¬ λ Œλ”λ§ μ„±λŠ₯을 λ†’μ˜€μŠ΅λ‹ˆλ‹€.
  • κ²°κ³Ό
    • κ²Œμž„ νŠΉμ„± 상 μ‹œκ°μ μœΌλ‘œ μ€‘μš”ν•œ μ΄νŽ™νŠΈ λ Œλ”λ§μ— λŒ€ν•΄ μ΅œμ ν™”ν–ˆμŠ΅λ‹ˆλ‹€.
  • ν•΄λ‹Ή κ²½ν—˜μ΄ 더 κΆκΈˆν•˜μ‹œλ‹€λ©΄?

λ°±μ—”λ“œ 없이도 κ°œλ°œν•˜μž!

  • 동기
    • λ°±μ—”λ“œλ³΄λ‹€ ν”„λ‘ νŠΈ 진행 상황이 더 빨라 κ΅¬ν˜„ν•œ 게 μ‹€μ œλ‘œ λ™μž‘ν•˜λŠ”μ§€ ν™•μΈν•˜κΈ°κ°€ μ–΄λ €μ› μŠ΅λ‹ˆλ‹€.
  • 행동
    • SocketMock을 λ§Œλ“€μ–΄ μ„œλ²„κ°€ μžˆλŠ” κ²ƒμ²˜λŸΌ ν…ŒμŠ€νŠΈν•  수 있게 ν–ˆμŠ΅λ‹ˆλ‹€.
    • κ°„λ‹¨νžˆ PIN번호만 μž…λ ₯ν•˜λ©΄ μ—¬λŸ¬ μ‹œλ‚˜λ¦¬μ˜€μ— λŒ€ν•΄ ν…ŒμŠ€νŠΈν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • κ²°κ³Ό
    • λ°±μ—”λ“œ 개발 상황에 λ¬΄κ΄€ν•˜κ²Œ ν”„λ‘ νŠΈμ—μ„œ κ°œλ°œν•œ κΈ°λŠ₯을 ν…ŒμŠ€νŠΈν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • ν•΄λ‹Ή κ²½ν—˜μ΄ 더 κΆκΈˆν•˜μ‹œλ‹€λ©΄?

ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ μ‹œκ°„μ„ λ™κΈ°ν™”ν•˜μž!

  • 동기
    • ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ μ‹œκ°„μ΄ λ‹¬λΌμ§€λŠ” 였λ₯˜κ°€ λ°œμƒν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • 행동
    • ν΄λΌμ΄μ–ΈνŠΈκ°€ 주기적으둜 μ„œλ²„ μ‹œκ°„μ„ 가져와 둜컬 μ‹œκ°„κ³Όμ˜ 차이λ₯Ό κ³„μ‚°ν•©λ‹ˆλ‹€.
  • κ²°κ³Ό
    • λͺ¨λ“  ν΄λΌμ΄μ–ΈνŠΈκ°€ 거의 λ™μΌν•œ 상황에 ν€΄μ¦ˆλ₯Ό μ‹œμž‘ν•  수 있게 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • ν•΄λ‹Ή κ²½ν—˜μ΄ 더 κΆκΈˆν•˜μ‹œλ‹€λ©΄?

⭐ [BE] 핡심 κ²½ν—˜

BEμ—μ„œλŠ” 이런 κ²½ν—˜λ„ ν–ˆμ–΄μš”!

μš°λ¦¬λŠ” μ–΄λ–»κ²Œ Redisλ₯Ό μ‚¬μš©ν–ˆλŠ”κ°€?

  • 동기
    • κ²Œμž„ μ„œλ²„μ˜ λΆ€ν•˜ λΆ„μ‚°κ³Ό μ„Έμ…˜ 관리λ₯Ό 효율적으둜 μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄ Redisλ₯Ό μ„ νƒν–ˆμŠ΅λ‹ˆλ‹€.
  • 행동
    • Redisλ₯Ό μ“°κΈ° 전에 Data Modeling을 ν•˜λ©΄μ„œ 자료ꡬ쑰λ₯Ό μ–΄λ–»κ²Œ 쓸지 λ…Όμ˜ν–ˆμŠ΅λ‹ˆλ‹€.
    • Redis의 Pub/Sub, Keyspace Notifications κΈ°λŠ₯을 ν™œμš©ν•˜μ—¬ ν€΄μ¦ˆ κ²Œμž„μ„ μ§„ν–‰ν–ˆμŠ΅λ‹ˆλ‹€.
  • κ²°κ³Ό
    • Redisλ₯Ό 톡해 μ„Έμ…˜μ„ κ΄€λ¦¬ν•¨μœΌλ‘œμ¨ λ©€ν‹° ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‰½κ²Œ μš΄μ˜ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.
  • ν•΄λ‹Ή κ²½ν—˜μ΄ 더 κΆκΈˆν•˜μ‹œλ‹€λ©΄?

Redis λ©”λͺ¨λ¦¬ μ•„κ»΄μ“°κΈ°!

  • 동기
    • κ²Œμž„λ°© 운영 μ‹œ λΆˆν•„μš”ν•œ λ°μ΄ν„°λ‘œ μΈν•œ Redis λ©”λͺ¨λ¦¬ 증가 문제 해결이 ν•„μš”ν–ˆμŠ΅λ‹ˆλ‹€.
  • 행동
    • TTL 적용 및 SCAN/Pipeline λ„μž…μœΌλ‘œ μ΅œμ ν™”ν–ˆμŠ΅λ‹ˆλ‹€.
    • lastActivityAt + 인터셉터 νŒ¨ν„΄μœΌλ‘œ λ°© ν™œμ„±ν™” 관리 λͺ¨λ“ˆμ„ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.
  • κ²°κ³Ό
    • λΆˆν•„μš”ν•œ λ°μ΄ν„°λŠ” μžλ™ μ •λ¦¬λ˜μ–΄ Redis λ©”λͺ¨λ¦¬λ₯Ό 효율적으둜 κ΄€λ¦¬ν–ˆμŠ΅λ‹ˆλ‹€.
  • ν•΄λ‹Ή κ²½ν—˜μ΄ 더 κΆκΈˆν•˜μ‹œλ‹€λ©΄?

WAS 해킹을 λ‹Ήν–ˆμ–΄μš”!

  • 동기
    • 데λͺ¨ 데이 1일 μ „ μ„œλ²„κ°€ κ°‘μžκΈ° μ•ˆλ˜λŠ” μ΄μŠˆκ°€ μƒκ²ΌμŠ΅λ‹ˆλ‹€.
  • 행동
    • pm2 λ‘œκ·Έκ°€ 아무것도 λ‚˜μ˜€μ§€ μ•Šμ•˜κ³ , Ncloudλ₯Ό ν™•μΈν•΄λ³΄λ‹ˆ cpu 100%λ₯Ό 찍고 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.
  • κ²°κ³Ό
    • 넀이버 ν΄λΌμš°λ“œλ‘œ λ³΄μ•ˆ 이벀트 μ•Œλ¦Όμ„ λ°›μ•˜μŠ΅λ‹ˆλ‹€.
  • μ™œ ν•΄ν‚Ήλ‹Ήν–ˆλŠ”μ§€ 더 κΆκΈˆν•˜μ‹œλ‹€λ©΄?

πŸ“š 기술 μŠ€νƒ

image

πŸͺ μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜

image

πŸ€— μ‹œν¬λ¦Ώμ£Όμ£Ό νŒ€μ›

κΉ€μƒν˜ κΉ€μ€€κΈ° 솑건석 μœ λ™ν›ˆ λ°•μ€€μš°
κΉ€μƒν˜ ν”„λ‘œν•„ κΉ€μ€€κΈ° ν”„λ‘œν•„ 솑건석 ν”„λ‘œν•„ μœ λ™ν›ˆ ν”„λ‘œν•„ λ°•μ€€μš° ν”„λ‘œν•„
BE FE BE BE FE
@NewCodes7 @ijun17 @songbuild00 @DongHoonYu96 @always97

About

πŸ™‹πŸ»β€β™‚οΈ μ‹€μ‹œκ°„μœΌλ‘œ ν•¨κ»˜ ν•˜λŠ” ν€΄μ¦ˆ κ²Œμž„ πŸ™‹πŸ»β€β™‚οΈ

Resources

Stars

Watchers

Forks

Packages

No packages published