728x90

๊ฐœ๋ฐœ์ž 29

Docker ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์˜ ๋ฐœ์ „๊ณผ์ •, ๋„์ปค ๊ตฌ์„ฑ์š”์†Œ, ๊ธฐ๋ณธ ํ™˜๊ฒฝ ๊ตฌ์„ฑ ๋ฐ ๋„์ปค ์„ค์น˜ ๋ฐฉ๋ฒ•, ์„ค์น˜ ํ™•์ธ

์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์˜ ๋ฐœ์ „ ๊ณผ์ • Traditional Deployment ํ•˜๋“œ์›จ์–ด ์œ„์— OS ์„ค์น˜ ํ›„ App ์‹คํ–‰์— ํ•„์š”ํ•œ Library๋ฅผ OS์— ์„ค์น˜ ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค๋ฅผ ํ•œ ์„œ๋ฒ„์—์„œ ์šด์˜ํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ (๋น„์šฉ ํšจ์œจ์„ฑ) ์„œ๋น„์Šค๊ฐ„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•จ์— ๊นŒ๋ผ ์„œ๋น„์Šค๊ฐ„ ํ™˜๊ฒฝ ๊ฒฉ๋ฆฌ๊ฐ€ ์š”๊ตฌ๋จ Virtualized Deployment Hypervisor: VM(Virtual Machine)์„ ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ํ•จ Guest OS(VM)์— ํ•˜๋“œ์›จ์–ด ์ž์›์„ ์—๋ฎฌ๋ ˆ์ดํŒ…์„ ํ•˜๋‹ค๋ณด๋‹ˆ ์„ฑ๋Šฅ ํ•˜๋ฝ์ด ๋ฐœ์ƒํ•˜๋ฉฐ, ๊ฐ€์ƒ๋จธ์‹ ์„ ๋„์šฐ๊ธฐ ์œ„ํ•œ ์ž์›์˜ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒ Container Deployment Docker : ๋Œ€ํ‘œ์ ์ธ Container Engine chroot, namespace ๋“ฑ์„ ์ด์šฉํ•œ ๊ฒฉ๋ฆฌ๊ธฐ์ˆ  ์ œ๊ณต Host Proces..

[Java] ์ž๋ฐ” ๋ฐฐ์—ด, length, for-each๋ฌธ, 2์ฐจ์› ๋ฐฐ์—ด, ๋ฉ”์†Œ๋“œ์˜ ๋ฐฐ์—ด ๋ฆฌํ„ด

๋ฐฐ์—ด ์„ ์–ธ๊ณผ ์ƒ์„ฑ ๋ฐ ์ดˆ๊ธฐํ™” ๋ฐฉ๋ฒ• int intArray []; // ๋ฐฐ์—ด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ intArray ์„ ์–ธ ๋ฐฉ๋ฒ• 1 int[] intArray; // ๋ฐฐ์—ด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ intArray ์„ ์–ธ ๋ฐฉ๋ฒ• 2 intArray = new int [5]; // ์›์†Œ ๊ฐœ์ˆ˜๊ฐ€ 5์ธ int ํƒ€์ž…์˜ ๋ฐฐ์—ด ์ƒ์„ฑ ๋ฐฉ๋ฒ• 1 int intArray[] = new int[5]; // ์›์†Œ ๊ฐœ์ˆ˜๊ฐ€ 5์ธ int ํƒ€์ž…์˜ ๋ฐฐ์—ด ์ƒ์„ฑ ๋ฐฉ๋ฒ• 2 int intArray[] = {4, 3, 2, 1, 0}; // 5๊ฐœ์˜ ์ •์ˆ˜ ๋ฐฐ์—ด ์ƒ์„ฑ ๋ฐ ๊ฐ’ ์ดˆ๊ธฐํ™” ๋ ˆํผ๋Ÿฐ์Šค ์น˜ํ™˜๊ณผ ๋ฐฐ์—ด ๊ณต์œ  ๋ ˆํผ๋Ÿฐ์Šค ์น˜ํ™˜์œผ๋กœ ๋‘ ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ํ•˜๋‚˜์˜ ๋ฐฐ์—ด ๊ณต์œ  int intArray[] = new int[5]; int myArray[] = intArray; // ..

