์ ์ฒด ๊ธ10 Java Enum ํ์ฉํ๊ธฐ 1. ์ ์ Enum์ด๋ Enumeration์ ์ ๊ธ์๋ก ์ด๊ฑฐ๋ผ๋ ์๋ฏธ๋ฅผ ๊ฐ๋๋ค. ๊ด๋ จ์ด ์๋ ์์๋ค์ ์งํฉ์ ๋๋ค. ์๋ฐ์์๋ final๋ก String๊ณผ ๊ฐ์ ๋ฌธ์์ด์ด๋ ์ซ์๋ค์ ๋ํ๋ด๋ ๊ธฐ๋ณธ ์๋ฃํ์ ๊ฐ์ ๊ณ ์ ํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ๊ณ ์ ๋ ๊ฐ์ ์์๋ผ๊ณ ํฉ๋๋ค. . ์ด๋ค ํด๋์ค๊ฐ ์์๋ง์ผ๋ก ์์ฑ๋์ด ์์ผ๋ฉด ๋ฐ๋์ class๋ก ์ ์ธํ ํ์๋ ์์ต๋๋ค. ์ด๋ด ๋ class๋ก ์ ์ธ๋ ๋ถ๋ถ์ enum์ด๋ผ๊ณ ์ ์ธํ๋ฉด ์ด ๊ฐ์ฒด๋ ์์์ ์งํฉ์ด๋ค. ๋ผ๋ ๊ฒ์ ๋ช ์์ ์ผ๋ก ๋ํ๋ ๋๋ค. ๊ธฐ์กด์๋ ์ธํฐํ์ด์ค๋ ํด๋์ค ๋ด์์ ์์๋ฅผ ์ ์ธํจ์ผ๋ก์จ ์์๋ฅผ ๊ด๋ฆฌ ํ์๋๋ฐ ํด๋์ค ๋ด์์ ์ ์ธํ๋ ๋ถ๋ถ์ ๋ค์ด๋ฐ์ด ๊ฒน์น ์ ์๊ณ ๋ถ ํ์ํ๊ฒ ์์๊ฐ ๋ง์์ง๋ ๋จ์ ์ด ์์ต๋๋ค. ์ธํฐํ์ด์ค๋ก ๊ด๋ฆฌํ๋ ๊ฒฝ์ฐ ์ด๋ฐ ๋ถ๋ถ์ ์ค์ด๋ค์ง๋ง ์ฌ์ ํ .. 2023. 5. 30. @JsonFilter๋ก ์ํ๋ ํ๋๋ง ๋ด๋ ค์ฃผ๊ธฐ @JsonFilter Jackson์ Java ์ง์์ ๋ํ์ ์ธ POJO-JSON ์ํธ ๋ณํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ์ด๋ฒ ๊ธ์์๋ @JsonFilter๋ฅผ ์ด์ฉํ์ฌ POJO ์ค๋ธ์ ํธ์ ํ๋ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์กฐ๊ฑด์ ๋ง๋ ํ๋๋ง ์ ํ์ ์ผ๋ก JSON์ผ๋ก ๋ณํํ๋ ์๋ฅผ ์๊ฐํ๊ณ ์ ํฉ๋๋ค. 1. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ข ์์ฑ ์ถ๊ฐ dependencies { compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.8.1' compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.1' compile group: 'com.fasterxml.jackson.core'.. 2023. 4. 12. [DB] NoSQL ๊ฐ๋จํ ์ดํด๋ณด๊ธฐ RDBMS & NoSQL ๋น๊ต - RDB ๊ตฌ์กฐ๊ฐ ์ ํํ ๋์ด์์. ๋ฐ์ดํฐ๋ ํ ์ด๋ธ(table)์ ๋ ์ฝ๋(record)๋ก ์ ์ฅ๋๋ฉฐ ๊ฐ ํ ์ด๋ธ์๋ ๋ช ํํ๊ฒ ์ ์๋ ๊ตฌ์กฐ ์ ํด์ง ์คํค๋ง์ ๋ฐ๋ฅด์ง ์์ผ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ ์ ์์ ์์ง์ ํ์ฅ๋ง ์ง์ '์ค๋ฉ'์ด๋ผ๋ ๊ฐ๋ ์ด ์์ง๋ง ํน์ ์ ํ์ด ์์ผ๋ฉฐ ๊ตฌํํ๊ธฐ๊ฐ ๋์ฒด๋ก ์ด๋ ค์ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ ๋ณด์ฅ ๋ฐ์ดํฐ๋ฅผ ์ค๋ณต์์ด ํ๋ฒ๋ง ์ ์ฅํจ - NoSQL ๊ตฌ์กฐ๊ฐ ์ ํํ ๋์ด ์์ง ์์ ๋ค๋ฅธ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ์ปฌ๋ ์ ์ ์ถ๊ฐ ๊ฐ๋ฅ ์คํค๋ง์ ๋ํด ์ ๊ฒฝ์ธ ํ์๊ฐ ์์ ์ธ์ ๋ ์ง ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ ํ๊ณ ์๋ก์ด "ํ๋"๋ฅผ ์ถ๊ฐํ ์ ์์ ์์ง์ ํ์ฅ, ์ํ์ ํ์ฅ ๋๋ค ๊ฐ๋ฅ ์ฌ๋ฌ ์๋ฒ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฝ๊ฒ ๋ถ๋ฆฌ ๋ฐ์ดํฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ํ๋ ํ์์ผ๋ก ์ ์ฅ๋จ. ๋ฐ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ค๋ ์.. 2023. 3. 30. [DB] ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํ๊ณํ์ด๋? ์คํ๊ณํ์ด๋? ์ฌ์ฉ์๊ฐ SQL์ ์คํํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ ค๊ณ ํ ๋ ์ตํฐ๋ง์ด์ ๊ฐ ์๋ฆฝํ๋ ์์ ์ ์ฐจ๋ฅผ ๋ปํฉ๋๋ค. ์ด๋ฐ ์คํ๊ณํ์ ์๋ฆฝํ๋ ์ตํฐ๋ง์ด์ ์ ์คํ ๋จ๊ณ๋ 3๋จ๊ณ๋ก ๋ถ๋ฆฌํ ์ ์์ต๋๋ค. 1) SQL ํด์ 2) ์คํ๊ณํ ์๋ฆฝ 3) ์คํ 1. ์ค๋ผํด DBMS๋ฅผ ํตํด ์คํ๊ณํ ํ์ธํ๋ ๋ฐฉ๋ฒ ์ค๋ผํด DBMS์์ ์ ๊ณตํ๋ ๋๊ฐ์ง ๋ช ๋ น์ด๋ฅผ ํตํด ํ์ธ์ด ๊ฐ๋ฅํฉ๋๋ค. 1) explain plan 2) set autotrace Explain plan 1 2 3 4 5 6 7 8 SET STATEMENT_ID = 'TEST1' INTO PLAN_TABLE FOR SELECT e.name, e.deptno, d.dname FROM emp e, dept d WHERE e.deptno = d.deptno; SQL์ ๋ํ .. 2023. 3. 19. ์์กด์ฑ ์ฃผ์ ์ ๋ค์ํ ๋ฐฉ๋ฒ (์์ฑ์ ์ฃผ์ , ํ๋ ์ฃผ์ , ์์ ์ ์ฃผ์ ) Spring์ @Autowired ์ด๋ ธํ ์ด์ ์ ์ด์ฉํ ๋ค์ํ ์์กด์ฑ ์ฃผ์ (DI; Dependency Injection) ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ์์กด์ฑ ์ฃผ์ ์ ํ์ํ ๊ฐ์ฒด๋ฅผ ์ง์ ์์ฑํ๋ ๊ฒ์ด ์๋ ์ธ๋ถ๋ก๋ถํฐ ๊ฐ์ฒด๋ฅผ ๋ฐ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ์ฒด๊ฐ์ ๊ฒฐํฉ๋๋ฅผ ์ค์ด๊ณ ์ฝ๋์ ์ฌํ์ฉ์ฑ์ ๋์ผ ์ ์์ต๋๋ค. @Autowired ๋ Spring์๊ฒ ์์กด์ฑ์ ์ฃผ์ ํ๋ ์ง์์ ์ญํ ๋ก ์ฐ์ ๋๋ค. ์์กด์ฑ ์ฃผ์ ์ ํด์ผ ํ๋ ์ด์ 1. ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ ๋์ฌ์ค๋ค. 2. ๊ฐ์ฒด ๊ฐ์ ์์กด์ฑ(์ข ์์ฑ)์ ์ค์ด๊ฑฐ๋ ์์จ ์ ์๋ค. 3. ๊ฐ์ฒด ๊ฐ์ ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ๋ฉด์ ์ ์ฐํ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค. ์์กด์ฑ ์ฃผ์ ์ 3๊ฐ์ง ๋ฐฉ๋ฒ 1. ์์ฑ์ ์ฃผ์ (Constructor Injection) 2. ํ๋ ์ฃผ์ (Field Injection).. 2023. 3. 16. [Oracle] DB12c ์์ ORA-54032, ORA-54033 ์ปฌ๋ผ ์ด๋ฆ๋ณ๊ฒฝ ๋ฐ ์ญ์ ๊ฐ ์๋๋ ํ์ 1. ํ์ - DB12c ์ด์์์, ํน์ Column ์ ๋ํ rename column ํน์ drop column ์, ORA-54032 or ORA-54033 ์๋ฌ ๋ฉ์์ง ์ถ๋ ฅ SQL> alter table OWNER.USER_MST rename column USR_ID to USER_ID; >์๋ ๋ฉ์์ง ์ถ๋ ฅ "ORA-54032: column to be renamed is used in a virtual column expression" "ORA-54032: ์ด๋ฆ์ ๋ฐ๊ฟ ์ด์ด ๊ฐ์ ์ด ํํ์์์ ์ฌ์ฉ๋์์ต๋๋ค." "ORA-54033: column to be modified is used in a virtual column expression" "ORA-54033: ์ด๋ฆ์ ๋ฐ๊ฟ ์ด์ด ๊ฐ์ ์ด ํํ์์์.. 2023. 3. 14. ์ด์ 1 2 ๋ค์