JAVA
-
Try-with-resourcesJAVA 2021. 4. 8. 14:15
JAVA 1.7 이상을 쓴다면 Try with resources를 사용할수있다는 내용을 알게되었다. 현재까지는 솔루션 내부 소스든, 구글링에서 보이는 내역들처럼 눈에 띄인 내용이 없어서 알지못했었는데, 알게된 김에 정리. FileInputStream fis = null; try { File pdfFile = new File(fileUploadPath + "fileName.pdf"); fis = new FileInputStream(pdfFile); byte[] pdfFileBytes = IOUtils.toByteArray(fis); result.put(Const.RESULT_STATUS, Const.SUCCESS); } catch (FileNotFoundException fnfe) { throw new C..
-
2개의 DB간 Table & Column 차이 비교JAVA 2021. 3. 12. 10:46
개발 목적 이번에 회사에서 몇개의 이기종 DB가 존재함에 있어 (Oracle / Mssql / Mysql / Maria .. 등등 여러가지 DB가 존재) ERD를 각각에 DB에 따라 가지고 있지 않고 Oracle 기준으로 가지고 있기에, 모든 DB에 대해서 반영여부 확인하기가 어려웠었다. ( 릴리즈 시점에는 기준이 되는 Oracle만 반영하고, 별도의 반영은 현재는 필요에 의하여 반영 ) 이에 대해서 간단하게 개발진행하였는데, 기존 개발 내역 대비 변경 점 원래는 DML은 DBunit으로 진행하여 이기종 DB 이관은 진행 할수있어서 Table도 당연히 되겠지 해서, Metadata 빼오는 작업을 진행하면 되겠지 하며 시작하였던게 DBunit으로 할 경우 csv,xml 등 mock data를 밀어넣는 용이..
-
Stack / Heap / Garbage CollectionJAVA 2020. 11. 18. 15:44
Stack - Heap 영역에 생성된 Object ( Integer, String, ArrayList 등등 )에 대한 데이터의 참조값 저장 - 각 Thread는 자신만의 Stack을 가진다. - Primitive Type의 데이터가 값과 함께 할당됨 (byte, short, int, long, double, float, boolean, char) ( boolean a = false; 가 stack에 저장될 시 stack에 a heap에 false가 저장되는 것이 아닌 stack에 a = false으로 저장됨 ) Heap - Application 메모리중 stack에 있는 데이터를 제외한 데이터 (String a = " hello"가 존재할 경우 stack 에는 a 가 쌓여있고, heap에는 a = " h..
-
Mybatis null check java method로 처리하기JAVA 2020. 8. 25. 12:39
회사 내부에서 mybatis를 사용하다보면, 와 같은 문구를 많이 본다. 이에 대해서 조금더 명확한 방법으로 처리 할 수 있을지 하여 찾아보는 도중, java method를 호출하여 처리하는 방안이 있어서 이를 활용하기로 하였다. package mybatis; import java.lang.reflect.Array; import java.util.List; import java.util.Map; public class MybatisEmpty { public static Boolean empty(Object obj){ if (obj instanceof String) return obj == null || "".equals(obj.toString().trim()); else if (obj instanceof..
-
각각 DB 폴더에 담긴 Mapper 비교하여 누락된 내역 찾기JAVA 2020. 1. 22. 10:27
현 회사는 Mapper.xml을 각각 DB별 Dir에 담고 있다. 주력적으로 사용하는 DB는 Oracle인데, 별도의 DB들을 사용할 때는 Dir만 교체해서 나가는 방식으로 구성되어있다. 업체가 Oracle을 원하면 Oracle dir 업체가 Mssql을 원하면 Mssql dir 업체가 Mysql을 원하면 Mysql dir 업체가 hana을 원하면 hanadb dir 이런식인데, 주력으로 사용하는 DB가 Oracle이다 보니, 각기 다른 폴더별로 mapper.xml을 관리하는데 누락된 내용이 있어, 이를 찾는작업이 너무 번거로운 노가다 작업이기에 이를 비교하는 Junit을 만들기로 하였다. 가볍게 만들다보니, 더미코드가 많은데 폴더 내에 file들을 계속적으로 찾아 사용하는 형태로 구현하는 방향을 사용할..
-
Excel Sheet CopyJAVA 2019. 6. 5. 09:25
회사에서 부여받은 미션이 Excel에 대한 자유도있는 업로드/다운로드가 가능하고 필드들을 화면단에서 설정하면 재생산이 가능하도록 하는 내용이였는데, 해당 내용으로 고민해보니, Excel에 대한 업로드 시 / 다운로드 시 필요한 물리적인 Disk 공간에 대해서 처리 방안에 대한 이슈를 제거하기 위해서 Excel을 업로드 하면 해당 내용 및 데이터들을 취득하여 RDB에 Insert 하고, 다시 필요에 따라 특정 시점에 빼와 Excel을 생성하게 하면 물리적인 Disk가 필요없을꺼 같아서 해당 내용을 컨셉으로 잡고 시작하였는데 Excel에 대한 Poi 라이브러리 다 까보고, SAX?라는 내용으로 XML 형태로 취득하는 내용으로 개발해보고.. 가져올때 Workbook에 담아서 Cell style을 가져오도록 해..
-
JCF( Java Collections Framework )JAVA 2019. 5. 20. 09:27
회사 내에서 스터디를 시작하면서, 아무런 사전적으로 공부한게 없이 바로 내부적인 스터디를 들어가버리니 개인적으로 너무 날코딩? 비슷한 개념없이 코딩을 하던게 스스로를 표현하고 있는 것 같아 다시금 하나하나 공부하기로 맘먹고 정리를 시작하려고한다. 책 1페이지 펴자마자 무슨단어인지 몰라 정리한다. 요 최근 하루하루가 벗고다니는것마냥 부끄러운 나날이다, 얼른 많은 지식을 얻어야하겠다 필드에서 뛰는것과 연구소의 일은 참 다른것 같다. 개인적인 사설은 각설하고 정리시작. 1. Collection Java에서 Collection이란 데이터의 집합, 그룹을 의미한다고 한다. ( 자세한 구조는 아래의 이미지를 참고 ) Collection에는 list / set이 존재하고, 이에 해당하는 상속구조들을 표현하고 있다. ..