๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

til7

์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ & OAuth๋กœ ๊ตฌ๊ธ€ ๊ฐ„ํŽธ ๋กœ๊ทธ์ธ, ํšŒ์›๊ฐ€์ž… ์‹œํ‚ค๊ธฐ ๊นƒํ—ˆ๋ธŒ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ(oauth1110)์— ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ์ž์„ธํžˆ ์ •๋ฆฌํ•ด๋‘๊ธด ํ–ˆ์ง€๋งŒ,๋ธ”๋กœ๊ทธ์—๋„ ์ „์ฒด์ ์ธ ํ๋ฆ„๋งŒ ์ •๋ฆฌํ•ด๋‘๋ ค๊ณ  ํ•œ๋‹ค. ๐Ÿ“Œ ๊ตฌ๊ธ€ API ์ฝ˜์†”์—์„œ OAuth ํด๋ผ์ด์–ธํŠธ ID ๋งŒ๋“ค๊ธฐ- ๊ตฌ๊ธ€ API ์ฝ˜์†”์— ์ ‘์†ํ•˜์—ฌ ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ ๋‹ค.- ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด -> ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ๋งŒ๋“ค๊ธฐ -> OAuth ํด๋ผ์ด์–ธํŠธ ID๋ฅผ ๋งŒ๋“ ๋‹ค. - OAuth ํด๋ผ์ด์–ธํŠธ ์•„์ด๋””๋ฅผ ๋งŒ๋“ค ๋•Œ "์Šน์ธ๋œ ๋ฆฌ๋””๋ ‰์…˜ URI"๋ฅผ ์ž…๋ ฅํ•˜๋Š” ์นธ์ด ๋œจ๋Š”๋ฐ,  ๊ทธ ์นธ์— "http://{์„œ๋น„์Šคip}:{port}/login/oauth2/code/google" ์„ ์ž…๋ ฅํ•ด์ค€๋‹ค.- ์ด URI๋Š” ์Šคํ”„๋ง๋ถ€ํŠธ์—์„œ ๊ตฌ๊ธ€ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์•ก์„ธ์Šค ํ† ํฐ์„ ๋ฐ›๊ธฐ ์œ„ํ•ด ๋ฆฌ๋‹ค์ด๋ ‰ํŠธํ•˜๋Š” URI๋ผ๊ณ  ํ•œ๋‹ค. - OAuth ํด๋ผ์ด์–ธํŠธ ID ์ƒ์„ฑ์ด ์™„๋ฃŒ๋˜๋ฉด, ํด๋ผ์ด์–ธํŠธID์™€.. 2024. 11. 12.
์Šคํ‚ค๋งˆ ์ •์ œ๋ฅผ ํ•ด์•ผ ํ•˜๋Š” ์ด์œ  (์‚ฝ์ž…์ด์ƒ, ์‚ญ์ œ์ด์ƒ, ๊ฐฑ์‹ ์ด์ƒ) ๊ฐœ๋… ์„ค๊ณ„๋ฅผ ํ•˜๊ณ  ๋‚˜๋ฉด ์Šคํ‚ค๋งˆ ์ •์ œ๋ฅผ ์ง„ํ–‰ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ตœ์ ํ™”๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค. ์Šคํ‚ค๋งˆ ์ •์ œ๋ฅผ ํ•˜์ง€ ์•Š์€ ํ…Œ์ด๋ธ”์€ ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต ์ €์žฅ์œผ๋กœ ์ธํ•ด์‚ฝ์ž… ์ด์ƒ, ์‚ญ์ œ ์ด์ƒ, ๊ฐฑ์‹  ์ด์ƒ์ด ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ํฌ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์‚ฝ์ž… ์ด์ƒ - ํ•˜๋‚˜์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•  ๋•Œ, ๋‹ค๋ฅธ ์ •๋ณด๋„ ๋ฐ˜๋“œ์‹œ ๊ฐ™์ด ์ €์žฅํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค.์‚ญ์ œ ์ด์ƒ - ํ•˜๋‚˜์˜ ์ •๋ณด๋ฅผ ์ง€์šฐ๋ฉด ์˜๋„์น˜ ์•Š๊ฒŒ ๋‹ค๋ฅธ ์ •๋ณด๊นŒ์ง€ ์‚ญ์ œ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค.๊ฐฑ์‹  ์ด์ƒ - ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ ์ค‘ ์ผ๋ถ€๋งŒ ์ˆ˜์ •ํ•  ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ ๋ถˆ์ผ์น˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค.  ์˜ˆ๋ฅผ ๋“ค์–ด "๊ฐ™์€ ๋“ฑ๊ธ‰์˜ ์‚ฌ๋žŒ๋ผ๋ฆฌ๋Š” ๋™์ผํ•œ ์‹œ๊ธ‰์„ ๋ฐ›์•„์•ผ ํ•œ๋‹ค" ๋ผ๋Š” ์š”๊ตฌ์‚ฌํ•ญ์— ๋”ฐ๋ผ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์•„๋ฅด๋ฐ”์ดํŠธ์ƒ ํ…Œ์ด๋ธ”์„ ์ •์˜ํ–ˆ๋‹ค๊ณ  ์น˜์ž.๋ฒˆํ˜ธ์ด๋ฆ„๋“ฑ๊ธ‰์‹œ๊ธ‰1๋ชฝ๋‚˜1105002์•…๋น„๋ฅด299003์•…๋น„์•„๋ฅด398004์ฐŒ๋ฅดํ˜ธํฌ29900 (1) .. 2024. 11. 11.
[TIL] SpringSecurity ๊ธฐ๋ณธ ์„ค์ • ๊ณต๋ถ€ํ•˜๋ฉฐ ์•Œ๊ฒŒ ๋œ ์  2024.11.10 ๊ฐœ์ธ์ ์ธ ์ •๋ฆฌ์šฉ ๊ธ€ ์Šคํ”„๋ง๋ถ€ํŠธ 2.7.18 ๋ฒ„์ „ / Maven๊ตฌ์ฒด์ ์ธ ๊ณต๋ถ€ ๋‚ด์šฉ์€ ๊นƒํ—ˆ๋ธŒ ๊ฐœ์ธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ(oauth1110)์— ์ •๋ฆฌํ•ด๋‘์—ˆ๋‹ค.   ์˜ค๋Š˜ ์ƒˆ๋กœ ์•Œ๊ฒŒ ๋œ ์ ์€ 1. ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ ์„ค์ •ํŒŒ์ผ์— @EnableWebSecurity ์–ด๋…ธํ…Œ์ด์…˜์„ ๋ถ™์—ฌ์ฃผ๋ฉด์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ ํ•„ํ„ฐ๋ฅผ ์Šคํ”„๋ง ํ•„ํ„ฐ ์ฒด์ธ์— ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋‹ค.  2. ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ๋Š” ํŒจ์Šค์›Œ๋“œ ์ผ์น˜ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ๋•Œ ์ธ์ฝ”๋”ฉ ๋œ ํŒจ์Šค์›Œ๋“œ ๊ธฐ์ค€์œผ๋กœ ์ฒดํฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ ํŒจ์Šค์›Œ๋“œ๋ฅผ ์ €์žฅํ•  ๊ฒฝ์šฐ ์ธ์ฆ์‹คํŒจํ•œ๋‹ค.  3. ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ๊ฒฝ์šฐ ๋กœ๊ทธ์ธ ์„ฑ๊ณตํ•˜๋ฉด, ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ๋Š” ์„ธ์…˜ ์˜์—ญ ์ค‘ ์‹œํ๋ฆฌํ‹ฐ ์„ธ์…˜ ์˜์—ญ์— Authentication ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค.(์„ธ์…˜ ์˜.. 2024. 11. 10.
DBMS์—์„œ ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐฉ์‹ (Heap, ISAM, B+ Tree) โœ… DBMS์—์„œ ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐฉ์‹DBMS์˜ ๋ฐ์ดํ„ฐ ํŒŒ์ผ๋“ค์€ ์ฃผ๋กœ HDD๋‚˜ SSD ๊ฐ™์€ 2์ฐจ ๊ธฐ์–ต์žฅ์น˜์— ํŽ˜์ด์ง€ ๋‹จ์œ„๋กœ ์ €์žฅ๋˜์–ด ๊ด€๋ฆฌ๋œ๋‹ค.๊ฐ ํŽ˜์ด์ง€์—๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋˜๋ฉฐ, ๊ฐ๊ฐ์˜ ๋ ˆ์ฝ”๋“œ๋Š” ํŽ˜์ด์ง€์—์„œ ์œ ์ผํ•œ RID(๋ ˆ์ฝ”๋“œ ์•„์ด๋””)๋ฅผ ๊ฐ€์ง„๋‹ค. ์ด RID๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ๋ ˆ์ฝ”๋“œ์— ๋žœ๋ค ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์žˆ๋‹ค. โœ… ํž™(Heap) ํŒŒ์ผ ๊ตฌ์กฐํž™ ํŒŒ์ผ ๊ตฌ์กฐ์—์„œ๋Š” ๋ ˆ์ฝ”๋“œ๊ฐ€ ํŒŒ์ผ์˜ ๋นˆ ๊ณต๊ฐ„์— ์ˆœ์„œ ์—†์ด (์ฆ‰, ์ •๋ ฌ๋˜์ง€ ์•Š๊ณ ) ์ €์žฅ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋Œ€๋ถ€๋ถ„์˜ ์ž๋ฃŒ๊ตฌ์กฐ์—์„œ๋Š” ๋ฐ์ดํ„ฐ ๋ ˆ์ฝ”๋“œ๋งŒ ๋ด์„œ๋Š” ๋ ˆ์ฝ”๋“œ์˜ RID๋ฅผ ์ง์ ‘ ์•Œ ๋ฐฉ๋ฒ•์ด ์—†๊ธฐ ๋•Œ๋ฌธ์—, ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋ ค๋ฉด ์ „์ฒด ํŽ˜์ด์ง€์™€ ์ „์ฒด ๋ ˆ์ฝ”๋“œ๋ฅผ ์Šค์บ”ํ•ด์•ผ๋งŒ ํ•œ๋‹ค. ํŒŒ์ผ ์ „์ฒด๋ฅผ ์ •๋ ฌ๋œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์“ธ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ๊ทธ๋Ÿฐ ๋ฐฉ์‹์€ ํŒŒ์ผ์ด ํด์ˆ˜๋ก ๋น„์šฉ์ด ๋งŽ์ด ๋“ ๋‹ค. ๋”ฐ๋ผ์„œ .. 2024. 11. 8.
2024๋…„ 11์›” 2024.11.07 (๋ชฉ)-์•„์นด๋ฐ๋ฏธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ต์žฌ ๋ณต์Šต๐Ÿ“„ DBMS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์™€ DBMS ์Šคํ‚ค๋งˆ๐Ÿ“„ ๊ด€๊ณ„ ๋ชจ๋ธ์˜ ๋ฆด๋ ˆ์ด์…˜๊ณผ ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด-๋ฐฑ์ค€ ํ’€์ด-๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ ์ด๋ก  2024.11.08 (๊ธˆ)-์•„์นด๋ฐ๋ฏธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ต์žฌ ๋ณต์Šต๐Ÿ“„ DBMS์—์„œ ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐฉ์‹ (Heap, ISAM, B+ Tree)-ํด๋Ÿฌ์Šคํ„ฐ๋“œ ์ธ๋ฑ์Šค์™€ ๋„Œํด๋Ÿฌ์Šคํ„ฐ๋“œ ์ธ๋ฑ์Šค๊ฐ€ ๋ญ”์ง€ ์•Œ์•˜๋‹ค.-ํ•™์‚ฌ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ, ์ฃผ๋ฏผ๋“ฑ๋ก๋“ฑ๋ณธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ํ•ด๋ณด์•˜๋‹ค.โœ”๏ธ DB ์„ค๊ณ„๋Š” ์ถ”์ƒํ™”(ํ…Œ์ด๋ธ” ์ด๋ฆ„์ง“๊ธฐ)๋ฅผ ์ž˜ํ•˜๋ฉด ๋์ด๋ผ๋Š”๋ฐ ์ด๊ฒŒ ์–ด๋ ค์› ๋‹ค.โœ”๏ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„๋Š” ๋‚˜์˜ ์ฃผ๊ด€์ด ๋“ค์–ด๊ฐ€๋ฉด ๋งํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ์š”๊ตฌ์‚ฌํ•ญ๊ณผ ๊ฐœ์ฒด๋“ค๊ฐ„์˜ ๊ด€๊ณ„๋งŒ ์ƒ๊ฐํ•˜์ž.-์ง€๊ธˆ๊นŒ์ง€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„๋ฅผ ํ•  ๋•Œ ๋ฌด์ž‘์ • ERD cloud์—์„œ ํ…Œ์ด๋ธ” ๋งŒ๋“œ๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ–ˆ์—ˆ๋‹ค.๊ทธ๋Ÿฌ๋‚˜ โ‘ .. 2024. 11. 7.
๊ด€๊ณ„ ๋ชจ๋ธ์˜ ๋ฆด๋ ˆ์ด์…˜๊ณผ ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด โœ… ๊ด€๊ณ„ ๋ชจ๋ธ- ๊ด€๊ณ„ ๋ชจ๋ธ์—์„œ ๋ฐ์ดํ„ฐ๋Š” ์ฃผ๋กœ ๋ฆด๋ ˆ์ด์…˜(Relation)์— ์˜ํ•ด ํ‘œํ˜„๋œ๋‹ค.- ๋ฆด๋ ˆ์ด์…˜์€ ๋ฆด๋ ˆ์ด์…˜ ์Šคํ‚ค๋งˆ์™€ ๋ฆด๋ ˆ์ด์…˜ ์ธ์Šคํ„ด์Šค๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค. ๐Ÿ“Œ ๋ฆด๋ ˆ์ด์…˜ ์Šคํ‚ค๋งˆ- ์˜์–ด๋กœ '๊ฐœ์š”,๊ธฐ๋ณธ ํ‹€' ์ด๋ผ๋Š” ๋œป์ด๋‹ค.- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์Šคํ‚ค๋งˆ๋ž€, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ์™€ ์ œ์•ฝ์กฐ๊ฑด์— ๊ด€ํ•œ ์ „๋ฐ˜์ ์ธ ๋ช…์„ธ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.- ์ฆ‰ ๊ฐœ์ฒด(entity)์™€ ๊ฐœ์ฒด์˜ ์†์„ฑ(attribute), ๊ฐœ์ฒด ๊ด€์˜ ๊ด€๊ณ„(relation), ์ œ์•ฝ์กฐ๊ฑด(constraint)๋“ค์„ ๋ช…์„ธ์— ๋งž๊ฒŒ ๊ธฐ์ˆ ํ•œ ๊ฒƒ์ด๋‹ค.- ๊ด€๊ณ„๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDB)์—์„œ ์Šคํ‚ค๋งˆ๋Š” ๋ฆด๋ ˆ์ด์…˜ ์ด๋ฆ„, ์†์„ฑ(attribute) ์ด๋ฆ„, ๊ฐ ์†์„ฑ์˜ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ๋ช…์„ธํ•œ๋‹ค.๐Ÿฃ ๋„๋ฉ”์ธ์ด๋ž€?- ํ•˜๋‚˜์˜ ์†์„ฑ(attribute)์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๋™์ผํ•œ ์œ ํ˜•์˜ ์›์ž๊ฐ’๋“ค์˜ ์ง‘ํ•ฉ์ด๋‹ค.- ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๊ด€.. 2024. 11. 7.
728x90