์ „์ฒด ๊ธ€

์•Œ๊ณ ๋ฆฌ์ฆ˜/๐Ÿ—‚๏ธ ์ •๋ฆฌ

๐ŸŒ ๋‹ฌํŒฝ์ด ์ด๋™ ํšจ์œจ์ ์ธ ์ฝ”๋“œ ๐ŸŒ

๋‹ฌํŒฝ์ด ์ด๋™์„ ํšจ์œจ์ ์œผ๋กœ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๊ฐ€ ์žˆ์–ด์„œ ๊ธฐ๋กํ•œ๋‹ค. ์šฐ์„  ๊ฒฉ์ž์˜ ํ•œ ๋ณ€์€ ๋ฌด์กฐ๊ฑด ํ™€์ˆ˜๋‹ค. ์•ˆ -> ๋ฐ–์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฐฉํ–ฅ๊ณผ ๋ฐ– -> ์•ˆ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฐฉํ–ฅ์„ ํ•œ ๋ฒˆ์— ์ €์žฅํ•˜๋Š” ๋กœ์ง์ด๋‹ค. ๊ทœ์น™ ์ฐพ๊ธฐ ๋‹ฌํŒฝ์ด ์ด๋™ํ•˜๋Š” ๊ทœ์น™์„ ์ฐพ์•„๋ณด๋ฉด ํ˜„์žฌ ๋ฐฉํ–ฅ์ด ๋งŒ์•ฝ ์œ„ ๋˜๋Š” ์•„๋ž˜์ผ ๋•Œ๋งˆ๋‹ค ์ด๋™ํ•˜๋Š” ํšŸ์ˆ˜๊ฐ€ 1์”ฉ ์ฆ๊ฐ€ํ•œ๋‹ค. ์•ˆ โž” ๋ฐ–์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๋ณด๋ฉด, โฌ†๏ธŽ โžก๏ธŽ ๋กœ ์ด๋™ํ•  ๋•Œ๋Š” 1, 3, 5 ... ์นธ์”ฉ ์ด๋™ํ•˜๊ณ , โฌ‡๏ธŽ โฌ…๏ธŽ ๋กœ ์ด๋™ํ•  ๋•Œ๋Š” 2, 4, 6 ... ์นธ์”ฉ ์ด๋™ํ•œ๋‹ค. (0, 0)์นธ์œผ๋กœ ํ–ฅํ•ด ๊ฐ€๋Š” ๋งˆ์ง€๋ง‰ โฌ†๏ธŽ๋Š” ์ง์ˆ˜ ์นธ๋งŒํผ ์ด๋™ํ•˜์ง€๋งŒ ์–ด์ฐจํ”ผ (0, 0)์—์„œ ๋๋‚˜๊ธฐ ๋•Œ๋ฌธ์— breakํ•˜๋ฉด ๋œ๋‹ค. ๋ฐ– โž” ์•ˆ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋‹ฌํŒฝ์ด ๋ชจ์–‘์€ ์œ„์™€ ๋ฐ˜๋Œ€๋กœ ์ƒ๊ฐํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฉํ–ฅ๋งŒ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋œ๋‹ค. ์ฝ”๋“œ public st..

์•Œ๊ณ ๋ฆฌ์ฆ˜/CodeTree

[CodeTree] ์‹ธ์›€๋•… - Java

