분류 전체보기191 20230917 남산타워 2023. 10. 4. 2023 늦여름 한강 2023. 10. 4. [Java] Java 8 사용하기 : 람다와 스트림으로 리팩터링 목차 람다로 대체할 수 있는 코드 method reference로 한번 더 리팩터링 Streams를 활용한 declarative programming 람다와 OOP 디자인 패턴 https://kghworks.tistory.com/140 [Java] Java 8 사용하기 : 가독성과 유연성, 람다와 Streams API 목차 Java 8로 향상되는 가독성과 유연성 익명 클래스 -> 람다 표현식 람다 표현식 -> 메서드 참조 명령적 데이터 가공 -> Streams API 함수형 인터페이스 Java 8 이상의 버전을 사용하면서 legacy를 Java 8 kghworks.tistory.com 앞선 포스팅에서 Java 8이 제공하는 람다와 스트림에 대한 유용함을 간단히 알아보았다. 이번에는 기존 코드들을 람다로 .. 2023. 9. 23. [개발일지] Java application에서 RDBMS에 bulk insert 목차 step1. 최적의 bulk insert sql script 찾기 step2. Java 구현 : UNION ALL batch insert Spring Data JPA saveAll과의 성능 비교 정리 다들 엑셀을 참 좋아한다. 몇만 개의 row를 가지고 엑셀로 이리저리 조작하는 사업부서 분들을 보면 경이롭다. 동시에 컴퓨터가 매우 힘들어하는 게 옆에서도 느껴진다. 아무튼 이번에 엑셀 업로드 기능으로 대용량으로 테이블에 insert 할 기능이 생겼다 (최대 수만 건 규모). 이런 대용량 insert는 실제 요구사항이 있는 편이다. 사업 부서에서 이벤트 소스를 모아 엑셀 파일로 개발팀에 전달한다던지, 일정 기간 동안 소스를 모집해서 디비 테이블에 넣는다던지, 백오피스 시스템에서 엑셀 업로드 기능을 활용.. 2023. 9. 21. [Java] Java 8 사용하기 : default method 목차 Interface를 업데이트하면 일어나는 일 Interface의 한계와 default method default method 사용 예제 심화 : resolution 규칙 정리 Java 8에 추가된 새로운 기능 default mehtod를 소개한다. Java 8부터 Interface에 static method, default method를 생성할 수 있게 되었고, 이미 public 하게 공개된 API Interface에 대해 더 편리하게 method를 추가할 수 있게 되었다. 라이브러리 개발자들은 public Interface API를 업데이트할 때 부담을 덜 수 있게 되었고, 라이브러리 사용자들은 Interface를 더 유연하고, 기능적으로 조합해서 구현할 수 있게 되었다. Interface를 업데.. 2023. 9. 3. [Java] Java 8 사용하기 : Optional로 Null 지혜롭게 다루기 목차 Null을 다루는 방식 (Java 8 이전) Java 8에 추가된 Optional 유용한 case와 기타 API Java 8에 추가된 주요 기능 중 개인적으로 손에 꼽는 것은 Streams와 Optional이다. Optional은 java.util 패키지에 Java 8부터 추가된 클래스로 클래스명 그대로 Optional 한 값을 다룰 때 유용하게 사용할 수 있는 클래스이다. 포스팅을 간단히 요약하면 Optional을 사용해 아래와 같이 코드를 개선해 볼 수 있게 된다. // Java 8 이전 if(idol != null) { Leader leader = idol.getLeader(); if(leader != null) { Car car = member.getCar(); if(car != null) .. 2023. 9. 3. 이전 1 ··· 9 10 11 12 13 14 15 ··· 32 다음