0. ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜

์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์„œ๋กœ ๋—„ ์ˆ˜ ์—†๋Š” ์ƒํ˜ธ ์˜์กด์ ์ธ ๊ด€๊ณ„์ด๋‹ค. ๊ทธ๋ž˜์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ œ์— ๋”ฐ๋ผ (์‘์šฉ ์ข…๋ฅ˜์™€ ๋ฒ”์œ„์— ๋”ฐ๋ผ) ์ตœ์ ์˜ ํ•ด๋ฒ•์€ ์„œ๋กœ ๋‹ค๋ฅด๋‹ค. ์ด ์„ ํƒ์„ ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ•˜๋Š๋ƒ๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค. ์ž๋ฃŒ๊ตฌ์กฐ (Data Structure) ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์ผ๋ จ์˜ ์ผ์ • ํƒ€์ž…๋“ค์˜ ๋ฐ์ดํ„ฐ ๋ชจ์ž„ ๋˜๋Š” ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ธ ๊ตฌ์„ฑ์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜ (Algorithm) ์‚ฌ์ „์  ์ •์˜ - ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ ˆ์ฐจ, ๋ฐฉ๋ฒ•, ๋ช…๋ น๋“ค์˜ ์ง‘ํ•ฉ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ์ฃผ์–ด์ง„ ๋ฌธ์ œ์˜ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์—ฐ์‚ฐ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์„ ํƒ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์€ ์–ธ์–ด๋“ค์—์„œ๋„ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋‹ค์–‘ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ง€์›ํ•˜๊ณ  ์žˆ๋‹ค. ์ž๋ฐ” ์—ญ์‹œ ๋Œ€ํ‘œ..

Data Structure 2021. 4. 22. 15:19
์ž๋ฐ” ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ

๋ฐฐ์—ด์ด ์žˆ๊ณ  ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ ์Šคํƒ ํ ์Šค๋ฆฌ ํ•ด์‹ฑ ๋“ฑ์ด ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๊ธฐ๋ณธ Array - ๋ฐฐ์—ด ์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๋Œ€ํ‘œ์ ์ธ ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜. ์ผ์—ด๋กœ ๋˜์–ด์žˆ์Œ ๋…ผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ์™€ ๋ฌผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ, ์œ„์น˜๊ฐ€ ๋™์ผํ•˜๋‹ค! ์ƒ์„ฑ์„ ํ•  ๋•Œ ๋ช‡๊ฐœ์งœ๋ฆฌ๋ผ๊ณ  ํ™•์‹คํžˆํ•˜๊ณ  ๋“ค์–ด๊ฐ„๋‹ค. ๊ณ ์ •๋œ ๊ธธ์ด๋ฅผ ๊ฐ€์ง€๊ณ  ๋“ค์–ด๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ์ธ๋ฑ์Šค์—ฐ์‚ฐ์„ ๊ต‰์žฅํžˆ ๋น ๋ฅด๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹จ์ ์€ ๋ฐฐ์—ด์€ ์ค‘๊ฐ„์— ๋นŒ ์ˆ˜๊ฐ€ ์—†๋‹ค. ๋ฐฐ์—ด์€ ๋ฐฐ์—ด์˜ ๊ธธ์ด์— ์ข…์†๋˜์–ด์žˆ๋‹ค. ์—ฐ์‚ฐ์ด ๊ธธ์ด์— ๋”ฐ๋ผ ์†๋„?๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ข…์†์ด ๋˜์–ด์žˆ๋‹ค๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ์‚ฝ์ž… ์‚ญ์ œ๋ฅผ ํ•  ๊ฒฝ์šฐ ๊ธธ์ด์— ๋”ฐ๋ผ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ฒŒ ๋œ๋‹ค. O(n) ์š”์†Œ๊ฐ€ ์ž๊พธ ๋ณ€ํ™”ํ•œ๋‹ค ํ• ๋•Œ ๋ฐฐ์—ด์„ ์“ฐ๋Š”๊ฒƒ์€ ์ข‹์ง€ ์•Š๋‹ค. ๋งŒ์•ฝ ๋” ๋Š˜๋ฆฌ๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค๋ฅธ ๋ฐฐ์—ด์„ ๋งŒ๋“ ๋‹ด์— ์˜ฎ๊ธฐ๋Š”? ๋ณต์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ž๋ฐ”์— ๋ณด๋ฉด ArrayList..