โœจ ๊ตฌํ˜„ https://www.codetree.ai/training-field/frequent-problems/problems/battle-ground/description?page=1&pageSize=20 ์ฝ”๋“œํŠธ๋ฆฌ | ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ค€๋น„๋ฅผ ์œ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ •์„ ๊ตญ๊ฐ€๋Œ€ํ‘œ๊ฐ€ ๋งŒ๋“  ์ฝ”๋”ฉ ๊ณต๋ถ€์˜ ๊ฐ€์ด๋“œ๋ถ ์ฝ”๋”ฉ ์™•์ดˆ๋ณด๋ถ€ํ„ฐ ๊ฟˆ์˜ ์ง์žฅ ์ฝ”ํ…Œ ํ•ฉ๊ฒฉ๊นŒ์ง€, ๊ตญ๊ฐ€๋Œ€ํ‘œ๊ฐ€ ์—„์„ ํ•œ ์ปค๋ฆฌํ˜๋Ÿผ์œผ๋กœ ์ค€๋น„ํ•ด๋ณด์„ธ์š”. www.codetree.ai ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์  ํ•ด๋‹นํ•˜๋Š” ์นธ์— ์žˆ๋Š” ์ด๋“ค์„ ๋น„๊ตํ•˜๊ณ  ๊ฐ€์žฅ ๊ณต๊ฒฉ๋ ฅ์ด ๋†’์€ ์ด์„ ์„ ํƒํ•ด์•ผํ•œ๋‹ค. ์ง„ ์‚ฌ๋žŒ์˜ ๊ฒฝ์šฐ ์ด์„ ํ•ด๋‹นํ•˜๋Š” ์นธ์— ๋‘๊ณ , ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ด๋™ํ•œ๋‹ค. ๐Ÿ•น๏ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณผ์ • ์ง„ ์‚ฌ๋žŒ์ด ์ด์„ ๋ฒ„๋ฆฌ๊ณ  ์ด๋™ํ•ด์•ผํ•˜๋Š”๋ฐ, ๋ฒ„๋ฆฌ๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์ง€ ์•Š์•„ ๋””๋ฒ„๊น…ํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์„ ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์ด ์Ÿ์€ ๊ฒƒ ์™ธ์—๋Š” ๋”ฑํžˆ..

CS/๐ŸŒ ๋„คํŠธ์›Œํฌ

[๐ŸŒ ๋„คํŠธ์›Œํฌ] Cookie์™€ Session ๊ทธ๋ฆฌ๊ณ  JWT

HTTP ํŠน์„ฑ HTTP๋Š” stateless, connectionless ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋˜๋ฉด ์—ฐ๊ฒฐ์„ ๋Š์–ด๋ฒ„๋ฆฐ๋‹ค. ๋”ฐ๋ผ์„œ ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ์ด์ „์˜ ์ƒํƒœ ์ •๋ณด ๋ฐ ํ˜„์žฌ ํ†ต์‹ ์˜ ์ƒํƒœ๊ฐ€ ๋‚จ์•„์žˆ์ง€ ์•Š๋‹ค. ์—ฐ๊ฒฐ์„ ๊ณ„์† ์œ ์ง€ํ•œ๋‹ค๋ฉด ์ด์— ๋”ฐ๋ฅธ ์ž์› ๋‚ญ๋น„๊ฐ€ ์‹ฌํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ•˜์ง€๋งŒ ์ƒํƒœ๊ฐ€ ๋‚จ์•„์žˆ์ง€ ์•Š์•„ ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์—†๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. ๋กœ๊ทธ์ธ์„ ํ•˜๋”๋ผ๋„ ๋‹ค์Œ ์š”์ฒญ์—์„œ ํ•ด๋‹น ํด๋ผ์ด์–ธํŠธ๋ฅผ ๊ธฐ์–ตํ•˜์ง€ ๋ชปํ•˜๋ฏ€๋กœ ๋‹ค์‹œ ๋กœ๊ทธ์ธ์„ ํ•ด์•ผํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฌํ•œ ๋น„์—ฐ๊ฒฐ์„ฑ๊ณผ ๋ฌด์ƒํƒœ์„ฑ ํŠน์ง•์„ ๋ณด์™„ํ•œ ๊ธฐ์ˆ ์ด Cookie์™€ Session์ด๋‹ค. Cookie ๐Ÿ‘‰ ํด๋ผ์ด์–ธํŠธ(์›น ๋ธŒ๋ผ์šฐ์ €)์— ์ €์žฅ๋˜๋Š” ์ž‘์€ ๋ฐ์ดํ„ฐ ์กฐ๊ฐ Key-Valueํ˜•์‹์œผ๋กœ ์ €์žฅ๋˜๋ฉฐ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ๋งˆ๋‹ค ๋งค๋ฒˆ ..

