일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- javaservlet
- jQuery값전송
- Generic
- JPQL
- jQuery값전달
- Hibernate
- values()
- 스프링데이터흐름
- 제네릭
- paging
- calendar
- 프로젝트생성
- 대량쿼리
- fullcalendar
- LIST
- jscalendar
- 페이징
- springflow
- 벌크연산
- 자바서블릿
- JQuery
- JPA
- jQueryUI
- 페치조인
- javascriptcalendar
- 제너릭
- joinfetch
- namedQuery
- 엔티티직접사용
- fetchjoin
- Today
- Total
목록공부/Java (57)
가자공부하러!
private enum UserType { ADMIN, NORMAL } private enum Movie { UBD, CLEMENTINE } private static T[] values(Class enumObject) { return enumObject.getEnumConstants(); } @Test public void enumTest() { UserType[] values = values(UserType.class); for(UserType u : values) { log.info("u :{}", u); } Movie[] values1 = values(Movie.class); for(Movie l : values1) { log.info("l :{}", l); } }
목차 요약 및 결론 책 내용 요약 및 결론 자바8은 자바 역사상 가장 큰 변화가 일어난 버전이라고 한다. 잘 배웠다. 책 내용 1. 자바 8의 기능 리뷰 자바 8에 추가된 대부분의 새로운 기능은, 자바에서 함수형 프로그래밍을 쉽게 적용하도록 도와준다. 변화의 목적 : 급격하게 좋아진 머신성능 최적 활용, 간결한 컬렉션 처리 동작 파라미터화 람다와 메서드 참조 메서드로 전달되는 값(파라미터로 넘기는 동작)은 Function, Predicate, BiFunction등의 형식을 갖는다. 메서드를 수신한 코드에서는 apply, test 등의 메서드를 동해 전달받은 코드를 실행할 수 있다. 스트림 기존 컬렉션에 filter, map 등의 메서드를 추가하지 않고 스트림을 만든 이유? 파이프라인으로 연결하기 불편함 ..
목차 요약 및 결론 책 내용 요약 및 결론 스칼라와 자바에 적용된 함수형의 기능을 살펴 보면서 자바의 한계를 확인 간단한 스칼라 예제코드 실행 : https://scastie.scala-lang.org/ 책 내용 1. 스칼라 소개 명령형, 함수형으로 구현된 Hello World예제 확인, 스칼라의 자료구조 확인(List, Set, Map, Stream, Tuple, Option...) Hello Beer 스칼라에서는 모든 것이 객체다. = 기본자료형(primitive)이 없다성 스칼라는 자동으로 변수형을 추론하는 기능이 있다. 모든 변수의 형식은 컴파일 할 때 결정된다.// object로 클래스를 정의하고 동시에 싱글턴 객체를 만들었다. object Beer { // object 내부에 선언된 메서드는 ..

