Vibe.ai
๋ฐ˜์‘ํ˜•
article thumbnail
postgreSQL ์„ค์น˜ ๋ฐ ํ…Œ์ด๋ธ” ์ƒ์„ฑ
BackEnd & DB๐Ÿงต 2023. 10. 7. 22:10

postgreSQL postgreSQL์€ ์œ„ํ‚ค์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์„ค๋ช…ํ•œ๋‹ค. PostgreSQL์€ ํ™•์žฅ ๊ฐ€๋Šฅ์„ฑ ๋ฐ ํ‘œ์ค€ ์ค€์ˆ˜๋ฅผ ๊ฐ•์กฐํ•˜๋Š” ๊ฐ์ฒด-๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์˜ ํ•˜๋‚˜์ด๋‹ค. BSD ํ—ˆ๊ฐ€๊ถŒ์œผ๋กœ ๋ฐฐํฌ๋˜๋ฉฐ ์˜คํ”ˆ์†Œ์Šค ๊ฐœ๋ฐœ์ž ๋ฐ ๊ด€๋ จ ํšŒ์‚ฌ๋“ค์ด ๊ฐœ๋ฐœ์— ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋‹ค. ๋‚˜๋Š” ์ด์ „ ํšŒ์‚ฌ์—์„œ PgAdmin์œผ๋กœ postgreSQL์„ ์ ‘ํ–ˆ๋‹ค. ์˜ค๋ž˜๋œ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ๋งŽ๋‹ค๋ณด๋‹ˆ SQLSERVER๋กœ DB๋ฅผ ์šด์˜ํ•˜๋Š” ์†”๋ฃจ์…˜๋“ค์ด ๋งŽ์•˜๋Š”๋ฐ PgAdmin์˜ UI๋ฅผ ๋ณด๊ณ  ์šฐ์™€ ์ฐธ ๊น”๋”ํ•˜๋‹ค ํ•˜๊ณ  ์ƒ๊ฐํ–ˆ๋˜ ์ ์ด ์žˆ๋‹ค. ํ—›์†Œ๋ฆฌ๋Š” ๊ฐ์„คํ•˜๊ณ ! ํฌ์ŠคํŠธ๊ทธ๋ ˆ์™€ ์Šคํ”„๋ง๋ถ€ํŠธ๋ฅผ ์—ฐ๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž. ์„ค์น˜ ๋ฐ ์ ‘์† ์„ค์น˜ ๋ฐฉ๋ฒ• ๋‚˜๋Š” ์œˆ๋„์šฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๊ฐ„๋‹จํ–ˆ๋‹ค. PostgreSQL: Downloads www.postgresql.org ..

๋นŒ๋” ํŒจํ„ด(builder pattern)
BackEnd & DB๐Ÿงต 2023. 10. 6. 23:16