CS/๐ŸŒ ๋„คํŠธ์›Œํฌ

[๐ŸŒ ๋„คํŠธ์›Œํฌ] CORS & SOP

ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ ๊ฐ„์˜ ํ†ต์‹ ์„ ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์ฆ‰, ํด๋ผ์ด์–ธํŠธ์—์„œ API๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ•  ๋•Œ CORS ์ •์ฑ… ์œ„๋ฐ˜์œผ๋กœ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•œ๋‹ค. CORS๋Š” "๊ต์ฐจ ์ถœ์ฒ˜ ๋ฆฌ์†Œ์Šค ๊ณต์œ "๋ฅผ ์˜๋ฏธํ•˜๊ณ , SOP๋Š” ๊ทธ ๋ฐ˜๋Œ€์ธ "๋™์ผ ์ถœ์ฒ˜ ์ •์ฑ…"์„ ์˜๋ฏธํ•œ๋‹ค. "์ถœ์ฒ˜๊ฐ€ ๊ต์ฐจํ•œ๋‹ค"๋Š” ์˜๋ฏธ๊ฐ€ ๋ญ˜๊นŒ? ์ถœ์ฒ˜ (Origin) ์šฐ์„  CORS์™€ SOP ๊ณตํ†ต์œผ๋กœ Origin(์ถœ์ฒ˜)์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค. ์ถœ์ฒ˜๋ž€ URL์—์„œ ๋„๋ฉ”์ธ, ํ”„๋กœํ† ์ฝœ, ํฌํŠธ๊นŒ์ง€ ํฌํ•จํ•˜๋Š” ๊ฐœ๋…์œผ๋กœ ์ด ์ค‘ ํ•˜๋‚˜๋ผ๋„ ๋‹ค๋ฅด๊ฒŒ ๋˜๋ฉด CORS ์—๋Ÿฌ๋ฅผ ๋งŒ๋‚˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ๋„๋ฉ”์ธ (Hostname) : myshop.com ์ถœ์ฒ˜ (Origin) : https://myshop.com "์ถœ์ฒ˜๊ฐ€ ๊ต์ฐจํ•œ๋‹ค" ๐Ÿ‘‰ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฃผ๊ณ ๋ฐ›์œผ๋ ค๋Š” '๋‘ ์ถœ์ฒ˜๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅด๋‹ค'๋ฅผ ์˜๋ฏธ CORS ..

์•Œ๊ณ ๋ฆฌ์ฆ˜/BOJ

[BOJ] 17837 ์ƒˆ๋กœ์šด ๊ฒŒ์ž„2 - Java

โœจ ๊ตฌํ˜„ https://www.acmicpc.net/problem/17837 17837๋ฒˆ: ์ƒˆ๋กœ์šด ๊ฒŒ์ž„ 2 ์žฌํ˜„์ด๋Š” ์ฃผ๋ณ€์„ ์‚ดํŽด๋ณด๋˜ ์ค‘ ์ฒด์ŠคํŒ๊ณผ ๋ง์„ ์ด์šฉํ•ด์„œ ์ƒˆ๋กœ์šด ๊ฒŒ์ž„์„ ๋งŒ๋“ค๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ฒŒ์ž„์€ ํฌ๊ธฐ๊ฐ€ Nร—N์ธ ์ฒด์ŠคํŒ์—์„œ ์ง„ํ–‰๋˜๊ณ , ์‚ฌ์šฉํ•˜๋Š” ๋ง์˜ ๊ฐœ์ˆ˜๋Š” K๊ฐœ์ด๋‹ค. ๋ง์€ ์›ํŒ๋ชจ์–‘์ด๊ณ , ํ•˜ www.acmicpc.net ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์  ํ•œ ์ขŒํ‘œ ์•ˆ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ง์ด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. โž” ์ด๋™ํ•˜๋ ค๋Š” ์นธ์— ๋ง์ด ์กด์žฌํ•œ๋‹ค๋ฉด ๊ทธ ์œ„์— ๋ง์ด ์˜ฌ๋ผ๊ฐ ํ•œ ๋ง์ด ์ด๋™ํ•  ๋•Œ ์œ„์— ์˜ฌ๋ ค์ ธ ์žˆ๋Š” ๋ง๊นŒ์ง€ ๋ชจ๋‘ ์ด๋™ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ง์ด ๋“ค์–ด๊ฐˆ ๋•Œ ์ขŒํ‘œ์˜ ์ƒ‰๊น”์— ๋”ฐ๋ผ ์ •๋ ฌ ๊ธฐ์ค€์ด ์กด์žฌํ•œ๋‹ค. ์ขŒํ‘œ์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๊ฑฐ๋‚˜ ์ขŒํ‘œ ์นธ์ด ํŒŒ๋ž€์ƒ‰์ผ ๋•Œ์˜ ์กฐ๊ฑด์„ ์œ ์˜ํ•ด์•ผํ•œ๋‹ค. ๐Ÿ•น๏ธ ํ’€์ด๊ณผ์ • ์–ด๋–ค ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ํ™œ์šฉํ• ์ง€ ์ •ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ์‰ฝ๊ฒŒ ํ’€..

