๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ223

์†Œ์ˆ˜(Prime Number) ๊ตฌํ•˜๊ธฐ ํšจ์œจ์  ์•Œ๊ณ ๋ฆฌ์ฆ˜ :: ์ฝ”๋“œ์ž๋ชฝ ์†Œ์ˆ˜(Prime Number) ์†Œ์ˆ˜๋Š” ์ž์‹ ๋ณด๋‹ค ์ž‘์€ ๋‘๊ฐœ์˜ ์ž์—ฐ์ˆ˜๋ฅผ ๊ณฑํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜ ์—†๋Š” 1๋ณด๋‹ค ํฐ ์ž์—ฐ์ˆ˜์ด๋‹ค. ex) 5๋Š” 5*1 ๋˜๋Š” 1*5๋กœ ์ˆ˜๋ฅผ ๊ณฑํ•ฉ ๊ฒฐ๊ณผ๋ฅผ ์ ๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์ด ๊ทธ ์ˆ˜ ์ž์‹ ์„ ํฌํ•จํ•˜๊ธฐ ๋•Œ๋ฌธ์— 5๋Š” ์†Œ์ˆ˜์ด๋‹ค. ์†Œ์ˆ˜ (์ˆ˜๋ก ) - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „ ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „. ์ขŒ์ธก์€ ์†Œ์ˆ˜, ์šฐ์ธก์€ ํ•ฉ์„ฑ์ˆ˜. ์†Œ์ˆ˜๋ž€ ์ž์‹ ๋ณด๋‹ค ์ž‘์€ ๋‘ ์ž์—ฐ์ˆ˜๋ฅผ ๊ณฑํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜ ์—†๋Š” 1๋ณด๋‹ค ํฐ ์ž์—ฐ์ˆ˜์ด๋‹ค. ์†Œ์ˆ˜(็ด ๆ•ธ, ๋ฐœ์Œ: [์†Œ์‘ค], ๋ฌธํ™”์–ด: ์”จ์ˆ˜, ์˜์–ด: prime number)๋Š” ์ž์‹ ๋ณด๋‹ค ์ž‘์€ ๋‘ ๊ฐœ์˜ ์ž์—ฐ์ˆ˜๋ฅผ ๊ณฑํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜ ์—†๋Š” 1๋ณด๋‹ค ํฐ ์ž์—ฐ์ˆ˜์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 5๋Š” 1x5 ๋˜๋Š” 5x1๋กœ ์ˆ˜๋ฅผ ๊ณฑํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ ๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์ด ๊ทธ ์ˆ˜ ์ž์‹ ์„ ํฌํ•จํ•˜๊ธฐ ๋•Œ๋ฌธ์— 5๋Š” ์†Œ์ˆ˜์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ .. 2019. 12. 22.
์ตœ๋Œ€๊ณต์•ฝ์ˆ˜(GCD), ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜(LCM) ๊ตฌํ•˜๊ธฐ ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ• ์•Œ๊ณ ๋ฆฌ์ฆ˜ :: ์ฝ”๋“œ์ž๋ชฝ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ GCD(Greatest Common Divisor) ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋Š” ๋‘ ์ž์—ฐ์ˆ˜์˜ ๊ณตํ†ต๋œ ์•ฝ์ˆ˜ ์ค‘ ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ex) 72 ์™€ 30์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋Š” 6์ด๋‹ค. ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ LCM(Least Common Multiple) ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋Š” ๋‘ ์ž์—ฐ์ˆ˜์˜ ๊ณตํ†ต๋œ ๋ฐฐ์ˆ˜ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ = ๋‘ ์ž์—ฐ์ˆ˜์˜ ๊ณฑ / ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ ex) 72 ์™€ 30์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋Š” 360์ด๋‹ค. ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•(Euclidean Algorithm) 2๊ฐœ์˜ ์ž์—ฐ์ˆ˜๋ฅผ ๋ฐ›์•„ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•ด 2๋ถ€ํ„ฐ ๋‘ ์ž์—ฐ์ˆ˜ ์ค‘ ์ž‘์€ ์ž์—ฐ์ˆ˜๊นŒ์ง€ ๋ชจ๋‘ ๋‚˜๋ˆ„์–ด๋ณด๋ฉด์„œ ๊ฐ€์žฅ ํฐ ๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์œ„์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(N)์ด ๋œ๋‹ค. ๋‚˜์œ ๋ฐฉ๋ฒ•์€ ์•„๋‹ˆ์ง€๋งŒ ํšจ์œจ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•์ด๋ž€ ์•Œ๊ณ ๋ฆฌ์ฆ˜.. 2019. 12. 22.
JAVA ์ž๋ฐ”๋กœ ๋น„ํŠธ์—ฐ์‚ฐ ์•Œ์•„๋ณด๊ธฐ :: ์ฝ”๋“œ ์ž๋ชฝ ๋น„ํŠธ์—ฐ์‚ฐ์ž ๋น„ํŠธ์—ฐ์‚ฐ์€ 2์ง„์ˆ˜ํ˜•ํƒœ์˜ ์ˆซ์ž 0๊ณผ 1๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ์‚ฐ์ด๋‹ค. ์ž๋ฐ”์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ์‚ฐ 6๊ฐ€์ง€๋ฅผ ์•Œ์•„๋ณด์ž.๋น„ํŠธ์—ฐ์‚ฐ์ž๋ฅผ ์ž˜ ์‚ฌ์šฉํ•˜๋ฉด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์„ ๋ฟ๋”๋Ÿฌ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ์ค„์—ฌ ์ฃผ๋Š” ํšจ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์™ผ์ชฝ ์‹œํ”„ํŠธ( y ํ˜•์‹์œผ๋กœ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๊ณ  x์˜ ๋น„ํŠธ๋ฅผ ์™ผ์ชฝ์œผ๋กœ y์นธ ์ด๋™์‹œํ‚จ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.ex) 1111 >> 2 = 111111(15) ์ด 11(3)๋กœ ๋ณ€ํ˜•๋˜๋Š” ๊ฒƒ์„ ๋ณด๋ฉด x / 2^y ์œผ๋กœ ๋‚˜๋จธ์ง€๋ฅผ ์ œ์™ธํ•œ ๋ชซ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋น„ํŠธ์˜ ๋ณด์ˆ˜(~)์ด์ง„์ˆ˜์˜ ๋ชจ๋“  ๋น„ํŠธ๋ฅผ ๋ฐ˜๋Œ€๋กœ ๋ฐ”๊พผ๋‹ค. 0 ์ด๋ฉด 1, 1์ด๋ฉด 0์œผ๋กœ ๋ฐ”๊พผ๋‹ค. ๋ณด์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ 32์ž๋ฆฌ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.~x ํ˜•์‹์œผ๋กœ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  x์˜ ๋ณด์ˆ˜๋ฅผ ๊ตฌํ•˜๋ผ๋Š” ์˜๋ฏธ์ด๋‹ค.ex) ~01.. 2019. 11. 23.
[๋ฐฐ์—ด] ๋ถ€๋ถ„์ง‘ํ•ฉ ๊ด€๋ จ ๋ฌธ์ œ ๋น„ํŠธ์—ฐ์‚ฐ์œผ๋กœ ํ’€๊ธฐ :: ์ฝ”๋“œ์ž๋ชฝ ๋ถ€๋ถ„์ง‘ํ•ฉ ๊ตฌํ•˜๊ธฐ ๋ฐฐ์—ด์ด ์ฃผ์–ด์กŒ์„๋•Œ ๋ถ€๋ถ„์ง‘ํ•ฉ์„ ๊ตฌํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด์ž. ์•„๋ž˜ ๊ธฐ๋ณธ ๋ฌธ์ œ๋ฅผ ์„ค๋ช… ๋ฐ ์ฝ”๋“œ์ƒ˜ํ”Œ์„ ํ™•์ธํ•˜์ง€ ์•Š๊ณ  ๋จผ์ € ํ’€์–ด๋ณด์ž. ๊ธฐ๋ณธ ๋ฌธ์ œ {1, 2, 3, 4, -1, -5} ์œ„ ๋ฐฐ์—ด์—์„œ ํ™€์ˆ˜๋กœ ๊ตฌ์„ฑ๋œ ๋ถ€๋ถ„ ์ง‘ํ•ฉ์„ ๋ชจ๋‘ ์ถœ๋ ฅ ํ•˜์‹œ์˜ค. ๊ฐ„๋‹จํ•ด ๋ณด์ด์ง€๋งŒ ๋น„ํŠธ์—ฐ์‚ฐ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋ฉด ์ƒ๊ฐ๋ณด๋‹ค ์–ด๋ ค์šด ๋ฌธ์ œ์ด๋‹ค. ์œ„ ๋ฌธ์ œ๋ฅผ ์™„์ „ํƒ์ƒ‰ ํ˜น์€ ๋ฐฐ์—ด์˜ ์œ„์น˜๋ฅผ ์ด์šฉํ•ด์„œ ํ’€๊ฒ ๋‹ค๊ณ  ์ ‘๊ทผํ–ˆ์„๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์™„์ „ํƒ์ƒ‰ ๋ฐฉ๋ฒ•์œผ๋กœ ํ’€๋ ค๊ณ  ํ•˜๋‹ค๋ณด๋‹ˆ for๋ฌธ์„ ์ค‘์ฒฉํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐฐ์—ด์ด ์ปค์งˆ์ˆ˜๋ก ํšจ์œจ๋„ ๋–จ์–ด์ง€๊ณ  ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ์ œ๊ณฑ์œผ๋กœ ๋Š˜์–ด๋‚˜๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ๋ฐฐ์—ด์˜ ์œ„์น˜๋ฅผ ์ด์šฉํ•ด์„œ ํ‘ธ๋Š” ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•˜๋‹ค๋ณด๋‹ˆ 0๊ณผ 1์„ ์ด์šฉํ•˜์—ฌ ์ž๋ฆฌ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋– ์˜ค๋ฅด๊ฒŒ ๋ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์œ„์˜ ๋ฌธ์ œ ์ฒ˜๋Ÿผ ๋ถ€๋ถ„์ง‘ํ•ฉ์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์—์„œ๋Š”.. 2019. 11. 22.
[ORACLE] ๋ฌธ์ž์—ด ๋Œ€์†Œ๋ฌธ์ž ํ•จ์ˆ˜ LOWER, UPPER, INITCAP :: ๋งˆ์ด์ž๋ชฝ ์˜ค๋ผํด ๋Œ€์†Œ๋ฌธ์ž ํ•จ์ˆ˜์˜ค๋ผํด์—์„œ ๋ฌธ์ž์—ด ๋Œ€์†Œ๋ฌธ์ž ๋ณ€ํ™˜ํ•จ์ˆ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. LOWER ํ•จ์ˆ˜LOWER ํ•จ์ˆ˜๋Š” ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค.๋ช…๋ น : SELECT LOWER([๋ฌธ์ž์—ด]) FROM [ํ…Œ์ด๋ธ”]; QUERY1SELECT LOWER('MYJAMONG MYjamong') FROM DUAL;cs RESULT UPPER ํ•จ์ˆ˜UPPERํ•จ์ˆ˜๋Š” ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค.๋ช…๋ น : SELECT UPPER([๋ฌธ์ž์—ด]) FROM [ํ…Œ์ด๋ธ”]; QUERY1SELECT UPPER('MYJAMONG MYjamong') FROM DUAL;cs RESULT INITCAP ํ•จ์ˆ˜INITCAP ํ•จ์ˆ˜๋Š” ๋ฌธ์ž์—ด์˜ ์ฒซ๋ฒˆ์งธ ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค. ๋ฌธ์ž์—ด์˜ ๊ธฐ์ค€์„ ๊ณต๋ฐฑ์œผ๋กœ ์ดํ•ดํ•˜๋Š”๋ฐ ํŠน์ˆ˜๊ธฐํ˜ธ ๋˜ํ•œ ๊ตฌ๋ถ„์ž.. 2019. 9. 15.
[ORACLE] ๋ฌธ์ž์—ด ํ•ฉ์น˜๊ธฐ, ๊ธธ์ด ์œ„์น˜ ํ•จ์ˆ˜ CONCAT, INSTR, LENGTH :: ๋งˆ์ด์ž๋ชฝ ์˜ค๋ผํด ๋ฌธ์ž์—ด ๊ธฐ๋ณธ ํ•จ์ˆ˜ ์‚ฌ์šฉ์˜ค๋ผํด์—์„œ ๋ฌธ์ž์—ด์„ ๋‹ค๋ฃฐ๋•Œ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๊ณ , ์œ„์น˜๋ฅผ ํ™•์ธํ•˜๊ณ  ํ•ฉ์น˜๋Š” ํ•จ์ˆ˜๋ฅผ ์•Œ์•„๋ณด์ž. LENGTH ํ•จ์ˆ˜๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. ๊ณต๋ฐฑ๋„ ๊ธธ์ด์— ํฌํ•จ๋˜๋ฉฐ ํ•œ๊ธ€ ์บ๋ฆญํ„ฐ์…‹ ์„ธํŒ…์— ๊ด€๊ณ„์—†์ด ํ•œ ๊ธ€์ž๋ฅผ ๊ธธ์ด 1๋กœ ์ทจ๊ธ‰ํ•œ๋‹ค.๋ช…๋ น : SELECT LENGTH([๋ฌธ์ž์—ด]) FROM [ํ…Œ์ด๋ธ”]; QUERY1SELECT LENGTH('MY JAMONG'), LENGTH('๋งˆ์ด์ž๋ชฝ') FROM DUAL;cs RESULT INSTR ํ•จ์ˆ˜๋ฌธ์ž์—ด์˜ ์œ„์น˜๋ฅผ ์ˆซ์ž๋กœ ์ถœ๋ ฅํ•ด์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค. ๋ช‡๋ฒˆ์งธ ๋ฌธ์ž๋ถ€ํ„ฐ ์ฐพ์„์ง€, ๊ทธ๋ฆฌ๊ณ  ๋ช‡๋ฒˆ์งธ ๋ฌธ์ž๋ฅผ ์ฐพ์„์ง€ ์ธ์ž๊ฐ’์œผ๋กœ ์„ค์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋งŒ์•ฝ ์ฐพ๋Š” ๋ฌธ์ž๊ฐ€ ์—†๋‹ค๋ฉด '0'์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์˜๋ฌธ ํ•œ๋ฌธ ๋ชจ๋‘ ๊ธ€์ž ๋‹จ์œ„๋กœ ์œ„์น˜๋ฅผ ์•Œ๋ ค์ค€๋‹ค.๋ช…๋ น : SELECT INSTR([.. 2019. 9. 15.
[ORACLE] ์ˆซ์žํ•จ์ˆ˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ :: ๋งˆ์ด์ž๋ชฝ ORACLE ์ˆซ์žํ•จ์ˆ˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ์˜ค๋ผํดDB์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์ˆซ์ž ํ•จ์ˆ˜์— ๋Œ€ํ•œ ์ •๋ฆฌ์ด๋‹ค. ํ•ด๋‹น๊ธ€์—์„œ๋Š” Oracle 11g ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  ํŽธ์˜๋ฅผ ์œ„ํ•ด DUAL ๊ฐ€์ƒ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์Šตํ–ˆ์Šต๋‹ˆ๋‹ค.DUAL ํ…Œ์ด๋ธ”์€ ๊ฐ€์ƒํ…Œ์ด๋ธ”๋กœ ํ…Œ์ด๋ธ”์˜ ์‚ฌ์šฉ์ด ํ•„์š” ์—†์„๋•Œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ABS ํ•จ์ˆ˜์ ˆ๋Œ€๊ฐ’์„ ์ถœ๋ ฅํ•ด์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค.๋ช…๋ น : SELECT ABS([์ˆซ์ž]) FROM [ํ…Œ์ด๋ธ”]; QUERY1SELECT ABS(-500), ABS(500) FROM DUAL;cs RESULT SIGN ํ•จ์ˆ˜SIGN ํ•จ์ˆ˜๋Š” ํ•ด๋‹น ๊ฐ’์˜ ๋ถ€ํ˜ธ๋ฅผ ์ˆซ์žํ˜•ํƒœ๋กœ ์•Œ๋ ค์ค€๋‹ค.1 : ์–‘์ˆ˜0 : 0-1 : ์Œ์ˆ˜๋ช…๋ น : SELECT SIGN([์ˆซ์ž]) FROM [ํ…Œ์ด๋ธ”]; QUERY1SELECT SIGN(-500), SIGN(500), SIGN(0) FROM .. 2019. 9. 10.
[ORACLE] ๊ทธ๋ฃนํ•จ์ˆ˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ :: ๋งˆ์ด์ž๋ชฝ ORACLE ๊ทธ๋ฃนํ•จ์ˆ˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ทธ๋ฃนํ•จ์ˆ˜ ๋ช‡๊ฐ€์ง€๋ฅผ ๋‹ค๋ค„๋ณผ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฃนํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ• ๋•Œ ์ฃผ์˜ํ•ด์•ผํ•  ๊ฒƒ์€ WHERE ์ ˆ์—์„œ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น๊ธ€์—์„œ๋Š” Oracle 11g ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  HR๊ณ„์ •์˜ ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์Šตํ–ˆ์Šต๋‹ˆ๋‹ค. COUNT ํ•จ์ˆ˜ ์‚ฌ์šฉ์กฐํšŒํ•œ ๋ฐ์ดํ„ฐ์˜ ์ˆ˜๋ฅผ ์ง‘๊ณ„ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค. COUNT ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์‹œ NULL์—๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋Š” ์ง‘๊ณ„ํ•˜์ง€ ์•Š๋Š”๋‹ค.๋ช…๋ น : SELECT COUNT([ํ•„๋“œ]) FROM [ํ…Œ์ด๋ธ”]; QUERY123456SELECT COUNT(*) "**" ,COUNT(COMMISSION_PCT) "NORMAL" ,COUNT(ALL COMMISSION_PCT) "ALL" ,COUNT(DISTINCT COMMISSION_PCT) "DISTINCT"FR.. 2019. 9. 9.
[ORACLE] ORDER BY ๋ช…๋ น์–ด ๊ธฐ๋ณธ ์‚ฌ์šฉ :: ๋งˆ์ด์ž๋ชฝ ORACLE ORDER BY ๋ช…๋ น์–ด ๊ธฐ๋ณธ ์‚ฌ์šฉ์ด์ „ ๊ธ€์—์„œ SELECT์™€ WHERE์ ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ–ˆ๋‹ค๋ฉด, ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ORDER BY ์ ˆ์„ ์ด์šฉํ•˜์—ฌ ์ฐพ์•„์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ํŠน์ • ํ•„๋“œ๋กœ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•ด๋ณผ๊ฒƒ์ด๋‹ค. ํ•ด๋‹น๊ธ€์—์„œ๋Š” Oracle 11g ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  HR๊ณ„์ •์˜ ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์Šตํ–ˆ์Šต๋‹ˆ๋‹ค. ORDER BY ํ…์ŠคํŠธํ…์ŠคํŠธ ํ˜•ํƒœ๋กœ ORDER BY์ ˆ์„ ์‚ฌ์šฉํ–ˆ์„๋•Œ๋Š” abc, ๊ฐ€๋‚˜๋‹ค ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜๊ณ  ๋‚ด๋ฆผ์ฐจ์ˆœ(DESC), ์˜ค๋ฆ„์ฐจ์ˆœ(ASC) ๋ช…๋ น์„ ํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ค๋ฆ„์ฐจ์ˆœ์ด ๊ธฐ๋ณธ์ด๋‹ค.๋ช…๋ น : SELECT [ํ•„๋“œ1], [ํ•„๋“œ2], ... FROM [ํ…Œ์ด๋ธ”] ORDER BY [ํ•„๋“œ1] ์ƒ๋žต/ASC/DESC; QUERYEMPLOYEES ํ…Œ์ด๋ธ”๋ฅผ LAST_NAME ๋‚ด๋ฆผ์ฐจ์ˆœ(DESC)์œผ๋กœ ์กฐํšŒํ•œ๋‹ค.1.. 2019. 9. 8.
[ORACLE] WHERE ๋ช…๋ น์–ด ๊ธฐ๋ณธ ์‚ฌ์šฉ :: ๋งˆ์ด์ž๋ชฝ ORACLE WHERE ๋ช…๋ น์–ด ๊ธฐ๋ณธ ์‚ฌ์šฉSELECT๋ฌธ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š”๋ฐ ์‚ฌ์šฉํ–ˆ๋‹ค๋ฉด WHERE ๋ช…๋ น์–ด๋Š” SELECTํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์›ํ•˜๋Š” ์กฐ๊ฑด์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. WHERE์ ˆ์„ ์ž˜ ์‚ฌ์šฉํ•˜๋ฉด ๋งŽ์€ ๋ฐ์ดํ„ฐ ์ค‘ ๋”ฑ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ๊ฒ€์ƒ‰ํ•˜์—ฌ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•ด๋‹น๊ธ€์—์„œ๋Š” Oracle 11g ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  HR ๊ณ„์ •์˜ ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์Šตํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ WHERE ๋ช…๋ น ํ…์ŠคํŠธ ์กฐ๊ฑดํŠน์ • ํ…์ŠคํŠธํ˜•ํƒœ์˜ ํ•„๋“œ์— ์›ํ•˜๋Š” ๊ฐ’์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๊ณ ์žํ• ๋•Œ ์‚ฌ์šฉํ•˜๋ฉด๋œ๋‹ค.์กฐ๊ฑด์€ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆซ์ž, ๋ฌธ์ž, ๋‚ ์งœ ๋“ฑ์„ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฐธ๊ณ ๋กœ ๋ณ„์นญ์„ ์‚ฌ์šฉํ• ๋•Œ๋Š” ํฐ๋”ฐ์˜ดํ‘œ๋ฅผ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ, ๊ฐ’์„ ๋‚˜ํƒ€๋‚ผ๋•Œ๋Š” ์ž‘์€ ๋”ฐ์˜ดํ‘œ๋ฅผ ์‚ฌ์šฉํ•ด์ค˜์•ผ ํ•œ๋‹ค.๋ช…๋ น : SELECT [ํ•„๋“œ1], [ํ•„๋“œ2] ... FROM [ํ…Œ์ด๋ธ”] WHERE [.. 2019. 9. 8.
[ORACLE] SELECT ๋ช…๋ น์–ด ๊ธฐ๋ณธ ์‚ฌ์šฉ :: ๋งˆ์ด์ž๋ชฝ ORACLE SELECT ๋ช…๋ น์–ด ๊ธฐ๋ณธ ์‚ฌ์šฉSQL Query๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํ™•์ธํ•˜๊ณ  ์‹ถ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์›ํ•˜๋Š” ํ˜•ํƒœ๋กœ ๋ณด๊ธฐ์œ„ํ•ด์„œ๋Š” SELECT ๋ช…๋ น์–ด๋ฅผ ์•Œ์•„์•ผํ•œ๋‹ค. SELECT ๋ช…๋ น์–ด๋Š” CRUD์—์„œ 'R'์— ํ•ด๋‹นํ•˜๋Š” READ๋ถ€๋ถ„์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„๋•Œ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ํ•ด๋‹น๊ธ€์—์„œ๋Š” Oracle 11g ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  HR๊ณ„์ •์˜ ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์Šตํ–ˆ์Šต๋‹ˆ๋‹ค. TABTAB์„ ์กฐํšŒํ•˜์—ฌ ์ ‘์†ํ•œ ๊ณ„์ •์ด ์†Œ์œ ํ•˜๊ณ  ์žˆ๋Š” ํ…Œ์ด๋ธ”์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. QUERY1SELECT * FROM TAB;cs RESULT DESCDESC ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ํ…Œ์ด๋ธ”์˜ ์ •๋ณด๋ฅผ ์†์„ฑ ๋ฐ ํƒ€์ž…์„ ๊ฐ„๋žตํ•˜๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ช…๋ น : DESC [ํ…Œ์ด๋ธ”]; QUERYEMPLOYEES ํ…Œ์ด๋ธ”์˜ ์ •๋ณด๋ฅผ ํ™•์ธํ•œ๋‹ค.1DESC EMPLOYEES.. 2019. 9. 8.
์ดํด๋ฆฝ์Šค Maven ๋ฉ”์ด๋ธ ๋กœ์ปฌ Repository ์‚ฌ์šฉ ๋ฉ”์ด๋ธ Local RepositoryMaven์€ pom.xml๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜์—ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ์‰ฝ๊ฒŒ ํ•ด์ค€๋‹ค.์ฃผ๋กœ ๋„คํŠธ์›Œํฌ ์ ‘์†์ด ๊ฐ€๋Šฅํ•œ ์‚ฌ์ดํŠธ์—์„œ๋Š” clean install ๋ช…๋ น์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ์‰ฝ๊ฒŒ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ฐ›์•„์ฃผ๋ฉด์„œ ํƒ€๊ฒŸ์„ค์ •๋„ ๊ฐ™์ด ํ•ด์ค€๋‹ค.default๋กœ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ์˜ .m2/repository ๊ฒฝ๋กœ ์•ˆ์— ์ €์žฅ๋œ๋‹ค. ๋งŒ์•ฝ ๋„คํŠธ์›Œํฌ๊ฐ€ ์—†๊ฑฐ๋‚˜ ๋น ๋ฅธ์†๋„๋กœ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์œ„ํ•ด ๋กœ์ปฌ์— repository๋ฅผ ์„ค์ •ํ•˜์—ฌ ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ฐ›์•„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์‹ค์Šต ์ง„ํ–‰์ „์— ์ดํด๋ฆฝ์ŠคIDE, ๋ฉ”์ด๋ธ, ํ†ฐ์บฃ ๊ทธ๋ฆฌ๊ณ  ์›ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์ด ํ•„์š”ํ•˜๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๊ธฐ์กด .m2 ํด๋”๋ฅผ ๋ณต์‚ฌํ•ด์„œ ์‚ฌ์šฉํ•ด๋„ ๋œ๋‹ค.์›ํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์„ค์ • ํ›„ ํ•ด๋‹น ๊ฒฝ๋กœ์— ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ๋„ฃ์–ด์ค€๋‹ค. setting.xm.. 2019. 7. 18.
[Spring] VSCode๋กœ ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ :: ๋งˆ์ด์ž๋ชฝ VSCode ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ• ๋•Œ ์ดํด๋ฆฝ์Šค ์—๋””ํ„ฐ๋ฅผ ๊ฐ€์žฅ ๋งŽ์ด์‚ฌ์šฉํ•œ๋‹ค. ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ๋ถ€ํ„ฐ ํ”„๋กœ์ ํŠธ ์„ค์ •์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์–ด์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ์ž๋ฐ” ๊ฐœ๋ฐœ์„ ์ฒ˜์Œ ์ž…๋ฌธํ•˜๋Š” ์‚ฌ์šฉ์ž๋“ค์€ ์ฃผ๋กœ ์ดํด๋ฆฝ์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๊ฐœ๋ฐœ์ด ์กฐ๊ธˆ์”ฉ ์ต์ˆ™ํ•ด์ง€๋ฉด ์ดํด๋ฆฝ์Šค๊ฐ€ ๊ต‰์žฅํžˆ ๋ฌด๊ฑฐ์šด ์—๋””ํ„ฐ๋ผ๋Š” ๊ฒƒ์„ ๋Š๋ผ๊ฒŒ ๋œ๋‹ค. ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋Š”๋ฐ ๋‹ค๋ฅธ ์—๋””ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๊ฑฐ๋‚˜ ์กฐ๊ธˆ ๋” ๊ฐ€๋ฒผ์šด ์—๋””ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด VSCode๋ฅผ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น๊ธ€์—์„œ๋Š” ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ์ด ์•„๋‹Œ ์ด๋ฏธ ์ƒ์„ฑ๋œ ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋ฅผ ๋งฅOS ํ™˜๊ฒฝ์—์„œ ๋นŒ๋“œํ•˜๋Š” ์ž‘์—…์„ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์œˆ๋„์šฐ์™€ ๋น„๊ต ํ–ˆ์„๋•Œ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ • ๋ฐฉ๋ฒ• ์ด์™ธ์— ๋™์ผํ•ฉ๋‹ˆ๋‹ค. VSCode ํ™ˆํŽ˜์ด์ง€์—์„œ ์—๋””ํ„ฐ๋ฅผ ์„ค์น˜ํ•ด์ค€๋‹ค. https://code.vis.. 2019. 6. 14.
์ดํด๋ฆฝ์Šค Git ์—ฐ๋™ ํ”„๋กœ์ ํŠธ Clone :: ๋งˆ์ด์ž ๋ชฝ ์ดํด๋ฆฝ์Šค Git ์—ฐ๋™์ดํด๋ฆฝ์Šค ๋งˆ์ผ“์—์„œ EGit ์„ค์น˜ํ•œ๋‹ค. Window - Show View - Others.. ์—์„œ Git Repositories๊ฐ€ ๋ณด์ด๋„๋ก ์„ค์ • ํ›„ Clone a Git repository ํด๋ฆญํ•˜์—ฌ ํ•ด๋‹น Git Repository๋ฅผ ๋“ฑ๋กํ•˜์ž. ์‚ฌ์šฉํ•˜๋Š” Git Repository ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•ด์ค€๋‹ค. ๋ธŒ๋žœ์น˜๋ฅผ ์„ ํƒ ํ›„ Next Git ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์„ค์ •ํ•˜๊ณ  Finish Git ํ”„๋กœ์ ํŠธ ์ดํด๋ฆฝ์Šค ์—๋””ํ„ฐ๋กœ Importํ”„๋กœ์ ํŠธ๋ฅผ Importํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” Spring Framework์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์—†๋‹ค.Git Repository๋ฅผ ์—ฐ๋™ํ•˜๊ณ  ์—๋””ํ† ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ Import์‹œ์ผœ์ค˜์•ผํ•œ๋‹ค.Git ํ”„๋กœ์ ํŠธ ์šฐํด๋ฆญํ•˜์—ฌ Import Projects ํด๋ฆญ importํ•  ํ”„๋กœ์ ํŠธ ์†Œ์Šค ๊ฒฝ๋กœ๋ฅผ ์„ค์ •ํ•ด์ฃผ๊ณ  .. 2019. 5. 11.
[Jenkins] ์  ํ‚จ์Šค SVN Subversion ํ˜•์ƒ๊ด€๋ฆฌ ๋ฐฐํฌ ๋นŒ๋“œ :: ๋งˆ์ด์ž๋ชฝ ์  ํ‚จ์Šค ํ”„๋กœ์ ํŠธ ๋“ฑ๋ก(SVN)ํ”„๋กœ์ ํŠธ ์„ธํŒ…ํ•˜๋ฉด์„œ ์  ํ‚จ์Šค์— SVN ์—ฐ๋™ํ•˜์—ฌ ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ ๋นŒ๋“œํ•˜๋Š”๋ฐ ์• ๋จน์€ ์  ์žˆ๋‹ค.์•„๋ž˜ ๋‚ด์šฉ๋Œ€๋กœ๋งŒ ๋”ฐ๋ผํ•˜๋ฉด ๋ฌธ์ œ์—†์ด SVN์œผ๋กœ ํ˜•์ƒ๊ด€๋ฆฌํ•˜๊ณ  ์  ํ‚จ์Šค๋กœ ๋นŒ๋“œํ•˜๋Š” ์ž‘์—…์„ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์  ํ‚จ์Šค์™€ SVN์ด ์„œ๋ฒ„์— ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด ์•„๋ž˜ ๋งํฌ๋ฅผ ํ†ตํ•ด์„œ ์„ค์น˜ํ•˜์ž.์•„๋ž˜ ๋‹จ๊ณ„๋ฅผ ์ง„ํ–‰ํ•˜๊ธฐ ์ „์— ์„ค์น˜์™€ SVN์— ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋‚˜ ์˜ฌ๋ฆฐ ์ƒํƒœ์—์„œ ์ง„ํ–‰ํ•œ๋‹ค. [๊ฐœ๋ฐœ/์„œ๋ฒ„ ํ™˜๊ฒฝ] - [CentOS 7] Jenkins ์„ค์น˜ :: ๋งˆ์ด์ž๋ชฝ[๊ฐœ๋ฐœ/์„œ๋ฒ„ ํ™˜๊ฒฝ] - [CentOS 7] Subversion ์„ค์น˜ :: ๋งˆ์ด์ž๋ชฝ ์  ํ‚จ์Šค ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ์  ํ‚จ์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.์ƒˆ๋กœ์šด Item ํด๋ฆญ! ํ”„๋กœ์ ํŠธ ๋ช…์„ ์ž…๋ ฅํ•ด์ฃผ๊ณ  Freestyle project ์„ ํƒ ํ•œ ํ›„ ๋‹ค์Œ์œผ๋กœ ์ง„ํ–‰! ์  ํ‚จ์Šค ํ”„๋กœ์ ํŠธ ์„ค์ •์†Œ์Šค.. 2019. 5. 10.
[Spring] ์Šคํ”„๋ง ์—‘์…€ POI ์Šคํƒ€์ผ, ํฐํŠธ ์ ์šฉ(POI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ 2ํŽธ) :: ๋งˆ์ด์ž๋ชฝ POI ์…€ ์Šคํƒ€์ผ, ํฐํŠธ ์ ์šฉ POI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ 1ํŽธ์—์„œ ์—‘์…€ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด ๋‹ค์šด๋กœ๋“œ ๊ทธ๋ฆฌ๊ณ  ์—…๋กœ๋“œํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ–ˆ๋‹ค. [๊ฐœ๋ฐœ/Spring] - [Spring] ์Šคํ”„๋ง ์—‘์…€ํŒŒ์ผ ์—…๋กœ๋“œ ๋‹ค์šด๋กœ๋“œ ๊ธฐ๋ณธ(POI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ 1ํŽธ) :: ๋งˆ์ด์ž๋ชฝ ์Šคํƒ€์ผ ๋ฐ ํฐํŠธ์ ์šฉ์€ ์œ„ ๊ธ€์—์„œ ์ด์–ด์ง€๋Š” ๋‚ด์šฉ์ด๋ฏ€๋กœ ์•„์ง ์—‘์…€ ๋‹ค์šด๋กœ๋“œ ๊ธฐ๋Šฅ์ด ์™„๋ฃŒ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ํ•ด๋‹น ๊ธ€์„ ํ™•์ธํ•˜์—ฌ ์‹ค์Šต์„ ์ง„ํ–‰ํ•œ๋‹ค. ์ด๋ฒˆ๊ธ€์—์„œ๋Š” ์—‘์…€ ๋‹ค์šด๋กœ๋“œ๋ฅผ ๋ฐ›์„๋•Œ ์Šคํƒ€์ผ๋ง๊ณผ ํฐํŠธ๋ฅผ ์„ค์ •ํ•ด์„œ ๋ฐ›์„์ˆ˜ ์žˆ๊ฒŒ POI๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‹ค์Šต์„ ํ†ตํ•ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณผ๊ฒƒ์ด๋‹ค. ํ•ด๋‹น ์‹ค์Šต์€ POI๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ 4.0.0 ๋ฒ„์ „์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ์—‘์…€ ๋‹ค์šด๋กœ๋“œ ์ตœ์ข… ๊ฒฐ๊ณผ๋ฌผ ์ด๋ฒˆ ์‹ค์Šต์„ ํ†ตํ•ด ๋ณ‘ํ•ฉ, ์…€ ์Šคํƒ€์ผ๋ง, ํฐํŠธ๋ฅผ ์ˆ˜์ •ํ•ด์„œ ์•„๋ž˜์™€ ๊ฐ™์€ ์—‘์…€ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด๋ณผ.. 2019. 4. 28.
[Spring] ์Šคํ”„๋ง ์—‘์…€ํŒŒ์ผ ์—…๋กœ๋“œ ๋‹ค์šด๋กœ๋“œ ๊ธฐ๋ณธ(POI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ 1ํŽธ) :: ๋งˆ์ด์ž๋ชฝ ์—‘์…€ํŒŒ์ผ ์—…๋กœ๋“œ ๋‹ค์šด๋กœ๋“œ ์–ด๋Š ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋˜๊ฐ„์— ์›น์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ์—‘์…€ํŒŒ์ผ ๊ธฐ๋Šฅ์ด ๋น ์งˆ ์ˆ˜ ์—†๋‹ค. DB๋ฐ์ดํ„ฐ๋‚˜ ์–ด๋– ํ•œ ๋กœ์ง์— ์˜ํ•œ ๊ฒฐ๊ณผ๊ฐ’์„ ์—‘์…€ํŒŒ์ผ ํ˜•ํƒœ๋กœ ๋‹ค์šด๋กœ๋“œ๋ฅผ ๋ฐ›๊ฑฐ๋‚˜ ์—‘์…€๋กœ ์ •๋ฆฌํ•œ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ด์„œ API์— ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ๋˜์ง€๊ฑฐ๋‚˜ DB์— ์ €์žฅํ•˜๋Š” ์ž‘์—…์€ ๊ผญ ํ•„์š”ํ•˜๋‹ค. ์—‘์…€๋งŒ ์ž˜ํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ํ•„์š”์—†๋‹ค๋Š” ๋ง์ด ์žˆ๋“ฏ์ด, ์›น์ƒ์—์„œ ์›ํ™œํ•˜๊ฒŒ ์—‘์…€ํŒŒ์ผ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ด€๋ฆฌ๋„๊ตฌ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์€ ๊ผญ ํ•„์š”ํ•˜๋‹ค. ์ด์ „์— ์˜ฌ๋ฆฐ ํŒŒ์ด์ฌ์œผ๋กœ ์—‘์…€ํŒŒ์ผ์„ ๋‹ค๋กœ๋Š” ๋ฒ•(https://myjamong.tistory.com/51) ๋ณด๋‹ค๋Š” ์กฐ๊ธˆ ๋” ๋ณต์žกํ•œ ๊ตฌ์กฐ๋กœ ๋˜์–ด ์žˆ์ง€๋งŒ, ์•„์ง์€ ์ž๋ฐ” ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ณต๊ณต ์—…์ฒด๋“ค์ด ๋งŽ์•„ ๊ผญ ์•Œ์•„๋†”์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ์Šคํ”„๋ง์„ ํ™œ์šฉํ•œ ์—‘์…€ ํŒŒ์ผ ์—…๋กœ๋“œ ๋‹ค์šด๋กœ๋“œ.. 2019. 4. 23.
[Docker] ๋„์ปค๋ฅผ ์ด์šฉํ•œ ๋งฅOS ์˜ค๋ผํดDB ์„ค์น˜ :: ๋งˆ์ด์ž๋ชฝ ๋งฅOS ์˜ค๋ผํด ์„ค์น˜ ํ˜„์žฌ ๋งฅOS์—์„œ๋Š” ์˜ค๋ผํดDB ์„ค์น˜๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋ž˜์„œ ๋งŽ์€ ๋ธ”๋กœ๊ทธ๋‚˜ ์ฑ…์—์„œ ๋Œ€์•ˆ์œผ๋กœ ๋„์ปค์—๋‹ค ์˜ค๋ผํดDB ์„œ๋ฒ„๋ฅผ ์˜ฌ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์„ ์•ˆ๋‚ดํ•œ๋‹ค. ๋งฅOS์—์„œ ์˜ค๋ผํด์„ ์„ค์น˜ํ•˜๋Š”๋ฐ ์ž˜ ์•ˆ๋œ๋‹ค๋Š” ๋ฌธ์˜๊ฐ€ ๋“ค์–ด์™€ ๊ธ€์„ ์ž‘์„ฑํ•œ๋‹ค. ์˜ค๋ผํดDB๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์•ž์„œ ์•„์ง ๋„์ปค๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•œ๋‹ค. https://myjamong.tistory.com/105 [Docker] ๋งฅOS ๋„์ปค ์„ค์น˜ :: ๋งˆ์ด์ž๋ชฝ Docker ๋„์ปค ๋„์ปค๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ถ”์ƒํ™”ํ•˜์—ฌ ๋‹ค๋Ÿ‰ํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ์‰ฝ๊ณ  ํŽธํ•˜๊ฒŒ ๋ฐฐํฌ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ์‰ฝ๊ฒŒ ์ƒ๊ฐํ•˜๋ฉด... ๊ฐœ๋ฐœํ• ๋•Œ ํ™˜๊ฒฝ์„ค์ •ํ•˜๋Š๋ผ ์†Œ๋น„ํ–ˆ๋˜ ์‹œ๊ฐ„์„ ์ค„์—ฌ์ฃผ๊ณ , ์˜ค๋กœ์ง€ ๊ฐœ๋ฐœ์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜.. myjamong.tistory.com ๋„์ปค ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ๋„์ปค๊ฐ€ ๊ฐœ๋ฐœํ•˜๋Š”๋ฐ .. 2019. 4. 21.
[Docker] ๋งฅOS ๋„์ปค ์„ค์น˜ :: ๋งˆ์ด์ž๋ชฝ Docker ๋„์ปค ๋„์ปค๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ถ”์ƒํ™”ํ•˜์—ฌ ๋‹ค๋Ÿ‰ํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ์‰ฝ๊ณ  ํŽธํ•˜๊ฒŒ ๋ฐฐํฌ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ์‰ฝ๊ฒŒ ์ƒ๊ฐํ•˜๋ฉด... ๊ฐœ๋ฐœํ• ๋•Œ ํ™˜๊ฒฝ์„ค์ •ํ•˜๋Š๋ผ ์†Œ๋น„ํ–ˆ๋˜ ์‹œ๊ฐ„์„ ์ค„์—ฌ์ฃผ๊ณ , ์˜ค๋กœ์ง€ ๊ฐœ๋ฐœ์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก, ํ™˜๊ฒฝ์„ ์ปจํ…Œ์ด๋„ˆํ™”ํ•˜์—ฌ ๋ณต์ œํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ๋งฅOS ๋„์ปค ์„ค์น˜ ๋„์ปค ํ™ˆํŽ˜์ด์ง€์—์„œ stable๋กœ ์„ค์น˜ ํ•œ๋‹ค. ์„ค์น˜์‹œ ๋„์ปค ๊ณ„์ •์ด ํ•„์š”ํ•˜๋‹ˆ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด ์ฃผ์ž. https://hub.docker.com/editions/community/docker-ce-desktop-mac Docker Desktop for Mac - Docker Hub Docker Desktop for Mac Docker Desktop for Mac is an easy-to-install desktop app fo.. 2019. 4. 21.
[Spring] background Thread ๋™์  ์ž‘์—… ์‹คํ–‰์‹œํ‚ค๊ธฐ ThreadPoolTaskExecutor :: ๋งˆ์ด์ž๋ชฝ Spring ๋™์  ์ž‘์—… ์‹คํ–‰ ThreadPoolTaskExecutor ์ƒ๊ฐ๋ณด๋‹ค ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ• ๋•Œ Runnable Thread๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์ง€ ์•Š๋‹ค. ํŠนํžˆ ์›น๊ฐœ๋ฐœ์ด๋‚˜ ์„œ๋ฒ„๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๋ณด๋ฉด, ๊ฒŒ์ž„์ฒ˜๋Ÿผ ๋™์ ์ธ ๊ธฐ๋Šฅ๋ณด๋‹ค ์ •์ ์ธ ๊ธฐ๋Šฅ์ด ๋งŽ์ด ์š”๊ตฌ๋œ๋‹ค. ํ•„์ž๋Š” ํ”„๋กœ์ ํŠธ ์ง„ํ–‰์ค‘, API์™€ ์ง€์†์ ์ธ ์—ฐ๊ฒฐ์„ ํ•˜๋ฉด์„œ ๋‹ค๋ฅธ ์ž‘์—…๋“ค์„ ๋™์‹œ์— ํ• ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ฝ”๋“œ์ƒ์œผ๋กœ๋งŒ ๊ตฌํ˜„ํ•ด์•ผํ•˜๋Š” ์ƒํ™ฉ์—์„œ Spring์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” ThreadPoolTaskExecutor๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ๋ฐ๋ชจ์›นํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด ๋ฒ„ํŠผ์„ ํด๋ฆญํ–ˆ์„๋•Œ ์ž‘์—…์ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์ง„ํ–‰์ด ๋˜๊ณ  ๋ฒ„ํŠผ์€ disable์‹œํ‚ค๋Š” ์ž‘์—…์„ ํ•ด๋ณผ๊ฒƒ์ด๋‹ค. ํ”„๋กœ๊ทธ๋ ˆ์Šค๋ฐ”๋‚˜ ์ž‘์—…์˜ ์ง„ํ–‰์„ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์—ˆ์œผ๋‚˜... ๊ฐ„๋‹จํ•œ ํ…Œ์ŠคํŒ…๋ชจ๋“ˆ์ด๋ผ ์ตœ๋Œ€ํ•œ ๊ฐ€๋ณ๊ฒŒ ์ƒˆ๋กœ๊ณ ์นจํ–ˆ์„๋•Œ ๋งˆ๋‹ค ํ™•์ธ์ด ๊ฐ€๋Š”ํ•˜๋„๋ก ๊ตฌ.. 2019. 4. 14.