Builder Pattern ์ž๋ฐ”์—์„œ ๊ฐ์ฒด๋ฅผ ์ •์˜ํ•˜์—ฌ ์ƒ์„ฑํ• ๋•Œ ๋ณดํ†ต ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•ด ๊ฐ’์„ ์ฃผ์ž…ํ•˜์—ฌ ์ƒ์„ฑํ•œ๋‹ค. Person hae = new Person("ํ•ด์˜", 27, "๊ฐœ๋ฐœ์ž"); ์ด๋ ‡๊ฒŒ ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹จ์ ์ด ์žˆ๋‹ค. 1. ๊ฐ’์˜ ์„ค์ • ์ˆœ์„œ๊ฐ€ ์—†๋‹ค. ์ƒ์„ฑ์ž์˜ ๊ฒฝ์šฐ์—๋Š” ์ •ํ•ด์ง„ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ˆœ์„œ๋Œ€๋กœ ๊ฐ’์„ ๋„ฃ์–ด์ค˜์•ผํ•œ๋‹ค. ์ˆœ์„œ๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ๋„ฃ๊ฒŒ๋˜๋ฉด ๋‹ค๋ฅธ ๋ณ€์ˆ˜์— ๋‹ค๋ฅธ ๊ฐ’์ด ํ• ๋‹น๋˜๋Š” ๋‚ญํŒจ๊ฐ€ ์ƒ๊ธด๋‹ค. ์ด์—๋ฐ˜ํ•ด ๋นŒ๋”ํŒจํ„ด์—์„œ๋Š” ํ•„๋“œ ์ด๋ฆ„์œผ๋กœ ๊ฐ’์„ ์„ค์ •ํ•˜์—ฌ, ์ˆœ์„œ์— ์ข…์†๋˜์ง€์•Š๋Š”๋‹ค. ์–ด๋–ค ํ•„๋“œ๋ฅผ ๋จผ์ € ์„ค์ •ํ•ด์•ผํ•˜๋Š”์ง€ ์ƒ๊ฐํ•  ํ•„์š”์—†์ด ํŽธํ•˜๊ฒŒ ๋‚˜์—ดํ•˜๋ฉด๋œ๋‹ค. 2. ์ƒ์„ฑ์ž์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋งŽ์œผ๋ฉด ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง„๋‹ค. ์˜ˆ์‹œ์—์„œ ์ฒ˜๋Ÿผ 3๊ฐ€์ง€์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋งŒ ๋ฐ›๋Š” ๊ฒฝ์šฐ์—๋Š” ํฌ๊ฒŒ ๊ฐ€๋…์„ฑ์— ๋ฌธ์ œ๊ฐ€ ์—†์„๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ 10๊ฐ€์ง€ ์ •๋ณด๋ฅผ..

article thumbnail
Spring ํŽ˜์ด์ง€๋„ค์ด์…˜ ์ฒ˜๋ฆฌ
BackEnd & DB๐Ÿงต 2023. 9. 9. 20:38

ํŽ˜์ด์ง€๋„ค์ด์…˜? ํŽ˜์ด์ง•์€ ๊ฒŒ์‹œ๊ธ€, ๋Œ“๊ธ€ ๋“ฑ์„ ํ‘œ์ถœํ•  ์–‘์ด ๋งŽ์•„์งˆ๋•Œ, ์•„์ฃผ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•œ๋‹ค. ํŽ˜์ด์ง•์„ ํ†ตํ•ด์„œ ๋งŽ์€ ์ •๋ณด ์ฆ‰, ์ˆ˜๋ฐฑ ์ˆ˜์ฒœ๊ฐœ์˜ ๊ฒŒ์‹œ๊ธ€๋“ฑ์˜ ์ •๋ณด๋ฅผ ํŽ˜์ด์ง€๋กœ ๋‚˜๋ˆ ์„œ ํšจ๊ณผ์ ์œผ๋กœ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ฒŒ ํ•œ๋‹ค. ์ด๋Ÿฐ ํŽ˜์ด์ง•์„ ์œ„ํ•ด์„œ๋Š” page๊ด€๋ จ ์ฟผ๋ฆฌ๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ, Spring Data JPA์—์„œ ํšจ๊ณผ์ ์ธ ํŽ˜์ด์ง• ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค. JpaRepository ์˜ ๋ถ€๋ชจ์ธํ„ฐํŽ˜์ด์Šค์ธ PagingAndSortingRepository์—์„œ ํŽ˜์ด์ง•๊ณผ Sorting ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. findAll() ๋ฉ”์„œ๋“œ์˜ ๋ฐ˜ํ™˜ ํƒ€์ž…์„ ์‚ดํŽด๋ณด๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฉ”์„œ๋“œ๊ฐ€ ์กด์žฌํ•œ๋‹ค. Pageable : ํŽ˜์ด์ง•์„ ์ œ๊ณตํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค Page : ํŽ˜์ด์ง•์˜ findAll()์˜ ๊ธฐ๋ณธ์ ์ธ ๋ฐ˜ํ™˜ ๋ฉ”์„œ๋“œ๋กœ ์—ฌ๋Ÿฌ ๋ฐ˜ํ™˜ํƒ€์ž…์ค‘..