Spring Framework/Spring & Spring Boot

[Spring] ํ•„ํ„ฐ(Filter)์™€ ์ธํ„ฐ์…‰ํ„ฐ(Interceptor)

Spring Security๋ฅผ ๊ตฌํ˜„ํ•˜๋‹ค๋ณด๋ฉด filter์™€ interceptor๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ํ•„ํ„ฐ์™€ ์ธํ„ฐ์…‰ํ„ฐ์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ์ดํ•ดํ•˜๋ฉด Spring Security ๊ณผ์ •์„ ํŒŒ์•…ํ•˜๊ธฐ ์‰ฌ์šธ ๊ฒƒ์ด๊ธฐ์— ๊ธฐ๋กํ•œ๋‹ค! โœจ ์šฉ๋„ - ๊ณตํ†ต๊ด€์‹ฌ์‚ฌํ•ญ (Cross-cutting concern) ๐Ÿ‘‰ ์›น ์„œ๋น„์Šค์—์„œ ๋กœ๊ทธ์ธ์„ ํ•ด์•ผ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋กœ๊ทธ์ธ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€๊ฐ€ ๋‹ค๋ฅด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•œ ๋ชจ๋“  ์ปจํŠธ๋กค๋Ÿฌ ๋กœ์ง์— ๋กœ๊ทธ์ธ๊ณผ ๊ด€๋ จ๋œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผํ• ํ…๋ฐ... ์ด๋ ‡๊ฒŒ ๋œ๋‹ค๋ฉด ์ฝ”๋“œ๊ฐ€ ์ค‘๋ณต๋  ๊ฒƒ์ด๊ณ  ๋ณต์žกํ•ด์งˆ ๊ฒƒ์ด๋‹ค. ๋งŽ์€ ๋กœ์ง์—์„œ ๊ณตํ†ต์œผ๋กœ ๊ด€์‹ฌ ์žˆ๋Š” ๋ถ€๋ถ„์„ ๊ณตํ†ต ๊ด€์‹ฌ ์‚ฌํ•ญ์ด๋ผ๊ณ  ํ•˜๋ฉฐ ์ด๋ฅผ ์Šคํ”„๋ง์˜ AOP๋กœ๋„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์›น์—์„œ๋Š” ์„œ๋ธ”๋ฆฟ ํ•„ํ„ฐ์™€ ์Šคํ”„๋ง ์ธํ„ฐ์…‰ํ„ฐ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ..

Spring Framework/JPA

[Spring/JPA] JPA Entity๊ฐ€ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ๊ฐ€์ ธ์•ผํ•˜๋Š” ์ด์œ  - Reflection