[Java] ์ž๋ฐ”์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…, ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ, ์ƒ์ˆ˜ ์„ ์–ธ, ๊ฐ•์ œ ํƒ€์ž… ๋ณ€ํ™˜, Scanner ์ž…๋ ฅ

์ž๋ฐ”์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž… ๊ธฐ๋ณธํƒ€์ž… 8๊ฐœ boolean char byte short int long float double ๋ ˆํผ๋Ÿฐ์Šค ํƒ€์ž…: 1๊ฐœ์ด๋ฉฐ ์šฉ๋„๋Š” ๋‹ค์Œ 3๊ฐ€์ง€ ํด๋ž˜์Šค(class)์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ์ธํ„ฐํŽ˜์ด์Šค(inerface)์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ฐฐ์—ด(array)์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๊ธฐ๋ณธํƒ€์ž… 8๊ฐœ๋Š” ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ๊ณ , ๋ ˆํผ๋Ÿฐ์Šค ํƒ€์ž…์€ ํฌ๊ธฐ ๊ณ ์ •์ด ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค. ๊ธฐ๋ณธ ํƒ€์ž… ์ด์™ธ ๋ฆฌํ„ฐ๋Ÿด ๋ฌธ์ž์—ด ๋ฌธ์ž์—ด์€ ๊ธฐ๋ณธํƒ€์ž…์ด ์•„๋‹ˆ๋‹ค. String ํด๋ž˜์Šค๋กœ ๋ฌธ์ž์—ด ํ‘œํ˜„ - ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด String a = "test"; ๋ฌธ์ž์—ด์ด ์„ž์ธ + ์—ฐ์‚ฐ์€ ๋ฌธ์ž์—ด์„ ์—ฐ๊ฒฐํ•œ๋‹ค. String a = "test"; System.out.println(a + " ์ž…๋‹ˆ๋‹ค"); // "test ์ž…๋‹ˆ๋‹ค" ์ถœ๋ ฅ NULL ๋ฆฌํ„ฐ๋Ÿด ๋ ˆํผ๋Ÿฐ์Šค์— ๋Œ€์ž… ์‚ฌ์šฉ i..

[DB] ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ

5์žฅ. ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ๊ฐœ๋… ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ์ œ์•ฝ ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ๊ฐœ๋… ๊ฐœ๋…์  ๊ตฌ์กฐ๋ฅผ ๋…ผ๋ฆฌ์  ๊ตฌ์กฐ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋…ผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ํ•˜๋‚˜์˜ ๊ฐœ์ฒด์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ๋ฆด๋ ˆ์ด์…˜์— ์ €์žฅ (๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์€ ๋‹ค์ค‘ ๊ฐ’ ์†์„ฑ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค.) ๊ณ ๊ฐ ๋ฆด๋ ˆ์ด์…˜์˜ ์ฐจ์ˆ˜๋Š” 6, ์นด๋””๋„๋ฆฌํ‹ฐ๋Š” 4 ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ๊ธฐ๋ณธ ์šฉ์–ด ๋ฆด๋ ˆ์ด์…˜(relation) 2์ฐจ์› ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋กœ ์ €์žฅํ•œ ๊ฒƒ ํŒŒ์ผ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ๊ด€์ ์—์„œ ํŒŒ์ผ(file)์— ๋Œ€์‘ ์†์„ฑ(attribute) ๋ฆด๋ ˆ์ด์…˜์˜ ์—ด = ์• ํŠธ๋ฆฌ๋ทฐํŠธ ํŒŒ์ผ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ๊ด€์ ์—์„œ ํ•„๋“œ(field)์— ๋Œ€์‘ ํˆฌํ”Œ(tuple) ๋ฆด๋ ˆ์ด์…˜์˜ ํ–‰ ํŒŒ์ผ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ๊ด€์ ์—์„œ ๋ ˆ์ฝ”๋“œ(record)์— ๋Œ€์‘ ๋„๋ฉ”์ธ(domain) ํ•˜๋‚˜์˜ ์†์„ฑ์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฐ’์˜ ์ง‘ํ•ฉ ์†์„ฑ ..

[๊ทธ๋ž˜ํ”„] ์œ„์ƒ ์ •๋ ฌ