JPA + H2 DB ์‚ฌ์šฉํ• ๋•Œ ๋”๋ฏธ๋ฐ์ดํ„ฐ ์ž…๋ ฅ ๋ฐฉ๋ฒ•
BackEnd & DB๐Ÿงต 2023. 9. 7. 21:54

dummy data ํ”„๋ก ํŠธ์—”๋“œ์™€ ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•œ๋ฐ ์•„์ง ๋ฐฑ์—”๋“œ์—์„œ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒํ™ฉ์ด๋‹ค...! ๊ทธ๋ž˜ ๋”๋ฏธ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘์ž…๋ ฅํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด๋ณด์ž. ๋”๋ฏธ๋ฐ์ดํ„ฐ๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด์ง„ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ผ๊ณ  ํ• ์ˆ˜์žˆ๋‹ค. ๊ฐœ๋ฐœ๊ณผ์ •์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ฑฐ๋‚˜, ์„ฑ๋Šฅ์„ ์ฒดํฌํ• ๋•Œ ์‚ฌ์šฉํ• ์ˆ˜์žˆ๋‹ค. ๊ฐ€์žฅ๋จผ์ € ddl-auto์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. ddl-auto ddl-auto๋Š” ์Šคํ”„๋ง๋ถ€ํŠธ์˜ JPA ์„ค์ •์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์†์„ฑ์ด๋‹ค. ์ด์†์„ฑ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์Šคํ‚ค๋งˆ ์ƒ์„ฑ ์ „๋žต์„ ์„ค์ •ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•œ๋‹ค. ์ด๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1. none : ๊ธฐ๋ณธ์„ค์ •๊ฐ’, Hibernate๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๋Š”๋‹ค. 2. validate : hibernate๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ• ๋•Œ Entity์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ..

article thumbnail
Logging
BackEnd & DB๐Ÿงต 2023. 7. 26. 16:02

Logging ์šด์˜ ๋˜๋Š” ๊ฐœ๋ฐœ์ค‘์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒํƒœ๋‚˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„๋•Œ, ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๋‹น์‹œ์˜ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์ด๋Ÿฌํ•œ ์ •๋ณด๋ฅผ ์–ป๊ธฐ์œ„ํ•ด์„œ Logging์„ ์‚ฌ์šฉํ•œ๋‹ค. ์‚ฌ์ „์ ์ธ ์˜๋ฏธ๋กœ๋Š” "๊ธฐ๋กํ•˜๋Š” ํ–‰์œ„" ์ด๊ณ , ์ด๋Ÿฐ ํŒŒ์ผ๋“ค์„ ๋ชจ์•„๋†“์€ ๊ฒƒ์„ LogํŒŒ์ผ์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋ฒ„๊ทธ๋‚˜ ์˜ˆ์™ธ์— ๋Œ€ํ•œ ์œ ์šฉํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์„ฑ๋Šฅ์ด๋‚˜ ์žฅ์• ์— ๋Œ€ํ•œ ๊ธฐ๋ก์„ ๋‚จ๊ธฐ๋Š” ๊ฒƒ์œผ๋กœ ์ •์˜ ํ• ์ˆ˜์žˆ๊ฒ ๋‹ค. ์ž๋ฐ”์—์„œ ๋กœ๊ทธ๋ฅผ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ง€๊ธˆ๊นŒ์ง€๋Š” System.out.println() ์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์€ ๊ถŒ์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค. ์ง€๊ธˆ๋ถ€ํ„ฐ ๊ทธ ์ด์œ ๋ฅผ ์•Œ์•„๋ณด์ž! System.out.println() ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋˜๋Š” ์ด์œ  1. ๋กœ๊น…๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์— ๋น„ํ•ด ์„ฑ๋Šฅ์ด ๋‚ฎ๋‹ค. 2. ๋‚ ์งœ, ์‹œ๊ฐ„, ๋ ˆ๋ฒจ ๋“ฑ์˜ ์ •๋ณด๋ฅผ ์ง์ ‘ ๋งŒ๋“ค์–ด์„œ ์ž‘์„ฑํ•ด์•ผ ..