JPA ์—”ํ‹ฐํ‹ฐ์—์„œ ์ƒ์„ฑ์ž๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ๋งŒ๋“ค์–ด ๋†“์œผ๋ฉด ๊ธฐ๋ณธ์ƒ์„ฑ์ž(@NoArgsConstructor๋ฅผ ์ •์˜ํ•ด์•ผํ•œ๋‹ค๋Š” ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. + public, protected๋กœ ์„ ์–ธํ•ด์•ผํ•จ ! ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ์ •์˜ํ•ด์•ผํ•˜๋Š” ์ด์œ ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์„ค๋ช…ํ•  ์ˆ˜ ์—†์–ด์„œ ์ •๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณด๊ฒ ๋‹ค. ๐Ÿ‘‰ ๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜๋ฉด Java Reflection API์—์„œ ๊ธฐ๋ณธ์ƒ์„ฑ์ž๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. JPA๋Š” DB ๊ฐ’์„ ๊ฐ์ฒด ํ•„๋“œ์— ์ฃผ์ž…ํ•  ๋•Œ, ๋™์ ์œผ๋กœ ์—”ํ‹ฐํ‹ฐ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ธฐ๋ณธ์ƒ์„ฑ์ž๋กœ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ Reflection์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ์ž๋ฐ”์—์„œ๋Š” Reflection์ด๋ผ๋Š” API๋ฅผ ์ œ๊ณตํ•˜๋Š”๋ฐ, ๊ทธ๋Ÿผ Reflection์€ ๋ญ˜๊นŒ.... Java Reflection ์ž๋ฐ”์—์„œ๋Š” Reflection์ด๋ผ๋Š” API๋ฅผ ์ œ๊ณตํ•œ๋‹ค. R..

์•Œ๊ณ ๋ฆฌ์ฆ˜/BOJ

[BOJ] 17485 ์ง„์šฐ์˜ ๋‹ฌ ์—ฌํ–‰ (Large) - Java

โœจ DP https://www.acmicpc.net/problem/17485 17485๋ฒˆ: ์ง„์šฐ์˜ ๋‹ฌ ์—ฌํ–‰ (Large) ์ฒซ์ค„์— ์ง€๊ตฌ์™€ ๋‹ฌ ์‚ฌ์ด ๊ณต๊ฐ„์„ ๋‚˜ํƒ€๋‚ด๋Š” ํ–‰๋ ฌ์˜ ํฌ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” N, M (2 โ‰ค N, M โ‰ค 1000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N์ค„ ๋™์•ˆ ๊ฐ ํ–‰๋ ฌ์˜ ์›์†Œ ๊ฐ’์ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ–‰๋ ฌ์˜ ์›์†Œ๊ฐ’์€ 100 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค. www.acmicpc.net ๐Ÿ“ ๊ณ ๋ คํ•ด์•ผํ•  ์  ์™ผ์ชฝ ๋Œ€๊ฐ์„ , ์•„๋ž˜, ์˜ค๋ฅธ์ชฝ ๋Œ€๊ฐ์„  3๊ฐ€์ง€ ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•œ๋‹ค. โœจโœจ ๊ฐ™์€ ๋ฐฉํ–ฅ์œผ๋กœ ๋‘ ๋ฒˆ ์—ฐ์†์œผ๋กœ ์›€์ง์ผ ์ˆ˜ ์—†๋‹ค. โœจโœจ ๐Ÿ•น๏ธ ๋ฌธ์ œ ํ’€์ด ํ˜„์žฌ ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ทธ ์ „ ๋‹จ๊ณ„์— ์‚ฌ์šฉํ–ˆ๋˜ ์—ฐ๋ฃŒ์˜ ์–‘์„ ๊ณ„์† ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๊ทธ ์ „ ๋‹จ๊ณ„์— ์‚ฌ์šฉํ–ˆ๋˜ ์—ฐ๋ฃŒ์˜ ์–‘๊ณผ ํ˜„์žฌ ์œ„์น˜์— ์žˆ๋Š” ์—ฐ๋ฃŒ์˜ ์–‘์˜ ํ•ฉ์„ ๊ตฌํ•ด์„œ ์ตœ์†Œ์˜ ์—ฐ๋ฃŒ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ..

soogoori
๐Ÿƒ๐Ÿป‍โ™€๏ธ์Šคํ…๋ฐ”์ด์Šคํ…