728x90
๋ฐ˜์‘ํ˜•

์ „์ฒด ๊ธ€ 1179

[JAVA] ์™ธ๋ถ€ API ํ˜ธ์ถœ์‹œ ์—๋Ÿฌ์ฒ˜๋ฆฌํ•˜๊ธฐ

try { // s-form ์ƒ์„ฑ ResSFormDocMakeDTO resSForm = sFormClient.requestSFormDocMake(reqSForm); // ์„ฑ๊ณต ์—ฌ๋ถ€ ์ฒดํฌ (boolean ํƒ€์ž…) if (!resSForm.getSucc()) { // ์˜ˆ์™ธ ๋ฐœ์ƒ throw new BasicApiException("s-form ์ƒ์„ฑ ์‹คํŒจ: " + "์—๋Ÿฌ ์ฝ”๋“œ: " + resSForm.getErrCode() + ", ์—๋Ÿฌ ๋ฉ”์‹œ์ง€: " + resSForm.getErrMessage()); } ... ..

JAVA 2024.10.07

[JAVA] ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

์ œ๋„ค๋ฆญ(Generics)์€ Java์™€ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ, ํด๋ž˜์Šค, ์ธํ„ฐํŽ˜์ด์Šค, ๋ฉ”์„œ๋“œ ๋“ฑ์— ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋„์ž…ํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ๋œ ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:1. ํƒ€์ž… ์•ˆ์ „์„ฑ(Type Safety)์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ปดํŒŒ์ผ ํƒ€์ž„์— ํƒ€์ž…์„ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋Ÿฐํƒ€์ž„์— ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ClassCastException๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๋ฅผ ๋ฏธ์—ฐ์— ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ์ปฌ๋ ‰์…˜์—์„œ๋Š” ๊ฐ์ฒด๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ ํƒ€์ž… ์ฒดํฌ๊ฐ€ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์•„ ์ž˜๋ชป๋œ ํƒ€์ž…์˜ ๊ฐ์ฒด๊ฐ€ ์ถ”๊ฐ€๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.List list = new ArrayList();list.add("Hello");list.add(123); // ์ปดํŒŒ์ผ ์—๋Ÿฌ ..

JAVA 2024.10.06

MIME ํƒ€์ž…

MIME ํƒ€์ž…(Multipurpose Internet Mail Extensions type)์€ ์›น๊ณผ ์ด๋ฉ”์ผ์„ ํฌํ•จํ•œ ์ธํ„ฐ๋„ท์—์„œ ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ํ˜•์‹์„์ •์˜ํ•˜๋Š” ํ‘œ์ค€์ž…๋‹ˆ๋‹ค.์ด ํƒ€์ž…์€ ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „์†กํ•˜๋Š” ์ฝ˜ํ…์ธ ์˜ ์œ ํ˜•์„ ๋ช…์‹œํ•˜์—ฌ,ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ทธ ๋‚ด์šฉ์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผ ํ• ์ง€๋ฅผ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.MIME ํƒ€์ž…์˜ ๊ตฌ์กฐMIME ํƒ€์ž…์€ ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค:์ฃผ ํƒ€์ž… (Primary Type): ๋ฐ์ดํ„ฐ์˜ ์ผ๋ฐ˜์ ์ธ ๋ฒ”์ฃผ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์€ ์ฃผ ํƒ€์ž…์ด ์žˆ์Šต๋‹ˆ๋‹ค.text: ์ผ๋ฐ˜ ํ…์ŠคํŠธ ํŒŒ์ผ (์˜ˆ: text/plain, text/html)image: ์ด๋ฏธ์ง€ ํŒŒ์ผ (์˜ˆ: image/jpeg, image/png)audio: ์˜ค๋””์˜ค ํŒŒ์ผ (์˜ˆ: audio/mpeg, audio/wav)video: ๋น„๋””..

IT์ง€์‹ 2024.10.05

application/octet-stream, MediaType.APPLICATION_PDF

์ฐจ์ด์  ์š”์•ฝ๊ตฌ๋ถ„application/octet-streamMediaType.APPLICATION_PDF์˜๋ฏธ์ผ๋ฐ˜์ ์ธ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐPDF ํŒŒ์ผ์‚ฌ์šฉ ๋ชฉ์ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ ์‹œ ํ™•์žฅ์ž์— ๋”ฐ๋ฅธ ์ฒ˜๋ฆฌ ํ•„์š”PDF ํŒŒ์ผ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ธ์‹ํ•˜๊ณ  ์ฒ˜๋ฆฌํด๋ผ์ด์–ธํŠธ ์ฒ˜๋ฆฌ์•Œ ์ˆ˜ ์—†๋Š” ํŒŒ์ผ๋กœ ์ฒ˜๋ฆฌPDF ๋ทฐ์–ด๋กœ ์—ด๋ฆฌ๊ฑฐ๋‚˜ ๋ธŒ๋ผ์šฐ์ € ๋‚ด์—์„œ ์—ด๋ฆผ๊ฒฐ๋ก application/octet-stream์€ ๋ฐ์ดํ„ฐ์˜ ํ˜•์‹์ด ๋ถˆํ™•์‹คํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ˜๋ฉด,MediaType.APPLICATION_PDF๋Š” PDF ํŒŒ์ผ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ง€์ •ํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.๋”ฐ๋ผ์„œ ์‘๋‹ตํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ํ˜•์‹์— ๋”ฐ๋ผ ์ ์ ˆํ•œ MIME ํƒ€์ž…์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.PDF ํŒŒ์ผ์„ ์ „์†กํ•  ๋•Œ๋Š” MediaType.APPLICATION_PDF๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ๊ฐ€ PDF ํ˜•์‹์œผ๋กœ์ •ํ™•ํ•˜๊ฒŒ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋„..

IT์ง€์‹ 2024.10.04

[JAVA] Desktop Class

Java์˜ Desktop ํด๋ž˜์Šค๋Š” Java AWT (Abstract Window Toolkit) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ผ๋ถ€๋กœ,์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ธฐ๋ณธ ์‹œ์Šคํ…œ์˜ ๋ฐ์Šคํฌํ†ฑ ํ™˜๊ฒฝ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค๋‹ˆ๋‹ค.์ด ํด๋ž˜์Šค๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” ๋‹ค์–‘ํ•œ ๋ฐ์Šคํฌํ†ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, ํŒŒ์ผ์„ ์—ด๊ฑฐ๋‚˜, ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด URL์„ ์—ด๊ฑฐ๋‚˜, ์ด๋ฉ”์ผ ํด๋ผ์ด์–ธํŠธ๋ฅผ ํ†ตํ•ด ์ด๋ฉ”์ผ์„ ์ž‘์„ฑํ•˜๋Š” ๋“ฑ์˜์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์ฃผ์š” ๊ธฐ๋ŠฅํŒŒ์ผ ์—ด๊ธฐ:์ง€์ •๋œ ํŒŒ์ผ์„ ๊ธฐ๋ณธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, .txt ํŒŒ์ผ์€ ๊ธฐ๋ณธ ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ์—์„œ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.Desktop desktop = Desktop.getDesktop();File file = new File("example.txt");desktop.open(..

JAVA 2024.10.03

[JAVA] InputStream / InputStreamResource

1. InputStream์ •์˜:InputStream์€ Java์—์„œ ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ์„ ์ฝ๊ธฐ ์œ„ํ•œ ์ถ”์ƒ ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ ํŒŒ์ผ, ๋„คํŠธ์›Œํฌ ์†Œ์ผ“, ๋˜๋Š” ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์†Œ์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.์šฉ๋„:๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์ฝ์–ด์˜ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.์„œ๋ธŒํด๋ž˜์Šค์ธ FileInputStream, ByteArrayInputStream, BufferedInputStream ๋“ฑ์„ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์†Œ์Šค์—์„œ ์ž…๋ ฅ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.InputStream inputStream = new FileInputStream("example.txt");int data = inputStream.read();while (data != -1) { // Process the data data = inputStream.read(..

JAVA 2024.10.02

[JAVA] URLEncoder java.net/ apache ์ฐจ์ด

URLEncoder๋Š” Java์—์„œ URL ์ธ์ฝ”๋”ฉ์„ ์œ„ํ•œ ํด๋ž˜์Šค์ด๋ฉฐ, ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: java.net.URLEncoder์™€ org.apache.commons.net.URLEncoder. ๋‘ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๊ธฐ๋Šฅ์€ ๋น„์Šทํ•˜์ง€๋งŒ, ๋ช‡ ๊ฐ€์ง€ ์ฐจ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.1. ํŒจํ‚ค์ง€ ๋ฐ ์šฉ๋„java.net.URLEncoder:Java ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ผ๋ถ€๋กœ, JDK์— ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.URL์„ ์ธ์ฝ”๋”ฉํ•  ๋•Œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ฟผ๋ฆฌ ๋ฌธ์ž์—ด์„ URL ํ˜•์‹์— ๋งž๊ฒŒ ์ธ์ฝ”๋”ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.org.apache.commons.net.URLEncoder:Apache Commons Net ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ผ๋ถ€๋กœ, ์ถ”๊ฐ€์ ์ธ ๊ธฐ๋Šฅ๊ณผ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.Apache Commo..

JAVA 2024.10.01

GET STREAM ๋ฐฉ์‹

GET_STREAM ๋ฐฉ์‹์€ ์ผ๋ฐ˜์ ์œผ๋กœ HTTP API์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ŠคํŠธ๋ฆฌ๋ฐ ํ˜•์‹์œผ๋กœ ์ „์†กํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์€ ์ฃผ๋กœ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์œ ์šฉํ•˜๋ฉฐ, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ ์ง„์ ์œผ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.๋‹ค์Œ์€ GET_STREAM ๋ฐฉ์‹์˜ ์ฃผ์š” ํŠน์ง•๊ณผ ์žฅ์ ์ž…๋‹ˆ๋‹ค:์ ์ง„์  ๋ฐ์ดํ„ฐ ์ˆ˜์‹ :ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ๋ชจ๋‘ ๋ฐ›๋Š” ๋Œ€์‹ , ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ๊ฐ์กฐ๊ฐ์œผ๋กœ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ์ด๋‚˜ ๋ฐ์ดํ„ฐ์…‹์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๊ณ , ์‘๋‹ต ์‹œ๊ฐ„์„ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.ํšจ์œจ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ:ํด๋ผ์ด์–ธํŠธ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œํ•˜์ง€ ์•Š๊ณ , ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์„ ์ตœ์ ํ™”ํ•˜๊ณ , ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด..

IT์ง€์‹ 2024.09.30

[DB][Oracle] ์—ฌ๋Ÿฌํ–‰ ์‚ฝ์ž…ํ•˜๊ธฐ

INSERT ALL์€ Oracle์—์„œ ์—ฌ๋Ÿฌ ํ–‰์„ ํ•œ ๋ฒˆ์— ๋‹ค๋ฅธ ํ–‰์œผ๋กœ ์‚ฝ์ž…ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ๋ฌธ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ INSERT ๋ฌธ์„ ๊ฒฐํ•ฉํ•˜์—ฌ ๋‹จ์ผ ํŠธ๋žœ์žญ์…˜์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์€ ํ•œ ๋ฒˆ์— ์—ฌ๋Ÿฌ ํ–‰์„ ์‚ฝ์ž…ํ•ด์•ผ ํ•  ๋•Œ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.INSERT ALL ๊ธฐ๋ณธ ๊ตฌ์กฐINSERT ALL INTO table_name (column1, column2, ...) VALUES (value1, value2, ...) INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)SELECT 1 FROM DUAL;  ์ฃผ์š” ์š”์†Œ ์„ค๋ช…INSERT ALL:์—ฌ๋Ÿฌ ํ–‰์„ ์‚ฝ์ž…ํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค.ALL์„ ์‚ฌ์šฉํ•˜๋ฉด ์กฐ๊ฑด ์—†์ด ๋ชจ๋“  ๋ฐ์ด..

DB 2024.09.29

[ERROR][ORACLE] ORA-01400: NULL์„ ("์Šคํ‚ค๋งˆ"."ํ…Œ์ด๋ธ”"."์ปฌ๋Ÿผ") ์•ˆ์— ์‚ฝ์ž…ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค

Oracle์—์„œ๋Š” ๋นˆ ๋ฌธ์ž์—ด("")์„ NULL๋กœ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ""๋ฅผ ์‚ฝ์ž…ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์‹ค์ œ๋กœ๋Š” NULL ๊ฐ’์ด ์‚ฝ์ž…๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ ๋•Œ๋ฌธ์— ํ•ด๋‹น ์˜ค๋ฅ˜ ๋ฐœ์ƒ

Error 2024.09.28
728x90
๋ฐ˜์‘ํ˜•