1. 디펜던시 추가 // gradle dependencies { ... implementation 'org.springframework.boot:spring-boot-devtools' ... } 적용 확인 새로고침 단축키 : shift + cmd + F9 Build -> Recompile
목차 요약 및 결론 책 내용 요약 및 결론 함수형 프로그래밍이 무엇인지 왜쓰는지 어떻게쓰는지 알려줌 핵심 용어 고차원 함수, 참조 투명성, 영속 자료구조 커링이랑 고차원함수 부분은 언젠가는 쓸 수도 있을듯 함 책 내용 실용적 함수형 프로그래밍 기법과 학술적 지식을 소개한다. 고차원 함수, 커링, 영구 자료구조, 게으른 리스트, 패턴 매칭, 참조 투명성을 이용한 캐싱과 콤비네이터 1. 함수는 모든 곳에 존재한다. 자바8은 일급 함수를 지원한다.(함수를 일반값 처럼 사용해서 인수로 전달하거나 결과로 반환받거나 자료구조에 저장할 수 있음) 예시 : Function strToInt = Integer::parseInt; 고차원 함수 하나 이상의 동작을 수행하는 함수 하나 이상의 함수를 인수로 받음 함수를 결과로 ..
목차 요약 및 결론 책 내용 요약 및 결론 함수형 프로그래밍이 무엇인지 왜쓰는지 어떻게쓰는지 알려줌 심화는 다음시간에 함수형 프로그래밍? 인수가 일정할 때 항상 동일한 결과를 호출하며 시스템의 다른 부분에 영향을 주지 않도록 프로그래밍 하는 방법 함수형 프로그래밍 왜씀? 부작용 없음과 불변성이 확보되어 유지보수성에 도움이 됨, 가독성도 좋음 어떻게 씀? 예제 확인 계산을 도와주기 위해 common하게 만든 Util클래스에 적용하기 좋아보인다 책 내용 왜 함수형 프로그래밍을 사용하는가? 1. 함수형 프로그래밍의 개념은 무엇인가? 2. 함수형 프로그래밍을 적용하면 무엇이 좋을까? 1. 시스템 구현과 유지보수 함수형 프로그래밍이 제공하는 부작용 없음과 불변성 개념은 유지보수성에 도움이 된다. . 요약 : 공유..
목차 요약 및 결론 책 내용 요약 및 결론 Flow API는 Akka, RxJava등의 리액티브 라이브러리를 이용해 개발된 리액티브 애플리케이션 간 공용어를 제시하는 역할을 한다. Flow API를 만들 당시 이미 Akka, RxJava 등의 라이브러리가 이미 존재했기 때문에 Flow를 구현한 클래스를 제공하지 않는다. 얼마나 효과가 좋은 프로그래밍 방법인지 알 수 없다. 리액티브 프로그래밍이 실제로 사용된 곳 : MS의 엑셀, WebFlux책 내용 리액티브 프로그래밍 패러다임의 중요성이 증가하는 이유 빅테이터 : 페타 바이트 단위의 큰 데이터를 처리할 필요성이 생김 다양한 환경 : 모바일 디바이스 부터 수천 개의 프로세서로 실행되는 클라우드 기반 클러스터 까지 다양한 환경에 애플리케이션이 배포된다 사용..
목차 요약 및 결론 책 내용 요약 및 결론 예제가 재미있었다 Async만 알았던 비동기.. 쉽지않다책 내용 Future의 단순 활용 Java5부터 생긴 Future 미래의 어느 시점에 결과를 얻는 모델에 활용 작업을 Callable객체 내부로 감싼 다음 ExecutorService에 제출해야 한다. 오래 걸리는 작업이 영원히 끝나지 않으면? 타임아웃 설정을 해주면 되긴 하는데.. future.get(1, TimeUnit.SECONDS); Future 한계 Future가 제공하는 메서드 : 비동기 계산이 끝났는지 확인, 계산이 끝나길 기다림, 결과 회수 복잡한 동작을 구현하기에는 쉽지 않음 CompletableFuture의 기능들 (Future만 있었을 때 필요했던 기능들) 두 개의 비동기 계산 결과를 하..
목차 요약 및 결론 책 내용 요약 및 결론 자바의 동시성 지원은 계속 진화해 가고 있는데 나는 잘 모르겠다 Future는 CompletableFuture 없이는 쓰면 안될거라고 생각한다. get()호출했다가 영영 안끝나면 어떡해 pub-sub 예제가 아주 좋다. 값셀 - 연산결과셀 책 내용 CompletableFuture와 리액티브 프로그래밍 컨셉의 기초 소프트웨어 개발 방법을 획기적으로 뒤집는 두 가지 추세 하드웨어 관련 애플리케이션 구성 관련 MSA가 유행하면서 서비스가 작아진 대신 네트워크 통신 증가(매시업 애플리케이션) 매시업 애플리케이션에서 하나의 서비스의 응답을 기다리는 동안 다른 서비스를 처리하지 않을 이유가 없다. Java는이런 환경에서 사용할 수 있는 두 가지 주요 도구를 제공한다. Fu..
목차 요약 및 결론 책 내용 요약 및 결론 interface의 의미를 퇴색시키는 요소 아닌가? 버전업 하는데 그정도는 할 수 있지 않나.. 아니면 업데이트 툴을 만들어 줘도 될것 같은데 그게 귀찮았나? 동작 다중 상속은 꽤 좋은 기능인듯 하다 다이아몬드 문제 컴파일 오류 안나는데? 책 내용 default method? API는 바꾸기 어렵다. 인터페이스에 새로운 메서드를 추가해도 바이너리 호환성은 유지된다. 새로 추가된 메서드를 호출하지만 않으면 새로운 메서드 구현이 없어도 기존 클래스 파일 구현이 잘 동작한다는 의미 메서드 추가하고 컴파일하면 당연히 오류나고 여기서 말하는건 .java말고 .class인듯 하지만 소스호환성은 깨진다 .java를 바꿨는데도 컴파일잘된다? 소스호환성이 유지된다고 하면됨 디폴..
목차 요약 및 결론 책 내용 요약 및 결론 Date 타입명이 참 아깝다... 지금 LocalDateTime을 Date로 바꾸면 참 좋을텐데 아쉽 LocalDateTime 쓰면 좋긴 할텐데 Date 클래스 쓰던곳은 apache DateUtils 써도 충분할듯.. timezone 부분은 확실히 편함 책 내용 자바8 이전까지 날짜와 시간 API 1.0부터 Date 쓰고있었음 결과가 직관적이지 않음(월 시작이 0 등) toString 문자열을 추가로 활용하기 어려움 1.1에서 Calendar가 나왔지만 혼란을 가중시킴 새로운 날짜와 시간 API LocalDate와 LocalTime 사용 LocalDateTime(LocalDate + LocalTime) @Test public void testLocalDateTi..
목차 요약 및 결론 책 내용 요약 및 결론 Optional은 만능이 아니다. null 체크는 Optional이 있든 없든 더럽다. 'null일 수도 있는 값이다'라는 의미를 전달하는 역할이 중요한 듯 하다. flatMap 연결, ifPresent은 참 좋아 보인다. 책 내용 Optional 클래스 선택형값을 캡슐화하는 클래스 값이 있는 경우 : Optional 클래스는 값을 감싼다 값이 없는 경우 : Optional을 반환 모든 null 참조를 Optional로대치하는 것은 바람직하지 않다. Optional의 역할은 더 이해하기 쉬운 API를 설계하도록 돕는 것이다. Optional 적용 패턴 Optional 객체를 만드는 여러 방법 @Test void makeOptional() { // ..