Banner

My Tech Blog (์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ)

์˜ค๋Š˜์˜ ๋ช…์–ธ
" ์„ฑ๊ณต์€ ์˜์›ํ•˜์ง€ ์•Š๊ณ , ์‹คํŒจ๋„ ์น˜๋ช…์ ์ด์ง€ ์•Š๋‹ค. ์ค‘์š”ํ•œ ๊ฒƒ์€ ์šฉ๊ธฐ๋‹ค. "
- ์œˆ์Šคํ„ด ์ฒ˜์น  (์˜๊ตญ ์ด๋ฆฌ, ์ •์น˜๊ฐ€)
์ „์—ญ๋ณ€์ˆ˜#include int main() { int x = 10, y = 10; if (x > 5) { y = 20; printf("x: %d, y: %d\n", x, y); } if (x > 9) { x = 20; printf("x: %d, y: %d\n", x, y); } if (x > 10) { x = 10; y = 20; printf("x: %d, y: %d\n", x, y); } printf("x: %d, y: %d\n", x, y); return 0;}x: 10, y: 20x: 20, y: 20 x: 10, y: 20 x: 10, y: 20 ์ง€์—ญ๋ณ€์ˆ˜#incl..
1. (Java) ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์—ฌ ์•Œ๋งž๋Š” ์ถœ๋ ฅ๊ฐ’์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.public class Main{ static String[] s = new String[3]; static void func(String[]s, int size){ for(int i=1; i์ •๋‹ต: OOAAA ์ด ๋ฌธ์ œ๋Š” ๋ฌธ์ž์—ด ๋น„๊ต์—์„œ ์ž์ฃผ ๋‚˜์˜ค๋Š” equals() vs == ๊ฐœ๋…์„ ์ž˜ ์ดํ•ดํ•˜๊ณ  ์žˆ์–ด์•ผ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. equals()๋Š” ๋ฌธ์ž์—ด์˜ ๋‚ด์šฉ์„ ๋น„๊ตํ•˜๋ฏ€๋กœ "A"์™€ new String("A")๋„ ๊ฐ™๋‹ค๊ณ  ๋ณธ๋‹ค.๋ฐ˜๋ฉด ==๋Š” ์ฃผ์†Œ๋ฅผ ๋น„๊ตํ•˜๋ฏ€๋กœ ์ด ๊ฒฝ์šฐ false๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. (์ด ์ฝ”๋“œ์—์„œ๋Š” ์‚ฌ์šฉ ์•ˆ ๋จ) static String[] s = new String[3];๊ธธ์ด 3์งœ๋ฆฌ ๋ฌธ์ž์—ด ๋ฐฐ์—ด s ์„ ์–ธํ•˜๊ธฐs[0] = "A";..
โ–ถ ์ •๋ณด ์ „์†ก ๋ฐฉ์‹ - ๋‹จ๋ฐฉํ–ฅ : ํ•œ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์ „์†ก ๊ฐ€๋Šฅ (TV, ๋ผ๋””์˜ค)  - ๋ฐ˜์ด์ค‘ : ํ•œ์ชฝ์—์„œ ์†ก์‹ ํ•˜๋ฉด ๋‹ค๋ฅธ ์ชฝ์—์„œ๋Š” ์ˆ˜์‹ ๋งŒ ๊ฐ€๋Šฅ (๋ฌด์ „๊ธฐ) - ์ „์ด์ค‘ : ๋™์‹œ์— ์†ก/์ˆ˜์‹  ๊ฐ€๋Šฅ (์ „ํ™”๊ธฐ)    โ–ถ  ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€: ๋…ธ๋“œ์™€ ๋งํฌ์˜ ๊ตฌ์„ฑ ๋ฐฉ์‹ โ–  ์Šคํƒ€ํ˜•/์„ฑํ˜• = ์ค‘์•™์ง‘์ค‘ํ˜•- ์ค‘์•™๋…ธ๋“œ์™€  1:1 (P2P) ์—ฐ๊ฒฐ - ๊ณ ์žฅ ๋ฐœ๊ฒฌ, ์œ ์ง€ ๋ณด์ˆ˜, ํ™•์žฅ์ด ์‰ฌ์›€- ์ค‘์•™ ๋…ธ๋“œ์˜ ์ œ์–ด ์žฅ์น˜๊ฐ€ ํ†ต์‹ ๋ง์˜ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ, ์‹ ๋ขฐ์„ฑ ๊ฒฐ์ • โ–  ๋ฒ„์Šคํ˜•- ํ•œ ๊ฐœ์˜ ํšŒ์„ ์— ์—ฌ๋Ÿฌ ๋‹จ๋ง ์žฅ์น˜ ์—ฐ๊ฒฐ, ํšŒ์„  ์–‘ ๋ ์ข…๋‹จ์žฅ์น˜ ํ•„์š”- ๋‹จ๋ง ํ•˜๋‚˜๊ฐ€ ๊ณ ์žฅ๋‚˜๋„ ์ „์ฒด ์˜ํ–ฅ ์—†๊ธฐ์— ์‹ ๋ขฐ์„ฑ ๋†’์Œ- ์„ค์น˜/์ œ๊ฑฐ ์šฉ์ด, ๊ธฐ๋ฐ€์„ฑ ๋‚ฎ๊ณ  ํ†ต์‹  ํšŒ์„ ์˜ ์ œํ•œ์ด ์žˆ์Œ โ–  ๋ง/๋ฃจํ”„ = ์›/ํ™˜ํ˜•- ์ธ์ ‘ํ•œ ๋‹จ๋ง๊ธฐ๋ฅผ ์„œ๋กœ ์—ฐ๊ฒฐ / ์–‘๋ฐฉํ–ฅ ์ „์†ก ๊ฐ€๋Šฅ- ํ†ต์‹ ๋ง ํ•˜๋‚˜๊ฐ€ ๊ณ ์žฅ ์‹œ ..
๋‹จํŽธํ™”(Fragmentation)๋ž€ ๋ง ๊ทธ๋Œ€๋กœ โ€˜์กฐ๊ฐ ๋ชจ์Œโ€™์ด๋ผ๋Š” ๋œป์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์šด์˜์ฒด์ œ์—์„œ์˜ ๋‹จํŽธํ™”๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ƒ์˜ ๋น„์–ด ์žˆ๋Š” ๊ณต๊ฐ„์„ ์˜๋ฏธํ•˜๋Š”๋ฐ, ์ด ๊ณต๊ฐ„์€ ๊ฒ‰๋ณด๊ธฐ์— ์—ฌ์œ ๊ฐ€ ์žˆ์–ด ๋ณด์ผ ์ˆ˜ ์žˆ์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•œ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€์ง€ ๋ชปํ•ด ์‚ฌ์šฉ๋˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฉ”๋ชจ๋ฆฌ ์ „์ฒด์˜ ๋นˆ ๊ณต๊ฐ„์€ ์ถฉ๋ถ„ํ•˜์ง€๋งŒ, ๊ทธ ๊ณต๊ฐ„์ด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž‘์€ ์กฐ๊ฐ๋“ค๋กœ ๋‚˜๋‰˜์–ด ์žˆ์–ด ์‹คํ–‰ํ•  ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ•„์š”ํ•œ ์—ฐ์†์ ์ธ ๊ณต๊ฐ„์„ ํ™•๋ณดํ•˜์ง€ ๋ชปํ•œ๋‹ค๋ฉด ํ”„๋กœ๊ทธ๋žจ์€ ์ ์žฌ๋˜์ง€ ๋ชปํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์—๋„ ์‹คํŒจํ•˜๊ฒŒ ๋œ๋‹ค.์ด๋Ÿฌํ•œ ๋‹จํŽธํ™”๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.1. ์™ธ๋ถ€ ๋‹จํŽธํ™”(External Fragmentation)2. ๋‚ด๋ถ€ ๋‹จํŽธํ™”(Internal Fragmentation) ์ด ๋‘ ๊ฐ€์ง€๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” 1. ๋ฉ”๋ชจ๋ฆฌ์˜..
1. ์„ ์ (Preemptive) ์Šค์ผ€์ค„๋ง์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘๋‹จํ•˜๊ณ ,๋” ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ CPU๋ฅผ ์–‘๋ณด ๊ฐ€๋Šฅ. ๐Ÿ“Œ ์„ ์  ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜๐Ÿ”น Round Robin : ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰(Time Quantum) ์ง€๋‚˜๋ฉด ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค๋กœ ๊ต์ฒด ๐Ÿ”น SRTF (Shortest Remaining Time First) : ๋‚จ์€ ์‹œ๊ฐ„์ด ๋” ์งง์€ ์ƒˆ ์ž‘์—…์ด ์˜ค๋ฉด ํ˜„์žฌ ์ž‘์—… ์ค‘๋‹จ ๐Ÿ”น ์„ ์ ํ˜• ์šฐ์„ ์ˆœ์œ„(Priority Scheduling) : ๋” ๋†’์€ ์šฐ์„ ์ˆœ์œ„์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋„์ฐฉํ•˜๋ฉด ์ค‘๋‹จ๋จ 2. ๋น„์„ ์ (Non-preemptive) ์Šค์ผ€์ค„๋งํ•œ ๋ฒˆ ์‹คํ–‰๋œ ํ”„๋กœ์„ธ์Šค๋Š” ๋๋‚  ๋•Œ๊นŒ์ง€ CPU๋ฅผ ์ ์œ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์ƒˆ๋กœ ๋„์ฐฉํ•œ ํ”„๋กœ์„ธ์Šค๋Š” ๋Œ€๊ธฐํ•ด์•ผ ํ•œ๋‹ค.์ค‘์š”ํ•œ ์ž‘์—…์ด ๊ธธ๋ฉด, ๋’ค์— ์žˆ๋Š” ์งง์€ ์ž‘์—…์ด ์˜ค๋ž˜ ๊ธฐ๋‹ค๋ฆด ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—..
SQL (Strunctured Query Language) ๋ถ„๋ฅ˜ โ‘  ๋ฐ์ดํ„ฐ ์ •์˜์–ด (DDL: Data Definition Language)โ†’ ๋…ผ๋ฆฌ/๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์ •์˜CREATE (์ƒ์„ฑ)CREATE DOMAIN / SCHEMA / TABLE / VIEW / INDEX โ†’ ์ƒ์„ฑALTER (๋ณ€๊ฒฝ)TABLE ์ด๋ฆ„ ๋ณ€๊ฒฝ โ†’ ALTER TABLE / ์ปฌ๋Ÿผ ์ถ”๊ฐ€DROP (์‚ญ์ œ)DROP DOMAIN / SCHEMA / TABLE / VIEW / INDEX โ†’ ์‚ญ์ œ* CASCADE : ์ฐธ์กฐํ•˜๋Š” ๋ชจ๋“  ๊ฐœ์ฒด ํ•จ๊ป˜ ์ œ๊ฑฐ* RESTRICTED : ์ œ๊ฑฐํ•  ์š”์†Œ๋ฅผ ๋‹ค๋ฅธ ๊ฐœ์ฒด๊ฐ€ ์ฐธ์กฐ ์‹œ ์ œ๊ฑฐ ์ทจ์†Œ  โ‘ก ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด (DML : Data MAnipulation Language)SELECT (๊ฒ€์ƒ‰)SELECT FROM ํ…Œ์ด๋ธ”๋ช… ..
27๋ฒˆ_ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฐ›๋Š” ๋ฌธ์ œโœ… ์ •๋‹ต: [1, 2] ๐Ÿ’ก y=[]๋Š” ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ๋งค๋ฒˆ ์ƒˆ๋กœ์šด ๋ฆฌ์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ , ๊ธฐ์กด ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์˜ˆ์ƒ๊ณผ ๋‹ค๋ฅด๊ฒŒ ๊ฐ’์ด ๊ณ„์† ์ถ”๊ฐ€๋œ๋‹ค. ์ฆ‰, ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ธฐ๋ณธ ์ธ์ž๋กœ ์‚ฌ์šฉํ•˜๋ฉด ์ด์ „ ํ˜ธ์ถœ์˜ ๊ฐ’์ด ๋ˆ„์ ๋œ๋‹ค.  28๋ฒˆ_ ๋ฌธ์ž์—ด ๋ฆฌ์ŠคํŠธ ์ˆœํšŒ๋‹ค์Œ ํ•จ์ˆ˜์˜ ์‹คํ–‰ ๊ฒฐ๊ณผ๋Š”?class Arr: a = ['Seoul', 'Kyeonggi', 'Inchon', 'Daejoen', 'Daegu', 'Busan'] s = '' # ๋ฌธ์ž์—ด ์ดˆ๊ธฐํ™” for i in Arr.a: # ์˜ฌ๋ฐ”๋ฅธ for๋ฌธ ๋ฌธ๋ฒ• s += i[0] # ๊ฐ ๋‹จ์–ด์˜ ์ฒซ ๊ธ€์ž๋งŒ ์ถ”๊ฐ€ print(s)โœ… ์ •๋‹ต: SKIDDB (๊ฐ ๋„์‹œ ์ด๋ฆ„์˜ ์ฒซ ๊ธ€์ž๋ฅผ ์กฐํ•ฉํ•œ ๊ฒฐ๊ณผ)๐Ÿ’ก A..
โœ” ์ถœ์ œ ๊ฒฝํ–ฅ๋‹จ์ˆœํ•œ ๋ฌธ์ œ๋Š” ๊ฑฐ์˜ ์ถœ์ œ๋˜์ง€ ์•Š์Œ๋ฐ˜๋ณต๋ฌธ + ์—ญ์Šฌ๋ผ์ด์‹ฑ + ์ธ๋ฑ์‹ฑ ๋“ฑ ์—ฌ๋Ÿฌ ๊ฐœ๋…์„ ์„ž์–ด์„œ ๋ณต์žกํ•œ ๋ฌธ์ œ ํ˜•ํƒœ๋กœ ์ถœ์ œ๋จ.์ „์ฒด 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'..
์ƒ๋‹จ์œผ๋กœ