article thumbnail
TIL - MVC ํŒจํ„ด
BackEnd & DB๐Ÿงต 2023. 7. 21. 17:39

MVC ํŒจํ„ด MVC ํŒจํ„ด์˜ ๋“ฑ์žฅ ์ด์œ  ํ•˜๋‚˜์˜ ์„œ๋ธ”๋ฆฟ or JSP๋งŒ ์‚ฌ์šฉํ•ด์„œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ ๋ทฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋„ˆ๋ฌด ๋งŽ์€ ์—ญํ• ์„ ๋‹ด๋‹นํ•˜๊ฒŒ ๋˜์–ด ์œ ์ง€๋ณด์ˆ˜์‹œ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค. UI์˜ ์ˆ˜์ •๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค๋กœ์ง์„ ์ˆ˜์ •ํ•˜๋Š” ์ผ์€ ์„œ๋กœ์—๊ฒŒ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์•„์•ผํ•˜๋Š”๋ฐ ํ•˜๋‚˜์˜ ์ฝ”๋“œ๋กœ ๊ด€๋ฆฌํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ์–ด๋ ค์›€์ด ์žˆ๋‹ค. MVC ํŒจํ„ด์ด๋ž€? MVCํŒจํ„ด์€ Model, View, Controller ๋ผ๋Š” ์˜์—ญ์œผ๋กœ ์„œ๋กœ์˜ ์—ญํ• ์„ ๋‚˜๋ˆˆ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์›น์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ด๋Ÿฌํ•œ ํŒจํ„ด์ด ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค. ์œ„์˜ ๊ทธ๋ฆผ์ƒ์œผ๋กœ ์ปจํŠธ๋กค๋Ÿฌ์— ๋น„์ฆˆ๋‹ˆ์Šค์˜ ๋กœ์ง์„ ๋‹ด๋Š”๊ฒƒ์œผ๋กœ ํ‘œํ˜„๋˜์–ด ์žˆ์ง€๋งŒ, ๋น„์ฆˆ๋‹ˆ์Šค๋กœ์ง์€ Service ๊ณ„์ธต์„ ๋งŒ๋“ค์–ด ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์ด๋Ÿฌํ•œ ์„œ๋น„์Šค๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. Controller : HTTP ์š”์ฒญ์„ ๋ฐ›์•„ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฒ€..

article thumbnail
TIL - JSP
BackEnd & DB๐Ÿงต 2023. 7. 20. 00:22

