Banner

My Tech Blog (์ „์ฒด ๊ธ€)

๐ŸŒˆ ๐ต๐‘’ ๐‘”๐‘Ÿ๐‘Ž๐‘ก๐‘’๐‘“๐‘ข๐‘™, ๐‘Ž ๐‘™๐‘–๐‘ก๐‘ก๐‘™๐‘’ ๐‘Ž๐‘๐‘๐‘Ÿ๐‘’๐‘๐‘–๐‘Ž๐‘ก๐‘–๐‘œ๐‘› ๐‘”๐‘œ๐‘’๐‘  ๐‘Ž ๐‘™๐‘œ๐‘›๐‘” ๐‘ค๐‘Ž๐‘ฆ โœจ๐ฟ๐‘–๐‘“๐‘’ ๐‘–๐‘  ๐‘Ž ๐‘š๐‘Ž๐‘”๐‘–๐‘. ๐ธ๐‘›๐‘—๐‘œ๐‘ฆ ๐‘Ž๐‘›๐‘‘ ๐ต๐‘Ÿ๐‘–๐‘›๐‘” ๐‘—๐‘œ๐‘ฆ.
1. ํ(queue)๋ž€ ๋ฌด์—‡์ธ๊ฐ€?'ํ(queue)' ๋ž€ '์ค„์„ ์„œ๋‹ค'๋ผ๋Š” ๋œป์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ํ๋Š” ๋จผ์ € ๋“ค์–ด๊ฐ„ ๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € ๋‚˜์˜ค๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋ฉฐ, ์ด๋Ÿฐ ํ์˜ ํŠน์ง•์„ FIFO(First In First Out) ๋˜๋Š” ์„ ์ž…์„ ์ถœ์ด๋ผ๊ณ  ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ์—์„œ ์‚ฝ์ž…ํ•˜๋Š” ์—ฐ์‚ฐ์„ Enqueue(add) ๋ผ๊ณ  ํ•˜๊ณ , ๊บผ๋‚ด๋Š ์—ฐ์‚ฐ์„ Dequeue(Poll) ์ด๋ผ๊ณ  ํ•œ๋‹ค. 2. ํ์˜ ADT๊ตฌ๋ถ„์ •์˜์„ค๋ช…์—ฐ์‚ฐboolean isFull()ํ์— ๋“ค์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜๊ฐ€ maxsize ์ธ์ง€ ํ™•์ธ ํ•ด์„œ  boolean  ๊ฐ’์„ ๋ฐ˜ํ™˜boolean isEmpty()ํ์— ๋“ค์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ํ•˜๋‚˜๋„ ์—†๋Š”์ง€ ํ™•์ธํ•ด์„œ boolean ๊ฐ’์„ ๋ฐ˜ํ™˜void add(ItemType item)ํ์— ๋ฐ์ดํ„ฐ ์‚ฝ์ž…ItemType poll()ํ์—์„œ ์ฒ˜์Œ์— ์‚ฝ์ž…ํ•œ ์ œ..
๊ฑฐ์˜ ๋‹ค ์™”์–ด ์ฃผ๋ง์ด... ํž˜๋‚ด์Ÿˆ  >  ์–ด์ œ๋Š” ์˜ค๋‚˜์ ผ ํž๋งํ–ˆ์˜ค,,,ํž˜๋“ค ๋•Œ ๋‚˜๋ฅผ ์–ด๋ฃจ๋งŒ์ง€๋Š” ๋”ฐ๋œปํ•œ ์œ„๋กœ๋ง์„ ์ด์˜๊ฒŒ ํ•˜๋Š” ์นœ๊ตฌ๋“ค์„ ๋ณด๋ฉด ์ง„์งœ ์˜ˆ๊ธฐ์น˜ ์•Š๊ฒŒ ํž๋งํ•ด ๊ทธ๋ฆฌ๊ณ  ์˜ค๋Š˜์˜ ํฌ์ถ˜ ์ฟ ํ‚ค๋ฐ์•„๋ณด์ด๋Š” ์‚ฌ๋žŒ๋„ ์ž๊ธฐ๋งŒ์˜ ํž˜๋“  ์ผ ์žˆ๊ฒ ์ง€ ๋ฐ์€ ์นœ๊ตฌ์ผ์ˆ˜๋ก ์•ˆ์“ฐ๋Ÿฌ์šด ๊ตฌ์„๋“ค์ด ์žˆ๋‹ค,,์‚ฌ๋žŒ๋“ค์€ ๋ฌด์Šจ ์ผ ์žˆ์–ด๋„ ์›ƒ์–ด ๋„˜๊ธฐ๊ณ  ์ž˜ ๊ทน๋ณตํ•˜๋Š” ์‚ฌ๋žŒ๋“คํ•œํ…Œ '์ € ์‚ฌ๋žŒ ์ €๋Ÿฐ ๋ง์„ ๋“ฃ๊ณ ๋„ ์•„๋ฌด๋ ‡์ง€๋„ ์•Š๋„ค, ๋ฉ˜ํƒˆ ๋Œ€๋‹จํ•˜๋‹ค' ๋ผ๊ณ  ๋งํ•œ๋‹ค... ํ•˜์ง€๋งŒ ๊ทธ ์นœ๊ตฌ๋“ค์ด ์›ƒ์–ด ๋„˜๊ธฐ๊ณ  ๊ธ์ •์ ์œผ๋กœ ์‚ด๋ ค๊ตฌ ํ•˜๋Š”๊ณ ํž˜๋“  ์ƒํ™ฉ์— ์ž๊ธฐ๋„ ์ŠคํŠธ๋ ˆ์Šค ๋ฐ›์œผ๋‹ˆ๊นŒ ์–ด๋–ป๊ฒŒ๋“  ์‚ด๋ ค๊ณ  ํ•˜๋Š” ๋…ธ๋ ฅ์ด๋‚˜ ๋ฐฉ์–ด๊ธฐ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•ด,,,์ŠคํŠธ๋ ˆ์Šค ์•ˆ ๋ฐ›์„ ์ˆ˜๋Š” ์—†๊ฒ ์ง€ ๊ทธ๋ž˜์„œ ์ด๋Ÿฐ ์‚ฌ๋žŒ๋“ค์€ ๋ฉ€๋ฆฌ์„œ๋‚˜๋งˆ ๋งˆ์Œ์ด ์“ฐ์ด๊ณ  ๋„์™€์ฃผ๊ณ  ์‹ถ์€ ์ƒ๊ฐ๋„ ๋“ ๋‹ค. ํ•˜์ง€๋งŒ, ๋„์›€์ด๋ž€ ๊ฑด ์ ์žฌ์ ์†Œ์—์„œ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ํ•„์š”ํ•  ..
1. Scalability & High AvailabilityScalability(ํ™•์žฅ์„ฑ) means that an application / system can handle greater loads by adapting.There are two kinds of scalability  - Vertical Scalability - Horizontal Scalability (=elasticity) ํƒ„๋ ฅ์„ฑ, ์ˆ˜ํ‰ ํ™•์žฅ์„ฑScalability is linked but different to High Availability ( ํ™•์žฅ์„ฑ != ๊ณ ๊ฐ€์šฉ์„ฑ)2. Vertical Scalability - ์ˆ˜์ง ํ™•์žฅ์„ฑVertically scalability means increasing the size of the instanc..
๋Œ“๊ธ€๋ด‡ ์ฒ˜๋ฆฌ์œ„์›ํšŒ์—์„œ ๋‚˜์™”์Šต๋‹ˆ๋‹ค ์—ฌ๊ธฐ ๋Œ“๊ธ€ ๋‹ค์‹œ๋Š” ๋ถ„์€ ๋ด‡ ํ™•์ •
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช… ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr๐Ÿ’ก 2. ํ’€์ด ๊ณผ์ •์ด ๋ฌธ์ œ๋Š” queue ๋กœ ํ‘ธ๋Š” ๋ฌธ์ œ์ด๋‹ค (์ด๊ฑธ ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„)card1๊ณผ card2๋Š” ๋ฌด์กฐ๊ฑด ์•ž๋ถ€ํ„ฐ ์‚ฌ์šฉํ•ด์•ผ ํ•จ์ˆœ์„œ๋ฅผ ๋’ค๋ฐ”๊ฟ€ ์ˆ˜ ์—†์Œ์ด ๋‘ ๋ฌธ์žฅ์€ FIFO ๊ตฌ์กฐ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.๊ทธ๋ž˜์„œ card1, card2, goal ์„ ํ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ด€๋ฆฌ ๊ฐ€๋Šฅํ•˜๋‹ค.  card1๊ณผ card2, goal์„ ํ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.goal์˜ front์™€ (card1 ๋˜๋Š” card2)์˜ front์˜ ๊ฐ’์„ ๋น„๊ตํ•œ๋‹ค.์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์นด๋“œ๊ฐ€ ์žˆ๋Š”๊ฐ€? (๊ฐ’์ด ๊ฐ™์œผ๋ฉด ์‚ฌ์šฉ ๊ฐ€๋Šฅ)Yes์ด๋ฉด ํ•ด๋‹น ํ์™€ goal์—์„œ ๊ฐ๊ฐ poll, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด No๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…โœ… ๋ฌธ์ œ ์ด๋ฌธ์ œ๋Š” ์œ ๋Œ€์ธ ์—ญ์‚ฌ๊ฐ€ ํ”Œ๋ผ๋น„์šฐ์Šค ์š”์„ธํ‘ธ์Šค๊ฐ€ ๋งŒ๋“  ๋ฌธ์ œ์ด๋‹ค. N๋ช…์˜ ์‚ฌ๋žŒ์ด ์› ํ˜•ํƒœ๋กœ ์„œ ์žˆ๋‹ค. ๊ฐ ์‚ฌ๋žŒ์€ 1๋ถ€ํ„ฐ N๊นŒ์ง€ ๋ฒˆํ˜ธํ‘œ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž„์˜์˜ ์ˆซ์ž K๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ๋žŒ์„ ์—†์•ค๋‹ค.1๋ฒˆ ๋ฒˆํ˜ธํ‘œ๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ์„ ๊ธฐ์ค€์œผ๋กœ K๋ฒˆ์งธ ์‚ฌ๋žŒ์„ ์—†์•ค๋‹ค.์—†์•ค ์‚ฌ๋žŒ ๋‹ค์Œ ์‚ฌ๋žŒ์„ ๊ธฐ์ค€์œผ๋กœ ํ•˜๊ณ  ๋‹ค์‹œ K๋ฒˆ์งธ ์‚ฌ๋žŒ์„ ์—†์•ค๋‹ค.N๊ณผ K๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๋งˆ์ง€๋ง‰์— ์‚ด์•„ ์žˆ๋Š” ์‚ฌ๋žŒ์˜ ๋ฒˆํ˜ธ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” solution() ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•ด์ฃผ์„ธ์š” โœ… ์ œ์•ฝ์กฐ๊ฑดN๊ณผ K๋Š” 1์ด์ƒ 1000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค. โœ… ์ž…์ถœ๋ ฅ ์˜ˆNKreturn523 ๐Ÿ’ก 2. ํ’€์ด ๊ณผ์ •์ž…์ถœ๋ ฅ ์˜ˆ๋ฅผ ๊ทธ๋Œ€๋กœ ๊ทธ๋ฆผ์œผ๋กœ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.N = 5, K = 2 ์ด๊ณ  ์‚ฌ๋žŒ๋งˆ๋‹ค 1~5๋ฒˆ๊นŒ์ง€์˜ ์ˆซ์ž๋ฅผ ๋ถ™์—ฌ ์›ํ˜•์œผ๋กœ ๋ฐฐ์น˜ํ•œ๋‹ค.๊ทธ๋ฆฌ๊ณ  ์ฒซ๋ฒˆ์งธ ..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ํ’€์ด ๊ณผ์ • ๋ฌธ์ œ๋ฅผ ์š”์•ฝํ•˜๋ฉด ํ† ๋„ˆ๋จผํŠธ ๊ฒŒ์ž„์—์„œ ํŠน์ •ํ•œ ๋ฒˆํ˜ธ์˜ ๋‘ ์ฐธ๊ฐ€์ž๊ฐ€ ๋งŒ๋‚  ๋•Œ ๊นŒ์ง€ ๋ช‡ ๋ฒˆ์˜ ๊ฒฝ๊ธฐ๋ฅผ ์ง„ํ–‰ํ•ด์•ผ ํ•˜๋Š”์ง€ ํšŸ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.  ์ฒ˜์Œ์— ์ฐธ๊ฐ€์ž๋“ค์€ 1๋ถ€ํ„ฐ N๊นŒ์ง€ ๋ฒˆํ˜ธ๋ฅผ ๋ฐ›๋Š”๋‹ค.๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ ๋ผ์šด๋“œ์— ์ง„์ถœํ•œ ์ฐธ๊ฐ€์ž๋“ค์€ ๋‹ค์‹œ 1๋ถ€ํ„ฐ N/2 ๊นŒ์ง€์˜ ๋ฒˆํ˜ธ๋ฅผ ๋ฐ›๋Š”๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆN=8, A=4, B=7 ์ด ๊ฒฝ์šฐ 8๋ช…์˜ ์ฐธ๊ฐ€์ž๋“ค์ด ๊ฒฝ๊ธฐ๋ฅผ ํ•  ๋•Œ 4๋ฒˆ ์„ ์ˆ˜์™€ 7๋ฒˆ ์„ ์ˆ˜๊ฐ€ ๋งŒ๋‚  ๋•Œ๊นŒ์ง€์˜ ๊ฒฝ๊ธฐ ํšŸ์ˆ˜๋ฅผ ์•„๋ž˜ ๊ทธ๋ฆผ์œผ๋กœ ๊ทธ๋ ค ๋ณด์•˜๋‹ค.๊ฐ ๋ผ์šด๋“œ์—์„œ 4๋ฒˆ๊ณผ 7๋ฒˆ์€ ํ•ญ์ƒ ์ด๊ฒจ์„œ ๋‹ค์Œ ๋ผ์šด๋“œ๋กœ ์ง„์ถœํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ํ’€์–ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.4๋ฒˆ๊ณผ 7๋ฒˆ์€ ๊ณ„์† ์ด๊ฒจ์„œ ๋‹ค์Œ ๋ผ์šด๋“œ๋กœ ์ง„์ถœํ•œ๋‹ค4๋ฒˆ์€ 3๋ฒˆ์„ ์ด๊ธฐ๊ณ , 1 ๋˜๋Š” 2๋ฒˆ์„ ์ด๊ฒจ์„œ ์ด 2๋ฒˆ ์ด๊ธด๋‹ค7๋ฒˆ์€ 8๋ฒˆ์„ ์ด๊ธฐ๊ณ , 5 ๋˜๋Š” 6๋ฒˆ์„ ์ด๊ฒจ์„œ ์ด ..
โœ… AWS - ์–ด์ œ ๋ชปํ•œ๊ฑฐ - 69. ๊ณ ๊ฐ€์šฉ์„ฑ ๋ฐ ์Šค์ผ€์ผ๋ง์„ฑ - 70. Elastic Load Balancing (ELB) ๊ฐœ์š” - 71. Classic Load Balancer (CLB) ๊ณต์ง€ - ์ด์ œ ์ด ์„œ๋น„์Šค๋Š” ์ง€์›X โœ… ์˜ˆ์ƒ๋Œ€์ง„ํ‘œ ํฌ์ŠคํŒ… 306 - Canva์—์„œ ์ž๋ฃŒ ๋งŒ๋“ค๊ธฐ  โœ… ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ ํฌ์ŠคํŒ… - Canva์—์„œ ์ž๋ฃŒ ๋งŒ๋“ค๊ธฐ โœ… ์นด๋“œ๋ญ‰์น˜ ๋ฌธ์ œ ํฌ์ŠคํŒ… - Canva์—์„œ ์ž๋ฃŒ ๋งŒ๋“ค๊ธฐ โœ… ํ ๋ฌธ์ œ ์ถ”๊ฐ€ - ์˜ฌ๋ฆด ๋•Œ Solution ํด๋ž˜์Šค ๋”ฐ๋กœ ํ•˜์ง€ ๋ง๊ณ  static ๋ฉ”์„œ๋“œ๋กœ ์„ ์–ธํ•˜๊ธฐ - ์š”์„ธํ‘ธ์Šค (๋ฐฑ์ค€1158) - ์นด๋“œ๋ญ‰์น˜ (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค) - ํ”„๋ฆฐํ„ฐ ํ(๋ฐฑ์ค€ 1966) - ๋‹คํ•˜๊ณ  ๊นƒ์— ํ‘ธ์‹œ - coding-test ๋ ˆํŒŒ์ง€ํ„ฐ๋ฆฌ ์‚ญ์ œ  โœ… Queue์˜ ADT  - Canva์—์„œ ์ž๋ฃŒ ๋งŒ๋“ค๊ธฐ  โœ… ์•„์นจ..
์Šคํƒ(Stack)๊ฐœ์š”"์Šคํƒ"์€ ๋ฐ์ดํ„ฐ๋ฅผ ์Œ“์•„์„œ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋กœ, "ํ›„์ž…์„ ์ถœ(LIFO, Last In First Out)" ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค. ์ฆ‰, ๋‚˜์ค‘์— ๋“ค์–ด๊ฐ„ ๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € ๋‚˜์˜ค๋Š” ๊ตฌ์กฐ์ด๋‹ค. ์Šคํƒ์€ ์ฃผ๋กœ ํ•จ์ˆ˜ ํ˜ธ์ถœ, ๊ณ„์‚ฐ๊ธฐ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ˆ˜์‹ ๊ณ„์‚ฐ, ๋˜๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ๋’ค๋กœ ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๋“ฑ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค.* ์ด์™€ ๋ฐ˜๋Œ€์˜ "์„ ์ž…์„ ์ถœ(FIFO, First In First Out)" ๊ตฌ์กฐ์˜ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ 'ํ'๋ผ๊ณ  ํ•œ๋‹ค.   ์Šคํƒ์„ ํ™œ์šฉํ•œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ๋Š” ์œ ํ˜•์ด ์ •ํ•ด์ ธ ์žˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ์ž˜ ์ฝ์–ด๋ณด๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์Œ“์•„ ์˜ฌ๋ฆฐ๋‹ค๋“ ์ง€, ๋‚˜์ค‘์— ์Œ“์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋จผ์ € ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋ฉด ์Šคํƒ์„ ํ™œ์šฉํ•˜๋ฉด ๋œ๋‹ค.  ์Šคํƒ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ์ œ ์œ ํ˜• โœ… ๊ด„ํ˜ธ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์—์„œ ๊ด„ํ˜ธ์˜ ์ง์ด ๋งž๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฌธ์ œ์Šคํƒ์„ ์‚ฌ์šฉํ•ด ์—ฌ๋Š” ๊ด„ํ˜ธ๋Š” ์Šค..
์ธ์ ˆ๋ฏธ์˜€๋˜๊ฒƒ
๐Ÿ’ซ My Tech Blog
์ƒ๋‹จ์œผ๋กœ