Skip to content

release v1.1.0 - #162

Merged
gihhyeon merged 39 commits into
mainfrom
develop
Sep 9, 2026
Merged

gihhyeon merged 39 commits into
mainfrom
develop

Conversation

@gihhyeon

@gihhyeon gihhyeon commented Sep 9, 2026

Copy link
Copy Markdown
Member

release v1.1.0

๊ทธ๋™์•ˆ ๋ฒ„์ „ ์ ์šฉ ์—†์ด ๋ฐฐํฌํ•ด์™”๊ธฐ ๋•Œ๋ฌธ์— ์ž„์˜๋กœ v1.1.0 ์„ ์ •

gihhyeon added 30 commits March 17, 2026 16:19
Updated back-end architecture image in README.
โ€ฆnsistency

#137 DTO ๋„ค์ด๋ฐ ํ†ต์ผ ๋ฐ ์™€์ผ๋“œ์นด๋“œ import ์ •๋ฆฌ
#137 place DTO๋ฅผ ์—ญํ• ๋ณ„ ์œ„์น˜๋กœ ์žฌ๋ฐฐ์น˜
#140 CI ์›Œํฌํ”Œ๋กœ์šฐ ์ถ”๊ฐ€ (PR ํ…Œ์ŠคํŠธ ์ž๋™ ๊ฒ€์ฆ)
[refactor] place ๋„๋ฉ”์ธ ๋ ˆ์ด์–ด๋“œ ํ‘œ์ค€ ํŒจํ‚ค์ง€๋กœ ํ†ต์ผ
[refactor] auth ๋„๋ฉ”์ธ ๋ ˆ์ด์–ด๋“œ ํ‘œ์ค€ ํŒจํ‚ค์ง€๋กœ ํ†ต์ผ
[refactor] user ๋„๋ฉ”์ธ ๋ ˆ์ด์–ด๋“œ ํ‘œ์ค€ ํŒจํ‚ค์ง€๋กœ ํ†ต์ผ
[refactor] lottery ๋„๋ฉ”์ธ dtoยทclient ์œ„์น˜ ์ •๋ฆฌ
[refactor] admin ๋„๋ฉ”์ธ dto ์œ„์น˜ ์ •๋ฆฌ
[docs] CLAUDE.md ์ž‘์„ฑ
- ๋ฏธ์‚ฌ์šฉ ์˜ˆ์™ธ ํด๋ž˜์Šค 4๊ฐœ ์‚ญ์ œ (PlaceAlreadyExistsException,
  PlaceRegistrationException, ValidationException, ExceptionUtils)
- GlobalExceptionHandler ๋กœ๊ทธ ๋ ˆ๋ฒจ์„ ์ƒํƒœ์ฝ”๋“œ๋กœ ๋ถ„๊ธฐ
  (5xx๋Š” error+์ŠคํƒํŠธ๋ ˆ์ด์Šค, 4xx๋Š” warn์œผ๋กœ ๋‚ฎ์ถฐ ๋กœ๊ทธ ์˜ค์—ผ ๋ฐฉ์ง€)
- ์—๋Ÿฌ ์‘๋‹ต์— machine-readable code ํ•„๋“œ ์ถ”๊ฐ€ (ErrorInfo = {code, message})
- ๋ฏธ์‚ฌ์šฉ error(String, String) ์˜ค๋ฒ„๋กœ๋“œ ์ œ๊ฑฐ,
  error(ErrorCode) โ†’ error(ErrorCode, message) ์œ„์ž„์œผ๋กœ ์ค‘๋ณต ์ œ๊ฑฐ
#153 ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ •๋ฆฌ ๋ฐ GlobalExceptionHandler ํ‘œ์ค€ํ™”
- HttpClientConfig ์‹ ๊ทœ: RestClientCustomizer/WebClientCustomizer๋กœ
  connect 2s / read 5s ํƒ€์ž„์•„์›ƒ์„ ์ž๋™ ๊ตฌ์„ฑ ๋นŒ๋”์— ์ค‘์•™ ์ ์šฉ
