Releases: Team-Capple/Capple-Server
๐ v2.0.1
์ผํ ์ ๊ท ํจ์น์ ๋๋ค.
์ง๋ฌธ๊ณผ ๋๊ธ ์๊ฒฉ ์๋ฆผ ์ฌ์ด๋๊ฐ ๋ฐ์ํ์ง ์๋ ๋ฒ๊ทธ ์์
- ๊ธฐ์กด์ ์ฌ์ด๋ ๊ฐ์ด null๋ก ์ ๋ฌ๋๋ ๊ตฌํ๋ฐฉ๋ฒ์ ๊ธฐ๋ณธ ์๋ฆผ์ฌ์ด๋๋ฅผ "default"๋ก ์ ๋ฌํ๋ ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝ ์๋ฃํ์ต๋๋ค.
What's Changed
- [HOTFIX] ์ง๋ฌธ, ๋๊ธ ์๊ฒฉ ์๋ฆผ์ ์๋ฆผ ์ฌ์ด๋ ์ค์ by @jaewonLeeKOR in #230
Full Changelog: v2.0.0...v2.0.1
๐ v2.0.0
์ผํ ๋ฒ์ 2 ์ด์์๋ฒ ๋ฐฐํฌ์ ๋๋ค.
๊ฒ์ํ์ด ์๊ฒผ์ด์.
- ์ค๋์ ์ง๋ฌธ์ผ๋ก๋ง ์ํต์ด ๊ฐ๋ฅํ์ง๋ง, ๋ฒ์ 2 ๋ถํฐ ๊ฒ์ํ์ ๊ฒ์๊ธ์ ์์ฑํ ์ ์์ด์.
๊ฒ์๊ธ์ ๋๊ธ์ด ์๊ฒผ์ด์.
- ๋ค๋ฅธ ๋ฌ๋๊ฐ ์์ฑํ ๊ฒ์๊ธ์ ๋๊ธ์ ์์ฑํ ์ ์์ด์.
์๋ฆผ์ด ๊ณ ๋ํ ๋์ด์.
- ์ง๋ฌธ ์๋ฆผ์ด ๋ด์ฉ๊ณผ ํจ๊ป ์ ๋ฌ๋ฉ๋๋ค.
- ๊ฒ์ํ๊ณผ ๋๊ธ์ ์๋ฆผ์ด ์ฌ์ฉ์์๊ฒ ์ ๋ฌ๋ฉ๋๋ค.
What's Changed
- [RELEASE] 0.0.1 ๋ฒ์ ์์ ์ฌํญ by @jaewonLeeKOR in #104
- [FIX] ๋น๋ ์๋ ํด๊ฒฐ by @tnals2384 in #108
- [HOTFIX] ์ค์ผ์ค๋ฌ ์๋ฌ ํธ๋ค๋ฌ ์ถ๊ฐ by @jaewonLeeKOR in #106
- [HOTFIX] ๋ต๋ณ ์ญ์ ํ isAnswered ์ ๋ฐ์ดํธ by @kyxxgsoo in #118
- [HOTFIX] ๋ต๋ณ ํ์ด์ง ํด์ by @kyxxgsoo in #119
- [HOTFIX] ํ๋กํ ์ด๋ฏธ์ง NULL๊ฐ์ผ๋ก ์ธํ ์์ฑํ ๋ต๋ณ ์กฐํ ์๋ฌ ์์ by @kyxxgsoo in #120
- [REFACTOR] ์ข์ํ ๋ต๋ณ ์กฐํ ์์ + ๋ง์ดํ์ด์ง ํ ์คํธ ์ฝ๋ ์์ฑ by @youngeun-dev in #124
- [STYLE] ์ด์ ํ๋กํ์ผ ์ค์จ๊ฑฐ ๊นํ ๋งํฌ ์ถ๊ฐ ๋ฐ ๋ฒ์ ์ ๋ณด ํํ by @jaewonLeeKOR in #121
- [FEAT] TAG ๊ธฐ๋ฅ ์ญ์ by @tnals2384 in #127
- [FEAT] TAG ๊ธฐ๋ฅ ์ญ์ ์ ๋ฐ๋ฅธ test code ์์ by @tnals2384 in #130
- [FEAT] ๋ต๋ณ ๋๊ธ CRUD, ์ข์์ ๊ธฐ๋ฅ ๊ตฌํ by @youngeun-dev in #132
- [FEAT] ๊ฒ์ํ ๋๊ธ API ๊ตฌํ by @tnals2384 in #134
- [FEAT] ๊ฒ์ํ ๊ธฐ๋ฅ ๊ตฌํ by @kyxxgsoo in #131
- [FEAT] ์ ํ ํธ์ ์๋ฆผ ๊ตฌํ by @jaewonLeeKOR in #135
- [RELEASE] ๊ฒ์ํ, ๊ฒ์ํ ๋๊ธ ,์ ํ ํธ์ ์๋ฆผ ๊ตฌํ by @tnals2384 in #136
- [FEAT] ๋ต๋ณ ์กฐํ API ๋ณ๊ฒฝ์ฌํญ ์์ by @kyxxgsoo in #138
- [TEST] ๊ฒ์ํ, ๊ฒ์ํ ์ข์์ ๋๋ฏธ๋ฐ์ดํฐ API ์์ฑ by @tnals2384 in #141
- [REFACTOR] ์ข์์ RDB๋ก ๊ตฌํ by @tnals2384 in #143
- [RELEASE] ๋ต๋ณ API ์์ , ๊ฒ์ํ ์ข์์ RDB ๊ตฌํ, ๋๋ฏธ๋ฐ์ดํฐ ์์ฑ by @tnals2384 in #148
- [FEAT] ๋น์ฆ๋์ค ๋ก์ง๊ณผ ์๊ฒฉ ์๋ฆผ ๋ฐ์ก ๋ก์ง ์ฐ๊ฒฐ by @jaewonLeeKOR in #147
- [RELEASE] ๋น์ฆ๋์ค ๋ก์ง๊ณผ ์๊ฒฉ ์๋ฆผ ๋ฐ์ก ๋ก์ง ์ฐ๊ฒฐ by @jaewonLeeKOR in #151
- [FEAT] ์๋ฆผ ๋ฆฌ์คํธ ์ ์ฅ, ์กฐํ, ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ by @jaewonLeeKOR in #154
- [FEAT] ์ ๊ณ ํจ ๊ธฐ๋ฅ ๊ตฌํ(๊ฒ์ํ) by @kyxxgsoo in #144
- [FEAT] ๊ฒ์ํ ๋๊ธ ์ ๊ณ ํจ ๊ธฐ๋ฅ ๊ตฌํ by @youngeun-dev in #146
- [REFACTOR] RDB ์ข์์ ์กฐํ ๋ฐฉ์ ์์ by @tnals2384 in #158
- [FEAT] ๊ฒ์๊ธ, ๋๊ธ ๋ชฉ๋ก ํ์ด์ง๋ค์ด์ ๊ตฌํ by @tnals2384 in #160
- [FEAT] ์ง๋ฌธ, ๋ต๋ณ ๋ชฉ๋ก ํ์ด์ง๋ค์ด์ ๊ตฌํ by @jaewonLeeKOR in #162
- [LOG] logback ์ค์ by @tnals2384 in #163
- [FEAT] ์คํ๋ง ๋ฉํธ๋ฆญ ๋ชจ๋ํฐ๋ง ์ค์ by @jaewonLeeKOR in #164
- [DEPLOY] ๋ก๊ทธ ์์ง์ ์ํ ์คํ๋ง ์ปจํ ์ด๋ ๋ณผ๋ฅจ ๋ง์ดํธ ์ค์ by @jaewonLeeKOR in #168
- [FIX] redis-cloud ์ฐ๊ฒฐ ์ ๊ฑฐ by @jaewonLeeKOR in #166
- [RELEASE] ํ์ด์ง๋ค์ด์ ์ ์ฉ, ์๋ฆผ๋ฆฌ์คํธ ์กฐํ ๊ตฌํ by @jaewonLeeKOR in #171
- [FEAT] ํ์๊ฐ์ ์ธ์ฆ ๋ฉ์ผ ๊ฐ์ by @jaewonLeeKOR in #177
- [FEAT] ์ง๋ฌธ ์์ฑ/์ข ๋ฃ ์๊ฒฉ ์๋ฆผ ๊ตฌํ ๋ฐ ์๋ฆผ ์ํฐํฐ ๊ตฌ์ฑ๋ฐฉ์ ๋ณ๊ฒฝ by @jaewonLeeKOR in #174
- [FEAT] ์๊ฒฉ ์๋ฆผ ์์ ๋ณ๊ฒฝ by @jaewonLeeKOR in #179
- [RELEASE] ํ์๊ฐ์ ๋ฉ์ผ ๊ฐ์ , ์ง๋ฌธ ์์ฑ/์ข ๋ฃ ์๊ฒฉ ์๋ฆผ ์ด๊ด, ๊ธฐ์กด ์๊ฒฉ ์๋ฆผ ํ์ ๋ณ๊ฒฝ by @jaewonLeeKOR in #181
- [FEAT] csv ์ด์ฉ ์ง๋ฌธ ์ผ๊ด ์ฝ์ ๊ธฐ๋ฅ by @jaewonLeeKOR in #187
- [FEAT] ์ง๋ฌธ, ๊ฒ์๊ธ ์ด ๊ฐ์ ๋ฐํ by @jaewonLeeKOR in #189
- [FEAT] ๋ฆด๋ฆฌ์ฆ ์๋ฒ ์ฐ๊ฒฐ APNs ์๋ฒ ๊ตฌ์ฑ ๋ณ๊ฒฝ by @jaewonLeeKOR in #193
- [FEAT] ๋ฌดํ์คํฌ๋กค์ ์ค๋ณต ์ปจํ ์ธ ๋ฌธ์ ํด๊ฒฐ by @jaewonLeeKOR in #192
- [FEAT] ๊ฒ์๊ธ ์กฐํ API DTO ๋ณ๊ฒฝ by @kyxxgsoo in #185
- [RELEASE] ๊ฒ์๊ธ ์กฐํ DTO ๋ณ๊ฒฝ, ์ง๋ฌธ ์ผ๊ด ์ฝ์ , ์ง๋ฌธ/๊ฒ์๊ธ ์ด ๊ฐ์ ๋ฐํ, ๋ฌดํ์คํฌ๋กค ์ค๋ณต ์ปจํ ์ธ ๋ฌธ์ , ๋ฆด๋ฆฌ์ฆ ์๋ฒ APNs ์๋ฒ ๊ตฌ์ฑ ๊ฐ์ by @jaewonLeeKOR in #194
- [FIX] ๊ฒ์๊ธ ๋๊ธ ์ ๋ ฌ ๊ธฐ์ค ์์ by @tnals2384 in #198
- [FIX] ์ง๋ฌธ๋ณ ์กฐํ์ ๋ต๋ณ ์ด ๊ฐ์ ๋ฐํ ๊ฐ ์ถ๊ฐ ๋ฐ lastIndex ์์ฑ ์ค๋ฅ ์์ by @jaewonLeeKOR in #200
- [FEAT] ๊ฒ์๊ธ ๋จ๊ฑด ์กฐํ API ๊ตฌํ by @tnals2384 in #203
- [FEAT] ๊ฒ์๊ธ ์์ API ๊ตฌํ by @kyxxgsoo in #170
- [RELEASE] ๊ฒ์๊ธ ์์ API ๊ตฌํ, ๊ฒ์๊ธ ๋๊ธ ์ ๋ ฌ ๊ธฐ์ค ์์ , ์ง๋ฌธ๋ณ ์กฐํ์ ๋ต๋ณ ์ด ๊ฐ์ ๋ฐํ ๊ฐ ์ถ๊ฐ, lastIndex ์์ฑ ์ค๋ฅ ์์ , ๊ฒ์๊ธ ๋จ๊ฑด ์กฐํ API ๊ตฌํ by @jaewonLeeKOR in #204
- [REFACTOR] Notification ์กฐํ N+1 ๋ฌธ์ ํด๊ฒฐ by @jaewonLeeKOR in #207
- [FIX] ๋ ธ์คํ์ ํ์ด์ง ๊ธฐ๋ฒ์ผ๋ก ๋ณ๊ฒฝ by @jaewonLeeKOR in #209
- [REFACTOR] ๋ต๋ณ ์กฐํ N+1 ๋ฌธ์ ํด๊ฒฐ by @jaewonLeeKOR in #211
- [REFACTOR] ๊ฒ์๊ธ ์กฐํ N+1๋ฌธ์ ํด๊ฒฐ by @jaewonLeeKOR in #213
- [RELEASE] Notification, ๋ต๋ณ, ๊ฒ์๊ธ ์กฐํ N+1 ๋ฌธ์ ํด๊ฒฐ, ๋ ธ์คํ์ ํ์ด์ง ๊ธฐ๋ฒ์ผ๋ก ๋ณ๊ฒฝ by @jaewonLeeKOR in #214
- [FIX] ํ์ดํธ๋ฆฌ์คํธ์ ์์ ์ ๋ฉ์ผ ๋ฐ์ก์ ํ์ง ์๋๋ก ์์ by @jaewonLeeKOR in #218
- [FIX] ์ธ์ฆ๋ฉ์ผ ์ ๋ชฉ ๋ณ๊ฒฝ by @jaewonLeeKOR in #220
- [RELEASE] ํ์ดํธ๋ฆฌ์คํธ์ ์์ ์ ๋ฉ์ผ ๋ฐ์ก์ ํ์ง ์๋๋ก ์์ , ์ธ์ฆ๋ฉ์ผ ์ ๋ชฉ ๋ณ๊ฒฝ by @jaewonLeeKOR in #221
- [FIX] ์๋ฆผ ํ์ ์ฐ๊ด๊ด๊ณ ์ค์ ๋ฐ ๊ฐ์ ์ ์๋ฆผ ์กฐํ ์ฐจ๋จ by @jaewonLeeKOR in #224
- [RELEASE] ์๋ฆผ ํ์ ์ฐ๊ด๊ด๊ณ ์ค์ ๋ฐ ๊ฐ์ ์ ์๋ฆผ ์กฐํ ์ฐจ๋จ by @jaewonLeeKOR in #225
- [RELEASE] ์ผํ ๋ฒ์ 2 ๋ฐฐํฌ by @jaewonLeeKOR in #227
Full Changelog: v0.0.4...v2.0.0
v0.1.0-alpha.12
ํ๊ฐ์ง ๊ธฐ๋ฅ ์์
์๋ฆผ ํ์ ์ฐ๊ด๊ด๊ณ ์ค์ ๋ฐ ๊ฐ์ ์ ์๋ฆผ ์กฐํ ์ฐจ๋จ
- ๊ฐ์
์ ์๋ฆผ ์กฐํ ์ฐจ๋จ
- ๊ฐ์ ์ ์ ๋ฐ์ํ ๊ณตํต์๋ฆผ(์ค๋์ ์ง๋ฌธ ์์/์ข ๋ฃ)์ด ๋ณด์ด๋ ์ค๋ฅ๋ฅผ ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ด์ฉํด ์์ฑ์ผ ๊ธฐ์ค์ผ๋ก ์ฒ๋ฆฌํ์ต๋๋ค.
What's Changed
- [FIX] ์๋ฆผ ํ์ ์ฐ๊ด๊ด๊ณ ์ค์ ๋ฐ ๊ฐ์ ์ ์๋ฆผ ์กฐํ ์ฐจ๋จ by @jaewonLeeKOR in #224
- [RELEASE] ์๋ฆผ ํ์ ์ฐ๊ด๊ด๊ณ ์ค์ ๋ฐ ๊ฐ์ ์ ์๋ฆผ ์กฐํ ์ฐจ๋จ by @jaewonLeeKOR in #225
Full Changelog: v0.1.0-alpha.11...v0.1.0-alpha.12
v0.1.0-alpha.11
๋ฉ์ผ๊ณผ ๊ด๋ จ๋ ๋๊ฐ์ง ๊ธฐ๋ฅ์ ์์ ์ด ์์ต๋๋ค.
ํ์ดํธ๋ฆฌ์คํธ์ ์์ ์ ๋ฉ์ผ ๋ฐ์ก์ ํ์ง ์๋๋ก ์์
- ํ์ดํธ๋ฆฌ์คํธ์ ์กด์ฌํ๋ ์ด๋ฉ์ผ์ผ ๊ฒฝ์ฐ ๋ฉ์ผ์ ๋ฐ์กํ๊ธฐ ์ ๊น์ง ๊ณ ์ ์ธ์ฆ๋ฒํธ๊ฐ ์๋ํ์ง ์๋ ์ค๋ฅ๋ฅผ ์์ ํ์ต๋๋ค.
์ธ์ฆ๋ฉ์ผ ์ ๋ชฉ ๋ณ๊ฒฝ
- ์ธ์ฆ ๋ฉ์ผ์ ์ ๋ชฉ์ Capple ์ Qapple๋ก ์์ ํ์ต๋๋ค.
What's Changed
- [FIX] ํ์ดํธ๋ฆฌ์คํธ์ ์์ ์ ๋ฉ์ผ ๋ฐ์ก์ ํ์ง ์๋๋ก ์์ by @jaewonLeeKOR in #218
- [FIX] ์ธ์ฆ๋ฉ์ผ ์ ๋ชฉ ๋ณ๊ฒฝ by @jaewonLeeKOR in #220
- [RELEASE] by @jaewonLeeKOR in #221
Full Changelog: v0.1.0-alpha.10...v0.1.0-alpha.11
v0.1.0-alpha.10
ํฌ๊ฒ ๋ ์ข ๋ฅ์ ๊ธฐ๋ฅ ๊ฐ์ /๋ฆฌํฉํ ๋ง ๋ณ๊ฒฝ์ฌํญ์ด ์์ต๋๋ค.
์๋ฆผ, ๋ต๋ณ, ๊ฒ์๊ธ ์กฐํ N+1 ๋ฌธ์ ํด๊ฒฐ #207, #211, #213
- API ํธ์ถ์ LAZY ํจ์น ์ ๋ต์ ๋ฐ๋ฅธ N+1 ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ N+1์ ์ฟผ๋ฆฌ์ ๋ฐ์์ 1๊ฐ์ ์ฟผ๋ฆฌ๋ก ์ค์์ต๋๋ค.
๋ ธ์คํ์ ํ์ด์ง ๊ธฐ๋ฒ์ผ๋ก ๋ณ๊ฒฝ #209
- ๊ธฐ์กด์ ํ์ด์ง ๊ธฐ๋ฒ์ ๋นํจ์จ์ฑ์ ๊ฐ์ ํ๊ธฐ ์ํด ๋ ธ์คํ์ ํ์ด์ง ๊ธฐ๋ฒ์ ์ ์ฉํ์ต๋๋ค.
- ๊ทธ์ ๋ฐ๋ฅธ ๋ฌดํ์คํฌ๋กค API์ ์์ฒญ, ๋ฐํ๊ฐ์ ๋ณํ๊ฐ ์์ต๋๋ค.
- ์์ฒญ๊ฐ
- pageNumber ์ ๊ฑฐ : ๋ ธ์คํ์ ๋ฐฉ์์ ์ด์ ์ ์ธ๋ฑ์ค๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ค์ ์ปจํ ์ธ ๋ฅผ ์กฐํํ๋ ๋ฐฉ์์ผ๋ก ํ์ฌ ํ์ด์ง ์์น๊ฐ ํ์ํ์ง ์๊ฒ ๋์์ต๋๋ค.
- ๋ฐํ๊ฐ
- hasPrevious ์ ๊ฑฐ : ๋ ธ์คํ์ ๋ฐฉ์๊ณผ ๋ฌดํ ์คํฌ๋กค ๋ฐฉ์์ ํน์ง์ ์์ ๋ฐ์ดํฐ๊ฐ ์๋์ง๋ ์ค์ํ์ง ์์ ์ ๊ฑฐํ์์ต๋๋ค.
- number ์ ๊ฑฐ : ์์ฒญ๊ฐ์ ์ค๋ช ๊ณผ ๋์ผํฉ๋๋ค.
- ์์ฒญ๊ฐ
- ์ํฅ์ ๋ฐ์ ์๋ํฌ์ธํธ๋ค์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
GET /answers/question/{questionId}
GET /answers
GET /answers/heart
GET /boards/redis
GET /boards
GET /boards/search
GET /board-comments/{boardId}
GET /notifications
GET /questions
- ์์ ๋ ํ์ด์ง๋ค์ด์ ํ๋ก์ฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
What's Changed
- [REFACTOR] Notification ์กฐํ N+1 ๋ฌธ์ ํด๊ฒฐ by @jaewonLeeKOR in #207
- [FIX] ๋ ธ์คํ์ ํ์ด์ง ๊ธฐ๋ฒ์ผ๋ก ๋ณ๊ฒฝ by @jaewonLeeKOR in #209
- [REFACTOR] ๋ต๋ณ ์กฐํ N+1 ๋ฌธ์ ํด๊ฒฐ by @jaewonLeeKOR in #211
- [REFACTOR] ๊ฒ์๊ธ ์กฐํ N+1๋ฌธ์ ํด๊ฒฐ by @jaewonLeeKOR in #213
- [RELEASE] Notification, ๋ต๋ณ, ๊ฒ์๊ธ ์กฐํ N+1 ๋ฌธ์ ํด๊ฒฐ, ๋ ธ์คํ์ ํ์ด์ง ๊ธฐ๋ฒ์ผ๋ก ๋ณ๊ฒฝ by @jaewonLeeKOR in #214
Full Changelog: v0.1.0-alpha.9...v0.1.0-alpha.10
v0.1.0-alpha.9
๋ค์ฏ๊ฐ์ง ๊ธฐ๋ฅ์ ์ถ๊ฐ/์์ ์ด ์์ต๋๋ค.
๊ฒ์๊ธ ๋๊ธ ์ ๋ ฌ ๊ธฐ์ค ์์ #198
- ๋๊ธ ๋ชฉ๋ก์ ๊ฒฝ์ฐ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ๋๋๋ก ์์ ํ์์ต๋๋ค.
์ง๋ฌธ๋ณ ์กฐํ์ ๋ต๋ณ ์ด ๊ฐ์ ๋ฐํ ๊ฐ ์ถ๊ฐ #200
- ์ง๋ฌธ๋ณ ์กฐํ์ ๋ต๋ณ ์ด ๊ฐ์๋ฅผ ๋ฐํํ๋๋ก ๊ฐ์ ์ถ๊ฐํ์ต๋๋ค.
lastIndex ์์ฑ ์ค๋ฅ ์์ #200
- ์ปจํ ์ธ ๊ฐ ์์ ์ threshold๋ฅผ ์์ฑํ์ง ๋ชปํ๋ ๋ฒ๊ทธ๋ฅผ ์์ ํ์ต๋๋ค.
๊ฒ์๊ธ ๋จ๊ฑด ์กฐํ API ๊ตฌํ #203
- ๊ฒ์๊ธ ๋จ๊ฑด ์กฐํ API๋ฅผ ๊ตฌํํ์์ต๋๋ค.
- ๊ฒ์๊ธ ์กฐํ ๋ทฐ๋ก ์ด๋ ์ ํธ์ถํ์ฌ ์ฌ์ฉํ๊ณ , ๋๊ธ์ ๊ฐ์ ๋ํ ์ด API์์ ๋ฐํ๋ฐ์ ๊ฐ์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
๊ฒ์๊ธ ์์ API ๊ตฌํ #170
- ๊ฒ์๊ธ ์์ API๋ฅผ ๊ตฌํํ์ต๋๋ค.
What's Changed
- [FIX] ๊ฒ์๊ธ ๋๊ธ ์ ๋ ฌ ๊ธฐ์ค ์์ by @tnals2384 in #198
- [FIX] ์ง๋ฌธ๋ณ ์กฐํ์ ๋ต๋ณ ์ด ๊ฐ์ ๋ฐํ ๊ฐ ์ถ๊ฐ ๋ฐ lastIndex ์์ฑ ์ค๋ฅ ์์ by @jaewonLeeKOR in #200
- [FEAT] ๊ฒ์๊ธ ๋จ๊ฑด ์กฐํ API ๊ตฌํ by @tnals2384 in #203
- [FEAT] ๊ฒ์๊ธ ์์ API ๊ตฌํ by @kyxxgsoo in #170
- [RELEASE] ๊ฒ์๊ธ ์์ API ๊ตฌํ, ๊ฒ์๊ธ ๋๊ธ ์ ๋ ฌ ๊ธฐ์ค ์์ , ์ง๋ฌธ๋ณ ์กฐํ์ ๋ต๋ณ ์ด ๊ฐ์ ๋ฐํ ๊ฐ ์ถ๊ฐ, lastIndex ์์ฑ ์ค๋ฅ ์์ , ๊ฒ์๊ธ ๋จ๊ฑด ์กฐํ API ๊ตฌํ by @jaewonLeeKOR in #204
Full Changelog: v0.1.0-alpha.8...v0.1.0-alpha.9
v0.1.0-alpha.8
๋ค๊ฐ์ง ๊ธฐ๋ฅ์ด ์ถ๊ฐ/๋ณ๊ฒฝ ๋์์ต๋๋ค.
์ง๋ฌธ ์ผ๊ด ์ฝ์ ๊ธฐ๋ฅ
- ๊ด๋ฆฌ์ ๊ถํ์ ์ฌ์ฉ์๋ก ๋๋์ ์ง๋ฌธ์ csv ํ์์ ์ด์ฉํ์ฌ ์ฝ์ ์ด ๊ฐ๋ฅํด์ก์ต๋๋ค.
์ง๋ฌธ, ๊ฒ์๊ธ ์กฐํ ๋ฐํ ๋ฐ์ดํฐ ์ถ๊ฐ
- ์ง๋ฌธ, ๊ฒ์๊ธ ์กฐํ ์ ์ ์ฒด ๋ฐ์ดํฐ ๊ฐ์ ๋ฐํ
- ์ ์ฒด ๋ฐ์ดํฐ ๊ฐ์๋ฅผ total ์ผ๋ก ๋ฐํํฉ๋๋ค.
- ๊ฒ์๊ธ ์กฐํ ์ ์ฌ์ฉ์ ๋๋ค์ ๋ฐํ
- ๊ฒ์๊ธ ์กฐํ ์ ํํดํ ํ์์ ๊ตฌ๋ณ์ ์ํด
writerNickName
์ผ๋ก ์ฌ์ฉ์์ ๋๋ค์์ ๋ฐํํฉ๋๋ค.
- ๊ฒ์๊ธ ์กฐํ ์ ํํดํ ํ์์ ๊ตฌ๋ณ์ ์ํด
๋ฌดํ์คํฌ๋กค์ ์ค๋ณต ์ปจํ ์ธ ๋ฌธ์
- ๊ธฐ์กด์ ๋ฌดํ์คํฌ๋กค์์ ๋ํ๋๋ ๋ค์ ํ์ด์ง๋ฅผ ๋ก๋ฉํ ๋ ์๋ก์ด ์ปจํ ์ธ ๊ฐ ๋ฐ์ํ๋ฉด ์ค๋ณต๋ ์ปจํ ์ธ ๊ฐ ๋ถ๋ฌ์์ง๋ ๋ฌธ์ ๊ฐ ์กด์ฌํฉ๋๋ค.
- ์ ์ฒด ์ปจํ
ํธ์ ์กฐํ์ ๊ธฐ์ค์ ์ ํด ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋๋ก ํด๊ฒฐํ์ต๋๋ค.
- ์ง๋ฌธ ์กฐํ๋ Pull to Refresh์ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก, ๊ทธ ์ธ์ ๋ชจ๋ ์กฐํ๋ id ๊ฐ์ ๊ธฐ์ค์ผ๋ก ํฉ๋๋ค.
- ๋๊ฐ์ง ์ํฉ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ฌ์ฉํฉ๋๋ค.
- Pull to Refresh ๋๋ ํ์ด์ง๋ฅผ ์๋ก ์ง์ ํ๋ ๊ฒฝ์ฐ threshold ์์ด ์์ฒญํ๊ณ , ๋ฐํ๋๋ threshold๋ฅผ String์ผ๋ก ์ ์ฅํด์ฃผ์ธ์.
- Scrollํ์ฌ ๋ค์ ์ปจํ ์ธ ๋ฅผ ์กฐํ ์ ๋ก์ปฌ์ ์ ์ฅ๋ Query Parameter๋ก threshold๋ฅผ ๋ณด๋ด์ฃผ์ธ์.
- ํ๋ก ํธ ์ธก๊ณผ์ ์ํ์ค๋ ๋ค์ ๋ค์ด์ด๊ทธ๋จ๊ณผ ๊ฐ์ต๋๋ค.
testflight์ ์๊ฒฉ์๋ฆผ ๋ฌธ์
- testflight๋ฅผ ์ฌ์ฉ์ ๋ฐฐํฌ์ฉ deviceToken, ๋ก์ปฌ์์ ๋น๋ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉ์ ๊ฐ๋ฐ์ฉ deviceToken์ด ์์ฑ๋ฉ๋๋ค.
- ๊ธฐ์กด์ ๋ฆด๋ฆฌ์ฆ ํ๊ฒฝ์์ ๊ฐ๋ฐ์ฉ APNs ์๋ฒ์ ๋ฉ์ธํฌํธ, ์๋น์ฉ ํฌํธ๋ฅผ ์ด์ฉํด ์๊ฒฉ ์๋ฆผ์ ๋ณด๋ด๋๊ฒ์ ๋ฐฐํฌ์ฉ ์๋ฒ ๋ฉ์ธํฌํธ, ๊ฐ๋ฐ์ฉ ์๋ฒ ๋ฉ์ธํฌํธ๋ก ์๊ฒฉ ์๋ฆผ์ด ๋ณด๋ด์ง๋๋ก ๋ณ๊ฒฝํ์์ต๋๋ค.
What's Changed
- [FEAT] csv ์ด์ฉ ์ง๋ฌธ ์ผ๊ด ์ฝ์ ๊ธฐ๋ฅ by @jaewonLeeKOR in #187
- [FEAT] ์ง๋ฌธ, ๊ฒ์๊ธ ์ด ๊ฐ์ ๋ฐํ by @jaewonLeeKOR in #189
- [FEAT] ๋ฆด๋ฆฌ์ฆ ์๋ฒ ์ฐ๊ฒฐ APNs ์๋ฒ ๊ตฌ์ฑ ๋ณ๊ฒฝ by @jaewonLeeKOR in #193
- [FEAT] ๋ฌดํ์คํฌ๋กค์ ์ค๋ณต ์ปจํ ์ธ ๋ฌธ์ ํด๊ฒฐ by @jaewonLeeKOR in #192
- [FEAT] ๊ฒ์๊ธ ์กฐํ API DTO ๋ณ๊ฒฝ by @kyxxgsoo in #185
- [RELEASE] ๊ฒ์๊ธ ์กฐํ DTO ๋ณ๊ฒฝ, ์ง๋ฌธ ์ผ๊ด ์ฝ์ , ์ง๋ฌธ/๊ฒ์๊ธ ์ด ๊ฐ์ ๋ฐํ, ๋ฌดํ์คํฌ๋กค ์ค๋ณต ์ปจํ ์ธ ๋ฌธ์ , ๋ฆด๋ฆฌ์ฆ ์๋ฒ APNs ์๋ฒ ๊ตฌ์ฑ ๊ฐ์ by @jaewonLeeKOR in #194
Full Changelog: v0.1.0-alpha.7...v0.1.0-alpha.8
v0.1.0-alpha.7
์ธ๊ฐ์ง ๊ธฐ๋ฅ์ด ์ถ๊ฐ/ ๋ณ๊ฒฝ๋์์ต๋๋ค.
- ํ์๊ฐ์
์ธ์ฆ ๋ฉ์ผ ๊ฐ์
- ํ์ ๊ฐ์ ์ธ์ฆ ๋ฉ์ผ์ ํ์(์๋น์ค๋ช , ๊ธ์์ฒด, ๋ก๊ณ ๋ท๋ฐฐ๊ฒฝ, ๋ก๊ณ ์ด๋ฏธ์ง)์ด ๋ณ๊ฒฝ๋์์ต๋๋ค.
- ๊ธฐ์กด์ ๋๊ธฐ ๋ฐฉ์์ ์ธ์ฆ๋ฉ์ผ ๋ฐ์ก ๋ฐฉ์์ ๋น๋๊ธฐ ๋ฉ์๋ ํธ์ถ ๋ฐฉ์์ผ๋ก ๋ฐ๊พธ๊ฒ ๋์ด ๊ธฐ์กด์
10์ด
๊ฐ๊น์ด ๋๋ ๋ฐ์ก ๋๊ธฐ ์๊ฐ์ด ํ๊ท0.1์ด
์ ๋๊ฐ ๋๋ ๋๊ธฐ ์๊ฐ์ผ๋ก ๊ฐ์ ๋์์ต๋๋ค.
- ์ง๋ฌธ ์์ฑ/์ข
๋ฃ ์๋ฆผ์ ์๊ฒฉ ์๋ฆผ์ผ๋ก์ ์ด๊ด ์์
- ๊ธฐ์กด์ ๋ก์ปฌ ์๋ฆผ์ ์ด์ฉํ์ฌ ๋ฐ์กํ๋ ์๋ฆผ ์๋น์ค๋ฅผ ์๋ฒ์์ ์ง๋ฌธ ์์ฑ ์ ์ปจํ ์ธ ์ ํจ๊ป ์๊ฒฉ ์๋ฆผ์ ๋ณด๋ด๋๋ฆฌ๋๋ก ๊ฐ์ ํ์์ต๋๋ค.
- ์ง๋ฌธ ์์ฑ/์ข
๋ฃ์ ํ๋ก ํธ ์ธก์๊ฒ ๋ฐํ๋๋ APNs payload๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋ฉ๋๋ค.
- ์ง๋ฌธ ์์ฑ ์
{ "aps" : { "alert" : { "title" : "์ค๋์ ์ง๋ฌธ ์ค๋น ์๋ฃ!", "body" : "{์ง๋ฌธ ๋ด์ฉ}" } "sound" : "default", "thread-id" : "question" }, "questionId" : "{questionId}" }
- ์ง๋ฌธ ์ข
๋ฃ ์
{ "aps" : { "alert" : { "title" : "์ค๋์ ์ง๋ฌธ ๋ต๋ณ ๋ง๊ฐ!", "body" : "{์ง๋ฌธ ๋ด์ฉ}" } "sound" : "default", "thread-id" : "question" }, "questionId" : "{questionId}" }
- ์ง๋ฌธ ์์ฑ ์
- ๊ธฐํ์ ๋ณ๊ฒฝ์ผ๋ก ๊ธฐ์กด์ ์๋ฆผ์ ์ปจํ
์ธ ๋ ๋ณ๊ฒฝ๋์์ต๋๋ค. ๊ทธ์๋ฐ๋ฅธ ๋ณ๊ฒฝ๋ APNs payload๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ณธ์ธ์ ๊ฒ์๊ธ์ ๋ํ ์ข์์
{ "aps" : { "alert" : { "title" : "๋๊ตฐ๊ฐ ๋ด ๊ฒ์๊ธ์ ์ข์์๋ฅผ ๋๋ ์ด์", "body" : "{๊ฒ์๊ธ ๋ด์ฉ}" } "sound" : "default", "thread-id" : "board-{boardId}" }, "boardId" : "{boardId}" }
- ๋ณธ์ธ์ ๊ฒ์๊ธ์ ๋ํ ๋๊ธ
{ "aps" : { "alert" : { "title" : "๋๊ตฐ๊ฐ ๋ด ๊ฒ์๊ธ์ ๋๊ธ์ ๋ฌ์์ด์", "body" : "{๋๊ธ ๋ด์ฉ}" } "sound" : "default", "thread-id" : "board-{boardId}" }, "boardId" : "{boardId}", "boardCommnetId": "{boardCommentId}" }
- ๋ณธ์ธ์ ๋๊ธ์ ๋ํ ์ข์์
{ "aps" : { "alert" : { "title" : "๋๊ตฐ๊ฐ ๋ด ๋๊ธ์ ์ข์์๋ฅผ ๋๋ ์ด์", "body" : "{๋๊ธ ๋ด์ฉ}" } "sound" : "default", "thread-id" : "board-{boardId}" }, "boardId" : "{boardId}", "boardCommnetId": "{boardCommentId}" }
- ๋ณธ์ธ์ด ๋๊ธ์ ๋จ ๊ฒ์๊ธ์ ๋ํ ์ถ๊ฐ ๋๊ธ
{ "aps" : { "alert" : { "title" : "๋๊ตฐ๊ฐ ๋๊ธ์ ๋ฌ์์ด์", "body" : "{๋๊ธ ๋ด์ฉ}" } "sound" : "default", "thread-id" : "board-{boardId}" }, "boardId" : "{boardId}", "boardCommnetId": "{boardCommentId}" }
- ๋ณธ์ธ์ ๊ฒ์๊ธ์ ๋ํ ์ข์์
- ์๋ฆผ์ ์ ์ฅํ๋ ๋ฐฉ์์ ๋ณ๊ฒฝํ์์ต๋๋ค.
- ๊ธฐ์กด์ ๋ก๊ทธํ์์ผ๋ก ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ํ๋ ๊ทธ๋๋ก ์ ์ฅํ๋ ๋ฐฉ์์์ ๋์ผํ ์ปจํ ์ธ ๋ฅผ ๊ฐ์ง๊ฒฝ์ฐ๊ฐ ์๊น์ ๋ฐ๋ผ ์ ๊ทํ ์์ ์ ํ์ฌ ์๋ฆผ์ ์ ๋ณด ํ ์ด๋ธ๊ณผ ๊ทธ๋ฅผ ์ฐธ์กฐํ๋ ์๋ฆผ์ ์์ ์์ ํ ์ด๋ธ๋ก ๋๋ ์ง๊ฒ ๋์์ต๋๋ค.
What's Changed
- [FEAT] ํ์๊ฐ์ ์ธ์ฆ ๋ฉ์ผ ๊ฐ์ by @jaewonLeeKOR in #177
- [FEAT] ์ง๋ฌธ ์์ฑ/์ข ๋ฃ ์๊ฒฉ ์๋ฆผ ๊ตฌํ ๋ฐ ์๋ฆผ ์ํฐํฐ ๊ตฌ์ฑ๋ฐฉ์ ๋ณ๊ฒฝ by @jaewonLeeKOR in #174
- [FEAT] ์๊ฒฉ ์๋ฆผ ์์ ๋ณ๊ฒฝ by @jaewonLeeKOR in #179
- [RELEASE] ํ์๊ฐ์ ๋ฉ์ผ ๊ฐ์ , ์ง๋ฌธ ์์ฑ/์ข ๋ฃ ์๊ฒฉ ์๋ฆผ ์ด๊ด, ๊ธฐ์กด ์๊ฒฉ ์๋ฆผ ํ์ ๋ณ๊ฒฝ by @jaewonLeeKOR in #181
Full Changelog: v0.1.0-alpha.6...v0.1.0-alpha.7
v0.1.0-alpha.6
์ถ๊ฐ๋๊ฑฐ๋ ์์ ๋ API ์ ๋ฆฌ์คํธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์๋ฆผ ๊ธฐ๋ก ์กฐํ (GET /notifications )
- ๊ฒ์ํ ์ ๊ณ (POST /boardReports )
- ๊ฒ์ํ ์ ๊ณ ์์ (POST /boardReports/{boardReportId} )
- ๋ณธ์ธ์ด ์ ๊ณ ํ ๊ฒ์ํ ์กฐํ (GET /boardReports/mine )
- ๊ฒ์ํ ์ ๊ณ ์ญ์ (DELETE /boardReports/{boardReportId} )
- ๊ฒ์ํ ๋๊ธ ์ ๊ณ (POST /reports/board-comment )
- ํ์ด์ง๋ค์ด์
์ ์ฉ (๋ฐํ DTO ํ์ ๋ณ๊ฒฝ)
- ๊ฒ์๊ธ ๋ชฉ๋ก ์กฐํ (GET /boards )
- ๊ฒ์๊ธ ๊ฒ์ (GET /boards/search )
- ๋๊ธ ๋ชฉ๋ก ์กฐํ (GET /board-comments/{boardId} )
- ์ง๋ฌธ์ ๋ํ ๋ต๋ณ ์กฐํ (GET /answers/question/{questionId} )
- ๋ณธ์ธ์ด ์์ฑํ ๋ต๋ณ ์กฐํ (GET /answers )
- ๋ณธ์ธ์ด ์ข์ํ ๋ต๋ณ ์กฐํ (GET /answers/heart )
- ๋ชจ๋ ์ง๋ฌธ ์กฐํ (GET /questions)
ํ์ด์ง๋ค์ด์
์ ๋ฐ๋ฅธ ํ์ ๋ณ๊ฒฝ์ ๋ค์๊ณผ ๊ฐ์ด ๊ธฐ์กด์ result์ ๋ค์ด์๋ ๋ฐ์ดํฐ๊ฐ result -> content๋ก ๋ค์ด๊ฐ๊ฒ ๋์์ต๋๋ค. ์ถ๊ฐ์ ์ผ๋ก ๋ฌดํ์คํฌ๋กค(ํ์ด์ง๋ค์ด์
)์ ์ํ ๋ฐ์ดํฐ๋ ํจ๊ป ๋ฐํํด ๋๋ฆฌ๋ ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
ํ๋ก ํธ ๊ฐ๋ฐ์๋ถ๋ค๊ป์ ๋ฌดํ์คํฌ๋กค์ ๊ตฌํํ ํ๊ฒฝ์ด ๋๋ค๋ฉด ๋ฐ๋ก ๋ฐ์ํ ์ ์๋๋ก ํ์์ต๋๋ค.
- ๊ธฐ์กด ๋ฐฉ์
{
"timestamp" : "{์์ฒญ ์ฒ๋ฆฌ ์๊ฐ}",
"code" : "{์๋ฒ ์ฒ๋ฆฌ ์ฝ๋}",
"message" : "{์๋ฒ ๋ฐํ ๋ฉ์ธ์ง}",
"result" : {
"exampleInfos" : [
{
"content1" : "{c1}",
"content2" : "{c2}",
"content3" : "{c3}"
}
]
}
}
- ๋ฐ๋ ๋ฐฉ์
{
"timestamp" : "{์์ฒญ ์ฒ๋ฆฌ ์๊ฐ}",
"code" : "{์๋ฒ ์ฒ๋ฆฌ ์ฝ๋}",
"message" : "{์๋ฒ ๋ฐํ ๋ฉ์ธ์ง}",
"result" : {
"number" : "{์์ฒญํ ํ์ด์ง ์์น}",
"size" : "{์์ฒญํ ํ์ด์ง ํฌ๊ธฐ}",
"content" : [ // ๊ธฐ์กด์ ๋ฐํ๋๋ ๋ฆฌ์คํธ์ ๋ฐ์ดํฐ
{
"content1" : "{c1}",
"content2" : "{c2}",
"content3" : "{c3}"
}
],
"numberOfElements" : "{์ค์ ์กฐํ๋ ๋ฐ์ดํฐ์ ๊ฐฏ์}",
"hasPrevious" : "{์์ ํ์ด์ง์ ๋ฐ์ดํฐ ์กด์ฌ ์ ๋ฌด}",
"hasNext" : "{ํ์ ํ์ด์ง์ ๋ฐ์ดํฐ ์กด์ฌ ์ ๋ฌด}"
}
}
What's Changed
- [FEAT] ์๋ฆผ ๋ฆฌ์คํธ ์ ์ฅ, ์กฐํ, ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ by @jaewonLeeKOR in #154
- [FEAT] ์ ๊ณ ํจ ๊ธฐ๋ฅ ๊ตฌํ(๊ฒ์ํ) by @kyxxgsoo in #144
- [FEAT] ๊ฒ์ํ ๋๊ธ ์ ๊ณ ํจ ๊ธฐ๋ฅ ๊ตฌํ by @youngeun-dev in #146
- [REFACTOR] RDB ์ข์์ ์กฐํ ๋ฐฉ์ ์์ by @tnals2384 in #158
- [FEAT] ๊ฒ์๊ธ, ๋๊ธ ๋ชฉ๋ก ํ์ด์ง๋ค์ด์ ๊ตฌํ by @tnals2384 in #160
- [FEAT] ์ง๋ฌธ, ๋ต๋ณ ๋ชฉ๋ก ํ์ด์ง๋ค์ด์ ๊ตฌํ by @jaewonLeeKOR in #162
- [LOG] logback ์ค์ by @tnals2384 in #163
- [FEAT] ์คํ๋ง ๋ฉํธ๋ฆญ ๋ชจ๋ํฐ๋ง ์ค์ by @jaewonLeeKOR in #164
- [DEPLOY] ๋ก๊ทธ ์์ง์ ์ํ ์คํ๋ง ์ปจํ ์ด๋ ๋ณผ๋ฅจ ๋ง์ดํธ ์ค์ by @jaewonLeeKOR in #168
- [FIX] redis-cloud ์ฐ๊ฒฐ ์ ๊ฑฐ by @jaewonLeeKOR in #166
- [RELEASE] ํ์ด์ง๋ค์ด์ ์ ์ฉ, ์๋ฆผ๋ฆฌ์คํธ ์กฐํ ๊ตฌํ by @jaewonLeeKOR in #171
Full Changelog: v0.1.0-alpha.5...v0.1.0-alpha.6
v0.1.0-alpha.5
What's Changed
- [RELEASE] ๊ฒ์ํ, ๊ฒ์ํ ๋๊ธ ,์ ํ ํธ์ ์๋ฆผ ๊ตฌํ by @tnals2384 in #136
- [RELEASE] ๋ต๋ณ API ์์ , ๊ฒ์ํ ์ข์์ RDB ๊ตฌํ, ๋๋ฏธ๋ฐ์ดํฐ ์์ฑ by @tnals2384 in #148
- [FEAT] ๋น์ฆ๋์ค ๋ก์ง๊ณผ ์๊ฒฉ ์๋ฆผ ๋ฐ์ก ๋ก์ง ์ฐ๊ฒฐ by @jaewonLeeKOR in #147
- [RELEASE] ๋น์ฆ๋์ค ๋ก์ง๊ณผ ์๊ฒฉ ์๋ฆผ ๋ฐ์ก ๋ก์ง ์ฐ๊ฒฐ by @jaewonLeeKOR in #151
Full Changelog: v0.1.0-alpha.4...v0.1.0-alpha.5