์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 

์นด์นด์˜ค,๊ตฌ๊ธ€ SNS ๋กœ๊ทธ์ธ(springboot3, vue3)

springboot๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์นด์นด์˜ค, ๊ตฌ๊ธ€๋กœ๊ทธ์ธ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. jwtํ† ํฐ ๊ธฐ๋ฐ˜ ๋กœ๊ทธ์ธ์ด ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. vue3๋ฅผ ํ†ตํ•ด ๊ฐ„๋‹จํ•œ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

Thumbnail

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[๋ฐฑ์—”๋“œ, ์›น ๊ฐœ๋ฐœ] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • springboot3.x๋Œ€ jwtํ† ํฐ ๊ธฐ๋ฐ˜ ๋กœ๊ทธ์ธ ๊ตฌํ˜„

  • oauth๊ธฐ๋ฐ˜์˜ ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ

  • ๊ตฌ๊ธ€๋กœ๊ทธ์ธ, ์นด์นด์˜ค๋กœ๊ทธ์ธ ๊ตฌํ˜„๊ณผ ์ฝ˜์†”์ž‘์—…

1. ํ•™์Šต๋‚ด์šฉ๐Ÿ“•

  • ๊ตฌ๊ธ€/์นด์นด์˜ค SNS ๋กœ๊ทธ์ธ ๊ตฌํ˜„(ํ”„๋ก ํŠธ, ๋ฐฑ์—”๋“œ)


  • 2๊ฐ€์ง€ ๊ตฌํ˜„ ๋ฐฉ์‹์„ ํ†ตํ•œ oauth ๋กœ๊ทธ์ธ

    • ๋ฐฉ๋ฒ•1)ํ”„๋ก ํŠธ์—”๋“œ(์ธ๊ฐ€์ฝ”๋“œ), ์„œ๋ฒ„(accessํ† ํฐ, ์‚ฌ์šฉ์ž์ •๋ณด) ๋ฐฉ์‹์˜ sns๋กœ๊ทธ์ธ

    • ๋ฐฉ๋ฒ•2)spring์˜ oauth2-client๋ฅผ ํ™œ์šฉํ•œ ์„œ๋ฒ„(์ธ๊ฐ€์ฝ”๋“œ, accessํ† ํฐ, ์‚ฌ์šฉ์ž์ •๋ณด) ๋ฐฉ์‹์˜ sns๋กœ๊ทธ์ธ


  • ๊ตฌ๊ธ€,์นด์นด์˜ค ์ฝ˜์†”์ž‘์—…๋ถ€ํ„ฐ ์ˆ˜์—…์—์„œ ํ•จ๊ป˜ ์ง„ํ–‰

2. ๊ธฐ์ˆ ์Šคํƒ๊ณผ ์ฃผ์˜์‚ฌํ•ญ ๐Ÿ“ข

  • ๋ฐฑ์—”๋“œ

    • java17, springboot3.4 ๊ธฐ๋ฐ˜ restful api๊ฐœ๋ฐœ, spring data jpa, jwtํ† ํฐ ๋กœ๊ทธ์ธ, mysql

  • ํ”„๋ก ํŠธ

    • html/css/js, vue3, vuetify, vue-router ๋“ฑ ํ™œ์šฉ

  • ์ฃผ์˜์‚ฌํ•ญ

    • ์œ„ ๊ธฐ์ˆ ์Šคํƒ์˜ ๊ธฐ์ดˆ์ ์ธ ์ง€์‹์ด ์„ ํ–‰๋˜๋ฉด ์ข‹์œผ๋‚˜, ์ดํ•ด๊ฐ€ ๋ถ€์กฑํ•ด๋„ ์ˆ˜์—…์„ ๋”ฐ๋ผ์˜ค๋Š”๋ฐ ํฐ ๋ฌด๋ฆฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

    • ํŠนํžˆ, vueํŒŒํŠธ๋Š” ๊ต‰์žฅํžˆ ์ ์€ ์ฝ”๋“œ ์ž‘์„ฑ์ด ์ด๋ฃจ์–ด์ง€๊ธฐ์— ๋ฌด๋ฆฌ์—†์ด ๋”ฐ๋ผํ•˜์‹ค์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. github์— ์ฝ”๋“œ๋„ ๊ณต๊ฐœ๋ผ ์žˆ์œผ๋‹ˆ ๊ฐ„ํŽธํ•˜๊ฒŒ ๋ณต๋ถ™์œผ๋กœ ์ˆ˜์—…์„ ๋”ฐ๋ผ์˜ค์…”๋„ ๋ฉ๋‹ˆ๋‹ค.

