본문 바로가기

Java16

lombok #2 [Lazy Getter] Lazy Getter 개발자 입장에선 게으르다는 뜻이 딱히 나쁜 뜻은 아닙니다. 문서를 정리하거나 데이터 등을 수집할 때에도 수동으로 작업하기 보단 자동화하거나 혹은 만일의 사태에 대비하는 경우도 많은데 사실 이 모든게 수동으로 작업되는 계산들을 최소화 하기 위한 것들이 아닐까 싶습니다. java에서 지원하는 Lazy 클래스나 lombok의 lazy getter도 위에 말한 내용과 비슷하게 접목되지 않을까 싶습니다. 만약 우리가 멀티 스레드 환경에서 static한 변수나 Dao 객체의 파라미터에서 특수한 계산하는 경우에 비집고 들어오는 타 스레드들 때문에 내가 원하는 값이 아닌 제 2의 3의 경우가 발생하게 되는데요. Lazy Getter는 파라미터의 값이 비집고 들어오는 타 스레드의 영향을 받지 않고 .. 2020. 7. 3.
lombok #1 [@Data, @NonNull, @*ArgsContructor, @Builder] lombok Maven org.projectlombok lombok 1.18.12 provided 사실 lombok하면 Dao 객체에 코드 줄이는 용도로만 주로 사용했습니다. 그러다 해외에 java에 관련하여 자세히 정리되어 있는 웹페이지를 접하고 새로운 내용들을 조금씩 접하다 자료 정리겸 글을 적습니다. Getter/Setter @Data 클래스 상단에 써서 파라미터들을 getter 혹은 setter를 생략하고 사용할 수 있게 해줍니다. @NonNull 파라미터 앞에 써주면 해당 파라미터를 선언시에 Null이 주입되면 NullPointerException이 발생됩니다. Constructor @NoArgsConstructor 미리 선언된 비어있는 생성자를 선언하고 생성하는 것과 동일하게 동작됩니다. @A.. 2020. 7. 2.
POI #2 [HSSFWorkbook - write & read] HSSFWorkbook 이번엔 POIFSFileSystem에 이어 HSSFWorkbook을 선언하고 OLE 포맷 엑셀을 만들어 보겠습니다. OutputStream outputStream = new FileOutputStream(파일); HSSFWorkbook workbook = new HSSFWorkbook(); //엑셀 시트를 의미 합니다. HSSFSheet sheet = workbook.createSheet("Ole"); //엑셀 한 줄을 의미 합니다. HSSFRow row = sheet.createRow(0); //엑셀 내용이 입력되는 한칸을 의미합니다. HSSFCell cell1 = row.createCell(0); HSSFCell cell2 = row.createCell(1); cell1.set.. 2020. 6. 30.
Java #3 [InputStream] InputStream Java에서 파일을 읽어 들일때 가장 기본으로 사용하는 표준 라이브러리 입니다. InputStream과 마찬가지로 표준 라이브러리인 FileInputStream이란 라이브러리나 ByteArrayInputStream등을 같이 사용하면 목적에 맞게 파일 혹은 데이터를 읽어 들일 수 있습니다. FileInputStream InputStream inputStream = new FileInputStream(파일); 위와 같은 내용들을 응용해서 파일을 읽는 예제를 만들어 보겠습니다. BuffredReader reader = new BuffredReader(new FileInputStream(파일)); String line ; StringBuilder sb = new StringBuilder().. 2020. 6. 29.