๋ณต์Šต ๊ทธ๋ž˜ํ”„: ๋…ธ๋“œ์™€ ๋…ธ๋“œ ์‚ฌ์ด์— ์—ฐ๊ฒฐ๋œ ๊ฐ„์„  ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐœ์ฒด๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค --> ๊ฐ€์žฅ ๋จผ์ € ๊ทธ๋ž˜ํ”„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋– ์˜ฌ๋ ค์•ผํ•จ. [๊ทธ๋ž˜ํ”„์™€ ํŠธ๋ฆฌ ์ž๋ฃŒ๊ตฌ์กฐ ๋น„๊ต] ๊ทธ๋ž˜ํ”„ ํŠธ๋ฆฌ ๋ฐฉํ–ฅ์„ฑ ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„ or ๋ฌด๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„ ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„ ์ˆœํ™˜์„ฑ ์ˆœํ™˜ ๋ฐ ๋น„์ˆœํ™˜ ๋น„์ˆœํ™˜ ๋ฃจํŠธ ๋…ธ๋“œ ์กด์žฌ ์—ฌ๋ถ€ ๋ฃจํŠธ ๋…ธํŠธ X ๋ฃจํŠธ ๋…ธ๋“œ ์กด์žฌ ๋…ธ๋“œ ๊ฐ„ ๊ด€๊ณ„์„ฑ ๋ถ€๋ชจ์™€ ์ž์‹ ๊ด€๊ณ„ ์—†์Œ ๋ถ€๋ชจ์™€ ์ž์‹ ๊ด€๊ณ„ ๋ชจ๋ธ์˜ ์ข…๋ฅ˜ ๋„คํŠธ์›Œํฌ ๋ชจ๋ธ ๊ณ„์ธต ๋ชจ๋ธ ๊ทธ๋ž˜ํ”„์˜ ๊ตฌํ˜„ ๋ฐฉ๋ฒ• 1. ์ธ์ ‘ ํ–‰๋ ฌ(Adjacency Matrix): 2์ฐจ์› ๋ฐฐ์—ด ์‚ฌ์šฉ 2. ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ(Adjacency List): ๋ฆฌ์ŠคํŠธ ์‚ฌ์šฉ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๊ฐ€ V, ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜๊ฐ€ E์ธ ๊ฒฝ์šฐ ์ธ์ ‘ ํ–‰๋ ฌ๊ณผ ์ธ์ ‘๋ฆฌ์ŠคํŠธ ๊ตฌํ˜„ ๋น„๊ต ์ธ์ ‘ํ–‰๋ ฌ ์ด์šฉ ์ธ์ ‘๋ฆฌ์ŠคํŠธ ์ด์šฉ ๊ฐ„์„  ์ •๋ณด ์ €์žฅ O(V^2)..

[Java] JDK, JRE, ์ž๋ฐ” ๋ฐฐํฌํŒ ์ข…๋ฅ˜, ์ดํด๋ฆฝ์Šค