JSP(Java Server Pages) ๋ž€? JSP๋Š” HTML ์ฝ”๋“œ์— Java ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด ๋™์ ์ธ ์›นํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ํ•™๋ถ€์—์„œ ์—ฌ๋Ÿฌ๋ฒˆ ๋ฐฐ์› ์ง€๋งŒ ์ œ๋Œ€๋กœ ์‹ค์Šตํ•ด๋ณด์ง€ ์•Š์€๊ด€๊ณ„๋กœ ๊ฐœ๋…๋งŒ ์•Œ๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ์ œ๋Œ€๋กœ ์•Œ๊ณ ๊ฐ€์ž. JSP๊ฐ€ ์‹คํ–‰๋˜๋ฉด์„œ ์ž๋ฐ”์˜ Servlet์œผ๋กœ ๋ณ€ํ™˜์ด ๋˜๊ณ  WAS์—์„œ ๋™์ž‘๋˜๋ฉด์„œ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์›นํŽ˜์ด์ง€์™€ ํ•จ๊ป˜ ํด๋ผ์ด์–ธํŠธ๋กœ ์‘๋‹ตํ•œ๋‹ค. ์ฆ‰ Servlet์œผ๋กœ ์›นํŽ˜์ด์ง€๋ฅผ ๊ตฌํ˜„ํ•˜๊ฒŒ๋˜๋ฉด Java์ฝ”๋“œ ๋‚ด๋ถ€์— Html ์ฝ”๋“œ๊ฐ€ ์„ž์ด๊ฒŒ ๋˜๊ณ , Html์„ Java๋‚ด๋ถ€์—์„œ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋˜๋ฉด ๊ต‰์žฅํžˆ ๊ท€์ฐฎ๊ณ  ์–ด๋ ค์›Œ์ง„๋‹ค. (2023.07.17 - [TIL๐Ÿ“] - TIL - Servlet ์ฐธ๊ณ ) JSP ๋™์ž‘๋ฐฉ์‹ [JSP์— ํ•ด๋‹นํ•˜๋Š” ์„œ๋ธ”๋ฆฟ์ด ์—†์„๊ฒฝ์šฐ] 1. JSP ํŽ˜์ด์ง€๋กœ..

article thumbnail
[Web] OAuth 2
BackEnd & DB๐Ÿงต 2023. 7. 19. 21:58

OAuth2๋ž€? ํŠน์ • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(Client)์—์„œ ์‚ฌ์šฉ์ž์˜ ์ธ์ฆ์„ ์ง์ ‘ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๊ณ , ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋Š” ์‹ ๋ขฐํ• ๋งŒํ•œ ์จ๋“œํŒŒํ‹ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(Github, Kakao, Google, Facebook ๋“ฑ)์—์„œ ์‚ฌ์šฉ์ž์˜ ์ธ์ฆ์„ ๋Œ€์‹  ์ฒ˜๋ฆฌํ•˜๊ณ  ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ž๊ฒฉ์ฆ๋ช…์šฉ ํ† ํฐ์„ ๋ฐœ๊ธ‰ํ•˜์—ฌ, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•ด๋‹น ํ† ํฐ์„ ์ด์šฉํ•˜์—ฌ ์จ๋“œํŒŒํ‹ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์ด๋‹ค. ๋˜๋Š” ์ถ”๊ฐ€์ ์ธ ์ธ์ฆ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์•„์ด๋””/ํŒจ์Šค์›Œ๋“œ ๋กœ๊ทธ์ธ์— ์ถ”๊ฐ€์ ์œผ๋กœ OAuth2๋ฅผ ์ด์šฉํ•˜์—ฌ ์ธ์ฆ์„ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํŠน์ • ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์‚ฌ์šฉ์ž์˜ ํฌ๋ฆฌ๋ด์…œ์„ ๋‚จ๊ธฐ๊ณ  ์‹ถ์ง€ ์•Š์„๊ฒฝ์šฐ OAuth2 ๋กœ๊ทธ์ธ ์ธ์ฆ๋ฐฉ๋ฒ•์œผ๋กœ ๋กœ๊ทธ์ธ์„ ๊ตฌํ˜„ํ•˜๋ฉด๋œ๋‹ค. 1. Resource Owner๊ฐ€ ํด๋ผ์ด์–ธ..

article thumbnail
[Web]Cookie / Session
BackEnd & DB๐Ÿงต 2023. 7. 19. 21:23

