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

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

CS ๋ฉด์ ‘ ์งˆ๋ฌธ ์ •๋ฆฌ - ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ผ๋ฐ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ผ๋ฐ˜ 1. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„ 2. ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP) 3. REST API 4. GIT & GITHUB 5. ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก  6. ๋””์ž์ธ ํŒจํ„ด 7. ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ 8. ํ”„๋ ˆ์ž„์›Œํฌ vs ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ 1. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„ โœ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„: ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์Šคํƒ€์ผ, ๊ด€์  ๋ช…๋ นํ˜• vs ์„ ์–ธํ˜• โœ” ๋ช…๋ นํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์–ด๋–ป๊ฒŒ (How) numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] result = [] for number in numbers: if number % 2 == 0: if number % 3 == 0: result.append(number**2) print(result) ์ปดํ“จํ„ฐ๊ฐ€ ์ˆ˜ํ–‰ํ•  ๋ช…๋ น๋“ค ์ˆœ์„œ๋Œ€๋กœ ์ž‘์„ฑํ•˜๋Š” ํ˜•ํƒœ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ œ์–ด๋ฌธ ํ™œ์šฉ ์žฅ์  ์—ฐ์‚ฐ์˜ ์ˆœ.. 2023. 2. 6.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ณ ๋“์  kit - ์ •๋ ฌ (Python/ํŒŒ์ด์ฌ) https://school.programmers.co.kr/learn/courses/30/parts/12198 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr 1. K๋ฒˆ์งธ ์ˆ˜: ๋ฌธ์ œ์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ทธ๋Œ€๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ๋˜๋Š” ์‰ฌ์šด ๋ฌธ์ œ 2. ๊ฐ€์žฅ ํฐ ์ˆ˜: ๋žŒ๋‹ค๋ฅผ ์ด์šฉํ•œ ์ •๋ ฌ ํ™œ์šฉ ๋ฌธ์ œ. number์˜ ๋ฒ”์œ„๊ฐ€ 1000์ดํ•˜ ์ด๋ฏ€๋กœ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ด์„œ 3๋ฒˆ ๋ฐ˜๋ณต ํ›„ ์ •๋ ฌํ•ด์ฃผ๋ฉด ๋œ๋‹ค. '000' ๊ฐ™์€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๋งˆ์ง€๋ง‰์— ์ •์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ด์ค€ ๋’ค์— ๋‹ค์‹œ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ด์ค˜์•ผ ํ•œ๋‹ค. 3. H-index: ๋ฌธ์ œ์—์„œ ๋‚˜์˜จ๋Œ€๋กœ h-index๋ฅผ ๊ณ„์‚ฐํ•ด์ฃผ๋ฉด ๋œ๋‹ค. # 1. k๋ฒˆ์งธ ์ˆ˜ de.. 2023. 2. 5.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ณ ๋“์  kit - ํž™(Heap) (Python/ํŒŒ์ด์ฌ) https://school.programmers.co.kr/learn/courses/30/parts/12117 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr 1. ๋” ๋งต๊ฒŒ: ๋ฒ”์œ„๊ฐ€ 2 ~ 1,000,000์ด๋ฏ€๋กœ ์šฐ์„ ์ˆœ์œ„ํ(ํŒŒ์ด์ฌ์˜ ๊ฒฝ์šฐ ํž™ํ)๋ฅผ ์ ์ ˆํžˆ ์ด์šฉํ•ด์„œ ๊ตฌํ˜„ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 2. ๋””์Šคํฌ ์ปจํŠธ๋กค๋Ÿฌ: ๊ทธ๋ฆฌ๋”” + ์šฐ์„ ์ˆœ์œ„ ํ ๋ฌธ์ œ. ์š”์ฒญ์‹œ์  ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ์ด์šฉํ•ด ๋‹ค์Œ ์ž‘์—…์„ ์ถ”์ถœํ•ด์„œ ํ˜„์žฌ ์ง„ํ–‰์ค‘์ธ ์ž‘์—… + ๋ˆ„์  ์‹œ๊ฐ„์„ ๊ณ„์† ๊ฐฑ์‹ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ์†Œ์š” ์‹œ๊ฐ„ ์ˆœ์œผ๋กœ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด ํž™์— ๋„ฃ์„ ๋•Œ ์ˆœ์„œ๋ฅผ ๋’ค์ง‘์–ด์„œ ๋„ฃ์–ด์ค˜์•ผ๋œ๋‹ค. 3. ์ด์ค‘์šฐ์„ ์ˆœ์œ„ํ: ์ตœ.. 2023. 2. 4.
[10์ฃผ์ฐจ] RAID Architecture RAID Architecture RAID architecture โœ” Redundant Array of Inexpensive DIsks(RAID) โœ” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฌผ๋ฆฌ disk๋ฅผ ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ disk๋กœ ์‚ฌ์šฉ OS support, RAID controller โœ” Disk system์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ์‚ฌ์šฉ Performance (access speed) Reliablility RAID 0 โœ” Disk striping ๋…ผ๋ฆฌ์ ์ธ ํ•œ block์„ ์ผ์ •ํ•œ ํฌ๊ธฐ๋กœ ๋‚˜์šฐ์–ด ๊ฐ disk์— ๋‚˜๋ˆ„์–ด ์ €์žฅ โœ” ๋ชจ๋“  disk์— ์ž…์ถœ๋ ฅ ๋ถ€ํ•˜ ๊ท ๋“ฑ ๋ถ„๋ฐฐ Parallel access Performance ํ–ฅ์ƒ (์ด์ƒ์ ์ธ ๊ฒฝ์šฐ์— disk ์ˆ˜๋งŒํผ์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ) โœ” ํ•œ Disk์—์„œ ์žฅ์•  ์‹œ, ๋ฐ์ดํ„ฐ ์†์‹ค ๋ฐœ์ƒ Low reliablilit.. 2023. 2. 3.
[10์ฃผ์ฐจ] Disk Scheduling Disk Scheduling Disk Scheduling โœ” Disk access ์š”์ฒญ๋“ค์˜ ์ฒ˜๋ฆฌ ์ˆœ์„œ ๊ฒฐ์ • โœ” Disk system์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ โœ” ํ‰๊ฐ€ ๊ธฐ์ค€ Throughput: ๋‹จ์œ„ ์‹œ๊ฐ„๋‹น ์ฒ˜๋ฆฌ๋Ÿ‰ Mean response time: ํ‰๊ท  ์‘๋‹ต ์‹œ๊ฐ„ Predictability: ์‘๋‹ต ์‹œ๊ฐ„์˜ ์˜ˆ์ธก์„ฑ ์š”์ฒญ์ด ๋ฌด๊ธฐํ•œ ์—ฐ๊ธฐ(starvation)๋˜์ง€ ์•Š๋„๋ก ๋ฐฉ์ง€ Disk Access Time Seek time ๋””์Šคํฌ head๋ฅผ ํ•„์š”ํ•œ cylinder๋กœ ์ด๋™ํ•˜๋Š” ์‹œ๊ฐ„ Rotational delay (1 ์ดํ›„๋ถ€ํ„ฐ) ํ•„์š”ํ•œ sector๊ฐ€ head์œ„์น˜๋กœ ๋„์ฐฉํ•˜๋Š” ์‹๋‚˜ Data transmission time (2 ์ดํ›„๋ถ€ํ„ฐ) ํ•ด๋‹น sector๋ฅผ ์ฝ์–ด์„œ ์ „์†ก(or ๊ธฐ๋ก)ํ•˜๋Š” ์‹œ๊ฐ„ Optimizing Seek Time FC.. 2023. 2. 2.
[10์ฃผ์ฐจ] I/O System I/O System I/O System (HW) I/O Mechanism Processor controlled memory access Polling (Programmed I/O) Interrupt Direct Memory Access (DMA) Pooling (Programmed I/O) โœ” Processor๊ฐ€ ์ฃผ๊ธฐ์ ์œผ๋กœ I/O ์žฅ์น˜์˜ ์ƒํƒœ ํ™•์ธ ๋ชจ๋“  I/O ์žฅ์น˜๋ฅผ ์ˆœํ™˜ํ•˜๋ฉฐ ํ™•์ธ ์ „์†ก ์ค€๋น„ ๋ฐ ์ „์†ก ์ƒํƒœ ๋“ฑ โœ” ์žฅ์  Simple I/O ์žฅ์น˜๊ฐ€ ๋น ๋ฅด๊ณ , ๋ฐ์ดํ„ฐ ์ „์†ก์ด ์žฆ์€ ๊ฒฝ์šฐ ํšจ์œจ์  โœ” ๋‹จ์  Processor์˜ ๋ถ€๋‹ด์ด ํผ Pooling overhead (I/O device๊ฐ€ ๋Š๋ฆฐ ๊ฒฝ์šฐ) Interrupt โœ” I/O ์žฅ์น˜๊ฐ€ ์ž‘์—…์„ ์™„๋ฃŒํ•œ ํ›„, ์ž์‹ ์˜ ์ƒํƒœ๋ฅผ Processor์—๊ฒŒ ์ „๋‹ฌ Interrupt ๋ฐœ.. 2023. 2. 1.