๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ199 [ ํ KPT ํ๊ณ ] ํ๋ฌ์ค ํ๋ก์ ํธ ํ๋ฌ์ค ํ๋ก์ ํธ Keep: ์ด๋ฒ ํ๋ก์ ํธ์์ ์ ์งํ์ผ๋ฉด ํ๋ ๋ถ๋ถ๋ฆฌ์์ค ๊ด๋ฆฌ๊ฐ์ ๋งก์ ์ผ์ ๋๊น์ง ์ฑ ์๊ฐ ์๊ฒ ์ํํ์ฌ ํ๋ก์ ํธ๊ฐ ์ํํ๊ฒ ์งํ๋์๋ค.CI/CD ํ์ฉ์๋ํ๋ ๋ฐฐํฌ ์์คํ ์ ํ์ฉํ์ฌ ํ๋ก์ ํธ์ ๋ฐฐํฌ ๊ณผ์ ์ด ์ํํ๋ค.๋ค์ ํ๋ก์ ํธ์์๋ ์ง์์ ์ผ๋ก ํ์ฉํ๊ณ ๊ฐ์ ํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.์๋ฌ ์ฒ๋ฆฌ์ ์ญ ์์ธ ์ฒ๋ฆฌ ๋๋ถ์ ์๋ฌ ํ์ธ์ด ์ฌ์ ๊ณ , ๋๋ฒ๊น ์๊ฐ์ด ๋จ์ถ๋์๋ค.์ฒด๊ณ์ ์ธ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํตํด ํ๋ก์ ํธ ์์ ์ฑ์ด ํฅ์๋์๋ค.์ํํ ์์ฌ์ํตํ์ ๊ฐ ์๊ฒฌ์ ์ ๋ฃ๊ณ ์กด์คํ๋ ๋ถ์๊ธฐ๊ฐ ํ์ฑ๋์ด ํ์ ์ด ์์ํ๋ค.๋ค์ ํ๋ก์ ํธ์์๋ ์ ๊ทน์ ์ธ ์๊ฒฌ ๊ตํ์ ์ ์งํ๊ณ ์ถ๋ค. Problem: ๊ฐ์ ์ด ํ์ํ ๋ถ๋ถ์ฝ๋ ๋ฆฌ๋ทฐ ๋ถ์กฑ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ํ์ง ์์ ๊ฐ ํ์์ ์งํ ์ํฉ์ ๋ช ํํ ํ์ ํ์ง ๋ชปํ๋ค.์ฝ๋ ํ์ง ํฅ์์ ์ํด ์ ๊ธฐ์ .. 2025. 2. 10. [ TIL ] ์ต์ข ํ๋ก์ ํธ_Day 1 ์ค๋ ์งํํ ๋ด์ฉ๋ค ๐ง ์ต์ข ํ๋ก์ ํธ ๋ฐ์ ๋ฃ๊ธฐ๊ธฐ๋ก์ด ์งฑ์งฑ ์ค์ํ๋ค!!!ํ๋ฉด ์บก์ฒ์ ์์ ์ดฌ์์ด ํ์์ ์ด๋ค.๊ธฐ๋ฅ์ ํ๋ ๊ตฌํํ ๋๋ง๋ค ํน์ ๋งํ์ ๋ ๊ณ ๋ฏผ ์ฌํญ์ ์ ๊ธฐ๋กํด ๋์!5๋ถ ๊ธฐ๋ก ๋ณด๋ ์ค์ํ๋ค.๋ฏธ๋๋ฅผ ์ํด ๋ฌด์กฐ๊ฑด ๊ธฐ๋กํด๋์ผ ํ๋ค!๋๋ฉ์ธ ์ ํ๊ธฐ์ฒซ ๋ฒ์งธ ํ๋ณด: ๊ณ ๊ฐ์ผํฐ ๊ด๋ จ๋ ๋ฒ์งธ ํ๋ณด: ์ทจ์ ์ฌ์ดํธ ๊ด๋ จ(์ฑํ)S.A ์์ฑํ๊ธฐ์์ด์ดํ๋ ์ERD ๋ค์ด์ด๊ทธ๋จAPI ๋ช ์ธ์๊ธฐ์ ๋ช ์ธ์์ค์ผ๋ ํค ์ฝ๋ ์์ฑํ๊ธฐ๊ฐ์ฅ ๋ฐ์ ์๋ ํจํค์ง: common, domaindomain ์์ ๋ค์ด๊ฐ ํจํค์ง: auth, keyword, data, bookmark, user, history๊ธฐ๋ณธ Entity๋ง ์์ฑํ ์ํ์ด๋ค!์์ : ๋ก๊ทธ๋ฅผ ์ด๋์ ๋จ๊ฒจ์ผ ํ ๊น?์์ : ๋ด๊ฐ ๋ด๋นํ ๊ธฐ๋ฅ์์ ExceptionHandler์์ ์ฒ๋ฆฌํ ์.. 2025. 2. 10. [ TIL ] ํ๋ฌ์ค ํ๋ก์ ํธ_Day 6 ์ค๋ ํ ๊ณต๋ถ ๐ง ํ๋ก์ ํธ์ ์บ์ ์ ์ฉํ๋ฃจ์ข ์ผ ๊ณต๋ถํ๋ ์บ์๋ฅผ ํ๋ก์ ํธ์ ์ ์ฉํ๋ค. ๊ฒ์์ด๋ฅผ ํตํด ์ํ๋ค์ ์กฐํํ ๋์ ์ธ๊ธฐ ๊ฒ์์ด ์กฐํํ ๋ ์บ์๋ฅผ ์ ์ฉํ๋ค. ํ์ง๋ง ๊ฒ์์ด๋ฅผ ํตํด ์ํ๋ค์ ์กฐํํ ๋ ์ฌ์ฉํ ๊ฒ์์ด๋ฅผ DB์ ์ ์ฅํ๊ฑฐ๋ count ์๋ฅผ ์ฆ๊ฐ์์ผ์ผ ํ๊ธฐ ๋๋ฌธ์ DB์ Cache ๊ฐ์ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ํฌ๊ฒ ๋์ง ์์๋ค.์ธ๊ธฐ ๊ฒ์์ด๋ ์กฐ๊ธ ๋ฌ๋๋ค. ConcurrentHaspMap์ ์ด์ฉํด์ ์บ์์ ๊ฒ์์ด๋ฅผ ๋ชจ๋ ์ ์ฅํ๊ณ ๋ง์ด ์ ์ฅ๋ ์์๋๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ๋์ด ์กฐํ๋๊ฒ๋ ๋ก์ง์ ๊ตฌํํ๋๋ DB์์ ์ง์ ์ธ๊ธฐ ๊ฒ์์ด๋ฅผ ์กฐํํ๋ ๊ฒ๊ณผ Cache์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ ์๋ ์ฐจ์ด๊ฐ ์กด์ฌํ๋ค.ํ๋ก์ ํธ์ Redis ์ ์ฉ๊ทธ๋ค์์ ์บ์๋ฅผ ์ ์ฉํ๋ ๋ถ๋ถ์ Redis๋ก ๋ณ๊ฒฝํด ์ฃผ๋ ์์ ์ ์งํํ๋ค.์๊ฐ๋ณด๋ค R.. 2025. 2. 5. [ TIL ] ํ๋ฌ์ค ํ๋ก์ ํธ_Day 5 ์ค๋ ํ ๊ณต๋ถ ๐ง ์บ์ ๊ณต๋ถํ๋ก์ ํธ์ ์บ์๋ฅผ ์ด๋ป๊ฒ ์ ์ฉํ ์ ์์๊น?์คํ ๋ค๋๋ฐ Redis ์ธ์ ๋ฃ๊ธฐ ์ค๋ ํ๋ฃจ ์ ๋ฆฌ โ๏ธ ๋ด์ผ ๊ณํ โฐ 2025. 2. 5. [ ํธ๋ฌ๋ธ ์ํ ] SQLSyntaxErrorException - @SQLDelete ์ฌ์ฉ ์ ํ ์ด๋ธ ์ปฌ๋ผ๋ช ๋ถ์ผ์น ๋ฌธ์ Soft Delete๋ฅผ ๊ตฌํํ๊ธฐ ์ํด Hibernate์ @Where ๋ฐ @SQLDelete ์ด๋ ธํ ์ด์ ์ ์ ์ฉํ์ ๋, ๋ค์๊ณผ ๊ฐ์ SQLSyntaxErrorException์ด ๋ฐ์ํ๋ค.๋ฌธ์ ์ํฉSQLSyntaxErrorException: Unknown column 'member_id' in 'where clause'์ฝ๋ ์์ฑ ๊ณผ์ @Where(clause = "is_deleted = false")@SQLDelete(sql = "UPDATE member SET is_deleted = true WHERE member_id = ?")@Where๋ฅผ ์ฌ์ฉํ์ฌ is_deleted๊ฐ false์ธ ๋ฐ์ดํฐ๋ง ์กฐํํ๋๋ก ์ค์ ํ๋ค.@SQLDelete๋ฅผ ํ์ฉํ์ฌ ์ญ์ ์์ฒญ ์ Soft Delete๋๋๋ก SQL ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ค.. 2025. 2. 4. [ KPT ํ๊ณ ] ํ๋ฌ์ค ์ฃผ์ฐจ ๊ฐ์ธ ๊ณผ์ ํ๋ฌ์ค ์ฃผ์ฐจ ๊ฐ์ธ ๊ณผ์ Keep : ์ด๋ฒ ๊ณผ์ ์์ ์ ์งํ์ผ๋ฉด ํ๋ ๋ถ๋ถ๋ฌธ์ ํด๊ฒฐ ๊ณผ์ ์์์ ์ฌ๊ณ ๋ ฅ ๊ฐํ๊ฐ ๋จ๊ณ๋ฅผ ์งํํ ๋๋ง๋ค '์ ์ด๊ฑธ ์ฌ์ฉํด์ผ ํ๋๊ฐ?'๋ฅผ ๊ณ ๋ฏผํ๋ฉฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.๊ฐ๋ ์ดํด์ ํ์ฉ์๋ก์ด ๊ฐ๋ ์ ๋จ์ํ ์ ์ฉํ๋๋ฐ ๊ทธ์น์ง ์๊ณ , ์ ๋๋ก ์ดํดํ๊ณ ํ์ฉํ๋ ค๊ณ ๋ ธ๋ ฅํ๋ค.๋ณต์ต์ ํตํ ๊ฐ๋ ์ ๋ฆฌ์ด๋ฏธ ์๊ณ ์๋ ๋ด์ฉ์ด๋ผ๊ณ ํด๋ ํ๋ฒ ๋ ๋ณต์ตํ๋ฉด์ ์ ๋ฆฌํ๊ณ ๋์ด๊ฐ๋ ์ต๊ด์ ๊ฐ์ง๊ธฐ ์ํด ๋ ธ๋ ฅํ๋ค. Problem : ๊ฐ์ ์ด ํ์ํ ๋ถ๋ถ์๊ฐ ๊ด๋ฆฌ์ ์ด๋ ค์์ฃผ์ด์ง ์๊ฐ ์์ ๊ณํํ๋ ์์ ์ ๋ชจ๋ ๋๋ด์ง ๋ชปํ๋ค.๋ถ์์ ํ ์ง์ ํ์ธ์๊ณ ์๋ค๊ณ ์๊ฐํ์ง๋ง, ์ค์ ๋ก ๋ช ํํ๊ฒ ์ดํดํ์ง ๋ชปํ ๋ด์ฉ๋ค์ด ์กด์ฌํ๋ค.์๋ก์ด ๊ฐ๋ ์ ์ฉ์ ์ด๋ ค์์๋ก์ด ๊ฐ๋ ์ ์ตํ๋ ๋ฐ๋ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆฌ์ง ์์ง๋ง, ์ ์ฉ์์ ์๊ฐ์ด ์ค๋ ์์๋์.. 2025. 1. 27. ์ด์ 1 2 3 4 5 6 7 ยทยทยท 34 ๋ค์