Cookie ์ฟ ํ‚ค๋Š” ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์ค‘์˜ ํ•˜๋‚˜์ด๋‹ค. HTTP์˜ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ• ์ˆ˜์—†๋‹ค. ์ฆ‰ ์›น์‚ฌ์ดํŠธ๋Š” ์‚ฌ์šฉ์ž๋ฅผ ๊ตฌ๋ณ„ํ• ์ˆ˜ ์—†๊ณ , ์‚ฌ์šฉ์ž๋Š” ๋งค๋ฒˆ ์ธ์ฆ์ ˆ์ฐจ๋ฅผ ์ง„ํ–‰ํ•ด์•ผํ•œ๋‹ค.(HTTPํ”„๋กœํ† ์ฝœ์˜ Connectionless, Statelessํ•จ ๋•Œ๋ฌธ์—) ํ•˜์ง€๋งŒ ์ฟ ํ‚ค๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ๊ธฐ์–ตํ• ์ˆ˜์žˆ๊ฒŒ ํ•˜๊ณ  ์ด๊ฒƒ์ด ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์ด๋‹ค. Cookie์˜ ์˜ต์…˜ 1. Domain ๋„๋ฉ”์ธ์€ www.naver.com๊ณผ ๊ณผ ๊ฐ™์ด ์„œ๋ฒ„์— ์ ‘์†ํ• ์ˆ˜์žˆ๋Š” ์ฃผ์†Œ๋ฅผ ๋งํ•œ๋‹ค. ๋งŒ์•ฝ ์š”์ฒญํ•ด์•ผํ•  URL์ด http://www.example.com:3000/users/login ์ด๋ผ๋ฉด ์—ฌ๊ธฐ์—์„œ ๋„๋ฉ”์ธ์€ example.com์ด ๋œ๋‹ค. ์ฟ ํ‚ค์˜ต์…˜์— ๋„๋ฉ”์ธ ์ •๋ณด๊ฐ€ ์กด์žฌํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ์—์„œ๋Š” ์ฟ ํ‚ค์˜ ๋„๋ฉ”์ธ ์˜ต์…˜๊ณผ ์„œ๋ฒ„..

article thumbnail
TIL - Servlet
BackEnd & DB๐Ÿงต 2023. 7. 17. 20:53

ํ”„๋กœ์ ํŠธ ์„ธํŒ… ์Šคํ”„๋ง๋ถ€ํŠธ์—์„œ ํŒจํ‚ค์ง• ์„ ํƒ์‹œ์— Jar์™€ War๊ฐ€ ์žˆ๋‹ค. JAR( JAVA Archive) .jar ํ™•์žฅ์ž ํŒŒ์ผ์€ Class์™€ ๋ฆฌ์†Œ์Šค ์†์„ฑํŒŒ์ผ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ์•ก์„ธ์„œ๋ฆฌ ํŒŒ์ผ์ด ํฌํ•จ๋˜์–ด์žˆ๋‹ค. ์ฆ‰ ์ž๋ฐ” ํ”„๋กœ์ ํŠธ๋ฅผ ์••์ถ•ํ•œ ํŒŒ์ผ๋กœ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. JRE๋งŒ์œผ๋กœ๋„ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค. WAR(Web application Archive) .War ํŒŒ์ผ์€ servlet/ jsp ์ปจํ…Œ์ด๋„ˆ์— ์‚ฌ์šฉํ• ์ˆ˜์žˆ๋Š” ์›น์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์••์ถ•ํŒŒ์ผ ํฌ๋งท์ด๋‹ค. ์ด๋Š” ์›น๊ด€๋ จ ์ž์›๋งŒ ํฌํ•จํ•˜๊ณ  ์žˆ๊ณ , ์‚ฌ์šฉ์‹œ์— ์›น์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‰ฝ๊ฒŒ ๋ฐฐํฌํ•˜๊ณ  ์‚ฌ์šฉํ• ์ˆ˜์žˆ๋‹ค. ๋‹จ์ ์€ WARํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด Tomcat, Weblogic, Websphere๋“ฑ์˜ Web Server ๋˜๋Š” WAS๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ํ˜„์žฌ ์ƒํ™ฉ์—์„œ๋Š” JSP๊ณต๋ถ€๋„ ํ•„์š”ํ•˜๋ฏ€๋กœ WAR๋ฅผ ์„ ํƒํ•œ๋‹ค. ์„œ..

๋ฐ˜์‘ํ˜•