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

์ „์ฒด ๊ธ€111

[Spring, Vue.js] ์นด์นด์˜ค ๊ฐ„ํŽธ ๋กœ๊ทธ์ธ ๋งŒ๋“ค๊ธฐโ‘ก - Vue๋กœ ํ”„๋ก ํŠธ์—”๋“œ ์ž‘์„ฑํ•˜๊ธฐ (REST API) [Spring,Vue.js] ์นด์นด์˜ค ๊ฐ„ํŽธ ๋กœ๊ทธ์ธ ๋งŒ๋“ค๊ธฐ โ‘  - ๊ตฌ์กฐ์™€ ํ๋ฆ„ ํŒŒ์•…ํ•˜๊ณ  ์นด์นด์˜ค ๋””๋ฒจ๋กœํผ์Šค ์„ค์ •ํ•˜๊ธฐ์นด์นด์˜ค ๊ฐ„ํŽธ ๋กœ๊ทธ์ธ์„ ๋งŒ๋“ค์–ด๋ณด์ž!๋จผ์ € ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์–ด์•ผํ•˜๋Š”์ง€ ๊ตฌ์กฐ์™€ ํ๋ฆ„์„ ํŒŒ์•…ํ•˜๊ณ ์นด์นด์˜ค ๋””๋ฒจ๋กœํผ์Šค๋ฅผ ์„ค์ •ํ•˜์ž. 1. ์นด์นด์˜ค ๋””๋ฒจ๋กœํผ์Šค - ์นด์นด์˜ค API ์‹œ์ž‘ํ•˜๊ธฐ Kakao Developers์นด์นด์˜ค API๋ฅผ ํ™œpost-this.tistory.com ์นด์นด์˜ค ๋””๋ฒจ๋กœํผ์Šค์—์„œ ํ•„์š”ํ•œ ๊ฑด ๋ชจ๋‘ ์„ค์ •ํ–ˆ๋‹ค.์ด์ œ ์„ค์ •ํ•œ ๊ฑธ ํ† ๋Œ€๋กœ, ํ”„๋ก ํŠธ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด์ž! 1. ํ™”๋ฉด๋กœ๊ทธ์ธ ์นด์นด์˜ค ๊ฐ„ํŽธ ๋กœ๊ทธ์ธ 2. ์ „์ฒด ์ฝ”๋“œ LoginView.vue Sign In เท† ID .. 2025. 9. 27.
[Spring,Vue.js] ์นด์นด์˜ค ๊ฐ„ํŽธ ๋กœ๊ทธ์ธ ๋งŒ๋“ค๊ธฐ โ‘  - ๊ตฌ์กฐ์™€ ํ๋ฆ„ ํŒŒ์•…ํ•˜๊ณ  ์นด์นด์˜ค ๋””๋ฒจ๋กœํผ์Šค ์„ค์ •ํ•˜๊ธฐ (REST API) ์นด์นด์˜ค ๊ฐ„ํŽธ ๋กœ๊ทธ์ธ์„ ๋งŒ๋“ค์–ด๋ณด์ž!๋จผ์ € ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์–ด์•ผํ•˜๋Š”์ง€ ๊ตฌ์กฐ์™€ ํ๋ฆ„์„ ํŒŒ์•…ํ•˜๊ณ ์นด์นด์˜ค ๋””๋ฒจ๋กœํผ์Šค๋ฅผ ์„ค์ •ํ•˜์ž. 1. ์นด์นด์˜ค ๋””๋ฒจ๋กœํผ์Šค - ์นด์นด์˜ค API ์‹œ์ž‘ํ•˜๊ธฐ Kakao Developers์นด์นด์˜ค API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•ด ๋ณด์„ธ์š”. ์นด์นด์˜ค ๋กœ๊ทธ์ธ, ๋ฉ”์‹œ์ง€ ๋ณด๋‚ด๊ธฐ, ์นœ๊ตฌ API, ์ธ๊ณต์ง€๋Šฅ API ๋“ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.developers.kakao.com - ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ํ•˜๊ธฐ Kakao Developers์นด์นด์˜ค API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•ด ๋ณด์„ธ์š”. ์นด์นด์˜ค ๋กœ๊ทธ์ธ, ๋ฉ”์‹œ์ง€ ๋ณด๋‚ด๊ธฐ, ์นœ๊ตฌ API, ์ธ๊ณต์ง€๋Šฅ API ๋“ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.developers.kakao.com - ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์ดํ•ดํ•˜๊ธฐ Kakao Developers์นด์นด์˜ค API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„.. 2025. 9. 25.
[Spring] HttpEntity์™€ x-www-form-urlencoded์ด๋ž€? ํผ ์ „์†ก์‹œ ์ฝ”๋“œ ์‚ดํŽด๋ณด๊ธฐ. ContentType์„ x-www-form-urlencoded๋กœ๋ช…์‹œํ–ˆ๋”๋‹ˆ,HttpEntity์— ๋‹ด์•„ ๋ณด๋ƒˆ๋‹ค.๋ฌด์Šจ ๊ด€๊ณ„๊ฐ€ ์žˆ๋Š” ๊ฑธ๊นŒ? HttpEntityํ—ค๋”์™€ ๋ฐ”๋””๋กœ ์ด๋ค„์ง„ HTTP request, response ์—”ํ‹ฐํ‹ฐ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด, HttpEntity๋Š” Http ์š”์ฒญ/์‘๋‹ต์˜ ํ—ค๋”+๋ฐ”๋””๋ฅผ ๋ฌถ๋Š” ์ƒ์ž์™€ ๊ฐ™์•„์„œ ํ—ค๋”์™€ ๋ฐ”๋””๋ฅผ ํ•จ๊ป˜ ๋ณด๋‚ด์•ผ ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.ํ˜•์ œ ํƒ€์ž…์œผ๋กœ๋Š” RequestEntity(์š”์ฒญ์ „์šฉ, HTTP ๋ฉ”์„œ๋“œ/URL๊นŒ์ง€ ํฌํ•จ)์™€ ResponseEntity(์‘๋‹ต์ „์šฉ, ์ƒํƒœ์ฝ”๋“œ๊นŒ์ง€ ํฌํ•จ)๊ฐ€ ์žˆ๋‹ค.HttpEntity๋Š” ์ƒํƒœ ์ฝ”๋“œ๊ฐ€ ์—†์œผ๋‚˜ HttpStatus์˜ ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ๋”ํ•  ์ˆ˜ ์žˆ๋‹ค.HttpEntity๋Š” ์š”์ฒญ/์‘๋‹ต ์–‘์ชฝ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. x-www-form-urlenco.. 2025. 9. 21.
[Python] CodeTree - Trail 0. Chapter10 : ๋‘ ๋ฐฐ์—ด์˜ ๊ณฑ 1. ๋ฌธ์ œ ์„ค๋ช…3ํ–‰ 3์—ด์˜ ๋ฐฐ์—ด ๋‘ ๊ฐœ๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ๋‘ ๋ฐฐ์—ด์˜ ๊ฐ™์€ ์œ„์น˜์— ์žˆ๋Š” ์ˆ˜์˜ ๊ณฑ์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด๋ณด์„ธ์š”. 2. ์ž…๋ ฅ ์˜ˆ์‹œ3ํ–‰ 3์—ด์˜ ๋ฐฐ์—ด ๋‘ ๊ฐœ๊ฐ€ ์ค„ ๊ฐ„๊ฒฉ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.1 2 34 5 67 8 92 3 45 6 78 9 10 3. ์ถœ๋ ฅ ์˜ˆ์‹œ์ฃผ์–ด์ง„ ๋‘ ๋ฐฐ์—ด์˜ ๊ณฑ์„ 3ํ–‰ 3์—ด์˜ ๋ฐฐ์—ด๋กœ ์ž…์ถœ๋ ฅ ์˜ˆ์ œ์™€ ๊ฐ™์ด ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.2 6 12 20 30 4256 72 90 4. ๋ฌธ์ œ ํ’€์ด์ž˜๋ชป๋œ ํ’€์ดA = [ list(map(int,input().split())) for _ in range (3)]B = [ list(map(int,input().split())) for _ in range (3)]for i in range(3): for j in rang.. 2025. 9. 20.
[Vue.js] ์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง v-if, v-else-if, v-else, v-show์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ  ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ. ์–ด๋–ค ๊ธฐ์ค€์— ๋”ฐ๋ผ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ํ™”๋ฉด์ด ๋‹ฌ๋ผ์ง€๊ธฐ ์›ํ•ด์„œ v-if, v-else๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.v-if์™€ v-else๊ฐ€ ๋ญ˜๊นŒ? v-if๋””๋ ‰ํ‹ฐ๋ธŒ v-if๋Š” ๋ธ”๋ก์„ ์กฐ๊ฑด๋ถ€๋กœ ๋ Œ๋”๋งํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.๋””๋ ‰ํ‹ฐ๋ธŒ์˜ ํ‘œํ˜„์‹์ด ์ฐธ(truthy) ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•  ๋•Œ๋งŒ ๋ธ”๋ก์ด ๋ Œ๋”๋ง๋œ๋‹ค.v-if๋Š” ๋””๋ ‰ํ‹ฐ๋ธŒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋“œ์‹œ ํ•˜๋‚˜์˜ ์š”์†Œ์—๋งŒ ๋ถ€์ฐฉ๋˜์–ด์•ผํ•œ๋‹ค.ํ•˜์ง€๋งŒ ์—ฌ๋Ÿฌ ์š”์†Œ๋ฅผ ํ† ๊ธ€ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์š”์†Œ์— v-if๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.๋Š” ๋ณด์ด์ง€ ์•Š๋Š” ๋ž˜ํผ ์—ญํ• ์„ ํ•˜๋ฉฐ, ์ตœ์ข… ๋ Œ๋”๋ง ๊ฒฐ๊ณผ์—๋Š” ์š”์†Œ๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค. ๋””๋ ‰ํ‹ฐ๋ธŒHTML ํƒœ๊ทธ ์•ˆ์— ๋“ค์–ด๊ฐ€๋Š” ์†์„ฑ์˜ ์—ญํ• ์„ ํ•˜๋ฉฐ, v-๋ผ๋Š” ์ ‘๋‘์‚ฌ๊ฐ€ ๋ถ™๋Š” ๊ฒƒ์ด ํŠน์ง•์ด๋‹ค. v-elsev-if์— ๋Œ€ํ•œ else ๋ธ”๋ก์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด v-else ๋””๋ ‰ํ‹ฐ๋ธŒ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.v-else ์š”์†Œ๋Š” .. 2025. 9. 17.
[Vue.js] v-bind๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณด๊ณ , href๋กœ ํ•˜์ดํผ๋งํฌ ๋งŒ๋“ค๊ธฐ. v-bind๋กœ props์— ์–ด๋–ค ๊ฐ’์„๋ณด๋‚ด๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค.๊ทธ๋ ‡๋‹ค๋ฉด v-bind๋Š” ๋ญ˜๊นŒ? v-bindHTML ์†์„ฑ์ด๋‚˜ ์ปดํฌ๋„ŒํŠธ props์— ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋””๋ ‰ํ‹ฐ๋ธŒ์ด๋‹ค.์ถ•์•ฝํ˜•์œผ๋กœ :๋ฅผ ์“ธ ์ˆ˜ ์žˆ๋‹ค.์ฃผ๋กœ ์†์„ฑ๊ฐ’์„ ๋ฐ”๊พธ๊ฑฐ๋‚˜, ์ปดํฌ๋„ŒํŠธ์— props ์ „๋‹ฌํ•˜๊ฑฐ๋‚˜, ์ƒํƒœ์— ๋”ฐ๋ผ ํด๋ž˜์Šค๋‚˜ ์Šคํƒ€์ผ์„ ํ† ๊ธ€ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ๋””๋ ‰ํ‹ฐ๋ธŒHTML ํƒœ๊ทธ ์•ˆ์— ๋“ค์–ด๊ฐ€๋Š” ์†์„ฑ์˜ ์—ญํ• ์„ ํ•˜๋ฉฐ, v-๋ผ๋Š” ์ ‘๋‘์‚ฌ๊ฐ€ ๋ถ™๋Š” ๊ฒƒ์ด ํŠน์ง•์ด๋‹ค. ๋ฐ”์ธ๋”ฉํ”„๋ก ํŠธ์—”๋“œ์—์„œ ๋ฐ”์ธ๋”ฉ์€ ์ฃผ๋กœ UI ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์„ ์˜๋ฏธํ•œ๋‹ค.์›น ํŽ˜์ด์ง€๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ๋ฐ์ดํ„ฐ(View)์™€ ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ(Model)๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  ๋™๊ธฐํ™”ํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.์ฆ‰, ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด UI๋„ ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๊ฑฐ๋‚˜, UI์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ๋ฐ์ดํ„ฐ์— ๋ณ€์˜๋˜๋Š” ๋“ฑ .. 2025. 9. 16.