본문 바로가기
[Java8 In Action] #16 결론 그리고 자바의 미래 [Java8 In Action] #16 결론 그리고 자바의 미래 Java8 In Action 내용을 보며 정리한 내용입니다.정리자는 기존에 Java8 을 한차례 rough 하게 공부한 적이 있고, Kotlin 역시 공부한 적이 있습니다.위의 prerequisite 가 있는 상태에서 추가적인 내용만 정리한 내용이므로, 제대로 공부를 하고 싶다면 책을 구매해서 보길 권장합니다! 16.1. 자바 8의 기능 리뷰 -자바 8에 큰 변화가 생긴 이유는 두 가지 추세 때문이다. 한 가지 추세는 멀티코어 프로세서의 파워를 충분히 활용해야 한다는 것. 무어의 법칙에 따라 실리콘 기술이 발전하면서 개별 CPU 코어의 속도가 빨라지고 있다. 즉, 코드를 병렬로 실행해야 더 빠르게 코드를 실행할 수 있다. 데이터 소스를 이용.. 2019. 1. 5.
[Java8 In Action] #15 OOP 와 FP 의 조합 : 자바8과 스칼라 비교 [Java8 In Action] #15 OOP 와 FP 의 조합 : 자바8과 스칼라 비교 Java8 In Action 내용을 보며 정리한 내용입니다.정리자는 기존에 Java8 을 한차례 rough 하게 공부한 적이 있고, Kotlin 역시 공부한 적이 있습니다.위의 prerequisite 가 있는 상태에서 추가적인 내용만 정리한 내용이므로, 제대로 공부를 하고 싶다면 책을 구매해서 보길 권장합니다! -스칼라는 객체지향과 함수형 프로그래밍을 혼합한 언어다.스칼라는 자바에 비해 많은 기능을 제공한다.스칼라는 복잡한 형식 시스템, 형식 추론, 패턴 매칭, 도메인 전용 언어를 단순하게 정의할 수 있는 구조 등을 제공한다.스칼라 코드에서는 모든 자바 라이브러리를 사용할 수 있다. 자바8과 마찬가지로 스칼라는 컬렉.. 2019. 1. 4.
[Java8 In Action] #14 함수형 프로그래밍 기법 [Java8 In Action] #14 함수형 프로그래밍 기법 Java8 In Action 내용을 보며 정리한 내용입니다.정리자는 기존에 Java8 을 한차례 rough 하게 공부한 적이 있고, Kotlin 역시 공부한 적이 있습니다.위의 prerequisite 가 있는 상태에서 추가적인 내용만 정리한 내용이므로, 제대로 공부를 하고 싶다면 책을 구매해서 보길 권장합니다! 14.1. 함수는 모든 곳에 존재한다. -일반값처럼 취급할 수 있는 함수를 일급 함수(first-class function)이라고 한다. 14.1.1. 고차원 함수 -하나 이상의 함수를 인수로 받거나, 함수를 결과를 반환하는 함수를 고차원 함수(higher-order functions) 라 부른다. -스트림 연산으로 전달하는 함수는 부.. 2019. 1. 3.
[Java8 In Action] #13 함수형 관점으로 생각하기 [Java8 In Action] #13 함수형 관점으로 생각하기 Java8 In Action 내용을 보며 정리한 내용입니다.정리자는 기존에 Java8 을 한차례 rough 하게 공부한 적이 있고, Kotlin 역시 공부한 적이 있습니다.위의 prerequisite 가 있는 상태에서 추가적인 내용만 정리한 내용이므로, 제대로 공부를 하고 싶다면 책을 구매해서 보길 권장합니다! 13.1. 시스템 구현과 유지보수 13.1.1. 공유된 가변 데이터 -변수가 예상하지 못한 값을 갖는 이유는 결국 우리가 유지보수하는 시스템의 여러 메서드에서 공유된 가변 데이터 구조를 읽고 갱신하기 때문이다. -자신을 포함하는 클래스의 상태 그리고 다른 객체의 상태를 바꾸지 않으며 return 문을 통해서만 자신의 결과를 반환하는 .. 2019. 1. 2.
[Java8 In Action] #12 새로운 날짜와 시간 API [Java8 In Action] #12 새로운 날짜와 시간 API Java8 In Action 내용을 보며 정리한 내용입니다.정리자는 기존에 Java8 을 한차례 rough 하게 공부한 적이 있고, Kotlin 역시 공부한 적이 있습니다.위의 prerequisite 가 있는 상태에서 추가적인 내용만 정리한 내용이므로, 제대로 공부를 하고 싶다면 책을 구매해서 보길 권장합니다! 12.1. LocalDate, LocalTime, Instant, Duration, Period 12.1.1. LocalDate 와 LocalTime 사용 -LocalDate 는 시간을 제외한 날짜를 표현하는 불변 객체.이 녀석은 어떤 시간대 정보도 포함하지 않는다. -정적 팩토리 메소드 of 로 LocalDate 인스턴스를 만들 .. 2019. 1. 1.
[Java8 In Action] #11 CompletableFuture: 조합할 수 있는 비동기 프로그래밍 [Java8 In Action] #11 CompletableFuture: 조합할 수 있는 비동기 프로그래밍 Java8 In Action 내용을 보며 정리한 내용입니다.정리자는 기존에 Java8 을 한차례 rough 하게 공부한 적이 있고, Kotlin 역시 공부한 적이 있습니다.위의 prerequisite 가 있는 상태에서 추가적인 내용만 정리한 내용이므로, 제대로 공부를 하고 싶다면 책을 구매해서 보길 권장합니다! -최근 소프트웨어 구현 방법에 큰 변화를 불러온 두 가지 추세가 있다.하나는 앱을 실행하는 하드웨어와 관련된 변화고 다른 하나는 앱 구조 특히 앱끼리 어떻게 상호작용하는가와 관련된 변화다. 11.1. Future -자바5부터 제공된다. 비동기 계산을 모델링하는 데 사용한다.Future 를 이.. 2018. 12. 31.
[Java8 In Action] #10 null 대신 Optional [Java8 In Action] #10 null 대신 Optional Java8 In Action 내용을 보며 정리한 내용입니다. 정리자는 기존에 Java8 을 한차례 rough 하게 공부한 적이 있고, Kotlin 역시 공부한 적이 있습니다. 위의 prerequisite 가 있는 상태에서 추가적인 내용만 정리한 내용이므로, 제대로 공부를 하고 싶다면 책을 구매해서 보길 권장합니다! 10.1. 값이 없는 상황을 어떻게 처리할까? 10.1.1. 보수적인 자세로 NullPointerException 줄이기 10.1.2. null 때문에 발생하는 문제 - 에러의 근원이다. : NullPointerException 은 자바에서 가장 흔히 발생하는 에러다. 코드를 어지럽힌다 : 중첩된 null 확인 코드. 아무 .. 2018. 12. 30.
[Java8 In Action] #9 디폴트 메서드 [Java8 In Action] #9 디폴트 메서드 Java8 In Action 내용을 보며 정리한 내용입니다.정리자는 기존에 Java8 을 한차례 rough 하게 공부한 적이 있고, Kotlin 역시 공부한 적이 있습니다.위의 prerequisite 가 있는 상태에서 추가적인 내용만 정리한 내용이므로, 제대로 공부를 하고 싶다면 책을 구매해서 보길 권장합니다! -Interface 에 default method 와 static method 가 추가되었다.default method 는 “default” 라는 키워드를 사용한다. 9.1. 변화하는 API -interface 는 library 제공자에게 있어 기능 추가의 hell 이 있었다. 9.1.1. API 버전 1 * 사용자 구현 9.1.2. API 버전.. 2018. 12. 29.
[Java8 In Action] #8 리팩토링, 테스팅, 디버깅 [Java8 In Action] #8 리팩토링, 테스팅, 디버깅 Java8 In Action 내용을 보며 정리한 내용입니다.정리자는 기존에 Java8 을 한차례 rough 하게 공부한 적이 있고, Kotlin 역시 공부한 적이 있습니다.위의 prerequisite 가 있는 상태에서 추가적인 내용만 정리한 내용이므로, 제대로 공부를 하고 싶다면 책을 구매해서 보길 권장합니다! 8.1. 가독성과 유연성을 개선하는 리펙토링 -람다 표현식은 익명 클래스보다 코드를 좀 더 간결하게 만든다.람다 표현식은 동작 파라미터화(익명클래스와 동일 개념)의 형식을 지원하므로 람다 표현식을 이용한 코드는 더 큰 유연성을 갖출 수 있다. 8.1.1. 코드 가독성 개선 -일반적으로 코드 가독성이 좋다는 것은 “어떤 코드를 다른 사.. 2018. 12. 28.
반응형