JWT ํ† ํฐ์ด๋ž€?
Project/๋‚˜๋งŒ์˜ ์˜ท์žฅ 2021. 9. 26. 23:47

์„ธ์…˜ ์„ธ์…˜์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์„œ๋ฒ„์ชฝ์— ์œ ์ € ์ •๋ณด๋ฅผ ์ €์žฅ ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ฌด๋ž˜๋„ ์ถ”๊ฐ€์ ์ธ ์ €์žฅ์†Œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๋งŒ์•ฝ ๋‚ด์žฅ ํ†ฐ์บฃ ๋ฉ”๋ชจ๋ฆฌ์— ์„ธ์…˜์„ ์ €์žฅํ•˜๊ฒŒ ๋˜๋ฉด ๋ฐฐํฌํ•  ๋•Œ๋งˆ๋‹ค ์„ธ์…˜์ด ์ดˆ๊ธฐํ™” ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•๋“ค์„ ํ™œ์šฉํ•˜๋Š” ํŽธ์ด๋‹ค. ํ†ฐ์บฃ ์ž์ฒด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ™œ์šฉํ•œ๋‹ค. - ๊ฐ€์žฅ ๊ธฐ๋ณธ ์„ค์ • - ๋‘ ๋Œ€์ด์ƒ์˜ WAS๊ฐ€ ๊ตฌ๋™๋˜๋Š” ํ™˜๊ฒฝ์—์„œ๋Š” ๋ถ€๊ฐ€์ ์ธ ์„ค์ •์ด ํ•„์š”ํ•˜๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ™œ์šฉํ•œ๋‹ค. - ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์ด๋‹ค. - ๋ถ€๊ฐ€์ ์ธ ์„ค์ •์€ ํ•„์š” ์—†์ง€๋งŒ ์ธ์ฆ ์š”์ฒญ๋งˆ๋‹ค DB์™€ IO๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. Redis, Memcached ๋ฉ”๋ชจ๋ฆฌ DB ํ™œ์šฉ - B2C ์„œ๋น„์Šค์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค. JWT ํ† ํฐ์€ ์„ธ์…˜๊ณผ ๋‹ค๋ฅด๊ฒŒ ์œ„์˜ ์˜ˆ์‹œ์™€ ๊ฐ™์ด ์„œ๋ฒ„๊ฐ€ ๋”ฐ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค(Stateless). JWT ํ† ํฐ ์ž..

OAuth2.0์„ ์ด์šฉํ•œ ๋กœ๊ทธ์ธ(์ธ์ฆ)์— ๋Œ€ํ•œ ์ดํ•ด
Project/๋‚˜๋งŒ์˜ ์˜ท์žฅ 2021. 9. 21. 22:48

OAuth๋ž€? ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ(Google, Facebook, Naver...)์˜ ํŠน์ • ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ์ œ 3์ž์˜ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‚ฌ์šฉ์ž์˜ ์ ‘๊ทผ ๊ถŒํ•œ์„ ์œ„์ž„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํ‘œ์ค€ ํ”„๋กœํ† ์ฝœ์„ ๋งํ•œ๋‹ค. OAuth์˜ ํƒ„์ƒ OAuth๊ฐ€ ์กด์žฌํ•˜๊ธฐ ์ „์—๋Š” ์ธ์ฆ ๋ฐฉ์‹์˜ ํ‘œ์ค€์ด ์—†์—ˆ๊ธฐ์— ๊ธฐ๋ณธ์ธ์ฆ์ธ ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋Š”๋ฐ ์ด๋Š” ๊ต‰์žฅํžˆ ๋ณด์•ˆ์ƒ ์น˜๋ช…์ ์ธ ๊ตฌ์กฐ์ด๋‹ค. ๋งŒ์•ฝ ์•…์˜์ ์ธ ์‚ฌ์šฉ์ž๊ฐ€ ์ธ์ฆ ๊ณผ์ • ์ค‘์— ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํƒˆ์ทจํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ํ•ด๋‹น ํ”Œ๋žซํผ์— ์กด์žฌํ•˜๋Š” ์‚ฌ์šฉ์ž์˜ ๋ชจ๋“  ์ •๋ณด๋“ค์ด ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ฆ‰, ์‚ฌ์šฉ์ž์˜ ๊ณ„์ • ์ •๋ณด๋งŒ ํƒˆ์ทจํ•˜๋ฉด ํ”Œ๋žซํผ์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ๋˜ ๋ณดํ†ต ์‚ฌ์šฉ์ž๋“ค์€ ํ”Œ๋žซํผ๋“ค ๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ณ„์ • ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ๋™์ผ ๊ณ„์ • ์ •๋ณด๋ฅผ ..

