๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กfull stack (146)

JiYoung Dev ๐Ÿ–ฅ

[์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋ฐฐ์—ด ๋ฌธ์ œํ’€์ด (2023.03.31)

๋ฌธ์ œ 1. ๋‚ด๊ฐ€ ํ‘ผ๊ฑฐ ์Œค์ด ํ‘ผ๊ฑฐ ๋ฌธ์ œ2 for ~ each๋ฌธ ๊ธฐ์กด์˜ for๋ฌธ์„ ๋ณ€ํ˜•ํ•˜์—ฌ, ๋ฐฐ์—ด์ด๋‚˜ ๋‚˜์—ด(enumeration)์˜ ํฌ๊ธฐ๋งŒํผ ๋ฃจํ”„๋ฅผ ๋Œ๋ฉด์„œ ๊ฐ ์›์†Œ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ ‘๊ทผํ•˜๋Š”๋ฐ ์œ ์šฉํ•˜๊ฒŒ ๋งŒ๋“  for๋ฌธ for ( ๋ณ€์ˆ˜ : ๋ฐฐ์—ด๋ ˆํผ๋Ÿฐ์Šค ) { .... ๋ฐ˜๋ณต์ž‘์—…๋ฌธ..... } ๋ฌธ์ œ 3. ๋‚ด๊ฐ€ํ‘ผ๊ฑฐ ์Œค์ด ํ‘ผ๊ฑฐ ์ฐจ์ด์  : break ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์—ด์— ๋˜‘๊ฐ™์€ ๊ฐ’์ด ์žˆ์–ด๋„ ํ•œ๋ฒˆ๋งŒ ์‹คํ–‰ํ•˜๋„๋ก ๋ฌธ์ œ4. ๋‚ด๊ฐ€ ํ‘ผ๊ฑฐ ์Œค์ด ํ‘ผ๊ฑฐ ์ฐจ์ด์  : ํ•˜๋‚˜์˜ for๋ฌธ์œผ๋กœ ์ž‘์„ฑ. O/X ์ถœ๋ ฅ์„ ๋ณ€์ˆ˜๋กœ ์ง€์ •ํ•˜๊ณ  ๋งž์œผ๋ฉด O ๋ฌธ์ž์—ด ์ถ”๊ฐ€, ํ‹€๋ฆฌ๋ฉด X ๋ฌธ์ž์—ด ์ถ”๊ฐ€ํ•˜์—ฌ ๋งˆ์ง€๋ง‰์— ํ•œ๋ฒˆ๋งŒ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๊ฒŒ for ๋ฌธ ๋ฐ–์— print๋ฌธ์œผ๋กœ ์ž‘์„ฑ ๋ฌธ์ œ5. ๋‚ด๊ฐ€ ํ‘ผ๊ฑฐ ๋ฐœ์ƒํ–ˆ๋˜ ์˜ค๋ฅ˜ ๋ณ€์ˆ˜ j์— ๋Œ€ํ•˜์—ฌ for๋ฌธ์—์„œ j++๊ฐ€ dead ์ฝ”๋“œ๋กœ ์ธ์‹. j ๊ฐ’์ด 0..

full stack/JAVA 2023. 3. 31. 15:12
[์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋ฐฐ์—ด (2023.03.30)

์ž๋ฃŒ/์ •๋ณด/์ž๋ฃŒ๊ตฌ์กฐ ์ž๋ฃŒ ํ˜„์‹ค ์„ธ๊ณ„๋กœ๋ถ€ํ„ฐ ์ˆ˜์ง‘ํ•œ ์‚ฌ์‹ค์ด๋‚˜ ๊ฐœ๋…์˜ ๊ฐ’ ๋˜๋Š” ์ด๋“ค์˜ ์ง‘ํ•ฉ ์‚ฌ์ „์ฒ˜๋ฆฌ, ๊ฐ€๊ณต์ด ์•ˆ ๋œ ์ˆ˜์ง‘ ์ƒํƒœ ์ •๋ณด ํŠน์ •ํ•œ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด '์ž๋ฃŒ'๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ๊ฐ€๊ณตํ•œ ํ˜•ํƒœ ์ž๋ฃŒ๊ตฌ์กฐ ์ž๋ฃŒ๋“ค์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์กฐ์ง์ , ์ฒด๊ณ„์ ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ‘œํ˜„ํ•œ ๊ฒƒ ๋ฐฐ์—ด (Array) ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ๋ณด๊ด€ํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ ๋™์ผํ•œ ์ž๋ฃŒํ˜•(์ •์ˆ˜ํ˜•, ๋ฌธ์ž์—ด ๋“ฑ)์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์†๋œ ๊ณต๊ฐ„์— ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ ์ธ๋ฑ์Šค(index)์™€ ์ธ๋ฑ์Šค์— ๋Œ€์‘ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ์—ฐ์†์ ์ธ ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐฐ์—ด์˜ ํŠน์ง• 1.๋™์ผํ•œ ์ž๋ฃŒํ˜•์˜ ๋ฐ์ดํ„ฐ๋“ค์ด ์ˆœ์ฐจ์ ์œผ๋กœ ์ €์žฅ (๋ฐ์ดํ„ฐ๋“ค์— ์ˆœ์„œ๊ฐ€ ์žˆ์Œ) > ์ธ๋ฑ์Šค์— ๋Œ€์‘ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋“ค๋กœ ์ด๋ฃจ์ง„ ์ž๋ฃŒ ๊ตฌ์กฐ โ€ป ์ธ๋ฑ์Šค : ๊ฐ€์žฅ ์ฒซ๋ฒˆ์งธ ๋“ค์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋Š” 0, ๊ทธ ๋‹ค์Œ ๋ฐ์ดํ„ฐ๋Š” 1, ...

full stack/JAVA 2023. 3. 30. 18:45
[JAVA] ๋ฉ”์„œ๋“œ (2023.03.30)

๋ฉ”์„œ๋“œ ๊ฐ์ฒด์˜ ํ–‰์œ„ ๊ฐ์ฒด์˜ ํ–‰์œ„๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํด๋ž˜์Šค ์•ˆ์—์„œ ์ •์˜๋˜๋Š” ๊ฒƒ ๋ฉ”์„œ๋“œ ๊ตฌ์„ฑ์š”์†Œ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฉ”์„œ๋“œ ๋กœ์ง ๋ฆฌํ„ด๊ฐ’ : ๊ฒฐ๊ณผ๊ฐ’ โ€ป ๋ฉ”์„œ๋“œ๋Š” main ๋ฉ”์„œ๋“œ ๋ฐ–์—์„œ ์ž‘์„ฑ public static int sum(int a, int b) { int result = a + b; return result; } public static void main(String[] args) { sum(5, 10) ; } ๋ฉ”์„œ๋ธŒ ์ž‘์„ฑ๋ถ€ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค์–ด ๋†“๊ณ  static์ด๋ผ๋Š” ๊ณต๊ฐ„์— ์ €์žฅ๋งŒ ํ•ด ๋†“์€ ์ƒํƒœ ๋ถˆ๋Ÿฌ์˜ค๋ ค๋ฉด main ๋ฉ”์„œ๋“œ ์•ˆ์—์„œ ๋ฉ”์„œ๋“œ๋ช…(ํ˜ธ์ถœ๋ช…)์„ ์ž‘์„ฑํ•ด์•ผ ํ•จ public ๋ฉ”์„œ๋“œ ์„ ์–ธ, ํด๋ž˜์Šค ์–ด๋””์—์„œ๋‚˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์ฃผ๋Š” ์ ‘๊ทผ์ œํ•œ์ž static ์ €์žฅ์†Œ ๋ฆฌํ„ดํƒ€์ž… (int) ๋Œ๋ ค์ฃผ๋Š” ๊ฒฐ..

full stack/JAVA 2023. 3. 30. 18:03
[Oracle Database] ROWNUM, TOP-N, ํŽ˜์ด์ง• ๊ธฐ์ˆ , ์„œ๋ธŒ์ฟผ๋ฆฌ (2023.03.28~29)

๐Ÿ”Ž ROWNUM ํ…Œ์ด๋ธ”์˜ ํŠœํ”Œ(ํ–‰)์— ์ž„์‹œ๋กœ ๋ถ€์—ฌ๋˜๋Š” ์ผ๋ จ๋ฒˆํ˜ธ ์‹ค์ œ ํ…Œ์ด๋ธ”์—๋Š” ์—†์ง€๋งŒ ํŠน์ • ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ปฌ๋Ÿผ์„ ๊ฐ€์งœ์ปฌ๋Ÿผ(์˜์‚ฌ์ปฌ๋Ÿผ)์ด๋ผ๊ณ  ํ•จ ์˜ˆ: ROWNUM, ROWID ROWNUM์€ ๋ณดํ†ต WHERE์ ˆ์— ์‚ฌ์šฉ WHERE์ ˆ์— ์‚ฌ์šฉํ•˜๋ฉด ์ถœ๋ ฅ๋˜๋Š” ํŠœํ”Œ(ํ–‰)์˜ ๊ฐœ์ˆ˜๋ฅผ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Œ ์‚ฌ์šฉ์‹œ ์ฃผ์˜์‚ฌํ•ญ ROWNUM์€ 1์˜ ๊ฐ’์„ ๋จผ์ € ์‚ฌ์šฉํ•ด์•ผ 2์˜ ๊ฐ’์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ ROWNUM = 2์ธ ๋Œ€์ƒ์„ ๋ฝ‘์œผ๋ ค๋ฉด? ์ธ๋ผ์ธ๋ทฐ ์‚ฌ์šฉ ์ธ๋ผ์ธ๋ทฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ROWNUM๋„ ์ง์› ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๊ฐ€๊ณตํ•ด ์‚ฌ์šฉํ•˜๋Š” ์›๋ฆฌ ๐Ÿ”Ž TOP-N ์ƒ์œ„์—์„œ N๊ฐœ ๋ฝ‘๊ธฐ ROWNUM ๊ฐœ๋…๊ณผ ์ธ๋ผ์ธ๋ทฐ ๊ฐœ๋…์„ ์กฐํ•ฉํ•˜์—ฌ ์ƒ์œ„ N๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋งŒ ๋ฝ‘๋Š” ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ โ–ผ ์ง์›๋“ค์˜ ์—ฐ๋ด‰์ด ๋†’์€ ์ˆœ์„œ๋Œ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌ ํ›„ ์ƒ์œ„ 5๋ช…๋งŒ ์ถœ๋ ฅ โ–ผ 1. ์ง..

full stack/database 2023. 3. 28. 14:08
[JAVA] While๋ฌธ ๋ฌธ์ œํ’€์ด, for ๋ฐ˜๋ณต๋ฌธ (2023.03.27)

Random ๊ธฐ๋Šฅ ์‚ฌ์šฉํ•˜๊ธฐ Random rd = new Random () ; -- import ํ•„์š” rd.nextInt() ; Int ๋ฒ”์œ„์— ์žˆ๋Š” ๋ชจ๋“  ์ •์ˆ˜ rd.nextInt(10) ; 0~9 ๋ฒ”์œ„์— ์žˆ๋Š” ๋ชจ๋“  ์ •์ˆ˜ rd.nextInt(100) ; 0~99 ๋ฒ”์œ„์— ์žˆ๋Š” ๋ชจ๋“  ์ •์ˆ˜ 1๋ถ€ํ„ฐ ๋žœ๋คํ•œ ์ˆซ์ž๋ฅผ ๋ฝ‘์œผ๋ ค๋ฉด +1์„ ํ•ด์ฃผ๋ฉด ๋จ ๋ฌธ์ œํ’€์ด ๊ฐ„๋‹จ ๋ณต์Šต ์ œ์–ด๋ฌธ >> ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ ๊ฐœ๋ฐœ์ž๊ฐ€ ์›ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ปดํŒŒ์ผ์„ ์ง„ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์กฐ๊ฑด๋ฌธ : ํŒ๋‹จ if, if - else, if - else if๋ฌธ, switch๋ฌธ ๋ฐ˜๋ณต๋ฌธ : ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์ž๋Š” ์ฝ”๋“œ๋ฅผ ์ตœ์†Œ๋กœ ์ž‘์„ฑํ•˜๋Š”๋ฐ ๋ชฉํ‘œ๋ฅผ ๋‘๊ณ  ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•ด์•ผ ํ•œ๋‹ค while, do-while, for โ‘  while while(์กฐ๊ฑด์‹){ ์‹คํ–‰์ฝ”๋“œ } → ๋ฉˆ์ถ”๊ณ  ์‹ถ์„ ๋•Œ : br..

full stack/JAVA 2023. 3. 27. 17:34
[Oracle Database] TCL, DCL (2023.03.27)

๐Ÿ”Ž TCL (Transaction Control Language) ํŠธ๋žœ์žญ์…˜์„ ์ œ์–ดํ•œ๋‹ค ํŠธ๋žœ์žญ์…˜ : ์–ด๋–ค ์—…๋ฌด๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ผ๋ จ์˜ ๋‹จ๊ณ„ ํŠธ๋žœ์žญ์…˜ ํŠน์ง• 1. ์›์ž์„ฑ(atomicity) : ํŠธ๋žœ์žญ์…˜์ด ๋ชจ๋‘ ์™„๋ฃŒ๋˜๊ฑฐ๋‚˜ ํ•˜๋‚˜๋ผ๋„ ์‹คํŒจ์‹œ ๋ชจ๋‘ ์›์ƒ๋ณต๊ตฌ ๋˜์–ด์•ผ ํ•จ (all or nothing) 2. ์ผ๊ด€์„ฑ(consistency) : ํ•ญ์ƒ ์ผ๊ด€์ ์ธ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ ธ์•ผ ํ•จ. ํŠธ๋žœ์žญ์…˜ ์‹คํ–‰ ์ „์ด ์ •์ƒ์ด๋ผ๋ฉด ์‹คํ–‰ ํ›„์—๋„ ์ •์ƒ์ด์–ด์•ผ ํ•จ 3. ๊ณ ๋ฆฝ์„ฑ(isolation) : ํŠธ๋žœ์žญ์…˜์€ ์„œ๋กœ ๊ฐ„์„ญํ•˜๋ฉด ์•ˆ๋จ 4. ์˜์†์„ฑ/์ง€์†์„ฑ (durability) : ์˜๊ตฌ ์ €์žฅ์„ ํ–ˆ์œผ๋ฉด ๋ฐ˜๋“œ์‹œ ๋ฐ˜์˜๋˜์–ด์•ผ ํ•จ. commit์„ ํ–ˆ์œผ๋ฉด ๋ฐ์ดํ„ฐ๋Š” ๋ฐ˜๋“œ์‹œ ์˜๊ตฌ ์ €์žฅ ๋˜์–ด ์žˆ์–ด์•ผ ํ•จ ๐Ÿ“– ์ข…๋ฅ˜ COMMIT ROLLBACK SAVEPOINT ๐Ÿ“– COMMIT ํŠธ๋žœ..

full stack/database 2023. 3. 27. 14:01
[Oracle Database] DDL - DROP, ์‹œํ€€์Šค์™€ ๋ทฐ (2023.03.27)

์ฝ”๋ฉ˜ํŠธ ์ž…๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ• COMMENT ON TABLE ํ…Œ์ด๋ธ”๋ช… IS 'ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์„ค๋ช…' ; COMMENT ON COLUMN ํ…Œ์ด๋ธ”๋ช….์ปฌ๋Ÿผ๋ช… IS '์ปฌ๋Ÿผ์— ๋Œ€ํ•œ ์„ค๋ช…' ; ๐Ÿ”Ž ํ…Œ์ด๋ธ”/์ œ์•ฝ์กฐ๊ฑด ์‚ญ์ œํ•˜๊ธฐ (DROP) ๐Ÿ“– DROP DROP TABLE ํ…Œ์ด๋ธ”์„ ์˜๊ตฌ์‚ญ์ œ ํšŒ์›์ •๋ณด ํ…Œ์ด๋ธ”์—์„œ ์ฐธ์กฐํ•˜๊ณ  ์žˆ๋Š” ํ‚ค๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ ์‚ญ์ œ ๋ถˆ๊ฐ€๋Šฅ CASCADE CONSTRAINT๋ฅผ ์ด์šฉํ•˜์—ฌ ์ œ์•ฝ์กฐ๊ฑด(FK)์„ ํ•จ๊ป˜ ์‚ญ์ œํ•˜๋ฉด ์‚ญ์ œ ๊ฐ€๋Šฅ (CASCADE : ์—ฐ์†์ ์œผ๋กœ) DROP TABLE ํ…Œ์ด๋ธ”๋ช… CASCADE CONSTRAINT ; ์ œ์•ฝ์กฐ๊ฑด๋งŒ ์‚ญ์ œ ALTER TABLE ํ…Œ์ด๋ธ”๋ช… DROP CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช… ; ๐Ÿ“– TRUNCATE ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œ TRUNCATE TABLE ํ…Œ์ด๋ธ”๋ช… ; ๐Ÿ“– DELETE/DROP/..

full stack/database 2023. 3. 27. 11:40
[JAVA] ๋ฐ˜๋ณต๋ฌธ while, do~while (2023.03.24)

2023.03.24 ํ•™์Šต๋‚ด์šฉ ๐Ÿ”Ž ๋ฐ˜๋ณต๋ฌธ ์–ด๋–ค ์กฐ๊ฑด์ด ๋งŒ์กฑํ•  ๋•Œ๊นŒ์ง€ ๋˜๋Š” ํŠน์ • ํšŸ์ˆ˜๋งŒํผ ๊ฐ™์€ ์ฒ˜๋ฆฌ๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ ์‹คํ–‰ํ•˜๋Š” ๊ตฌ์กฐ ๐Ÿ“– ๋ฐ˜๋ณต๋ฌธ์˜ ์ข…๋ฅ˜ while๋ฌธ, do~while๋ฌธ, for๋ฌธ for๋ฌธ์€ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์—, while๋ฌธ๊ณผ do-while๋ฌธ์€ ๋ฐ˜๋ณตํšŸ์ˆ˜๋ฅผ ์•Œ ์ˆ˜ ์—†๊ณ  ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ฐ˜๋ณต์ด ๊ณ„์†๋˜๊ฑฐ๋‚˜ ์ค‘๋‹จ๋˜๋Š” ๊ฒฝ์šฐ์— ์ด์šฉ. while๋ฌธ์€ ๋ฐ˜๋ณต ์กฐ๊ฑด์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋”ฐ์ง€๋Š” ๊ฒฝ์šฐ์—, do-while๋ฌธ์€ ๋ฐ˜๋ณต ์กฐ๊ฑด์„ ๋‚˜์ค‘์— ๋”ฐ์ง€๋Š” ๊ฒฝ์šฐ์— ์ ํ•ฉ โš™ while๋ฌธ ์ •ํ™•ํ•˜๊ฒŒ ๋ช‡ ๋ฒˆ ๋ฐ˜๋ณตํ•ด์•ผํ•  ์ง€ ์ •ํ•ด์ง€์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ช‡ ๋ฒˆ ๋ฐ˜๋ณตํ•ด์•ผํ•˜๋Š”์ง€ ์ •ํ•ด์ ธ ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋ณต๋ฌธ์„ ์ˆ˜ํ–‰ํ•  ์กฐ๊ฑด์„ ์ง€์ •ํ•ด ์ค˜์•ผ ํ•จ ์กฐ๊ฑด์€ ํ•ญ์ƒ ๋…ผ๋ฆฌํ˜• (boolean : true / false) while(์กฐ๊ฑด์‹){ ์‹คํ–‰๋ฌธ์žฅ } ๋‹ค์Œ..

full stack/JAVA 2023. 3. 24. 18:19