- KakaoApiClient๋ฅผ RestClient.Builder ์ฃผ์ž… ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝํ•ด ์ปค์Šคํ„ฐ๋งˆ์ด์ €
  ํƒ€์ž„์•„์›ƒ์ด ์ ์šฉ๋˜๋„๋ก ํ•จ (no-arg ์ž์ฒด๋นŒ๋“œ ์ƒ์„ฑ์ž ์ œ๊ฑฐ)
- Discord/KakaoLogin WebClient๋Š” ์ฃผ์ž…๋œ ๋นŒ๋”๋กœ ํƒ€์ž„์•„์›ƒ ์ž๋™ ์ƒ์†
โ€ฆeout

#155 ์™ธ๋ถ€ API ํ˜ธ์ถœ์— ๊ณตํ†ต ํƒ€์ž„์•„์›ƒ ์„ค์ • ์ถ”๊ฐ€
- PlaceRepository์— incrementLikeCount/decrementLikeCount @Modifying ์ฟผ๋ฆฌ ์ถ”๊ฐ€
  (๊ธฐ์กด incrementViewCount์™€ ๋™์ผ ํŒจํ„ด, decrement๋Š” likeCount > 0 ์กฐ๊ฑด์œผ๋กœ 0 ๋ฏธ๋งŒ ๋ฐฉ์ง€)
- PlaceLikeService์˜ addLike/removeLike๊ฐ€ ์—”ํ‹ฐํ‹ฐ in-memory ์ฆ๊ฐ ๋Œ€์‹  ์›์ž์  ์ฟผ๋ฆฌ ์‚ฌ์šฉ
- ์„œ๋กœ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ๊ฐ™์€ ๋ง›์ง‘์„ ์ข‹์•„์š”ํ•  ๋•Œ ์ฆ๊ฐ€๋ถ„์ด ์œ ์‹ค๋˜๋˜ ๋ฌธ์ œ ํ•ด๊ฒฐ
- ์ด์ œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Place.incrementLikeCount/decrementLikeCount ์ œ๊ฑฐ
- ๋™์‹œ์„ฑ ํšŒ๊ท€ ๋ฐฉ์ง€ ํ…Œ์ŠคํŠธ(PlaceLikeServiceConcurrencyTest) ์ถ”๊ฐ€
- ์Šค๋ ˆ๋“œํ’€ ํฌ๊ธฐ๋ฅผ ์‚ฌ์šฉ์ž ์ˆ˜(20)๋กœ ๋งž์ถฐ ์‹ค์ œ 20-way ๋™์‹œ์„ฑ ๋ณด์žฅ (๊ธฐ์กด 16์œผ๋กœ๋Š” ์ตœ๋Œ€ 16-way)
- doneLatch.await์— ํƒ€์ž„์•„์›ƒ(10s) + ์™„๋ฃŒ ์—ฌ๋ถ€ ๊ฒ€์ฆ์œผ๋กœ CI ๋ฌดํ•œ ๋Œ€๊ธฐ ๋ฐฉ์ง€
- ์›Œ์ปค ์Šค๋ ˆ๋“œ ์˜ˆ์™ธ๋ฅผ ์ˆ˜์ง‘ํ•ด ๊ฒ€์ฆํ•˜์—ฌ ์˜ˆ์™ธ๊ฐ€ ํ…Œ์ŠคํŠธ ์‹คํŒจ๋กœ ์ด์–ด์ง€๋„๋ก ๊ฐœ์„ 
  (log.error๋กœ ์ŠคํƒํŠธ๋ ˆ์ด์Šค ๋‚จ๊ธฐ๊ณ  failures ํ๋กœ ํŒ์ •)
