Programming120 [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. [Java] Java 8 사용하기 : 가독성과 유연성, 람다와 Streams API 목차 Java 8로 향상되는 가독성과 유연성 익명 클래스 -> 람다 표현식 람다 표현식 -> 메서드 참조 명령적 데이터 가공 -> Streams API 함수형 인터페이스 Java 8 이상의 버전을 사용하면서 legacy를 Java 8로 리팩터링 하는 방법을 정리한다. 같은 주제로 2개 이상의 포스팅을 할 건데, 처음에는 Java 8에 추가된 스펙으로 코드 수준에서 어떻게 리팩터링 해내는지 본다. 이후 포스팅에는 디자인 패턴, 테스트, 디버깅 등의 부분에서 Java 8로 개선해 보겠다. 이 포스팅에서는 Java 8의 주요 스펙에 대해 문법적인 수준의 설명을 생략한다. 필요하다면 oracle java 문서나, 책 modern java in action을 추천한다. https://docs.oracle.com/.. 2023. 8. 16. [JPA] Querydsl 사용해서 스칼라 서브쿼리 작성하기 목차 실행환경 테이블 소스 예제 sql 로그 JPA에서 스칼라 서브쿼리를 작성하는 방법을 포스팅해봅니다. 실행 환경 MySQL 8.0.32 Java 8 Spring Framework 4.3.6 Hibernate 5.4.4 final Querydsl 4.3.1 테이블 create table jpa_book.member ( id bigint auto_increment primary key, city varchar(255) null, street varchar(255) null, zipcode varchar(255) null, name varchar(255) null ); create table jpa_book.item ( DTYPE varchar(31) not null, id bigint auto_incre.. 2023. 8. 8. [JAVA, SPRING] 버전 선택 가이드 2023 Java와 Spring을 선택함에 있어 Java version과 Spring version은 매우 중요합니다. 특히 Java 8부터 소개된 lamda, stream, Java 11의 var 타입추론 등은 같은 Java여도 버전에 따라 꽤 다른 가독성, 문법을 보여주기 때문에 현재 Java 8이 가장 많이 쓰이는 상황에서 Java 진영은 일종의 변곡점에 있습니다. 개발팀의 상황을 볼까요. 어떤 팀은 Java 8을 이미 도입한 채로 다음 버전을 준비 중 Java 8을 사용중 아직 Java 8 이전을 사용 중 일단 세 번째라면 어서 빨리 java 8으로 올라와서 다음 release를 준비해야 합니다. 이번 포스팅에서는 각 공식 문서를 바탕으로 현재 Spring 진영에서 선택할 수 있는 버전과 현실적인 방안을 .. 2023. 7. 5. [Docker] mysql 8.0 설치하기 docker-compose.yml 작성 mysql 이미지 다운로드, 컨테이너 생성 mysql 설정 1. docker-compose.yml 작성 # compose 파일 버전 version: '3' services: # 서비스 명 mysql: # 사용할 이미지 image: mysql:8.0 # 컨테이너 실행 시 재시작 restart: always # 컨테이너명 설정 container_name: mysql # 접근 포트 설정 (컨테이너 외부:컨테이너 내부) ports: - "3306:3306" # 환경 변수 설정 environment: MYSQL_ROOT_PASSWORD: [비밀번호] TZ: Asia/Seoul # 명렬어 설정 command: - --character-set-server=utf8mb4 - --.. 2023. 6. 15. 이전 1 ··· 6 7 8 9 10 11 12 ··· 20 다음