Banner

My Tech Blog (ETC)

์˜ค๋Š˜์˜ ๋ช…์–ธ
" ์šฐ๋ฆฌ๊ฐ€ ์ง„์ •์œผ๋กœ ๋‘๋ ค์›Œํ•ด์•ผ ํ•  ๊ฒƒ์€ ๋‘๋ ค์›€ ๊ทธ ์ž์ฒด์ด๋‹ค. "
- J.K. ๋กค๋ง (์˜๊ตญ ์†Œ์„ค๊ฐ€, ํ•ด๋ฆฌํฌํ„ฐ ์‹œ๋ฆฌ์ฆˆ์˜ ์ €์ž)
โœ” ์ถœ์ œ ๊ฒฝํ–ฅ๋‹จ์ˆœํ•œ ๋ฌธ์ œ๋Š” ๊ฑฐ์˜ ์ถœ์ œ๋˜์ง€ ์•Š์Œ๋ฐ˜๋ณต๋ฌธ + ์—ญ์Šฌ๋ผ์ด์‹ฑ + ์ธ๋ฑ์‹ฑ ๋“ฑ ์—ฌ๋Ÿฌ ๊ฐœ๋…์„ ์„ž์–ด์„œ ๋ณต์žกํ•œ ๋ฌธ์ œ ํ˜•ํƒœ๋กœ ์ถœ์ œ๋จ.์ „์ฒด 20๋ฌธ์ œ ์ค‘ Python ๊ด€๋ จ ๋ฌธ์ œ๋Š” 1~2๋ฌธ์ œ ์ •๋„ ์ถœ์ œ๋จ 1. print() ํ•จ์ˆ˜โœ… 1. ํŒŒ์ด์ฌ print()ํ•จ์ˆ˜๋Š”๊ธฐ๋ณธ์ ์œผ๋กœ ์ค„ ๋ฐ”๊ฟˆ ์ถœ๋ ฅ๋จint_val = range(2, 10, 2)for i in int_val: print(i)2468โŒ ๋‹ต์•ˆ ์ž‘์„ฑ์‹œ ์•„๋ž˜์ฒ˜๋Ÿผ ์ž‘์„ฑํ•˜๋ฉด ์˜ค๋‹ต2, 4, 6, 8 ๊ธฐ๋ณธ์ ์œผ๋กœ print() ํ•จ์ˆ˜๋Š” ์ถœ๋ ฅ ํ›„ ์ค„ ๋ฐ”๊ฟˆ(\n)์ด ์ ์šฉ๋˜์ง€๋งŒ, end=" "์™€ ๊ฐ™์ด ์„ค์ •ํ•˜๋ฉด ์ค„ ๋ฐ”๊ฟˆ ์—†์ด ์›ํ•˜๋Š” ๋ฌธ์ž(์˜ˆ: ๊ณต๋ฐฑ)๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.  2. ๋ฌธ์ž์—ดโœ… join() : ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฌธ์ž์—ด์„ ํ•˜๋‚˜๋กœ ๊ฒฐํ•ฉstr = '^'.join(['a', 'b', 'c'..
โ–  ์ •๊ทœํ™”์ด์ƒ(Anomaly) ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ์ค‘๋ณต์„ฑ/์ข…์†์„ฑ ์ตœ์†Œํ™” ํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—…๋…ผ๋ฆฌ์  ์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ ์ˆ˜ํ–‰, ์†์„ฑ ์ˆ˜๊ฐ€ ์ ์€ ํ…Œ์ด๋ธ”๋กœ ๋ถ„ํ• ๋˜์–ด ๊ด€๋ฆฌ๊ฐ€ ์šฉ์ดํ•ด์ง๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์•ˆ์ •์„ฑ ์ตœ๋Œ€ํ™” / ๋ฐ์ดํ„ฐ ์‚ฝ์ž… ์‹œ ๋ฆด๋ ˆ์ด์…˜ ์žฌ๊ตฌ์„ฑ ํ•„์š” ์ตœ์†Œํ™” โ–  ์ด์ƒ ํ˜„์ƒ ์ข…๋ฅ˜์‚ฝ์ž… ์ด์ƒ : ๋ฐ์ดํ„ฐ ์‚ฝ์ž… ์‹œ ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•จ๊ป˜ ์‚ฝ์ž…์‚ญ์ œ ์ด์ƒ : ํŠœํ”Œ ์‚ญ์ œ ์‹œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋„ ํ•จ๊ป˜ ์‚ญ์ œ๊ฐฑ์‹  ์ด์ƒ : ์ผ๋ถ€๋งŒ ์ˆ˜์ •๋˜์–ด ๋ฐ์ดํ„ฐ ๋ถˆ์ผ์น˜ โ†’ ์ •๋ณด ๋ชจ์ˆœ ๋ฐœ์ƒ โ–  ์ •๊ทœํ™” ๊ณผ์ • ์™ธ์šฐ๋Š” ๋ฒ• : ๋„๋ถ€์ด๊ฒฐ๋‹ค์กฐ(๋‘๋ถ€ ์ด๊ฑธ ๋‹ค์ค˜)์ œ 1 ์ •๊ทœํ˜•๋ชจ๋“  ๋„๋ฉ”์ธ(Domain)์ด ์›์ž ๊ฐ’๋งŒ์œผ๋กœ ๋˜์–ด ์žˆ์Œ์ œ 2 ์ •๊ทœํ˜•- ๊ธฐ๋ณธํ‚ค๊ฐ€ ์•„๋‹Œ ์†์„ฑ์ด ๊ธฐ๋ณธํ‚ค์— ๋Œ€ํ•œ ์™„์ „ ํ•จ์ˆ˜์  ์ข…์† ๋งŒ์กฑ- ๋ถ€๋ถ„์  ํ•จ์ˆ˜ ์ข…์†์„ ์ œ๊ฑฐํ•œ ์ •๊ทœํ˜•์ œ 3 ์ •๊ทœํ˜•๊ธฐ๋ณธํ‚ค๊ฐ€ ์•„๋‹Œ ๋ชจ๋“  ์†์„ฑ์ด ๊ธฐ๋ณธํ‚ค..
๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ์ •๋ฆฌํ•œ ๊ฒƒ  โ–  ์Šคํ‚ค๋งˆ์™ธ๋ถ€ ์Šคํ‚ค๋งˆ(์„œ๋ธŒ์Šคํ‚ค๋งˆ)์‚ฌ์šฉ์ž ๊ด€์ ์˜ ์Šคํ‚ค๋งˆ โ†’ ํ•˜๋‚˜์˜ DB์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์™ธ๋ถ€ ์Šคํ‚ค๋งˆ๊ฐ€ ์กด์žฌ์‚ฌ์šฉ์ž, ํ”„๋กœ๊ทธ๋žจ๋งˆ๋‹ค ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ๋…ผ๋ฆฌ์  ๊ตฌ์กฐ๋กœ ์กด์žฌ๊ฐœ๋… ์Šคํ‚ค๋งˆ์‚ฌ์šฉ์ž์™€ DB ๊ด€๋ฆฌ์ž ๊ด€์ ์˜ ์Šคํ‚ค๋งˆ / DB์˜ ์ „์ฒด์ ์ธ ๋…ผ๋ฆฌ์  ๊ตฌ์กฐ์ผ๋ฐ˜์ ์œผ๋กœ ํ•˜๋‚˜์˜ DB์—๋Š” ํ•˜๋‚˜์˜ ๊ฐœ๋… ์Šคํ‚ค๋งˆ ์กด์žฌโ†’ ๋ฐ์ดํ„ฐ ๊ฐœ์ฒด/๊ด€๊ณ„/์ œ์•ฝ์กฐ๊ฑด/์ ‘๊ทผ๊ถŒํ•œ/๋ฌด๊ฒฐ์„ฑ ๊ทœ์น™ ๋ช…์„ธ๋‚ด๋ถ€ ์Šคํ‚ค๋งˆDB ์„ค๊ณ„์ž/๊ฐœ๋ฐœ์ž ๊ด€์ ์˜ ์Šคํ‚ค๋งˆ๊ฐœ๋… ์Šคํ‚ค๋งˆ๋ฅผ ๋ฌผ๋ฆฌ์  ์ €์žฅ์žฅ์น˜์— ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •์˜โ†’ ๋ฌผ๋ฆฌ์  ๊ตฌ์กฐ / ๋‚ด๋ถ€ ๋ ˆ์ฝ”๋“œ์˜ ๋ฌผ๋ฆฌ์  ์ˆœ์„œ   โ–  ๋ฐ์ดํ„ฐ ์–ธ์–ดDDL(Data Definition Language)๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ/์ œ์•ฝ ์กฐ๊ฑด ์ •์˜DML(Data Manipulation ~)๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ/์กฐ์ž‘์— ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ดDCL(Data Control ~..
๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ์ •๋ฆฌํ•œ ๊ฒƒ  โ–ถ ๋‚˜์„ ํ˜• = ํญํฌ์ˆ˜ + ํ”„๋กœํ† ํƒ€์ž… + ์œ„ํ—˜ ๋ถ„์„ ๊ธฐ๋Šฅ ์ถ”๊ฐ€  โ–ถ  ์• ์ž์ผ(Agile) = ์ผ์ •ํ•œ ์งง์€ ์ฃผ๊ธฐ ๋ฐ˜๋ณตํ•˜๋ฉฐ ๊ฐœ๋ฐœ ์ง„ํ–‰Ex, XP(eXtreme Programming), Scrum, FDD(๊ธฐ๋Šฅ์ค‘์‹ฌ), ๋ฆฐ(LEAN), DSDM(Dynamic System. Development Method) 1. ํ”„๋กœ์ ํŠธ ๊ณ„ํšโ–ถ ํ•˜ํ–ฅ์‹ ๋น„์šฉ์‚ฐ์ • ๊ธฐ๋ฒ•- ์ „๋ฌธ๊ฐ€ ๊ฐ์ • ๊ธฐ๋ฒ• : ์™ธ๋ถ€ ์ „๋ฌธ๊ฐ€์—๊ฒŒ ๋น„์šฉ ์‚ฐ์ • ์˜๋ขฐ (๊ฐ๊ด€์ )- ๋ธํŒŒ์ด ๊ธฐ๋ฒ•: ํ•œ ๋ช…์˜ ์กฐ์ •์ž์™€ ์—ฌ๋Ÿฌ ์ „๋ฌธ๊ฐ€์˜ ์˜๊ฒฌ์„ ์ข…ํ•ฉํ•˜์—ฌ ์‚ฐ์ • โ–ถ ์ƒํ–ฅ์‹ ๋น„์šฉ ์‚ฐ์ • ๊ธฐ๋ฒ•- LOC ๊ธฐ๋ฒ• : a + 4c + b / 6 (๋‚™๊ด€์น˜ a, ๋น„๊ด€์น˜ b, ๊ธฐ๋Œ€์น˜c) โ–ถ ์ˆ˜ํ•™์  ๋น„์šฉ ์‚ฐ์ •- COCOMO(Constructive Cost Model) : ๋ณดํ—ด์ด ์ œ์•ˆ /..
์ž‘์„ฑ์ž๊ฐ€ ์ง์ ‘ ์ •๋ฆฌ / ํƒ€์ดํ•‘ํ–ˆ์–ด์š”๋ถˆํŽŒ ๊ธˆ์ง€ํ•ฉ๋‹ˆ๋‹ค  [์ •๋ณด๋ณด์•ˆ 3๋Œ€ ์š”์†Œ]๊ธฐ๋ฐ€์„ฑ: ์‹œ์Šคํ…œ ๋‚ด ์ •๋ณด ์ž์›์€ ์ธ๊ฐ€๋œ ์‚ฌ์šฉ์ž์—๊ฒŒ๋งŒ ์ ‘๊ทผ ํ—ˆ์šฉ๋ฌด๊ฒฐ์„ฑ: ์˜ค์ง ์ธ๊ฐ€๋œ ์‚ฌ์šฉ์ž๋งŒ์ด ์‹œ์Šคํ…œ ๋‚ด ์ •๋ณด ์ˆ˜์ • ๊ฐ€๋Šฅ๊ฐ€์šฉ์„ฑ: ์ธ๊ฐ€๋œ ์‚ฌ์šฉ์ž๋Š” ๊ถŒํ•œ ๋ฒ”์œ„ ๋‚ด์—์„œ ์–ธ์ œ๋“  ์ž์› ์ ‘๊ทผ ๊ฐ€๋Šฅ**์ธ์ฆ : ์‚ฌ์šฉ์ž์˜ ์‹ ๋ถ„ ํ™•์ธ**๋ถ€์ธ๋ฐฉ์ง€ : ๋ถ€์ธํ•  ์ˆ˜ ์—†๋„๋ก ์†ก์ˆ˜์‹  ์ฆ๊ฑฐ ์ œ๊ณต  [AAA]์ธ์ฆ(Authentication): ์‚ฌ์šฉ์ž๊ฐ€ ๋„คํŠธ์›Œํฌ ์ ‘์† ์ „์— ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ์ž์˜ ์‹ ์› ํ™•์ธ๊ถŒํ•œ๋ถ€์—ฌ(Authoorization): ๊ฒ€์ฆ๋œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ์ ‘๊ทผ๊ถŒํ•œ ํ™•์ธ๊ณ„์ •๊ด€๋ฆฌ(Accounting): ์‚ฌ์šฉ์ž์˜ ์ž์› ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ •๋ณด ์ˆ˜์ง‘(๊ณผ๊ธˆ, ๊ฐ์‚ฌ, ๋ณด๊ณ ์„œ) [์–‘๋ฐฉํ–ฅ ์•”ํ˜ธํ™” ๋ฐฉ์‹] ๋Œ€์นญํ‚ค / ๋น„๋ฐ€ํ‚ค / ๊ฐœ์ธํ‚ค๋น„๋Œ€์นญํ‚ค / ๊ณต๊ฐœํ‚คํŠน์ง•๋™์ผํ•œ ํ‚ค๋กœ ๋ฐ์ดํ„ฐ๋ฅผ์•”ํ˜ธํ™”..
โœ”๏ธ FIFO(First In First Out)๊ฐ€์žฅ ๋จผ์ € ๋“ค์–ด์˜จ ํŽ˜์ด์ง€๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ๊ต์ฒด๋œ๋‹ค. โœ”๏ธ LRU(Least Recently Used)๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๊ฐ€ ๊ต์ฒด๋œ๋‹ค. โœ”๏ธ LFU(Least  Frequently Used)๊ฐ€์žฅ ์ ๊ฒŒ ์ฐธ์กฐ๋œ ํŽ˜์ด์ง€๊ฐ€ ๊ต์ฒด๋œ๋‹ค.๋งŒ์•ฝ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŽ˜์ด์ง€๊ฐ€ ๋™์ผํ•œ ์ฐธ์กฐ ํšŸ์ˆ˜๋ฅผ ๊ฐ€์ง€๋ฉด, ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ํŽ˜์ด์ง€(FIFO ๋ฐฉ์‹) ๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค. [FIFO]3๊ฐœ์˜ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„(Frame)์„ ๊ฐ€์ง„ ๊ธฐ์–ต์žฅ์น˜์—์„œ ํŽ˜์ด์ง€ ์š”์ฒญ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ ์ˆœ์œผ๋กœ ์š”์ฒญํ–ˆ์„ ๋•Œ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ FIFO์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๋ช‡ ๋ฒˆ์˜ ํŽ˜์ด์ง€ ๋ถ€์žฌ(Fault)๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๊ฐ€? (๋‹จ, ํ˜„์žฌ ๊ธฐ์–ต์žฅ์น˜๋Š” ๋ชจ๋‘ ๋น„์–ด์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.)์š”์ฒญ๋œ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ์˜ ์ˆœ์„œ:2, 3, 2, 1, 5, 2,..
โญ CPM ๋„คํŠธ์›Œํฌ ์šฉ์–ด์ •๋ฆฌโœ”๏ธ Critical Path (์ž„๊ณ„ ๊ฒฝ๋กœ)ํ”„๋กœ์ ํŠธ ์™„๋ฃŒ์— ํ•„์š”ํ•œ ์ตœ์žฅ ๊ฒฝ๋กœ๋กœ, ์—ฌ์œ ์‹œ๊ฐ„์ด 0์ธ ์ž‘์—…๋“ค๋กœ ๊ตฌ์„ฑ๋จโ†’ ์ง€์—ฐ๋˜๋ฉด ์ „์ฒด ํ”„๋กœ์ ํŠธ ์ผ์ •์ด ๋Šฆ์–ด์ง€๋Š” ์ž‘์—…๋“ค์ด๋‹ค.โœ”๏ธ ES (Earliest Start, ์ตœ์กฐ ์‹œ์ž‘ ์‹œ๊ฐ„)ํ•ด๋‹น ์ž‘์—…์ด ๊ฐ€์žฅ ๋นจ๋ฆฌ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์ โœ”๏ธ EF (Earliest Finish, ์ตœ์กฐ ์™„๋ฃŒ ์‹œ๊ฐ„)ํ•ด๋‹น ์ž‘์—…์ด ๊ฐ€์žฅ ๋นจ๋ฆฌ ์™„๋ฃŒ๋  ์ˆ˜ ์žˆ๋Š” ์‹œ์ , ES + ์ž‘์—… ์†Œ์š” ์‹œ๊ฐ„โœ”๏ธ Slack Time (์—ฌ์œ  ์‹œ๊ฐ„, Float)์ž‘์—…์ด ์ง€์—ฐ๋  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์‹œ๊ฐ„, Slack = LS - ES ๋˜๋Š” LF - EF  1. ๋‹ค์Œ์€ ์†Œ์ž‘์—… ๋ฆฌ์ŠคํŠธ์—์„œ ์ž‘์—… C์˜ ๊ฐ€์žฅ ๋น ๋ฅธ ์ฐฉ์ˆ˜์ผ, ๊ฐ€์žฅ ๋Šฆ์€ ์ฐฉ์ˆ˜์ผ, ์—ฌ์œ  ๊ธฐ๊ฐ„(slack time)์„ ์ˆœ์„œ๋Œ€๋กœ ์“ฐ์‹œ์˜ค์ž‘์—…์„ ํ–‰์ž‘์—…์†Œ์š”๊ธฐ๊ฐ„A-15B..
์ƒ๋‹จ์œผ๋กœ