[์ž๋ฐ”] ์ œ๋„ค๋ฆญ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

๐Ÿ’ก ์ œ๋„ค๋ฆญ(Generic)์ด๋ž€? ์ œ๋„ค๋ฆญ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ๊ทธ๋žจ์ด์ด๋ผ๋Š” ๋œป์ธ๋ฐ ๋ฐ์ดํ„ฐ ํƒ€์ž…(data type)์„ ์ผ๋ฐ˜ํ™”(generalize)ํ•œ๋‹ค๋ผ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๋‹ค์‹œ ๋งํ•ด ๋ณ€์ˆ˜์˜ ์„ ์–ธ์ด๋‚˜ ๋ฉ”์„œ๋“œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ•˜๋‚˜์˜ ์ฐธ์กฐ ์ž๋ฃŒํ˜•์ด ์•„๋‹Œ ์—ฌ๋Ÿฌ ์ž๋ฃŒํ˜•์œผ๋กœ ๋ณ€ํ™˜, ๋Œ€์ฒด๋  ์ˆ˜ ์žˆ๋„๋ก ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ž๋ฃŒํ˜•์„ ์„ ์–ธํ•˜๊ณ  ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ๊ฒƒ์ด ๊ธฐ๋ณธ์ธ๋ฐ ํ•˜๋‚˜์˜ ์ž๋ฃŒํ˜•์— ๊ตญํ•œ๋˜์ง€ ์•Š๊ณ  ์—ฌ๋Ÿฌ ์ž๋ฃŒํ˜•์œผ๋กœ ๋ณ€ํ™˜๋  ์ˆ˜ ์žˆ๋‹ค. ์‹ค์ œ ์‚ฌ์šฉ๋˜๋Š” ์ฐธ์กฐ ์ž๋ฃŒํ˜•์œผ๋กœ์˜ ๋ณ€ํ™˜์€ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๊ฒ€์ฆํ•˜๋ฏ€๋กœ ์•ˆ์ •์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์ด๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐœ๋…์€ ์ž๋ฐ” 5.0๋ถ€ํ„ฐ ๋‚˜์˜จ ๊ธฐ์ˆ ์ด๊ณ  ์ด์ „์—์„œ๋Š” ์—ฌ๋Ÿฌ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ํด๋ž˜์Šค๋‚˜ ๋ฉ”์†Œ๋“œ์—์„œ ์ธ์ˆ˜๋‚˜ ๋ฐ˜ํ™˜๊ฐ’์œผ๋กœ Object ํƒ€์ž…์„ ์‚ฌ์šฉํ–ˆ์—ˆ๋Š”๋ฐ ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ๋ฐ˜ํ™˜๋œ Object ..

Java 2021. 4. 22. 13:22
๋ฒ„ํผ์™€ ์ŠคํŠธ๋ฆผ

ํŒŒ์ผ์„ ์ฝ๊ฑฐ๋‚˜ ์“ฐ๋Š” ๋ฐฉ์‹์—๋Š” ํฌ๊ฒŒ ๋‘๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ํ•˜๋‚˜๋Š” ๋ฒ„ํผ๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๊ณ , ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ์ŠคํŠธ๋ฆผ์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๋ฒ„ํผ๋ง๊ณผ ์ŠคํŠธ๋ฆฌ๋ฐ์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ์ผ์ƒ์ƒํ™œ์—์„œ ๋งŽ์ด ๋“ค์–ด๋ดค์„ ๊ฒƒ์ด๋‹ค. ๋ณดํ†ต ์˜์ƒ์„ ์‹œ์ฒญํ•  ๋•Œ ๋งŽ์ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ์šฉ์–ด๋“ค์ด๋‹ค. ์˜์ƒ์„ ๋กœ๋”ฉํ•  ๋•Œ ๋ฒ„ํผ๋ง์„ ํ•œ๋‹ค๊ณ  ํ•˜๊ณ , ์˜์ƒ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์†ก์ถœํ•  ๋•Œ๋Š” ์ŠคํŠธ๋ฆฌ๋ฐํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ๋ฒ„ํผ๋ง์€ ์˜์ƒ์„ ์žฌ์ƒํ•  ์ˆ˜ ์žˆ์„ ๋•Œ๊นŒ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์œผ๋Š” ๋™์ž‘์ด๊ณ , ์ŠคํŠธ๋ฆฌ๋ฐ์€ ๋ฐฉ์†ก์ธ์˜ ์ปดํ“จํ„ฐ์—์„œ ์‹œ์ฒญ์ž์˜ ์ปดํ“จํ„ฐ๋กœ ์˜์ƒ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ๊ธˆ์”ฉ ์ „์†กํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ŠคํŠธ๋ฆฌ๋ฐ์„ ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฒ„ํผ๋ง์„ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์ „์†ก์ด ๋„ˆ๋ฌด ๋Š๋ฆฌ๋ฉด ํ™”๋ฉด์„ ๋‚ด๋ณด๋‚ด๊ธฐ๊นŒ์ง€ ์ตœ์†Œํ•œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์•„์•ผ ํ•˜๊ณ , ์˜์ƒ ๋ฐ์ดํ„ฐ๊ฐ€ ์žฌ์ƒ ์†๋„๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ์ „์†ก๋˜์–ด๋„ ๋ฏธ๋ฆฌ ์ „์†ก๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๊ณต๊ฐ„์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด..

Node.js 2021. 4. 22. 09:26
[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] ํƒ€์ด๋จธ ํ•จ์ˆ˜ (setTimeout, setInterval)

์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ์˜ ๋‚ด์žฅ ํ•จ์ˆ˜ ์ค‘์— ํƒ€์ด๋จธ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ์‹œ๊ฐ„์„ ๋‹ค๋ฃจ๋Š” ํ•จ์ˆ˜๋กœ ๊ฐ ํ•จ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ญํ• ์„ ํ•œ๋‹ค. ํ•จ์ˆ˜ ์ด๋ฆ„ ๊ธฐ๋Šฅ setTimeout(ํ•จ์ˆ˜, ์‹œ๊ฐ„) ์ผ์ • ์‹œ๊ฐ„ ํ›„ ํ•จ์ˆ˜ ์‹คํ–‰ setInterval((ํ•จ์ˆ˜, ์‹œ๊ฐ„) ์ผ์ • ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์œผ๋กœ ํ•จ์ˆ˜ ๋ฐ˜๋ณต ์‹คํ–‰ clearTimeout(id) ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” timeout์„ ์ค‘์ง€ clearInterval(id) ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” interval์„ ์ค‘์ง€ โ€ป ์‹œ๊ฐ„์€ ๋ฐ€๋ฆฌ์„ธ์ปจ๋“œ ๋‹จ์œ„์ด๋ฉฐ, clear ํ•จ์ˆ˜๊ฐ€ ๋ฐ›๋Š” ์ธ์ž๋Š” set ํ•จ์ˆ˜๊ฐ€ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฐ’์ด๋‹ค. 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆซ์ž๋ฅผ 1์ดˆ๋งˆ๋‹ค ํ•œ๋ฒˆ์”ฉ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ํƒ€์ด๋จธ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋งŒ๋“ค์–ด๋ณด์ž. โœ” setTimeout ์‚ฌ์šฉ let num = 1; function time_print () { console.log(n..

JavaScript 2021. 4. 21. 16:22
[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] Date ๊ฐ์ฒด

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋ฏธ๋ฆฌ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ๋‚ด์žฅ ๊ฐ์ฒด(Standard built-in objects)๋ผ๊ณ  ํ•œ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ชจ๋“  ๊ฒƒ์€ ๋‹ค ๊ฐ์ฒด๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํŠน๋ณ„ํ•œ ๊ธฐ๋Šฅ๋ณ„๋กœ ๋‹ค์–‘ํ•œ ๋‚ด์žฅ๊ฐ์ฒด๋“ค์ด ์กด์žฌํ•œ๋‹ค. ๊ทธ ์ค‘ ๋Œ€ํ‘œ์ ์ธ๊ฒƒ์ด ๋ฐ”๋กœ ๋‚ ์งœ! ๐Ÿ’ก Date ๊ฐ์ฒด ์ƒ์„ฑ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋‚ ์งœ๋Š” Date ๊ฐ์ฒด๋กœ ๋‹ค๋ฃฌ๋‹ค. Date ๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. //Date let myDate = new Date(); ์ด๋ ‡๊ฒŒ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ  ์ฝ˜์†”์— ์ถœ๋ ฅ์„ ํ•ด๋ณด๋ฉด ์ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ ๋‚ ์งœ๊ฐ€ ์ถœ๋ ฅ์ด ๋œ๋‹ค. ์™ผ์ชฝ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์š”์ผ-์›”-์ผ-๋…„๋„-์‹œ๊ฐ„-์‹œ๊ฐ„๋Œ€ ๊ฐ€ ์ถœ๋ ฅ์ด ๋œ๋‹ค. ๋งˆ์ง€๋ง‰์— ์‹œ๊ฐ„๋Œ€๋Š” ์ปดํ“จํ„ฐ๋ฅผ ์–ด๋””์„œ ์‚ฌ์šฉํ•˜๋Š”์ง€์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์ถœ๋ ฅ์ด ๋œ๋‹ค. ๋ฌด์กฐ๊ฑด ์ƒ์„ฑํ•œ ์ˆœ๊ฐ„๋งŒ ๋งŒ๋“ค์–ด์ง€๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. Date ๊ฐ์ฒด ์•ˆ์— ํŠน์ •ํ•œ ..

JavaScript 2021. 4. 20. 10:25
[MySQL] GROUP_CONCAT ์‚ฌ์šฉ๋ฒ•

๐Ÿ’ก GROUP_CONCAT ๋ช…๋ น์–ด SELECT ์˜ ๊ฒฐ๊ณผ๋กœ ๋‚˜์˜จ ์—ฌ๋Ÿฌ ํ–‰์˜ ํŠน์ • ์ปฌ๋Ÿผ์„ ํ•œ์ค„๋กœ ์ถœ๋ ฅํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. (NULL ๊ฐ’์€ ์ œ์™ธ) ๐Ÿ’ก ์‚ฌ์šฉ๋ฐฉ๋ฒ• GROUP_CONCAT([DISTINCT][expr, column][ORDER BY column DESC][SEPARATOR '๊ตฌ๋ถ„์ž']) ๐Ÿ’ก ์‚ฌ์šฉ์˜ˆ์‹œ ์‚ฌ์šฉ์ž ํ…Œ์ด๋ธ”์— ์‚ฌ์šฉ์ž์˜ ์ด๋ฉ”์ผ๊ณผ ๋ฒˆํ˜ธ ์ปฌ๋Ÿผ์ด ์žˆ๋‹ค. ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ด๋ฉ”์ผ๊ณผ ๋ฒˆํ˜ธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฉ”์ผ๊ณผ ๋ฒˆํ˜ธ์˜ ํ…Œ์ด๋ธ”์€ ๊ฐ๊ฐ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด ์‚ฌ์šฉ์ž ํ…Œ์ด๋ธ”๊ณผ ์ฐธ์กฐํ•˜๋„๋ก ํ•ด์ฃผ์—ˆ๋‹ค. ์‚ฌ์šฉ์ž๋ฅผ ์กฐํšŒํ•  ๋•Œ ์‚ฌ์šฉ์ž์˜ ์ด๋ฉ”์ผ๊ณผ ๋ฒˆํ˜ธ๋ฅผ ์ „๋ถ€ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ์ด๋ฉ”์ผ๊ณผ ๋ฒˆํ˜ธ์˜ ํ…Œ์ด๋ธ”์—์„œ ์กฐํšŒํ•œ ๊ฐ’์„ ๊ตฌ๋ถ„์ž :: ๋กœ ํ•ฉ์ณ ์ถœ๋ ฅํ•˜๋„๋กํ•˜์˜€๋‹ค. ๊ท€์ฐฎ์œผ๋‹ˆ๊นŒ ํ•ธ๋“œํฐ ๋ฒˆํ˜ธ ํ…Œ์ด๋ธ”๊ณผ ํšŒ์› ํ…Œ์ด๋ธ”๋งŒ ๋งŒ๋“ค์–ด์„œ ์‹คํ–‰ํ•˜๊ฒ ๋‹ค. CREATE..

Database 2021. 4. 12. 10:21