JDK(Java Development Kit) ๊ฐœ๋ฐœ์ž์šฉ ์ž๋ฐ” ์ž๋ฐ” ์‘์šฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ, ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋„๊ตฌ ํฌํ•จ JDK ๊น”๋ฉด ์ž๋™์œผ๋กœ JRE(Java Runtime Environment, ์ž๋ฐ” ์‹คํ–‰ ํ™˜๊ฒฝ) ์ƒ์„ฑ ์ž๋ฐ” ๋ฐฐํฌํŒ ์ข…๋ฅ˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ๋ฐฐํฌํŒ ์ œ๊ณต Java SE ์ž๋ฐ” ํ‘œ์ค€ ๋ฐฐํฌํŒ ๋ฐ์Šคํฌํƒ‘๊ณผ ์„œ๋ฒ„ ์‘์šฉ ๊ฐœ๋ฐœ ํ”Œ๋žซํผ Java ME ์ž๋ฐ” ๋งˆ์ดํฌ๋กœ ๋ฐฐํฌํŒ ์ž„๋ฒ ๋””๋“œ, ๊ฐ€์ „ ์ œํ’ˆ ์œ„ํ•œ API ์ •์˜ Java EE ์ž๋ฐ” ๊ธฐ์—…์šฉ ๋ฐฐํฌํŒ Java ๋ชจ๋“ˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ Java 9๋ถ€ํ„ฐ ๋ชจ๋“ˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ์ž‘ ๋ชจ๋“ˆ ๋ฐฉ์‹ ์•„๋‹Œ ๊ธฐ์กด ๋ฐฉ์‹์œผ๋กœ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•ด๋„ ๋ฌด๊ด€ ์ž๋ฐ” API JDK์— ํฌํ•จ๋œ ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (๋‚ด๊ฐ€ ๋งŒ๋“ค์ง€ ์•Š์€ ํ”„๋กœ๊ทธ๋žจ) ๊ฐœ๋ฐœ์ž๋Š” API๋ฅผ ์ด์šฉํ•ด ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ์ž๋ฐ” ํŒจํ‚ค์ง€(pack..

[Java] ์ž๋ฐ” ์‹œ์ž‘

๊ฐ์ฒด์ง€ํ–ฅํ”„๋กœ๊ทธ๋ž˜๋ฐ ์™„์ „ ๊ธฐ์ดˆ ์ปดํ“จํ„ฐ์™€ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋งŒ๋Šฅ ๊ธฐ๊ณ„์ธ ์ปดํ“จํ„ฐ๋ฅผ ์ด์šฉํ•ด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ปดํ“จํ„ฐ๊ฐ€ ์‹คํ–‰ํ•  ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด(์ปดํ“จํ„ฐ ์–ธ์–ด, ๊ธฐ๊ณ„์–ด) ๊ธฐ๊ณ„์–ด 0, 1์˜ ์ด์ง„์ˆ˜๋กœ ๊ตฌ์„ฑ๋œ ์–ธ์–ด ์ปดํ“จํ„ฐ์˜ CPU๋Š” ๊ธฐ๊ณ„์–ด๋งŒ ์ดํ•ด, ์ฒ˜๋ฆฌ๊ฐ€๋Šฅ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด ๊ธฐ๊ณ„์–ด ๋ช…๋ น์„ ADD, SUB, MOVE๋“ฑ๊ณผ ๊ฐ™์€ ํ‘œํ˜„ํ•˜๊ธฐ ์‰ฌ์šด ์ƒ์ง•์ ์ธ ๋‹จ์–ด์ธ ๋‹ˆ๋ชจ๋‹‰ ๊ธฐํ˜ธ(mnemonic symbol)๋กœ ์ผ๋Œ€์ผ ๋Œ€์‘์‹œํ‚จ ์–ธ์–ด (๊ธฐ๊ณ„์–ด BASE, ์ž์ฃผ ์“ฐ๋Š” ๊ธฐํ˜ธ๋“ค ์ด์šฉํ•ด์„œ ๋Œ€์‘, ์ž์ฃผ ์“ธ ์ˆ˜ ์žˆ๋„๋ก ์ƒ์ง•ํ•ด์ฃผ๋Š” ์–ธ์–ด) ๊ณ ๊ธ‰์–ธ์–ด ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ , ๋ณต์žกํ•œ ์ž‘์—…, ์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋œ ์–ธ์–ด ์ ˆ์ฐจ ์ง€ํ–ฅ ์–ธ์–ด์™€ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Œ ๊ณ ๊ธ‰ ์–ธ์–ด(High-qu..

[Python] ํŒ๋‹ค์Šค ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„(Pandas DataFrame) sys:1: DtypeWarning: Columns have mixed types.Specify dtype option on import or set low_memory=False. ๋ฌด์‹œํ•˜๊ธฐ

column์— NaN๊ฐ’์ด๋‚˜ ์—ฌ๋Ÿฌ type์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์„ž์—ฌ ์žˆ์œผ๋ฉด ์ด์™€ ๊ฐ™์€ ๊ฒฝ๊ณ ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ด ๋•Œ ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€๊ฐ€ ์•Œ๋ ค์ฃผ๋Š” ๋Œ€๋กœ dtype option์œผ๋กœ ํƒ€์ž…์„ ๋ช…์‹œํ•ด์ฃผ๊ฑฐ๋‚˜ low_memory = False๋กœ ์ง€์ •ํ•ด ์ฃผ๋ฉด ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€๊ฐ€ ์ถœ๋ ฅ๋˜์ง€ ์•Š๋Š”๋‹ค. pd.read_csv('[ํŒŒ์ผ๋ช…].txt', delimiter = '\t', low_memory=False)

728x90