Banner

My Tech Blog (๋น„๊ต)

์˜ค๋Š˜์˜ ๋ช…์–ธ
" ์–ธ์ œ๋‚˜ ๋ถˆ๊ฐ€๋Šฅํ•ด ๋ณด์ด๋˜ ์ผ๋„ ์ด๋ฃจ์–ด์ง€๊ธฐ ์ „๊นŒ์ง€๋Š” ๊ทธ๋ ‡๋‹ค. "
- ๋„ฌ์Šจ ๋งŒ๋ธ๋ผ (๋‚จ์•„ํ”„๋ฆฌ์นด ๊ณตํ™”๊ตญ์˜ ์ •์น˜๊ฐ€, ์ธ๊ถŒ ์šด๋™๊ฐ€)
์•ˆ๋…•ํ•˜์„ธ์š” ์˜ค๋Š˜์€ ๋ฐฉ๋ฌธ์ž์ˆ˜ ์ฆ๊ฐ€์šฉ์œผ๋กœ MBTI T ์™€ F ์ฐจ์ด ํฌ์ŠคํŒ…ํ•ด๋ด…๋‹ˆ๋‹ค๊ฒ€์ƒ‰ ์œ ์ž… ๋Š˜์–ด๋‚˜๊ธธ... F : ์ฝ”๋ผ๋ฆฌ ใ…œ ใ…œ ๋ถˆ์Œํ•ดT : ์ €๊ฑฐ ์ €๋ ‡๊ฒŒ ๋ฒ„๋ฆฌ๋ฉด ์•ˆ ๋˜๋Š”๋ฐ ...  ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹์ด๋ ‡๊ฒŒ๊นŒ์ง€ ์˜ค๋ฒ„๋Š” ์•ˆํ•˜๊ฒ ์ง€๋งŒ ๊ฒฐ๊ณผ๋ณด๋‹ค ๊ณผ์ •์ด ์ค‘์š”ํ•œ๊ณ  ๊ฐ™์˜ค...    T์˜ ๊ด€์‹ฌ  F์˜ ๊ด€์‹ฌ์ด๊ฑฐ์ง€...์•ˆ ๋ฌผ์–ด๋ณด๋Š” ๊ฑด ๋ฐฐ๋ ค.....์‚ฌ์‚ฌ๊ฑด๊ฑด ์ทจ์กฐํ•˜๊ณ  ์‹ถ์ง€ ์•Š์€๊ฑฐ ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ ๋Œ€์‹  ๋จผ์ € ๋งํ•˜๋ฉด ๋“ค์„ ์ค€๋น„๋Š” ๋˜์–ด ์žˆ๋Š”๊ฑฐ...์ด๋ ‡๊ฒŒ T์™€ F์˜ ๋Œ€ํ™”๋Š”์˜์‹ฌ๋งŒ ์Œ“์ธ ์ฑ„ ๊ฒ‰๋Œ๊ฒŒ ๋˜๊ณ  ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹  ์ทจ์กฐ ๋…ธ๋…ธํ–‰๋ฌผ์–ด๋ณผ ์ˆ˜๋„ ์žˆ๋Š”๋ฐ๋ฆฌ์•ก์…˜์€ ๋งŽ์ด ์—†๊ณ  ์งˆ๋ฌธ๋งŒ ๋งŽ์œผ๋ฉดใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ ๋ถˆํŽธ......  F : ์™œ ์šฐ์šธํ•ด?T : ๋ฌด์Šจ ํ™”๋ถ„?     ๊ทธ๋ž˜๋„ ๋งˆ์ง€๋ง‰์€ ํ•ดํ”ผ์—”๋”ฉ ์„œ๋กœ ์ดํ•ด๋Š” ์•ˆ๋˜๋„ ์žฌ๋ฐŒ์ž–์•„ > ์žฌ๋ฏธ๋กœ๋งŒ ์ฝ๋Š” ๊ธ€์ž„์„..
์„œ๋ฒ„ ์ด์ค‘ํ™”์™€ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ๋Š” ๊ณ ๊ฐ€์šฉ์„ฑ๊ณผ ์•ˆ์ •์„ฑ์„ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•ด ํ•„์ˆ˜์ ์ด๋‹ค. ๋‹จ์ผ ์„œ๋ฒ„๋กœ๋Š” ๋Œ€๋Ÿ‰์˜ ํŠธ๋ž˜ํ”ฝ๊ณผ ์žฅ์•  ๋ฐœ์ƒ ์‹œ ๋ณต๊ตฌ๋ฅผ ๊ฐ๋‹นํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ๋‹ค์ˆ˜์˜ ์„œ๋ฒ„๋กœ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐํ•˜๊ณ  ๋ฐฑ์—… ์‹œ์Šคํ…œ์„ ๋งˆ๋ จํ•ด์•ผ ํ•œ๋‹ค. ํŠนํžˆ, ์ด์ปค๋จธ์Šค๋‚˜ ๊ธˆ์œต ์„œ๋น„์Šค์ฒ˜๋Ÿผ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ๊ฐ€ ์ค‘์š”ํ•œ ํ™˜๊ฒฝ์—์„œ๋Š” ์ž๋™ ํ™•์žฅ(Auto Scaling)๊ณผ ๋ฌด์ค‘๋‹จ ์šด์˜์ด ํ•„์ˆ˜์ ์ด๋‹ค.1. ์„œ๋ฒ„ ์ด์ค‘ํ™” (Server Redundancy)์„œ๋ฒ„ ์ด์ค‘ํ™”๋Š” ์žฅ์•  ๋Œ€๋น„(High Availability, HA - ๊ณ ๊ฐ€์šฉ์„ฑ)๋ฅผ ์œ„ํ•œ ๊ฐœ๋…์ด๋‹ค.ํ•˜๋‚˜์˜ ์„œ๋ฒ„๊ฐ€ ๋‹ค์šด๋˜๋”๋ผ๋„ ๋‹ค๋ฅธ ์„œ๋ฒ„๊ฐ€ ๋Œ€์‹  ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฐฑ์—… ์„œ๋ฒ„๋ฅผ ์ค€๋น„ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.  โœ”๏ธ ์˜ˆ๋ฅผ ๋“ค๋ฉด?DB ์„œ๋ฒ„ ์ด์ค‘ํ™”: Master-Slave ๊ตฌ์กฐ์›น ์„œ๋ฒ„ ์ด์ค‘ํ™”: ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ + ๋‘ ๊ฐœ์˜ ๋™์ผํ•œ ์›น ์„œ๋ฒ„ โœ”..
Java ํ”„๋กœ์ ํŠธ๋ฅผ ์„ค์ •ํ•  ๋•Œ ํ”„๋กœ์ ํŠธ ์šฐํด๋ฆญํ•˜๋ฉด Build Path๊ฐ€ ๋‚˜์˜จ๋‹ค. ์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๊ฐ€ Oracle JDBC ๋“œ๋ผ์ด๋ฒ„(ojdbc8.jar) ๊ฐ™์€ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ MySQL Connection(mysql-connector-java.jar)์ด๋ผ๋“ ์ง€ Getter์™€ Setter์„ ์ž๋™์ƒ์„ฑํ•˜๋Š” Lombok(lombok.jar) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋“ฑ๋ก ํ•ด ๋ณธ ์ ์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค.  ํ•„์ž๋Š” ํ•ญ์ƒ ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ์ถ”๊ฐ€ํ• ๋•Œ Classpath, Module Path ์ค‘ ์–ด๋””์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋Š”์ง€ ํ—ท๊ฐˆ๋ ธ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๊ธ€์„ ์ž‘์„ฑํ•œ๋‹ค. Buildpath๋Š” ์ž๋ฐ”์—์„œ ์ค‘์š”ํ•œ ๊ฐœ๋…์ด๋ฉฐ, ์–ด๋–ค ๊ฒƒ์„ ๋“ฑ๋กํ•ด์•ผ ํ•˜๋Š”์ง€๋Š” ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ๊ณผ ์‚ฌ์šฉ ๊ธฐ์ˆ ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง„๋‹ค. ์ด๋ก ์ ์ธ ์„ค๋ช…์€ ๊ฑด๋„ˆ  ๋›ฐ๊ณ  ์–ธ์ œ ModulePath..
ยท AWS
EBS vs EFS1. EBS(Elastic Block Storage)โ–ถEBS volumesOne instance (except multi-attach io1 / io2) - ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค๋งŒ ์—ฐ๊ฒฐare locked at the Availability Zone (AZ) levelgp2: IO increases if the disk size increasesgp3 & io 1: can increase IO independentlyโ–ถTo migrate an EBS volume across AZTake a snapshotRestore the snapshot to another AZEBS backups use IO and you shouldn't run them while your application..
ยท AWS
์š”์ฆ˜ ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ์‹œ์žฅ์ด ๋น ๋ฅด๊ฒŒ ์„ฑ์žฅํ•˜๋ฉด์„œ, ๋งŽ์€ ๊ธฐ์—…๋“ค์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•  ๋ฐฉ๋ฒ•์œผ๋กœ ํด๋ผ์šฐ๋“œ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์„ ํƒํ•˜๊ณ  ์žˆ์–ด์š”. ์˜ˆ์ „์—๋Š” ์„œ๋ฒ„๋ฅผ ์ง์ ‘ ๊ตฌ์ถ•ํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ํ•ด์•ผ ํ–ˆ์ง€๋งŒ, ์ด์ œ๋Š” ํด๋ฆญ ๋ช‡ ๋ฒˆ์œผ๋กœ ์‰ฝ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๋Œ€๊ฐ€ ๋์ฃ ! ์˜ค๋Š˜์€ ํด๋ผ์šฐ๋“œ ์Šคํ† ๋ฆฌ์ง€์˜ ์ข…๋ฅ˜์™€ ํ•จ๊ป˜, AWS์—์„œ ์ œ๊ณตํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ์Šคํ† ๋ฆฌ์ง€ ์„œ๋น„์Šค์ธ Amazon S3, Amazon EFS, ๊ทธ๋ฆฌ๊ณ  Amazon EBS์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ด์š”. ๊ฐ ์„œ๋น„์Šค์˜ ํŠน์ง•์„ ๋น„๊ตํ•ด ๋ณด๊ณ , ์–ด๋–ค ๊ฒฝ์šฐ์— ์–ด๋–ค ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์€์ง€ ์ ์ ˆํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€๋„ ์‚ดํŽด๋ณผ๊ฒŒ์š”.1. ํด๋ผ์šฐ๋“œ ์Šคํ† ๋ฆฌ์ง€๋ž€1-1. ํด๋ผ์šฐ๋“œ ์Šคํ† ๋ฆฌ์ง€์˜ ํŠน์ง• ํด๋ผ์šฐ๋“œ ์Šคํ† ๋ฆฌ์ง€์—๋Š” ๋งŽ์€ ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ™•์žฅ์„ฑ์„ ์ œ๊ณตํ•˜์—ฌ ํ•„์š”์— ๋”ฐ๋ผ ์Šคํ† ๋ฆฌ์ง€ ์šฉ๋Ÿ‰์„ ๋น ๋ฅด๊ฒŒ ๋Š˜๋ฆฌ..
โœ… ๋ฌธ์ œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆซ์ž๊ฐ€ ๋‹ด๊ธด 1์ฐจ์› ๋ฐฐ์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋‘ ๊ฐœ์˜ ์ˆซ์ž๋ฅผ ๋ฝ‘์•„ ์„œ๋กœ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๋น„๊ตํ•œ ํ›„ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ์ž‘์€ ์ˆซ์ž์˜ ์œ„์น˜(index)๋ฅผ ์ถœ๋ ฅํ•˜์‹œ์˜ค. โœ… ์ฝ”๋“œpublic class Main { public static void main(String[] args) { int[] point = { 92, 32, 52, 9, 81, 2, 68 }; int dist = 1000000000; int[] result = new int[2]; for (int i = 0; i Math.abs(point[i] - point[j])) { dist = Math.abs(point[i] - point[j]); result[0] = i; result[1] = j; } ..
์ƒ๋‹จ์œผ๋กœ