#157 ์ข‹์•„์š” ์ˆ˜ ๋™์‹œ์„ฑ(lost-update) ์›์ž์  UPDATE๋กœ ํ•ด๊ฒฐ
- ์˜ค๋Š˜ ์กฐํšŒ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถ€์กฑํ•œ ์ƒˆ๋ฒฝ/์ €ํŠธ๋ž˜ํ”ฝ ๊ตฌ๊ฐ„์— ๋นˆ ๋žญํ‚น์ด ๋‚˜์˜ค๋˜ ๋ฌธ์ œ ์ˆ˜์ •
- getDailyRankingByViews๋ฅผ ํด๋ฐฑ ์ฒด์ธ์œผ๋กœ ๋ณ€๊ฒฝ (์˜ค๋Š˜ 3๊ณณ ์ด์ƒ โ†’ ์–ด์ œ 3๊ณณ ์ด์ƒ โ†’ ์ „์ฒด ๋ˆ„์  ์กฐํšŒ์ˆ˜)
- ๋ˆ„์  ์กฐํšŒ์ˆ˜ ๋žญํ‚น ์ฟผ๋ฆฌ findTopByCampusOrderByViewCount ์ถ”๊ฐ€
- ๋žญํ‚น ๋ฉ”์„œ๋“œ ๊ณตํ†ต ๋กœ์ง์„ buildRankingResponse ํ—ฌํผ๋กœ ์ถ”์ถœ
- ์˜ค๋Š˜์˜ ๋ง›์ง‘ ํด๋ฐฑ ์‹œ๋‚˜๋ฆฌ์˜ค ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€
#50 ์˜ค๋Š˜์˜ ๋ง›์ง‘ ์กฐํšŒ์ˆ˜ ๋žญํ‚น ๋นˆ ๊ฐ’ ๋ฐ˜ํ™˜ ๋ฌธ์ œ ํด๋ฐฑ์œผ๋กœ ํ•ด๊ฒฐ
- common/analytics: EventType/TargetType, EventLog(BaseEntity), AnalyticsEvent(record),
  AnalyticsRecorder(๋ฐœํ–‰ ํ—ฌํผ), AnalyticsEventListener(๋น„๋™๊ธฐ AFTER_COMMIT ์ ์žฌ),
  EventLogRepository, properties JSON ์ปจ๋ฒ„ํ„ฐ
- ๊ธฐ์กด ApplicationEvent + @async @TransactionalEventListener ํŒจํ„ด ์žฌ์‚ฌ์šฉ
- fire-and-forget: ์ ์žฌ ์‹คํŒจ๊ฐ€ ๋น„์ฆˆ๋‹ˆ์Šค ํŠธ๋žœ์žญ์…˜์— ์˜ํ–ฅ ์—†์Œ
- JSON ์ปจ๋ฒ„ํ„ฐ ์ง๋ ฌํ™”/์—ญ์ง๋ ฌํ™”
- ๋ฆฌ์Šค๋„ˆ ์ ์žฌยทํ•„๋“œ ๋งคํ•‘ยทproperties ์™•๋ณต
- ์ปค๋ฐ‹ ์‹œ ์ ์žฌ / ๋กค๋ฐฑ ์‹œ ๋ฏธ์ ์žฌ(AFTER_COMMIT) ํ†ตํ•ฉ ๊ฒ€์ฆ
- prod(validate) ๋ฐฐํฌ ์ „ ์ˆ˜๋™ ์ƒ์„ฑ์šฉ CREATE TABLE
- DAU/์‹ ๊ทœ๊ฐ€์ž…/์ฝ”ํ˜ธํŠธ ๋ฆฌํ…์…˜/๋“ฑ๋กโ†’์Šน์ธโ†’์‘๋ชจ ํผ๋„ ์ง‘๊ณ„ ์ฟผ๋ฆฌ
[feature] ๋น„์ฆˆ๋‹ˆ์Šค ์ด๋ฒคํŠธ ๋กœ๊น… ๊ธฐ๋ฐ˜ ๊ตฌ์ถ•
@gihhyeon gihhyeon self-assigned this Sep 9, 2026
@gihhyeon
gihhyeon merged commit 6233b8c into main Sep 9, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant