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

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

(135)
1์ผ 1์ปค๋ฐ‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์Šคํ„ฐ๋”” ๋‘ ๋‹ฌ ์ง„ํ–‰ ํ›„๊ธฐ ์Šคํ„ฐ๋”” ๋ชจ์ง‘ ํ•™๊ต, ๋™์•„๋ฆฌ, ์Šคํ„ฐ๋””๋กœ๋ถ€ํ„ฐ ์™„์ „ํžˆ ํ•ด๋ฐฉ๋œ 7์›”์„ ๋ณด๋‚ด๋ฉด์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ทธ๋ž˜๋„ ๋†“์ง€ ๋ง์•„์•ผ์ง€ ํ–ˆ๋Š”๋ฐ ์‹ค์ฒœ์ด ์ž˜ ์•ˆ๋๋‹ค. ๊ทธ๋ž˜์„œ 7์›” ๋ง, โœจ๊ต‰์žฅํžˆโœจ ํฐ ๊ฒฐ์‹ฌ์„ ํ•˜๊ณ  1์ผ 1์ปค๋ฐ‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์Šคํ„ฐ๋”” ๋ชจ์ง‘๊ธ€์„ ์ผ๋˜ ๊ธฐ์–ต์ด ๋‚œ๋‹ค. ์ปด๊ณต ์ „๊ณต์ƒ์ด๋ผ ์Šคํ„ฐ๋””์›์„ ๋ชจ์ง‘ํ•˜๋Š” ๊ฑด ์•„์ฃผ ์‰ฝ์ง€๋งŒ ๊ทธ๋ƒฅ ์ด์œ ์—†์ด ์™ธ๋ถ€์—์„œ ์Šคํ„ฐ๋””๋ฅผ ์ง„ํ–‰ํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๋‹ฌ๊นŒ? ์ต์ˆ™ํ•œ ํ™˜๊ฒฝ๋„ ์ƒˆ๋กœ์šด ํ™˜๊ฒฝ๋„ ์ข‹๋‹ค. ์ƒˆ๋กœ์šด ํ™˜๊ฒฝ์€ ๋ฌผ๋ก  ์ข€ ๋–จ๋ฆฌ๊ธด ํ•œ๋‹ค. ๋ชจ์ง‘๊ธ€์€ ์—ฌ๊ธฐ์ €๊ธฐ์„œ ๊ตฌ๊ธ€๋งํ•ด๋ณด๊ณ  ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๊ด€์‹ฌ๊ฐ€์ง€๊ณ  ์ง€์›ํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ด์‹ฌํžˆ ๋งน๊ธ€์—ˆ๋‹ค. ๊ณ ๋ฏผํ•˜๋‹ค ๋ชจ์ง‘๊ธ€์€ ์ธํ”„๋Ÿฐ ํ•œ ๊ณณ์— ์˜ฌ๋ ธ๋‹ค. ๊ฐ™์€ ๊ทœ์น™์œผ๋กœ ๋ชจ์ง‘๊ธ€์„ ์จ๋„ ๋ ์ง€ ๊ณ ๋ฏผ์ด๋ผ๋ฉด ๋‘ ํŒ” ๋ฒŒ๋ ค ํ™˜์˜์ž…๋‹ˆ๋‹ค ๐Ÿค— https://www.inflearn.com/studies/606427 ํผ์—๋Š” ๋ชฉํ‘œ, gith..
2022๋…„ ์—ฌ๋ฆ„๋ฐฉํ•™ 4 - 1ํ•™๊ธฐ ์ฃผ๋กœ ์กธ์—… ํ”„๋กœ์ ํŠธ๋ฅผ ํ–ˆ๋‹ค. ์•ˆ๋“œ๋กœ์ด๋“œ๋„ ์žฌ๋ฏธ์žˆ์—ˆ๊ณ  ๋”ฅ๋Ÿฌ๋‹์ด ๋ฌด์—‡์ธ์ง€ ์•Œ๊ฒŒ ๋˜์–ด ์ข‹์•˜๋‹ค. flask๋„ ๊น”์ง์—ฌ๋ดค๋‹ค. 18ํ•™์ ์„ ์ด์ˆ˜ํ–ˆ๊ณ  4.3 ๋งŒ์ ์„ ๋ฐ›์•˜๋‹ค! ๋‚œ์ƒ ์ฒ˜์Œ์ด์—ˆ๋‹ค๐Ÿ™Š ์ „๊ณต์€ ์กธํ”„, ์ธ๊ณต์ง€๋Šฅ, ์‚ฌ์ด๋ฒ„๋ณด์•ˆ๊ฐœ๋ก , ์˜คํ† ๋งˆํƒ€๋ฐํ˜•์‹์–ธ์–ด 4๊ณผ๋ชฉ์„ ๋“ค์—ˆ๋‹ค. ์ธ๊ณต์ง€๋Šฅ ์ˆ˜์—…์ด ๊ฐ€์žฅ ์ธ์ƒ์— ๋‚จ๋Š”๋ฐ, ์กธํ”„์—์„œ ๋‹ค๋ฃฌ ๊ธฐ์ˆ ๋“ค์„ ๊ณต๋ถ€ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ •๋ง ์ข‹์•˜๋‹ค. ์‚ฌ์ด๋ฒ„๋ณด์•ˆ๊ฐœ๋ก ์€ ์ค‘๊ฐ„๋„ 1๋“ฑํ•˜๊ณ  ๊ธฐ๋ง๋„ 1๋“ฑํ•ด์„œ ์ „์ฒด 1๋“ฑ์„ ๋ฐ›๊ธฐ๋„ ํ–ˆ๋‹ค. ํ•™๊ธฐ ์ดˆ์— ์€์—ฐ ์ค‘์— ์นœ๊ตฌ๋“ค๊ณผ ์žˆ์„ ๋•Œ 4.3 ๋…ธ๋ ค๋ณผ๋งŒํ• ์ง€๋„?! ๋ผ๊ณ  ๋งํ–ˆ๋˜ ๊ฒŒ ์ƒ๊ฐ๋‚ฌ๋‹ค. ์ „๊ณต์„ ์ „๋ฐ˜์ ์œผ๋กœ ์žฌ๋ฐŒ์–ดํ•ด์„œ ํ•ญ์ƒ ์—ด์‹ฌํžˆ ํ–ˆ๋Š”๋ฐ ์ด๋ฒˆ์—๋Š” ์šด์ด ๋” ์ข‹์•˜๋˜ ๊ฒƒ ๊ฐ™๋‹ค. +) ์ „๊ณตํ•™์ ์€ 4.23์œผ๋กœ ์กธ์—…ํ•œ๋‹คใ…Žใ…Ž ์•ŒํŠœ๋น„ํŠœ 2๊ธฐ์˜ ํŠœํ„ฐ๋กœ ํ™œ๋™ํ–ˆ์—ˆ๋‹ค. ์ฝ”ํ…Œ ๊ด€๋ จ ํŠœํ„ฐ๋ง ํ™œ๋™์ด๋‹ค..
์‹ฌ๋ฆฌ ์ผ€์–ด ์ฑ—๋ด‡(kogpt2, kobert) ๊ตฌํ˜„ํ•ด ๋ฐฐํฌํ•ด๋ณด์ž [1] kogpt2 ๊ธฐ๋ฐ˜ ์‹ฌ๋ฆฌ ์ผ€์–ด ์ฑ—๋ด‡ ํ•œ์ค„ ์„ค๋ช… KoGPT2 ๋ชจ๋ธ์€ ๋ฌธ์žฅ์„ "์ƒ์„ฑ"ํ•ด๋‚ด๋Š” ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ์‹ฌ๋ฆฌ ์ผ€์–ด ๋ชฉ์ ์˜ ์ฑ—๋ด‡์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์ž…๋ ฅ ๋ฐ›์€ ๋‚ด์šฉ์— ๋Œ€ํ•ด ์œ„๋กœํ•˜๊ฑฐ๋‚˜ ๊ณต๊ฐํ•˜๊ฑฐ๋‚˜ ๋ถ€๋“œ๋Ÿฌ์šด ํ‘œํ˜„์œผ๋กœ ๋ฐ˜์‘ํ•˜๊ณ  ๋ฌธ์žฅ์„ ์ƒ์„ฑํ•ด๋‚ด๋„๋ก ํŒŒ์ธ ํŠœ๋‹์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•™์Šต ์ฝ”๋“œ ๋งํฌ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•œ ๋ฐ์ดํ„ฐ์…‹ 1. ai hub ์ œ๊ณต, ์›ฐ๋‹ˆ์Šค ๋Œ€ํ™” ์Šคํฌ๋ฆฝํŠธ ๋ฐ์ดํ„ฐ์…‹ AI hub > ์™ธ๋ถ€๋ฐ์ดํ„ฐ > KETI R&D๋ฐ์ดํ„ฐ >์ธ์‹๊ธฐ์ˆ (์–ธ์–ด์ง€๋Šฅ) > ์›ฐ๋‹ˆ์Šค ๋Œ€ํ™” ์Šคํฌ๋ฆฝํŠธ ๋ฐ์ดํ„ฐ์…‹ 2. @songys (์†ก์˜์ˆ™๋‹˜) ์ œ๊ณต, ์ฑ—๋ด‡ ๋ฐ์ดํ„ฐ์…‹ ๋‘ ๋ฐ์ดํ„ฐ๋ฅผ ์•„๋ž˜์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹์— ๋งž๊ฒŒ ๊ฐ€๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•™์Šต ํ™˜๊ฒฝ colab ๊ธฐ๋ณธ ํ™˜๊ฒฝ์—์„œ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค๋งŒ, ์‹œ๊ฐ„์ด ๊ฝค ์˜ค๋ž˜๊ฑธ๋ฆฌ๋Š” ํŽธ์ž…๋‹ˆ๋‹ค! 1 epoch์— 15~16๋ถ„ ์ •๋„ ๊ฑธ๋ฆฌ๋Š”๋ฐ epoch ์ตœ..
6ํ•™๊ธฐ๋ถ€ํ„ฐ ๊ฒจ์šธ๋ฐฉํ•™์„ ๊ฑฐ์ณ 7ํ•™๊ธฐ ๊ณ„ํš๊นŒ์ง€ ๋‹ค์‹œ ๋ธ”๋กœ๊ทธ๋ฅผ ์‚ด๋ฆด ๋•Œ๊ฐ€ ๋Œ์•„์™”๋‹ค ! ์™œ๋ƒ๋ฉด ํ•œ ์ผ์ด ์ •๋ง ๋งŽ์•„์„œ ๊ธฐ๋กํ•  ๊ฒŒ ๋„˜์ฒ˜๋‚˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค ํ•˜ ํ•˜ ! ๋ฟŒ๋“ฏํ•œ ํ•˜๋ฃจํ•˜๋ฃจ๋ฅผ ๋ณด๋‚ด๊ณ  ์žˆ์–ด์„œ ๋„ˆ๋ฌด ๊ธฐ๋ถ„ ์ข‹๋‹ค ใ…Žใ…Ž ์ง€๋‚œ 6ํ•™๊ธฐ ์ด์•ผ๊ธฐ ์ง€๋‚œ 6ํ•™๊ธฐ๋Š” ์กธํ”„ ์ฒซํ•™๊ธฐ๋ฅผ ํฌํ•จํ•œ 6์ „๊ณต์ด๋ผ์„œ ์ˆ˜์—… ๋งŒ์œผ๋กœ ๊ต‰์žฅํžˆ ๋ฐ”๋นด๋Š”๋ฐ github์— ์˜ฌ๋ฆด ์ •๋„๋กœ๋Š” ์ •๋ฆฌ๋ฅผ ํ•ด๋‘” ๊ฒŒ ์—†์–ด์„œ ์ฐธ ์•„์‰ฝ๋‹ค. ๊ฐ•์˜๋Š” ์•ˆ๋ฐ€๋ฆฌ๊ฒŒ ๋“ค์—ˆ๊ณ  ์กธํ”„ ์นœ๊ตฌ๋“ค ์ž์ฃผ ๋ณด๋ฉด์„œ ๋งค์šฐ ๊ฑด๊ฐ•ํ•˜๊ฒŒ ์ž˜ ์‚ด์•˜๋‹ค! ์ข…๊ฐ•ํ•˜๊ณ  ๋ฐฉํ•™์€ ์ข…๊ฐ• ํ•˜๊ณ  ๋‚˜์„œ๋Š” 12์›” ๋†€๋‹ค๊ฐ€ 1์›” 2์ผ์— ํฌ๊ฒŒ ํƒˆ์ด ๋‚˜์„œ ๊ณจ๊ณจ๋Œ”๋‹ค. ๊ทธ๋ฆฌ๊ณ ๋Š” 1์›” ์ค‘์ˆœ์— ์Šฌ๊ธฐ๋‹˜(pickmeup ํ”„๋กœ์ ํŠธ์˜ ์ธ์—ฐ)๊ณผ์˜ ์ฒซ ์•ฝ์†์„ ์‹œ์ž‘์œผ๋กœ ๊ฐœ๋ฐœ ๊ณต๋ถ€ ๊ฒธ์‚ฌ๊ฒธ์‚ฌ ๊ฐœ๋ฐœ์„ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. efub ํ™ˆํŽ˜์ด์ง€๋„ ์—”ํ‹ฐํ‹ฐ๋ฅผ ์žฌ์„ค๊ณ„ํ•ด์„œ ๊ทธ๋ƒฅ ๋ฉ”์ผ ๋ณด๋‚ด๋Š” ์ฝ”๋“œ ๋นผ๊ณ ๋Š” ์ „๋ถ€ ์ƒˆ๋กœ ์ž‘์„ฑํ•˜๋Š” ๋ฆฌํŒฉํ† ๋ง(??..
CLion ํ•œ๊ธ€ ์ž…๋ ฅ ๊นจ์ง (windows, ์ˆ˜๋งŽ์€ ์ธ์ฝ”๋”ฉ ์„ค์ • O) c++๋กœ ์ฝ”ํ…Œ ๊ณต๋ถ€๋ฅผ ํ˜ธ๊ธฐ๋กญ๊ฒŒ ์‹œ์ž‘ํ•˜๋ ค๋Š” ์ฒซ ๋‚ ... jetbrain ์‚ฌ์—์„œ ๋‚ด๋†“์€ clion ์ด๋ผ๋Š” IDE์— ๋Œ€ํ•ด ๊ฐ•๋ ฅ ์ถ”์ฒœ๋ฐ›์•„ ์„ค์น˜ํ–ˆ๋‹ค. intelliJ๋กœ ๊ทธ๋ž˜๋„ ์ฝ”๋”ฉ์„ ์ œ๋ฒ• ํ•ด๋ณด์•„์„œ jetbrain ์‚ฌ์˜ ํˆด์— ๋Œ€ํ•œ ์‹ ๋ขฐ๊ฐ€ ์žˆ์—ˆ๊ณ  ๊ธฐ์กด์— ์“ฐ๋˜ VS ํ™˜๊ฒฝ์ด ๋งˆ์Œ์— ์•ˆ๋“ค์—ˆ๋˜ ํƒ“๋„ ์žˆ์—ˆ๋‹ค. ๋ฌด์—‡๋ณด๋‹ค clion์ด ์ •๋ง ์˜ˆ์˜๋‹ค!!! ๐Ÿฅณ ๋ฌผ๋ก  gcc ์ปดํŒŒ์ผ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๊ณ  ์‹ถ์—ˆ๋˜ ์ด์œ ๋„ ์žˆ๋‹ค ใ…Žใ…Ž ๋‚ด ๋ฌธ์ œ์  ๋‚ด์žฅ๋œ ์ฝ˜์†”์—์„œ ํ•œ๊ธ€์„ ์ž…๋ ฅํ–ˆ์„ ๋•Œ ํ”„๋กœ๊ทธ๋žจ์—์„œ ํ•ญ์ƒ ๋‹ค๋ฅธ ๊ธ€์ž๋กœ ๋ณ€ํ™˜๋˜์–ด ์ฝ”๋”ฉ์„ ํ•  ์ˆ˜๊ฐ€ ์—†์—ˆ๋‹ค. ํ•ด๊ฒฐ๋ฐฉ๋ฒ• ๋‚ด๊ฐ€ ํ•ด๋ดค๋˜ ๋ชจ๋“  ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์ ์–ด๋ณธ๋‹ค. ์ตœ์ข…์ ์œผ๋กœ ํ•ด๊ฒฐํ•œ ๋ฐฉ๋ฒ•์€ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ๋ฐฉ๋ฒ•์ด๋‹ค. 1. Settings > Editor > File Encodings ์„ค์ •ํ•˜๊ธฐ global, project, ..
[Python, KoBERT] ๋‹ค์ค‘ ๊ฐ์ • ๋ถ„๋ฅ˜ ๋ชจ๋ธ ๊ตฌํ˜„ํ•˜๊ธฐ (huggingface๋กœ ์ด์ „ ๋ฐฉ๋ฒ• O) 1. BERT, KoBERT๋ž€? ๊ตฌ๊ธ€์—์„œ 2018๋…„์— ๊ณต๊ฐœํ•œ BERT๋Š” ๋“ฑ์žฅ๊ณผ ๋™์‹œ์— ์ˆ˜๋งŽ์€ NLP ํƒœ์Šคํฌ์—์„œ ์ตœ๊ณ  ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ฃผ๋ฉด์„œ NLP์˜ ํ•œ ํš์„ ๊ทธ์€ ๋ชจ๋ธ๋กœ ํ‰๊ฐ€๋ฐ›๊ณ  ์žˆ๋‹ค. ์–‘๋ฐฉํ–ฅ์„ฑ์„ ์ง€ํ–ฅํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.(B: bidirection) BERT ๋ชจ๋ธ์€ ๋ฌธ๋งฅ ํŠน์„ฑ์„ ํ™œ์šฉํ•˜๊ณ  ์žˆ๊ณ , ๋Œ€์šฉ๋Ÿ‰ ๋ง๋ญ‰์น˜๋กœ ์‚ฌ์ „ ํ•™์Šต์ด ์ด๋ฏธ ์ง„ํ–‰๋˜์–ด ์–ธ์–ด์— ๋Œ€ํ•œ ์ดํ•ด๋„๋„ ๋†’๋‹ค. ํ•˜์ง€๋งŒ BERT๋Š” ํ•œ๊ตญ์–ด์— ๋Œ€ํ•ด์„œ ์˜์–ด๋ณด๋‹ค ์ •ํ™•๋„๊ฐ€ ๋–จ์–ด์ง„๋‹ค๊ณ  ํ•œ๋‹ค. ์˜ค๋Š˜ ๊ธฐ์ˆ ํ•ด๋ณผ KoBERT ๋ชจ๋ธ์€ SKTBrain์—์„œ ๊ณต๊ฐœํ–ˆ๋Š”๋ฐ, ํ•œ๊ตญ์–ด ์œ„ํ‚ค 5๋ฐฑ๋งŒ ๋ฌธ์žฅ๊ณผ ํ•œ๊ตญ์–ด ๋‰ด์Šค 2์ฒœ๋งŒ ๋ฌธ์žฅ์„ ํ•™์Šตํ•œ ๋ชจ๋ธ์ด๋‹ค. ์ž์‹ ์˜ ์‚ฌ์šฉ ๋ชฉ์ ์— ๋”ฐ๋ผ ํŒŒ์ธํŠœ๋‹์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— output layer๋งŒ์„ ์ถ”๊ฐ€๋กœ ๋‹ฌ์•„์ฃผ๋ฉด ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ๋งŽ์€ BERT ..
C++ map, set ์—์„œ ์ค‘๋ณต ํ‚ค ์‚ฝ์ž…์„ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ• C++์—์„œ๋Š” insert ํ•จ์ˆ˜์˜ ๋ฆฌํ„ด๊ฐ’์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. insert ํ•จ์ˆ˜์˜ ํ”„๋กœํ† ํƒ€์ž…: pair insert (const pair& val); ์ค‘๋ณต๋œ Key๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์•„ ์‚ฝ์ž… ์„ฑ๊ณต ์‹œ, ์˜ pair๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ค‘๋ณต๋œ Key๊ฐ€ ์กด์žฌํ•ด, ์‚ฝ์ž… ์‹คํŒจ ์‹œ, ์˜ pair๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. #include #include using namespace std; int main() { int T, N, i, j, ans; string value, key; map m; pair pr; cin >> T; while (T-- > 0) { m.clear(); ans = 1; cin >> N; for (j = 0; j > value >> key; pr = m.insert(pair(key, 1)..
BOJ 19538 ๋ฃจ๋จธ C++, java, python (BFS ํ‹€ ์žก๊ธฐ) https://www.acmicpc.net/problem/19538 ๋งŽ์ด ์–ด๋ ต์ง€ ์•Š์€ bfs ๋ฌธ์ œ์ด๋‹ค. ์ด ๋ฌธ์ œ๋กœ bfs ๋ฌธ์ œ์˜ ํ‹€์„ ์žก๋Š”๋ฐ ํฐ ๋„์›€์„ ๋ฐ›์•˜๋‹ค ! [๋ฌธ์ œ์™€ ์ž…์ถœ๋ ฅ] ๋ฃจ๋จธ๋Š” ์ตœ์ดˆ ์œ ํฌ์ž๋กœ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค. ์ตœ์ดˆ ์œ ํฌ์ž๋Š” ์—ฌ๋Ÿฌ ๋ช…์ผ ์ˆ˜ ์žˆ๊ณ , ์ตœ์ดˆ ์œ ํฌ์ž๋ฅผ ์ œ์™ธํ•˜๊ณ  ์Šค์Šค๋กœ ๋ฃจ๋จธ๋ฅผ ๋งŒ๋“ค์–ด ๋ฏฟ๋Š” ์‚ฌ๋žŒ์€ ์—†๋‹ค. ๋งค๋ถ„ ๋ฃจ๋จธ๋ฅผ ๋ฏฟ๋Š” ์‚ฌ๋žŒ์€ ๋ชจ๋“  ์ฃผ๋ณ€์ธ์—๊ฒŒ ๋ฃจ๋จธ๋ฅผ ๋™์‹œ์— ํผํŠธ๋ฆฌ๋ฉฐ, ๊ตฐ์ค‘ ์† ์‚ฌ๋žŒ์€ ์ฃผ๋ณ€์ธ์˜ ์ ˆ๋ฐ˜ ์ด์ƒ์ด ๋ฃจ๋จธ๋ฅผ ๋ฏฟ์„ ๋•Œ ๋ณธ์ธ๋„ ๋ฃจ๋จธ๋ฅผ ๋ฏฟ๋Š”๋‹ค. ๋ฃจ๋จธ๋ฅผ ๋ฏฟ๋Š” ์ˆœ๊ฐ„๋ถ€ํ„ฐ ๋‹ค๋ฅธ ๋ง์€ ๋“ฃ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ํ•œ๋ฒˆ ๋ฏฟ์€ ๋ฃจ๋จธ๋Š” ๊ณ„์† ๋ฏฟ๋Š”๋‹ค. ์ด๋•Œ, ์‚ฌ๋žŒ๋“ค์ด ๋ฃจ๋จธ๋ฅผ ์ฒ˜์Œ ๋ฏฟ๊ธฐ ์‹œ์ž‘ํ•˜๋Š” ์‹œ๊ฐ„์„ ์•Œ์•„๋‚ด ๋ณด์ž. ์ž…๋ ฅ์„ ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜๋ฉด 7๋ช…์˜ ์‚ฌ๋žŒ์ด ์žˆ๋‹ค. (1 ≤ ์‚ฌ๋žŒ ์ˆ˜ ≤ 200 000) 7๊ฐœ ์ค„์— ๊ฑธ์ณ ๊ฐ ๋ฒˆ..
C++ 2์ฐจ์› ๋ฐฐ์—ด ๋™์  ํ• ๋‹นํ•ด์„œ ์ž…๋ ฅ๋ฐ›๊ธฐ, 2์ฐจ์› ๋ฒกํ„ฐ ์ž…๋ ฅ๋ฐ›๊ธฐ 2์ฐจ์› ๋ฐฐ์—ด ๋™์  ํ• ๋‹นํ•ด์„œ ์ž…๋ ฅ๋ฐ›๊ธฐ ๊ถŒ์žฅํ•˜๋Š” ๋ฐฉ๋ฒ• int main() { int N, M; cin >> M >> N; int** array = new int*[N]; // ๋ฐฐ์—ด์„ ์„ ์–ธํ•  ๋•Œ, ์ด์ค‘ ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. for (int i = 0; i > array[i][j]; } } // ... ์ƒ๋žต } ๊ถŒ์žฅํ•˜์ง„ ์•Š์ง€๋งŒ ํŽธํ•œ ๋ฐฉ๋ฒ• int main() { int N, M; cin >> N >> M; int maze[N][M]; /..
์•Œ๊ณ ๋ฆฌ์ฆ˜์ด, ์ข‹์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ญ๋ƒ๊ณ  ๋ฌผ์–ด๋ณด๋ฉด ๋ญ๋ผ๊ณ  ๋Œ€๋‹ตํ• ๋ž˜? ์•Œ๊ณ ๋ฆฌ์ฆ˜? ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ ˆ์ฐจ ์กฐ๊ธˆ ๋” ํ’€์–ด๋ณด๋ฉด, ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ผ๋‹จ ๋ฌธ์ œ๊ฐ€ ์กด์žฌํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•ด๊ฒฐ์„ ํ•ด์•ผํ•œ๋‹ค๋Š” ๋ชฉ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์„ ๋•Œ, ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์ ˆ์ฐจ๋ฅผ ์ด์•ผ๊ธฐํ•œ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์กฐ๊ฑด ํ•ญ์ƒ ์˜ฌ๋ฐ”๋ฅธ ๋‹ต์„ ๋‚ผ ๊ฒƒ. = ๋‹ต์„ ๋‚ด์•ผ ํ•œ๋‹ค ์œ ํ•œํ•œ ์‹œ๊ฐ„ ์•ˆ์— ์ข…๋ฃŒ๋  ๊ฒƒ. = ๋๋‚˜์•ผ ํ•œ๋‹ค ์ข‹์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์š”์†Œ ์ž์›์„ ํšจ์œ ์ ์œผ๋กœ ์“ฐ๋Š” // ↔ ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด (๊ฐ„๊ฒฐํ•œ) // ↔ ์ŠคํŒŒ๊ฒŒํ‹ฐ ์ฝ”๋“œ ์†๋„๊ฐ€ ๋น ๋ฅธ // ↔ ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ถฉ์กฑํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ต๋‹ค. ์ด ์ค‘์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์š”์†Œ๋Š” ๋ฐ”๋กœ ์†๋„์ด๋‹ค. Big-O ํ‘œ๊ธฐ๋ฒ• ์˜์–ด๋Š” ์–ด๋ ต๋‹ค. ์ˆ˜์‹์€ ์–ด๋ ต๋‹ค. ์˜์–ด ์ˆ˜์‹์€ ์–ด๋ ต๋‹ค ใ…Žใ…Žใ…Žใ…Ž ๋งค๋ฒˆ ๋ณด์ง€๋งŒ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค. ์‰ฝ๊ฒŒ ์ดํ•ดํ•ด๋ณด๊ฒ ๋‹ค. ์‰ฌ์šด ๋ง๋กœ ํ’€์–ด ํ•ด์„ํ•ด๋ณด๋ฉด, f(n) = Ο(g(n)..
C++ ์ž…์ถœ๋ ฅ, cpp PS ๊ธฐ๋ณธ ํ…œํ”Œ๋ฆฟ #include using namespace std; int main(void) { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int a; cin >> a; cout a; std::cout no cpp๋งŒ์˜ ๋…์ž์ ์ธ ๋ฒ„ํผ๋ฅผ ๊ฐ€์ง€๊ฒ ๋‹ค! cpp์ด c์–ธ์–ด์˜ ๋ฒ„ํผ๋ฅผ ๋นŒ๋ฆฌ๋Š”๋ฐ ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š”๋ฐ ์ด ์‹œ๊ฐ„์„ ์ค„์—ฌ์ฃผ๊ณ ์ž ์“ด๋‹ค. ๋Œ€์‹ , c์–ธ์–ด์™€ cpp์˜ ์ž…์ถœ๋ ฅ์„ ํ˜ผ์šฉํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ํ•ญ์ƒ ๋‘˜ ์ค‘ ํ•˜๋‚˜์˜ ์ž…์ถœ๋ ฅ๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. std::cin.tie(NULL), std::cout.tie(NULL) cin๊ณผ cout์ด ๋ฌถ์—ฌ์žˆ๋Š” ๊ฑธ์„ ํ’€์–ด์ค€๋‹ค. cin์œผ๋กœ ์–ด๋–ค ๋ณ€์ˆ˜๋ฅผ ์ฝ๊ณ  ์‹ถ์„ ๋•Œ ํ•ญ์ƒ ์ถœ๋ ฅ ๋ฒ„ํผ๋ฅผ ๋น„์šด๋‹ค. cout์— ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ์€ ๊ฒƒ์„ ๋„ฃ์–ด๋‘์—ˆ๋Š”๋ฐ ์ด..
2021๋…„ ์—ฌ๋ฆ„๋ฐฉํ•™์˜ ๊ธฐ๋ก ์ด๋ฒˆ ๋ฐฉํ•™์€ ์ €๋ฒˆ ํ•™๊ธฐ์— ์ด์–ด์„œ ์‰ผ์˜ ์—ฐ์žฅ์„  ! 06.21 ์ง€๊ธˆ์€ ๊ฑฐ์˜ ์ถฉ์ „๋˜์—ˆ์ง€๋งŒ ๊ทธ๋ ‡์ง€๋งŒ,,, ๊ฐˆ๋ฆฌ๊ณ  ์‹ถ์ง„ ์•Š์•„ ๋ถ€์บ ? ๋ฌด์Šจ ํ”„๋กœ๊ทธ๋žจ? ์ธํ„ด? ์ง€์› ์•ˆ ํ•ด ์ง€์› ์•ˆ ํ•ด ์ง€์› ์•ˆ ํ•ด ๊ฐ๋‹น์„ ๋ชปํ•  ์ •๋„๋กœ ๋ฒŒ๋ ค ๋†“์€ ์ผ์— ๋ชธ์„ ๋ฌถ์–ด๋‘๊ณ  ์‹ถ์ง„ ์•Š๋‹ค๊ตฌ ! ๊ต‰์žฅํžˆ ํ‰๋ฒ”ํ•œ ๋ฐฉํ•™์„ ๋ณด๋‚ผ ์˜ˆ์ •์ด๋ผ๋Š” ๊ฒƒ. ์ง€๊ธˆ์œผ๋กœ์ฌ ์ผ๋‹จ ๊ทธ๋ ‡๋‹ค๋Š” ๊ฒƒ ! ์ผ๋‹จ ์—ฌ๋ฆ„ ๊ณ„ํš์€ ์ด๋ž˜ โœฟ ํ”„๋กœ์ ํŠธ 1 ๊ฐœ๋ฐœ ๋™์•„๋ฆฌ์—์„œ 7์›”๋™์•ˆ ์ง„ํ–‰ํ•˜๋Š” ํ”„๋กœ์ ํŠธ ๊ธฐํš์€ ๊ฑฐ์˜ ํ•ด๋‘์—ˆ์œผ๋ฏ€๋กœ ๊ฐœ๋ฐœ๋งŒ ํ•˜๋ฉด ๋˜๋Š”๋ฐ ๊ฑฑ์ •์ด ์•ž์„œ ํ›„์šฐ ํ”„๋กœ์ ํŠธ 2 ์‹œ์ž‘์€ ๋™์•„๋ฆฌ์˜€์ง€๋งŒ ํ˜ผ์ž ๊ฐœ๋ฐœํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด ํฌํด์šฉ์œผ๋กœ ๋” ํ™•์žฅ์‹œ์ผœ๋ณด๊ณ  ์‹ถ์–ด์„œ ํ•˜๋Š” ์ž์œจ(?) pj ์ถ”๊ฐ€๋กœ ๊ตฌํ˜„ํ•œ ๊ธฐ๋Šฅ๋“ค์€ ๋ฆฌ์ŠคํŠธ์—… ํ•ด๋‘์—ˆ๊ณ  ๊ทธ๊ฐ„์— ์Œ“์ธ ์ง€์‹๋“ค๋กœ ์ข€ ๋งŽ์ด ๋œฏ์–ด๊ณ ์น  ์˜ˆ์ • ์ •๋ง์ •๋ง ๋ฐฐํฌ๊นŒ์ง€ ์™„๋ฒฝํ•˜๊ฒŒ ํ•ด์„œ ํฌํด์šฉ์œผ๋กœ ..
10์žฅ ํšŒ๋ณต๊ณผ ๋ณ‘ํ–‰ ์ œ์–ด 1 ํŠธ๋žœ์žญ์…˜ 1-1. ํŠธ๋žœ์žญ์…˜์ด๋ž€? ํ•˜๋‚˜์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ์‚ฐ์˜ ๋ชจ์Œ ์ž‘์—… ์ˆ˜ํ–‰์— ํ•„์š”ํ•œ sql๋ฌธ๋“ค์˜ ๋ชจ์ž„ EX) ํŠนํžˆ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” INSERT, DELETE, UPDATE๋ฌธ์˜ ์‹คํ–‰์„ ๊ด€๋ฆฌ ๋…ผ๋ฆฌ์ ์ธ ์ž‘์—…์˜ ๋‹จ์œ„ ์žฅ์•  ๋ฐœ์ƒ์‹œ ๋ณต๊ตฌ ์ž‘์—…์ด๋‚˜ ๋ณ‘ํ–‰์ œ์–ด ์ž‘์—…์„ ์œ„ํ•œ ์ค‘์š”ํ•œ ๋‹จ์œ„๋กœ ์‚ฌ์šฉ๋จ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฌด๊ฒฐ์„ฑ๊ณผ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์˜ˆ์‹œ ๊ณ„์ขŒ์ด์ฒด ํŠธ๋žœ์žญ์…˜์˜ ๊ฒฝ์šฐ ๋ˆ์ด ์ธ์ถœ๋˜๋Š” UPDATE ๋ฌธ๊ณผ ๋ˆ์ด ์ž…๊ทผ๋˜๋Š” UPDATE ๋ฌธ์ด ์ฒ˜๋ฆฌ ์ˆœ์„œ๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š์ง€๋งŒ ๋ชจ๋‘ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜์–ด์•ผ ํ•œ๋‹ค. 1-2 ํŠน์„ฑ (ACID) ์›์ž์„ฑ, ์ผ๊ด€์„ฑ, ๊ฒฉ๋ฆฌ์„ฑ, ์ง€์†์„ฑ ์›์ž์„ฑ(atomicity) ํŠธ๋žœ์žญ์…˜์˜ ์—ฐ์‚ฐ๋“ค์ด ๋ชจ๋‘ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜๊ฑฐ๋‚˜ ํ•˜๋‚˜๋„ ์‹คํ–‰๋˜์ง€ ์•Š์•„์•ผํ•˜๋Š” all-or-nothing๋ฐฉ์‹์„ ..
9์žฅ ์ •๊ทœํ™” 1 ์ด์ƒ ํ˜„์ƒ ์ด์ƒ(anomaly) ํ˜„์ƒ์ด๋ž€? ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์ค‘๋ณต์œผ๋กœ ์ธํ•ด ๋ฆด๋ ˆ์ด์…˜์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ์‚ฝ์ž…·์ˆ˜์ •·์‚ญ์ œ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€์ž‘์šฉ ์ด์ƒ ํ˜„์ƒ์˜ ์ข…๋ฅ˜ ์‚ฝ์ž… ์ด์ƒ(insertion anomaly) ๋ฆด๋ ˆ์ด์…˜์— ์ƒˆ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜๋ ค๋ฉด ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋„ ํ•จ๊ป˜ ์‚ฝ์ž…ํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ ๊ฐฑ์‹  ์ด์ƒ(update anomaly) ๋ฆด๋ ˆ์ด์…˜์˜ ์ค‘๋ณต๋œ ํˆฌํ”Œ๋“ค ์ค‘ ์ผ๋ถ€๋งŒ ์ˆ˜์ •ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถˆ์ผ์น˜ํ•˜๊ฒŒ ๋˜๋Š” ๋ชจ์ˆœ์ด ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ ์‚ญ์ œ ์ด์ƒ(deletion anomaly) ๋ฆด๋ ˆ์ด์…˜์—์„œ ํˆฌํ”Œ์„ ์‚ญ์ œํ•˜๋ฉด ๊ผญ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊นŒ์ง€ ์†์‹ค๋˜๋Š” ์—ฐ์‡„ ์‚ญ์ œ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ ์˜ˆ์‹œ ๋ฆด๋ ˆ์ด์…˜: ์‚ฝ์ž… ์ด์ƒ ์•„์ง ์ด๋ฒคํŠธ์— ์ฐธ์—ฌํ•˜์ง€ ์•Š์€ ์•„์ด๋””๊ฐ€ “melon”, ์ด๋ฆ„์ด “์„ฑ์›์šฉ”, ๋“ฑ๊ธ‰์ด “gold”์ธ ์‹ ๊ทœ ๊ณ ๊ฐ์˜ ๋ฐ์ดํ„ฐ๋Š” ์ด๋ฒคํŠธ์ฐธ..
IE ํ‘œ๊ธฐ๋ฒ• ์‚ฌ์šฉํ•˜๋Š” ๊ธฐํ˜ธ์˜ ์˜๋ฏธ ์˜ˆ์‹œ 1 - ๋ถ€์„œ์™€ ์ง์› E-R ๋‹ค์ด์–ด๊ทธ๋žจ E-R ๋‹ค์ด์–ด๊ทธ๋žจ์„ ํ†ตํ•ด ๊ด€๊ณ„๋ฅผ ์‚ดํŽด๋ณด๋ฉด, ๋ถ€์„œ๊ณผ ์ง์›์˜ ๋งคํ•‘ ์นด๋””๋„๋ฆฌํ‹ฐ๋Š” 1 : N ์ด๊ณ , ์†Œ์†์ด๋ž€ ๊ด€๊ณ„์—์„œ ๋ถ€์„œ๊ฐ€ ํฌํ•จํ•˜๊ณ  ์ง์›์€ ์†Œ์†๋˜๋Š” ๊ด€๊ณ„๋กœ ๋ถ€์„œ๊ฐ€ ์ฃผ์ธ๋จ(๋ถ€์„œ๋Š” ์ง์›์„ ํฌํ•จํ•  ์ˆ˜๋„ ์žˆ๊ณ  ์•ˆํ•  ์ˆ˜๋„ ์žˆ์Œ)์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ถ€์„œ๋Š” ์„ ํƒ ์ฐธ์—ฌ์ด์ง€๋งŒ ์ง์›์€ ํ•„์ˆ˜ ์ฐธ์—ฌ์ด๋‹ค. ์ง์›์€ ๋ถ€์„œ์— ํฌํ•จ๋˜์ง€ ์•Š์•„๋„ ๋…๋ฆฝ์ ์œผ๋กœ ์กด์žฌํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ง์›์ด๋ž€ ์กด์žฌ๋Š” ์•ฝํ•œ ๊ฐ์ฒด ์ฆ‰ ์ข…์†์ ์ธ ๊ฐœ์ฒด๊ฐ€ ์•„๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด์ค‘ ๋งˆ๋ฆ„๋ชจ๊ฐ€ ์•„๋‹Œ ๋‹จ์ผ ๋งˆ๋ฆ„๋ชจ๋กœ ํ‘œํ˜„ํ•˜์˜€๋‹ค. IE ํ‘œ๊ธฐ๋ฒ• ์œ„์—์„œ ํ•ด์„ํ•œ ๊ฒฐ๊ณผ๋Œ€๋กœ IE ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ๋ฐ”๊พธ๋ฉด ์œ„์™€ ๊ฐ™๋‹ค. ๋งคํ•‘ ์นด๋””๋„๋ฆฌํ‹ฐ์— ์˜ํ•ด ์‚ผ๊ฐ๋ฐœ์ด ๊ทธ๋ ค์ง€๊ณ  ์ข…์†์ ์ธ ๊ด€๊ณ„๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ์ง์„ ์ด ์•„๋‹Œ ์ ์„ ์œผ๋กœ ํ‘œ๊ธฐํ•˜์˜€์œผ๋ฉฐ ์ง์›์€ ํ•„์ˆ˜์ฐธ์—ฌ, ๋ถ€์„œ..
8์žฅ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ 01. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ ๋‹จ๊ณ„ 02. ์š”๊ตฌ ์‚ฌํ•ญ ๋ถ„์„ ๊ฒฐ๊ณผ๋ฌผ: ์š”๊ตฌ ์‚ฌํ•ญ ๋ช…์„ธ์„œ ์ฃผ์š” ์ž‘์—… ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•  ์ฃผ์š” ์‚ฌ์šฉ์ž์˜ ๋ฒ”์œ„๋ฅผ ๊ฒฐ์ • ์‚ฌ์šฉ์ž๊ฐ€ ์กฐ์ง์—์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ์—…๋ฌด๋ฅผ ๋ถ„์„ ๋ฉด๋‹ด, ์„ค๋ฌธ ์กฐ์‚ฌ, ์—…๋ฌด ๊ด€๋ จ ๋ฌธ์„œ ๋ถ„์„ ๋“ฑ์˜ ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•ด ์š”๊ตฌ ์‚ฌํ•ญ ์ˆ˜์ง‘ ์ˆ˜์ง‘๋œ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ์š”๊ตฌ ์‚ฌํ•ญ ๋ช…์„ธ์„œ๋กœ ์ž‘์„ฑ ์˜ˆ์‹œ: ์ธํ„ฐ๋„ท์œผ๋กœ ํšŒ์›๋“ค์—๊ฒŒ ์ƒํ’ˆ์„ ํŒ๋งคํ•˜๋Š” ํ•œ๋น› ๋งˆํŠธ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ๋ฐœ 03. ๊ฐœ๋…์  ์„ค๊ณ„ ๋ชฉ์  DBMS์— ๋…๋ฆฝ์ ์ธ ๊ฐœ๋…์  ์Šคํ‚ค๋งˆ ์„ค๊ณ„ ์š”๊ตฌ ์‚ฌํ•ญ ๋ถ„์„ ๊ฒฐ๊ณผ๋ฌผ์„ ๊ฐœ๋…์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์ด์šฉํ•ด ๊ฐœ๋…์  ๊ตฌ์กฐ๋กœ ํ‘œํ˜„ ๊ฐœ๋…์  ๋ชจ๋ธ๋ง – ์ผ๋ฐ˜์ ์œผ๋กœ E-R ๋ชจ๋ธ์„ ๋งŽ์ด ์ด์šฉ ๊ฒฐ๊ณผ๋ฌผ ๊ฐœ๋…์  ์Šคํ‚ค๋งˆ : E-R ๋‹ค์ด์–ด๊ทธ๋žจ ๋˜๋Š” IE ํ‘œ๊ธฐ๋ฒ• ์ฃผ์š” ์ž‘์—… ์š”๊ตฌ ์‚ฌํ•ญ ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ค‘์š”ํ•œ ๊ฐœ์ฒด๋ฅผ ์ถ”..
12์žฅ Disk Management And Scheduling reference: kocw์˜ ๋ฐ˜ํšจ๊ฒฝ ๊ต์ˆ˜๋‹˜ ๊ฐ•์˜์™€ ๊ถŒ์ง„์šฑ ๊ต์ˆ˜๋‹˜ ๊ฐ•์˜(๋Œ€ํ•™ ์ •๊ทœ ์ˆ˜์—…) ์ˆ˜์—…์„ ๋“ฃ๊ณ ๋‚˜์„œ ๊ฐ•์˜ ๊ต์žฌ๋ฅผ ํƒ€์ดํ•‘ํ•˜๊ณ  ํ•„๊ธฐํ•œ ๋ถ€๋ถ„์„ ์ถ”๊ฐ€์ ์œผ๋กœ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์›น๋ทฐ์—์„œ toc๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. github์˜ md ํŒŒ์ผ๋กœ ๋ณด๋Š” ๊ฒŒ ํŽธํ•˜์‹œ๋‹ค๋ฉด, ์—ฌ๊ธฐ๋กœ ์ด๋™ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. 1 Disk Structure logical block ๋””์Šคํฌ์˜ ์™ธ๋ถ€์—์„œ ๋ณด๋Š” ๋””์Šคํฌ์˜ ๋‹จ์œ„ ์ •๋ณด ์ €์žฅ ๊ณต๊ฐ„๋“ค ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง„ 1์ฐจ์› ๋ฐฐ์—ด์ฒ˜๋Ÿผ ์ทจ๊ธ‰ ์ •๋ณด๋ฅผ ์ „์†กํ•˜๋Š” ์ตœ์†Œ ๋‹จ์œ„ sector logical block์ด ๋ฌผ๋ฆฌ์ ์ธ ๋””์Šคํฌ์— ๋งคํ•‘๋œ ์œ„์น˜ Sector 0์€ ์ตœ์™ธ๊ฐ ์‹ค๋ฆฐ๋”์˜ ์ฒซ ํŠธ๋ž™์— ์žˆ๋Š” ์ฒซ ๋ฒˆ์งธ ์„นํ„ฐ์ด๋‹ค. 2 Disk Management Physical formatting (low level formatting) ๋””์Šคํฌ๋ฅผ ์ปจํŠธ๋กค..
11์žฅ File Systems Implementation reference: kocw์˜ ๋ฐ˜ํšจ๊ฒฝ ๊ต์ˆ˜๋‹˜ ๊ฐ•์˜์™€ ๊ถŒ์ง„์šฑ ๊ต์ˆ˜๋‹˜ ๊ฐ•์˜(๋Œ€ํ•™ ์ •๊ทœ ์ˆ˜์—…) ์ˆ˜์—…์„ ๋“ฃ๊ณ ๋‚˜์„œ ๊ฐ•์˜ ๊ต์žฌ๋ฅผ ํƒ€์ดํ•‘ํ•˜๊ณ  ํ•„๊ธฐํ•œ ๋ถ€๋ถ„์„ ์ถ”๊ฐ€์ ์œผ๋กœ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์›น๋ทฐ์—์„œ toc๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. github์˜ md ํŒŒ์ผ๋กœ ๋ณด๋Š” ๊ฒŒ ํŽธํ•˜์‹œ๋‹ค๋ฉด, ์—ฌ๊ธฐ๋กœ ์ด๋™ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. -> ์‹ค์ œ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š”๊ฐ€? *๊ต์ˆ˜๋‹˜์˜ ํ•œ๋งˆ๋””: computer science์—์„œ ๊ณตํ†ต์˜ ํ™”๋‘๋Š” ์ตœ์ ํ™”! Optimization์ด๋‹ค. (๋น„์šฉ์€ ์ ๊ฒŒ, ํšจ์œจ์€ ์ข‹๊ฒŒ-์†๋„๋Š” ๋น ๋ฅด๊ฒŒ, ๊ณต๊ฐ„ ํ™œ์šฉ์€ ์ ๊ฒŒ ๋“ฑ) 01 Allocation of File Data in Disk Contiguous Allocation Linked Allocation Indexed Allocation 01-1 Contiguous Allocation count..
10์žฅ File Systems reference: kocw์˜ ๋ฐ˜ํšจ๊ฒฝ ๊ต์ˆ˜๋‹˜ ๊ฐ•์˜์™€ ๊ถŒ์ง„์šฑ ๊ต์ˆ˜๋‹˜ ๊ฐ•์˜(๋Œ€ํ•™ ์ •๊ทœ ์ˆ˜์—…) ์ˆ˜์—…์„ ๋“ฃ๊ณ ๋‚˜์„œ ๊ฐ•์˜ ๊ต์žฌ๋ฅผ ํƒ€์ดํ•‘ํ•˜๊ณ  ํ•„๊ธฐํ•œ ๋ถ€๋ถ„์„ ์ถ”๊ฐ€์ ์œผ๋กœ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์›น๋ทฐ์—์„œ toc๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. github์˜ md ํŒŒ์ผ๋กœ ๋ณด๋Š” ๊ฒŒ ํŽธํ•˜์‹œ๋‹ค๋ฉด, ์—ฌ๊ธฐ๋กœ ์ด๋™ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. 1 file, file system, directory, logical disk File "A named collection of related information" ๋น„ํœ˜๋ฐœ์„ฑ์˜ ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜(ex ํ•˜๋“œ๋””์Šคํฌ)์— ์ €์žฅ๋˜๋Š” ๋‹จ์œ„ ์šด์˜์ฒด์ œ๋Š” ๋‹ค์–‘ํ•œ ์ €์žฅ ์žฅ์น˜๋ฅผ file์ด๋ผ๋Š” ๋™์ผํ•œ ๋…ผ๋ฆฌ์  ๋‹จ์œ„๋กœ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์คŒ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด์„œ ์ ‘๊ทผ ↔ ํŒŒ์ผ์€ ์ด๋ฆ„์„ ํ†ตํ•ด์„œ ์ ‘๊ทผ Operation ๊ฐ€๋Šฅํ•œ ์—ฐ์‚ฐ create, read, write..
9์žฅ Virtual Memory reference: kocw์˜ ๋ฐ˜ํšจ๊ฒฝ ๊ต์ˆ˜๋‹˜ ๊ฐ•์˜์™€ ๊ถŒ์ง„์šฑ ๊ต์ˆ˜๋‹˜ ๊ฐ•์˜(๋Œ€ํ•™ ์ •๊ทœ ์ˆ˜์—…) ์ˆ˜์—…์„ ๋“ฃ๊ณ ๋‚˜์„œ ๊ฐ•์˜ ๊ต์žฌ๋ฅผ ํƒ€์ดํ•‘ํ•˜๊ณ  ํ•„๊ธฐํ•œ ๋ถ€๋ถ„์„ ์ถ”๊ฐ€์ ์œผ๋กœ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์›น๋ทฐ์—์„œ toc๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. github์˜ md ํŒŒ์ผ๋กœ ๋ณด๋Š” ๊ฒŒ ํŽธํ•˜์‹œ๋‹ค๋ฉด, ์—ฌ๊ธฐ๋กœ ์ด๋™ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. 1 Demand Paging ์‹ค์ œ๋กœ ํ•„์š”ํ•  ๋•Œ page๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ ๊ทธ๋ฆผ์—์„œ ์ œ์ผ ์˜ค๋ฅธ์ชฝ์˜ ์›ํ†ตํ˜•์€ backing store๋กœ HDD๋‚˜ SDD๊ฐ€ ์ด์— ํ•ด๋‹นํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ถ€๋ถ„์€ ๊ทนํžˆ ์ ๋‹ค. ํ•˜์ง€๋งŒ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ถ€๋ถ„์ด ์žฌ์‚ฌ์šฉ ๋  ํ™•๋ฅ (hit ratio)๊ฐ€ 90% ์ด์ƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ํ•„์š”ํ•  ๋•Œ๋งŒ ํŽ˜์ด์ง€๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์„ ํšจ์œจ์ ์ด๋‹ค. ํ•œ์ •๋œ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ชจ๋“  ํŽ˜์ด์ง€๋ฅผ ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ๋ณด๋‹ค ํ•„์š”ํ•  ๋•Œ๋งŒ ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์ด ..