3. ์ˆ˜์—…์ž๋ฃŒ ๐Ÿ“ข

  • ๋ชจ๋“  ์ˆ˜์—… ์ž๋ฃŒ๋Š” ์•„๋ž˜ ๋งํฌ์˜ ๋…ธ์…˜์ž๋ฃŒ๋ฅผ ๋ณด์…”๋„ ๋˜๊ณ , ๋™์ผํ•œ ๋‚ด์šฉ์˜ pdf ์ˆ˜์—…์ž๋ฃŒ๋„ ๊ฐ•์˜๋งˆ๋‹ค ์—…๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค.(๋…ธ์…˜์ด ๋” ๋ณด๊ธฐ ํŽธํ•ฉ๋‹ˆ๋‹ค!!)

  • ๊ฐ•์‚ฌ์™€ ํ•จ๊ป˜ ๋งŒ๋“ค์–ด๊ฐˆ ์†Œ์Šค์ฝ”๋“œ๋Š” github์— ๋ฏธ๋ฆฌ ๊ณต๊ฐœ๋ผ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • sns๋กœ๊ทธ์ธ์„ ๊ตฌํ˜„ํ•ด๋ณด๊ณ  ์‹ถ์€ ๊ฐœ๋ฐœ์ž

  • oauth๊ตฌํ˜„์€ ํ•ด๋ดค์ง€๋งŒ ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ๋ถ€์กฑํ–ˆ๋˜ ์‚ฌ๋žŒ

  • oauth๊ตฌํ˜„์—์„œ ๋ฐฑ์—”๋“œ์˜ ์˜์—ญ๊ณผ ํ”„๋ก ํŠธ์˜ ์˜์—ญ์˜ ๊ตฌ๋ถ„์ด ๊ถ๊ธˆํ–ˆ๋˜ ๊ฐœ๋ฐœ์ž

์•ˆ๋…•ํ•˜์„ธ์š”
bradkim์ž…๋‹ˆ๋‹ค.

1,397

๋ช…

์ˆ˜๊ฐ•์ƒ

76

๊ฐœ

์ˆ˜๊ฐ•ํ‰

44

๊ฐœ

๋‹ต๋ณ€

5.0

์ 

๊ฐ•์˜ ํ‰์ 

8

๊ฐœ

๊ฐ•์˜

๐Ÿ’ช๐Ÿ’ช๐Ÿ’ช ์‹ค๋ฌด์™€ ๊ฐ•์˜ ๊ฒฝ๋ ฅ์„ ๊ฐ–์ถ˜ ์ „๋ฌธ๊ฐ€ ๐Ÿ’ช๐Ÿ’ช๐Ÿ’ช

์•ˆ๋…•ํ•˜์„ธ์š”. ์—ฐ์„ธ๋Œ€ํ•™๊ต๋ฅผ ์กธ์—…ํ•˜๊ณ  ๋Œ€๊ธฐ์—…, ์Šคํƒ€ํŠธ์—… ๋“ฑ์—์„œ 8๋…„ ์ด์ƒ์„ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋กœ ์ผํ•ด์™”์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” ๋ถ€ํŠธ์บ ํ”„์—์„œ ์ „์—… ๊ฐ•์‚ฌ๋กœ ์ผํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค๋ฌด ๊ฒฝํ—˜๊ณผ ๊ฐ•์˜ ๊ฒฝํ—˜์„ ๋ชจ๋‘ ๊ฐ–์ถ˜ ๊ฐ•์‚ฌ๋กœ์„œ, ์—ฌ๋Ÿฌ๋ถ„๋“ค์—๊ฒŒ ๋ฐ˜๋“œ์‹œ ์•Œ์•„์•ผํ•  ์ง€์‹๋“ค ์œ„์ฃผ๋กœ ์•Œ๊ธฐ์‰ฝ๊ฒŒ ์ „๋‹ฌ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœํ•„ : https://www.linkedin.com/in/seongukkim

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

20๊ฐœ โˆ™ (6์‹œ๊ฐ„ 36๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!