REST API ๋ณด์•ˆ์€ ์–ด๋–ค์‹์œผ๋กœ ์ฒ˜๋ฆฌํ• ๊นŒ?
Project/๋‚˜๋งŒ์˜ ์˜ท์žฅ 2021. 9. 20. 00:51

https://bcho.tistory.com/807 REST API์— ๋Œ€ํ•œ ๋ณด์•ˆ REST API ๋ณด์•ˆ ์กฐ๋Œ€ํ˜‘ REST API์— ๋Œ€ํ•œ ๋ณด์•ˆ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. API ์— ๋Œ€ํ•œ ๋ณด์•ˆ์€ ์ธ์ฆ, ๋ฉ”์„ธ์ง€ ์•”ํ˜ธํ™”, ๋ฌด๊ฒฐ์„ฑ ํฌ๊ฒŒ 3๊ฐ€์ง€ ๊ด€์ ์—์„œ ๊ณ ๋ฏผํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค. 1) ์ธ์ฆ ์ธ์ฆ์€, REST API๋ฅผ ํ˜ธ์ถœํ•œ ์‚ฌ๋žŒ(ํด๋ผ์ด bcho.tistory.com

SLF4J StackOverflowError
Project/๋‚˜๋งŒ์˜ ์˜ท์žฅ 2021. 9. 18. 23:57

์ด๋ฒˆ์— ์ƒ์† ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•จ์œผ๋กœ์จ Wardrobe, Cloth, Record ์—”ํ‹ฐํ‹ฐ์˜ ์ค‘๋ณต ๊ธฐ๋Šฅ์ธ ๋Œ“๊ธ€ ๊ธฐ๋Šฅ๊ณผ ์ข‹์•„์š” ๊ธฐ๋Šฅ์„ ์Šˆํผ ํƒ€์ž… ์—”ํ‹ฐํ‹ฐ์ธ PostEntity๋กœ ์ด๊ด€์‹œํ‚ค๋Š” ๋ฆฌํŒฉํ† ๋ง์„ ์ง„ํ–‰ํ–ˆ๋‹ค. ๋ฌธ์ œ ๋ฐœ์ƒ ๊ณตํ†ต ๋กœ์ง๋“ค์„ ๊ฐ๊ฐ์˜ Service๊ฐ€ ์•„๋‹Œ PostServcie๋กœ ์ด๋™์‹œํ‚ค๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, ๋Œ“๊ธ€ ๋‹ฌ๊ธฐ ๋ฉ”์„œ๋“œ์ธ writeComment()์—์„œ StackOverflowError๊ฐ€ ํ„ฐ์ง€๋ฉด์„œ ๋กœ์ง์ด ์ค‘๋‹จ๋˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ–ˆ๋‹ค. StackOverflowError๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๋ถ€๋ถ„์€ SLF4J์—์„œ ์—”ํ‹ฐํ‹ฐ์˜ toString()์„ ํ˜ธ์ถœํ•˜๋ฉฐ ๋ฐœ์ƒํ•˜๋Š” ๋ถ€๋ถ„์ด์˜€๋‹ค. ์—”ํ‹ฐํ‹ฐ์˜ toString()์„ ์ถ”๊ฐ€ ์‹œ์ผœ์ฃผ๋Š” ๋ถ€๋ถ„์€ lombok์˜ @Data์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ถ€๋ถ„์— ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ๊ฒƒ์ด๋ผ ํŒ๋‹จํ•˜์˜€๋‹ค. ๋ฌธ์ œ ์›์ธ @..